@ -112,8 +112,8 @@ public interface DeviceAgentService {
@ApiOperation(
@ApiOperation(
produces=MediaType.APPLICATION_JSON,
produces=MediaType.APPLICATION_JSON,
httpMethod="POST",
httpMethod="POST",
value="Create a device instance",
value="Creating a Device Instance",
notes="Create a device Instance",
notes="Create a device instance using this API. Since this is nota physical device you are not able to try out device operations.",
tags="Device Management",
tags="Device Management",
extensions={
extensions={
@Extension(properties={
@Extension(properties={
@ -157,7 +157,7 @@ public interface DeviceAgentService {
"Server error occurred while retrieving the device details.",
"Server error occurred while retrieving the device details.",
response=ErrorResponse.class)
response=ErrorResponse.class)
})
})
ResponseenrollDevice(@ApiParam(name="device",value="Device object with data.",required=true)
ResponseenrollDevice(@ApiParam(name="device",value="Define the payload to create a device instance. You can double click on the Example Value and define your values in it to create the instance.",required=true)
@ValidDevicedevice);
@ValidDevicedevice);
@DELETE
@DELETE
@ -186,7 +186,7 @@ public interface DeviceAgentService {
"Server error occurred while dis-enrolling the device.")
"Server error occurred while dis-enrolling the device.")
@ -208,13 +208,13 @@ public interface DeviceManagementService {
ResponsegetDevices(
ResponsegetDevices(
@ApiParam(
@ApiParam(
name="name",
name="name",
value="The device name, such as shamu, bullhead or angler Nexus device names.",
value="The device name. For example, Nexus devices can have names, suhc as shamu, bullhead or angler.",
required=false)
required=false)
@Size(max=45)
@Size(max=45)
Stringname,
Stringname,
@ApiParam(
@ApiParam(
name="type",
name="type",
value="The device type, such as ios, android or windows.",
value="The device type, such as ios, android, or windows.",
required=false)
required=false)
@QueryParam("type")
@QueryParam("type")
@Size(max=45)
@Size(max=45)
@ -227,7 +227,7 @@ public interface DeviceManagementService {
Stringuser,
Stringuser,
@ApiParam(
@ApiParam(
name="userPattern",
name="userPattern",
value="The pattern of username of the owner of the device.",
value="Define a few letters of the username in the order they appear. For example, you want to get the devices that belong to the admin, you can give \\\"ad\\\" or \\\"min\\\" here and you will get the devices that are enrolled under a user who has the given combination as part of the username .",
required=false)
required=false)
@QueryParam("userPattern")
@QueryParam("userPattern")
StringuserPattern,
StringuserPattern,
@ -303,8 +303,8 @@ public interface DeviceManagementService {
@ApiOperation(
@ApiOperation(
produces=MediaType.APPLICATION_JSON,
produces=MediaType.APPLICATION_JSON,
httpMethod="GET",
httpMethod="GET",
value="Getting Details of Registered Devices owned by authenticated user",
value="Getting Details of Registered Devices Owned by an Authenticated User",
notes="Provides details of devices enrolled by authenticated user.",
notes="Provides details of devices enrolled by authenticated users.",
tags="Device Management",
tags="Device Management",
extensions={
extensions={
@Extension(properties={
@Extension(properties={
@ -460,8 +460,8 @@ public interface DeviceManagementService {
@ApiOperation(
@ApiOperation(
produces=MediaType.APPLICATION_JSON,
produces=MediaType.APPLICATION_JSON,
httpMethod="GET",
httpMethod="GET",
value="Get device enrollment status",
value="Getting the Device Enrollment Status",
notes="Get device enrollment status",
notes="Get the device enrollment status and the device details of the device.",
tags="Device Management",
tags="Device Management",
extensions={
extensions={
@Extension(properties={
@Extension(properties={
@ -564,7 +564,7 @@ public interface DeviceManagementService {
ResponsegetDeviceLocation(
ResponsegetDeviceLocation(
@ApiParam(
@ApiParam(
name="type",
name="type",
value="The device type name, such as ios, android, windows or fire-alarm.",
value="The device type name, such as ios, android, windows, or fire-alarm.",
required=true)
required=true)
@PathParam("type")
@PathParam("type")
@Size(max=45)
@Size(max=45)
@ -592,7 +592,7 @@ public interface DeviceManagementService {
@ApiOperation(
@ApiOperation(
produces=MediaType.APPLICATION_JSON,
produces=MediaType.APPLICATION_JSON,
httpMethod="GET",
httpMethod="GET",
value="Getting the information of a Device",
value="Getting the Information of a Device",
notes="Get the information of a device by specifying the device type and device identifier.",
notes="Get the information of a device by specifying the device type and device identifier.",
tags="Device Management",
tags="Device Management",
extensions={
extensions={
@ -641,7 +641,7 @@ public interface DeviceManagementService {
ResponsegetDeviceInformation(
ResponsegetDeviceInformation(
@ApiParam(
@ApiParam(
name="type",
name="type",
value="The device type name, such as ios, android, windows or fire-alarm.",
value="The device type name, such as ios, android, windows, or fire-alarm.",
required=true)
required=true)
@PathParam("type")
@PathParam("type")
@Size(max=45)
@Size(max=45)
@ -670,8 +670,8 @@ public interface DeviceManagementService {
produces=MediaType.APPLICATION_JSON,
produces=MediaType.APPLICATION_JSON,
consumes=MediaType.APPLICATION_JSON,
consumes=MediaType.APPLICATION_JSON,
httpMethod="POST",
httpMethod="POST",
value="Update the device specified by device id",
value="Update the Displayed Name of the Device",
notes="Returns the status of the updated device operation.",
notes="Use this API to rename a device so that it is easy for you to identify devices.",
tags="Device Management",
tags="Device Management",
extensions={
extensions={
@Extension(properties={
@Extension(properties={
@ -719,12 +719,12 @@ public interface DeviceManagementService {
ResponserenameDevice(
ResponserenameDevice(
@ApiParam(
@ApiParam(
name="device",
name="device",
value="The payload containing new name for device with updated name.",
value="The payload containing the new name of the device.",
required=true)
required=true)
Devicedevice,
Devicedevice,
@ApiParam(
@ApiParam(
name="device-type",
name="device-type",
value="The device type, such as ios, android or windows.",
value="The device type, such as ios, android, or windows.",
required=true)
required=true)
@PathParam("device-type")
@PathParam("device-type")
@Size(max=45)
@Size(max=45)
@ -745,8 +745,8 @@ public interface DeviceManagementService {
produces=MediaType.APPLICATION_JSON,
produces=MediaType.APPLICATION_JSON,
consumes=MediaType.APPLICATION_JSON,
consumes=MediaType.APPLICATION_JSON,
httpMethod="DELETE",
httpMethod="DELETE",
value="Remove the device specified by device id",
value="Remove the Device Specified by the Device ID",
notes="Returns the status of the deleted device operation.",
notes="Returns the status of the deleted device operation and the details of the deleted device.",
tags="Device Management",
tags="Device Management",
extensions={
extensions={
@Extension(properties={
@Extension(properties={
@ -794,7 +794,7 @@ public interface DeviceManagementService {
ResponsedeleteDevice(
ResponsedeleteDevice(
@ApiParam(
@ApiParam(
name="device-type",
name="device-type",
value="The device type, such as ios, android or windows.",
value="The device type, such as ios, android, or windows.",
required=true)
required=true)
@PathParam("device-type")
@PathParam("device-type")
@Size(max=45)
@Size(max=45)
@ -1041,7 +1041,7 @@ public interface DeviceManagementService {
ResponsegetInstalledApplications(
ResponsegetInstalledApplications(
@ApiParam(
@ApiParam(
name="type",
name="type",
value="The device type name, such as ios, android, windows or fire-alarm.",
value="The device type name, such as ios, android, windows, or fire-alarm.",
required=true)
required=true)
@PathParam("type")
@PathParam("type")
@Size(max=45)
@Size(max=45)
@ -1190,7 +1190,7 @@ public interface DeviceManagementService {
@ApiOperation(
@ApiOperation(
produces=MediaType.APPLICATION_JSON,
produces=MediaType.APPLICATION_JSON,
httpMethod="GET",
httpMethod="GET",
value="Get the details of the policy that is enforced on a device.",
value="Getting the Details of a Policy Enforced on a Device",
notes="A policy is enforced on all the devices that register with WSO2 IoTS."+
notes="A policy is enforced on all the devices that register with WSO2 IoTS."+
"WSO2 IoTS filters the policies based on the device platform (device type),"+
"WSO2 IoTS filters the policies based on the device platform (device type),"+
"the device ownership type, the user role or name and finally, the policy that matches these filters will be enforced on the device.",
"the device ownership type, the user role or name and finally, the policy that matches these filters will be enforced on the device.",
@ -1252,14 +1252,14 @@ public interface DeviceManagementService {
ResponsegetEffectivePolicyOfDevice(
ResponsegetEffectivePolicyOfDevice(
@ApiParam(
@ApiParam(
name="type",
name="type",
value="The device type name, such as ios, android, windows or fire-alarm.",
value="The device type name, such as ios, android, windows, or fire-alarm.",
required=true)
required=true)
@PathParam("type")
@PathParam("type")
@Size(max=45)
@Size(max=45)
Stringtype,
Stringtype,
@ApiParam(
@ApiParam(
name="id",
name="id",
value="The device identifier.",
value="The device ID.",
required=true)
required=true)
@PathParam("id")
@PathParam("id")
@Size(max=45)
@Size(max=45)
@ -1327,8 +1327,8 @@ public interface DeviceManagementService {
produces=MediaType.APPLICATION_JSON,
produces=MediaType.APPLICATION_JSON,
consumes=MediaType.APPLICATION_JSON,
consumes=MediaType.APPLICATION_JSON,
httpMethod="PUT",
httpMethod="PUT",
value="Change device status by device id.",
value="Changing the Status of a Device",
notes="Returns the status of the changed device operation.",
notes="Change the status of a device from one state to another.",
tags="Device Management",
tags="Device Management",
extensions={
extensions={
@Extension(properties={
@Extension(properties={
@ -1376,21 +1376,21 @@ public interface DeviceManagementService {
ResponsechangeDeviceStatus(
ResponsechangeDeviceStatus(
@ApiParam(
@ApiParam(
name="type",
name="type",
value="The device type, such as ios, android or windows.",
value="The device type, such as ios, android, or windows.",
required=true)
required=true)
@PathParam("type")
@PathParam("type")
@Size(max=45)
@Size(max=45)
Stringtype,
Stringtype,
@ApiParam(
@ApiParam(
name="id",
name="id",
value="Device id",
value="Device ID.",
required=true)
required=true)
@PathParam("id")
@PathParam("id")
@Size(max=45)
@Size(max=45)
Stringid,
Stringid,
@ApiParam(
@ApiParam(
name="newStatus",
name="newStatus",
value="New status of the device.",
value="The available device statuses are CREATED, ACTIVE, INACTIVE, UNREACHABLE, UNCLAIMED, SUSPENDED, BLOCKED, REMOVED, and DISENROLLMENT_REQUESTED.",
required=true)
required=true)
@QueryParam("newStatus")
@QueryParam("newStatus")
EnrolmentInfo.StatusnewStatus);
EnrolmentInfo.StatusnewStatus);
@ -1401,8 +1401,8 @@ public interface DeviceManagementService {
produces=MediaType.APPLICATION_JSON,
produces=MediaType.APPLICATION_JSON,
consumes=MediaType.APPLICATION_JSON,
consumes=MediaType.APPLICATION_JSON,
httpMethod="POST",
httpMethod="POST",
value="Add operation to set of devices for a given device type",
value="Sending an Operation to Specific Device Types",
notes="Returns the Activity Related to the operation.",
notes="You can send an operation to a group of devices that belong to a specific device type using this API. For example, you can send a ring operation to all the enrolled Android devices.",
@ -92,8 +92,8 @@ public interface GeoLocationBasedService {
consumes="application/json",
consumes="application/json",
produces="application/json",
produces="application/json",
httpMethod="GET",
httpMethod="GET",
value="Retrieve Analytics for the device type",
value="Getting the Location Details of a Device",
notes="",
notes="Get the location details of a device during a define time period.",
response=Response.class,
response=Response.class,
tags="Geo Service Management",
tags="Geo Service Management",
extensions={
extensions={
@ -131,24 +131,24 @@ public interface GeoLocationBasedService {
ResponsegetGeoDeviceStats(
ResponsegetGeoDeviceStats(
@ApiParam(
@ApiParam(
name="deviceId",
name="deviceId",
value="The registered device Id.",
value="The device ID.",
required=true)
required=true)
@PathParam("deviceId")StringdeviceId,
@PathParam("deviceId")StringdeviceId,
@ApiParam(
@ApiParam(
name="device-type",
name="device-type",
value="The device type, such as ios, android or windows.",
value="The device type, such as ios, android, or windows.",
required=true)
required=true)
@PathParam("deviceType")
@PathParam("deviceType")
@Size(max=45)
@Size(max=45)
StringdeviceType,
StringdeviceType,
@ApiParam(
@ApiParam(
name="from",
name="from",
value="Get stats from what time",
value="Define the time to start getting the geo location history of the device in the Epoch or UNIX format.",
required=true)
required=true)
@QueryParam("from")longfrom,
@QueryParam("from")longfrom,
@ApiParam(
@ApiParam(
name="to",
name="to",
value="Get stats up to what time",
value="Define the time to finish getting the geo location history of the device in the Epoch or UNIX format.",
required=true)
required=true)
@QueryParam("to")longto);
@QueryParam("to")longto);
@ -156,13 +156,13 @@ public interface GeoLocationBasedService {
*Getdatatoshowdevicelocationsinamap
*Getdatatoshowdevicelocationsinamap
*/
*/
@GET
@GET
@Path("stats/deviceLocations")
@Path("stats/device-locations")
@ApiOperation(
@ApiOperation(
consumes="application/json",
consumes="application/json",
produces="application/json",
produces="application/json",
httpMethod="GET",
httpMethod="GET",
value="Retrieve locations of devices",
value="Getting the Devices in a Defined Geofence",
notes="",
notes="Get the details of the devices that are within the defined geofence coordinates. The geofence you are defining is enclosed with four coordinates in the shape of a square or rectangle. This is done by defining two points of the geofence. The other two points are automatically created using the given points. You can define the zoom level or scale of the map too.",
response=Response.class,
response=Response.class,
tags="Geo Service Management",
tags="Geo Service Management",
extensions={
extensions={
@ -200,28 +200,33 @@ public interface GeoLocationBasedService {
ResponsegetGeoDeviceLocations(
ResponsegetGeoDeviceLocations(
@ApiParam(
@ApiParam(
name="minLat",
name="minLat",
value="minimum latitude",
value="Define the minimum latitude of the geofence.",
required=true)
required=true,
defaultValue="79.85213577747345")
@QueryParam("minLat")doubleminLat,
@QueryParam("minLat")doubleminLat,
@ApiParam(
@ApiParam(
name="maxLat",
name="maxLat",
value="maxmimum latitude",
value="Define the maximum latitude of the geofence.",
required=true)
required=true,
defaultValue="79.85266149044037")
@QueryParam("maxLat")doublemaxLat,
@QueryParam("maxLat")doublemaxLat,
@ApiParam(
@ApiParam(
name="minLong",
name="minLong",
value="minimum longitude",
value="Define the minimum longitude of the geofence.",
required=true)
required=true,
defaultValue="6.909673257977737")
@QueryParam("minLong")doubleminLong,
@QueryParam("minLong")doubleminLong,
@ApiParam(
@ApiParam(
name="maxLong",
name="maxLong",
value="maximum longitudeude",
value="Define the maximum longitude of the geofence",
required=true)
required=true,
defaultValue="6.909673257977737")
@QueryParam("maxLong")doublemaxLong,
@QueryParam("maxLong")doublemaxLong,
@ApiParam(
@ApiParam(
name="zoom",
name="zoom",
value="zoom level",
value="Define the level to zoom or scale the map. You can define any value between 1 to 14.",
required=true)
required=true,
defaultValue="2")
@QueryParam("zoom")intzoom);
@QueryParam("zoom")intzoom);
@ -233,9 +238,9 @@ public interface GeoLocationBasedService {
@ApiOperation(
@ApiOperation(
consumes="application/json",
consumes="application/json",
produces="application/json",
produces="application/json",
httpMethod="GET",
httpMethod="POST",
value="Create Geo alerts for the device",
value="Retrieving a Specific Geo Alert Type from a Device",
notes="",
notes="Retrieve a specific geo alert from a device, such as getting a speed alert that was sent to a device.",
response=Response.class,
response=Response.class,
tags="Geo Service Management",
tags="Geo Service Management",
extensions={
extensions={
@ -274,19 +279,19 @@ public interface GeoLocationBasedService {
@ValidAlertalert,
@ValidAlertalert,
@ApiParam(
@ApiParam(
name="deviceId",
name="deviceId",
value="The registered device Id.",
value="The device ID.",
required=true)
required=true)
@PathParam("deviceId")StringdeviceId,
@PathParam("deviceId")StringdeviceId,
@ApiParam(
@ApiParam(
name="device-type",
name="device-type",
value="The device type, such as ios, android or windows.",
value="The device type, such as ios, android, or windows.",
required=true)
required=true)
@PathParam("deviceType")
@PathParam("deviceType")
@Size(max=45)
@Size(max=45)
StringdeviceType,
StringdeviceType,
@ApiParam(
@ApiParam(
name="alertType",
name="alertType",
value="The alert type, such as Within, Speed, Stationary",
value="The alert type, such as Within, Speed,Exit, or Stationary.",
required=true)
required=true)
@PathParam("alertType")StringalertType);
@PathParam("alertType")StringalertType);
@ -298,9 +303,9 @@ public interface GeoLocationBasedService {
@ApiOperation(
@ApiOperation(
consumes="application/json",
consumes="application/json",
produces="application/json",
produces="application/json",
httpMethod="GET",
httpMethod="PUT",
value="Update Geo alerts for the device",
value="Updating the Geo Alerts of a Device",
notes="",
notes="Update the a geo alert that was sent to a device.",
response=Response.class,
response=Response.class,
tags="Geo Service Management",
tags="Geo Service Management",
extensions={
extensions={
@ -339,19 +344,19 @@ public interface GeoLocationBasedService {
@ValidAlertalert,
@ValidAlertalert,
@ApiParam(
@ApiParam(
name="deviceId",
name="deviceId",
value="The registered device Id.",
value="The device ID.",
required=true)
required=true)
@PathParam("deviceId")StringdeviceId,
@PathParam("deviceId")StringdeviceId,
@ApiParam(
@ApiParam(
name="device-type",
name="device-type",
value="The device type, such as ios, android or windows.",
value="The device type, such as ios, android, or windows.",
required=true)
required=true)
@PathParam("deviceType")
@PathParam("deviceType")
@Size(max=45)
@Size(max=45)
StringdeviceType,
StringdeviceType,
@ApiParam(
@ApiParam(
name="alertType",
name="alertType",
value="The alert type, such as Within, Speed, Stationary",
value="The alert type, such as Within, Speed, Exit, or Stationary",
required=true)
required=true)
@PathParam("alertType")StringalertType);
@PathParam("alertType")StringalertType);
@ -364,8 +369,8 @@ public interface GeoLocationBasedService {
consumes="application/json",
consumes="application/json",
produces="application/json",
produces="application/json",
httpMethod="GET",
httpMethod="GET",
value="Retrieve Geo alerts for the device",
value="Getting a Geo Alert from a Device",
notes="",
notes="Retrieve a specific geo alert from a device, such as getting a speed alert that was sent to a device.",
response=Response.class,
response=Response.class,
tags="Geo Service Management",
tags="Geo Service Management",
extensions={
extensions={
@ -403,19 +408,19 @@ public interface GeoLocationBasedService {
ResponsegetGeoAlerts(
ResponsegetGeoAlerts(
@ApiParam(
@ApiParam(
name="deviceId",
name="deviceId",
value="The registered device Id.",
value="The device ID.",
required=true)
required=true)
@PathParam("deviceId")StringdeviceId,
@PathParam("deviceId")StringdeviceId,
@ApiParam(
@ApiParam(
name="device-type",
name="device-type",
value="The device type, such as ios, android or windows.",
value="The device type, such as ios, android. or windows.",
required=true)
required=true)
@PathParam("deviceType")
@PathParam("deviceType")
@Size(max=45)
@Size(max=45)
StringdeviceType,
StringdeviceType,
@ApiParam(
@ApiParam(
name="alertType",
name="alertType",
value="The alert type, such as Within, Speed, Stationary",
value="The alert type, such as Within, Speed, Exit, or Stationary",
required=true)
required=true)
@PathParam("alertType")StringalertType);
@PathParam("alertType")StringalertType);
@ -428,8 +433,8 @@ public interface GeoLocationBasedService {
consumes="application/json",
consumes="application/json",
produces="application/json",
produces="application/json",
httpMethod="GET",
httpMethod="GET",
value="Retrieve Geo alerts history for the device",
value="Getting the Geo Service Alert History of a Device",
notes="",
notes="Get the geo alert history of a device during the defined time period.",
response=Response.class,
response=Response.class,
tags="Geo Service Management",
tags="Geo Service Management",
extensions={
extensions={
@ -467,24 +472,24 @@ public interface GeoLocationBasedService {
ResponsegetGeoAlertsHistory(
ResponsegetGeoAlertsHistory(
@ApiParam(
@ApiParam(
name="deviceId",
name="deviceId",
value="The registered device Id.",
value="The device ID.",
required=true)
required=true)
@PathParam("deviceId")StringdeviceId,
@PathParam("deviceId")StringdeviceId,
@ApiParam(
@ApiParam(
name="device-type",
name="device-type",
value="The device type, such as ios, android or windows.",
value="The device type, such as ios, android, or windows.",
required=true)
required=true)
@PathParam("deviceType")
@PathParam("deviceType")
@Size(max=45)
@Size(max=45)
StringdeviceType,
StringdeviceType,
@ApiParam(
@ApiParam(
name="from",
name="from",
value="Get stats from what time",
value="Define the time to start getting the geo location history of the device in the Epoch or UNIX format.",
required=true)
required=true)
@QueryParam("from")longfrom,
@QueryParam("from")longfrom,
@ApiParam(
@ApiParam(
name="to",
name="to",
value="Get stats up to what time",
value="Define the time to finish getting the geo location history of the device in the Epoch or UNIX format.",
required=true)
required=true)
@QueryParam("to")longto);
@QueryParam("to")longto);
@ -494,8 +499,8 @@ public interface GeoLocationBasedService {
consumes="application/json",
consumes="application/json",
produces="application/json",
produces="application/json",
httpMethod="DELETE",
httpMethod="DELETE",
value="Deletes Geo alerts for the device",
value="Deleting a Geo Alert from a Device",
notes="",
notes="Delete a specific geo alert from a device, such as deleting a speed alert that was sent to the device.",
response=Response.class,
response=Response.class,
tags="Geo Service Management",
tags="Geo Service Management",
extensions={
extensions={
@ -529,22 +534,23 @@ public interface GeoLocationBasedService {
ResponseremoveGeoAlerts(
ResponseremoveGeoAlerts(
@ApiParam(
@ApiParam(
name="deviceId",
name="deviceId",
value="The registered device Id.",
value="The device ID.",
required=true)
required=true)
@PathParam("deviceId")StringdeviceId,
@PathParam("deviceId")StringdeviceId,
@ApiParam(
@ApiParam(
name="deviceType",
name="deviceType",
value="The device type, such as ios, android or windows.",
value="The device type, such as ios, android, or windows.",
required=true)
required=true)
@PathParam("deviceType")StringdeviceType,
@PathParam("deviceType")StringdeviceType,
@ApiParam(
@ApiParam(
name="alertType",
name="alertType",
value="The alert type, such as Within, Speed, Stationary",
value="The alert type, such as Within, Speed, Exit, or Stationary",
required=true)
required=true)
@PathParam("alertType")StringalertType,
@PathParam("alertType")StringalertType,
@ApiParam(
@ApiParam(
name="queryName",
name="queryName",
value="The query name.",
value="When you define a geofence you define a fence name for it. That name needs to be defined"+
@Api(value="Device Policy Management",description="This API includes the functionality around device policy management")
@Api(value="Device Policy Management",description="This API includes the functionality around device policy "+
"management")
@Path("/policies")
@Path("/policies")
@Produces(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@ -148,8 +149,10 @@ public interface PolicyManagementService {
produces=MediaType.APPLICATION_JSON,
produces=MediaType.APPLICATION_JSON,
httpMethod="POST",
httpMethod="POST",
value="Adding a Policy",
value="Adding a Policy",
notes="Add a policy using this REST API command. When adding a policy you will have the option of saving the policy or saving and publishing the policy."+
notes="Add a policy using this REST API command. When adding a policy you will have the option of "+
"Using this REST API you are able to save a created Policy and this policy will be in the inactive state.",
"saving the policy or saving and publishing the policy."+
"Using this REST API you are able to save a created Policy and this policy will be in the "+
"inactive state.",
tags="Device Policy Management",
tags="Device Policy Management",
extensions={
extensions={
@Extension(properties={
@Extension(properties={
@ -181,7 +184,8 @@ public interface PolicyManagementService {
),
),
@ApiResponse(
@ApiResponse(
code=303,
code=303,
message="See Other. \n The source can be retrieved from the URL specified in the location header",
message="See Other. \n The source can be retrieved from the URL specified in the "+
"location header",
responseHeaders={
responseHeaders={
@ResponseHeader(
@ResponseHeader(
name="Content-Location",
name="Content-Location",
@ -192,11 +196,13 @@ public interface PolicyManagementService {
response=ErrorResponse.class),
response=ErrorResponse.class),
@ApiResponse(
@ApiResponse(
code=401,
code=401,
message="Not Found. \n The user that is currently logged in is not authorized to add policies.",
message="Not Found. \n The user that is currently logged in is not authorized to add "+
"policies.",
response=ErrorResponse.class),
response=ErrorResponse.class),
@ApiResponse(
@ApiResponse(
code=415,
code=415,
message="Unsupported media type. \n The format of the requested entity was not supported."),
message="Unsupported media type. \n The format of the requested entity was not "+
"supported."),
@ApiResponse(
@ApiResponse(
code=500,
code=500,
message="Internal Server Error. \n "+
message="Internal Server Error. \n "+
@ -248,7 +254,8 @@ public interface PolicyManagementService {
),
),
@ApiResponse(
@ApiResponse(
code=304,
code=304,
message="Not Modified. \n Empty body because the client already has the latest version of the requested resource."),
message="Not Modified. \n Empty body because the client already has the latest version "+
"of the requested resource."),
@ApiResponse(
@ApiResponse(
code=400,
code=400,
message="Bad Request. \n Invalid request or validation error.",
message="Bad Request. \n Invalid request or validation error.",
@ -322,7 +329,8 @@ public interface PolicyManagementService {
),
),
@ApiResponse(
@ApiResponse(
code=304,
code=304,
message="Not Modified. \n Empty body because the client already has the latest version of the requested resource.\n"),
message="Not Modified. \n Empty body because the client already has the latest version "+
"of the requested resource.\n"),
@ApiResponse(
@ApiResponse(
code=404,
code=404,
message="Not Found. \n A specified policy was not found.",
message="Not Found. \n A specified policy was not found.",
@ -400,7 +408,8 @@ public interface PolicyManagementService {
response=ErrorResponse.class),
response=ErrorResponse.class),
@ApiResponse(
@ApiResponse(
code=415,
code=415,
message="Unsupported media type. \n The format of the requested entity was not supported."),
message="Unsupported media type. \n The format of the requested entity was not "+
"supported."),
@ApiResponse(
@ApiResponse(
code=500,
code=500,
message="Internal Server Error. \n "+
message="Internal Server Error. \n "+
@ -451,7 +460,8 @@ public interface PolicyManagementService {
response=ErrorResponse.class),
response=ErrorResponse.class),
@ApiResponse(
@ApiResponse(
code=415,
code=415,
message="Unsupported media type. \n The format of the requested entity was not supported.\n "
message="Unsupported media type. \n The format of the requested entity was not "+
"supported.\n "
+"supported format."),
+"supported format."),
@ApiResponse(
@ApiResponse(
code=500,
code=500,
@ -474,7 +484,8 @@ public interface PolicyManagementService {
produces=MediaType.APPLICATION_JSON,
produces=MediaType.APPLICATION_JSON,
httpMethod="POST",
httpMethod="POST",
value="Activating Policies",
value="Activating Policies",
notes="Publish a policy using this API to bring a policy that is in the inactive state to the active state.",
notes="Publish a policy using this API to bring a policy that is in the inactive state to the active "+
"state.",
tags="Device Policy Management",
tags="Device Policy Management",
extensions={
extensions={
@Extension(properties={
@Extension(properties={
@ -515,7 +526,8 @@ public interface PolicyManagementService {
produces=MediaType.APPLICATION_JSON,
produces=MediaType.APPLICATION_JSON,
httpMethod="POST",
httpMethod="POST",
value="Deactivating Policies",
value="Deactivating Policies",
notes="Unpublish a policy using this API to bring a policy that is in the active state to the inactive state.",
notes="Unpublish a policy using this API to bring a policy that is in the active state to the inactive "+
"state.",
tags="Device Policy Management",
tags="Device Policy Management",
extensions={
extensions={
@Extension(properties={
@Extension(properties={
@ -655,7 +667,8 @@ public interface PolicyManagementService {
),
),
@ApiResponse(
@ApiResponse(
code=304,
code=304,
message="Not Modified. \n Empty body because the client already has the latest version of the requested resource.\n"),
message="Not Modified. \n Empty body because the client already has the latest version "+
"of the requested resource.\n"),
@ApiResponse(
@ApiResponse(
code=404,
code=404,
message="Not Found. \n A specified policy was not found.",
message="Not Found. \n A specified policy was not found.",
@ -185,7 +185,7 @@ public interface RoleManagementService {
@ApiOperation(
@ApiOperation(
produces=MediaType.APPLICATION_JSON,
produces=MediaType.APPLICATION_JSON,
httpMethod="GET",
httpMethod="GET",
value="Getting the List of Roles filtered by the given prefix",
value="Getting the List of Roles Filtered by the Given Prefix",
notes="WSO2 IoTS supports role-based access control (RBAC) and role management. Using this API you can the list of roles that are in WSO2 IoTS.\n"+
notes="WSO2 IoTS supports role-based access control (RBAC) and role management. Using this API you can the list of roles that are in WSO2 IoTS.\n"+
"Note: Internal roles, roles created for service-providers, and application related roles will not be given in the output.",
"Note: Internal roles, roles created for service-providers, and application related roles will not be given in the output.",
tags="Role Management",
tags="Role Management",
@ -482,7 +482,9 @@ public interface RoleManagementService {
produces=MediaType.APPLICATION_JSON,
produces=MediaType.APPLICATION_JSON,
httpMethod="POST",
httpMethod="POST",
value="Adding a combined Role",
value="Adding a combined Role",
notes="WSO2 IoTS supports role-based access control (RBAC) and role management. Add a new combined role to WSO2 IoTS using this REST API.",
notes="You are able to combine two roles that already exist and create one role. For example, you "+
"might want a role that has device owner and application management role permissions, you can"+
" now select these two roles and create another new role that has all their permissions.",
tags="Role Management",
tags="Role Management",
extensions={
extensions={
@Extension(properties={
@Extension(properties={
@ -511,7 +513,8 @@ public interface RoleManagementService {
"Used by caches, or in conditional requests.")}),
"Used by caches, or in conditional requests.")}),
@ApiResponse(
@ApiResponse(
code=303,
code=303,
message="See Other. \n The source can be retrieved from the URL specified in the location header.",
message="See Other. \n The source can be retrieved from the URL specified in the location "+
"header.",
responseHeaders={
responseHeaders={
@ResponseHeader(
@ResponseHeader(
name="Content-Location",
name="Content-Location",
@ -597,7 +600,8 @@ public interface RoleManagementService {
name="role",
name="role",
value="The properties required to update a role.\n"+
value="The properties required to update a role.\n"+
"NOTE: Don't change the role and the permissions of the admin user. "+
"NOTE: Don't change the role and the permissions of the admin user. "+
"If you want to try out this API by updating all the properties, create a new role and update the properties accordingly.",
"If you want to try out this API by updating all the properties, create a new role "+
"and update the properties accordingly.",
required=true)RoleInforole,
required=true)RoleInforole,
@ApiParam(
@ApiParam(
name="user-store",
name="user-store",
@ -610,7 +614,8 @@ public interface RoleManagementService {
@ApiOperation(
@ApiOperation(
httpMethod="DELETE",
httpMethod="DELETE",
value="Deleting a Role",
value="Deleting a Role",
notes="Roles become obsolete over time due to various reasons. In a situation where your Organization identifies that a specific role is no longer required, you "+
notes="Roles become obsolete over time due to various reasons. In a situation where your "+
"Organization identifies that a specific role is no longer required, you "+
"can delete a role using this REST API.",
"can delete a role using this REST API.",
tags="Role Management",
tags="Role Management",
extensions={
extensions={
@ -659,8 +664,10 @@ public interface RoleManagementService {
notes="Defining users to a role at the point of creating a new role is optional. "+
notes="Defining users to a role at the point of creating a new role is optional. "+
"You can update the users that belong to a given role after you have created "+
"You can update the users that belong to a given role after you have created "+
"a role using this REST API.\n"+
"a role using this REST API.\n"+
"Example: Your Organization hires 30 new engineers. Updating the role details for each user can "+
"Example: Your Organization hires 30 new engineers. Updating the role details for each user "+
"be cumbersome. Therefore, you can define all the new employees that belong to the engineering "+
"can "+
"be cumbersome. Therefore, you can define all the new employees that belong to the "+
"engineering "+
"role using this API.",
"role using this API.",
tags="Role Management",
tags="Role Management",
extensions={
extensions={
@ -684,7 +691,8 @@ public interface RoleManagementService {
"Used by caches, or in conditional requests."),
"Used by caches, or in conditional requests."),
@ResponseHeader(
@ResponseHeader(
name="Last-Modified",
name="Last-Modified",
description="Date and time the resource has been modified the last time.\n"+
description="Date and time the resource has been modified the last "+
"time.\n"+
"Used by caches, or in conditional requests.")}),
"Used by caches, or in conditional requests.")}),
@ApiResponse(
@ApiResponse(
code=400,
code=400,
@ -696,7 +704,8 @@ public interface RoleManagementService {
response=ErrorResponse.class),
response=ErrorResponse.class),
@ApiResponse(
@ApiResponse(
code=415,
code=415,
message="Unsupported media type. \n The format of the requested entity was not supported.\n"+
message="Unsupported media type. \n The format of the requested entity was not "+
@ -155,7 +155,8 @@ public interface UserManagementService {
produces=MediaType.APPLICATION_JSON,
produces=MediaType.APPLICATION_JSON,
httpMethod="POST",
httpMethod="POST",
value="Adding a User",
value="Adding a User",
notes="WSO2 IoTS supports user management. Add a new user to the WSO2 IoTS user management system via this REST API",
notes="WSO2 IoTS supports user management. Add a new user to the WSO2 IoTS user management system via "+
"this REST API",
tags="User Management",
tags="User Management",
extensions={
extensions={
@Extension(properties={
@Extension(properties={
@ -243,7 +244,8 @@ public interface UserManagementService {
}),
}),
@ApiResponse(
@ApiResponse(
code=304,
code=304,
message="Not Modified. \n Empty body because the client already has the latest version of the requested resource."),
message="Not Modified. \n Empty body because the client already has the latest version of the "+
"requested resource."),
@ApiResponse(
@ApiResponse(
code=404,
code=404,
message="Not Found. \n The specified resource does not exist.",
message="Not Found. \n The specified resource does not exist.",
@ -351,7 +353,8 @@ public interface UserManagementService {
@ApiOperation(
@ApiOperation(
httpMethod="DELETE",
httpMethod="DELETE",
value="Deleting a User",
value="Deleting a User",
notes="When an employee leaves the organization, you can remove the user details from WSO2 IoTS using this REST API.",
notes="When an employee leaves the organization, you can remove the user details from WSO2 IoTS using "+
"this REST API.",
tags="User Management",
tags="User Management",
extensions={
extensions={
@Extension(properties={
@Extension(properties={
@ -378,7 +381,8 @@ public interface UserManagementService {
@ApiParam(
@ApiParam(
name="username",
name="username",
value="Username of the user to be deleted.\n"+
value="Username of the user to be deleted.\n"+
"INFO: If you want to try out this API, make sure to create a new user and then remove that user. Do not remove the admin user.",
"INFO: If you want to try out this API, make sure to create a new user and then remove "+
"that user. Do not remove the admin user.",
required=true,
required=true,
defaultValue="[Create a new user named Jim, and then try out this API.]")
defaultValue="[Create a new user named Jim, and then try out this API.]")
@PathParam("username")Stringusername,
@PathParam("username")Stringusername,
@ -394,7 +398,8 @@ public interface UserManagementService {
produces=MediaType.APPLICATION_JSON,
produces=MediaType.APPLICATION_JSON,
httpMethod="GET",
httpMethod="GET",
value="Getting the Role Details of a User",
value="Getting the Role Details of a User",
notes="A user can be assigned to one or more role in IoTS. Using this REST API you can get the role/roles a user is assigned to.",
notes="A user can be assigned to one or more role in IoTS. Using this REST API you can get the "+
"role/roles a user is assigned to.",
tags="User Management",
tags="User Management",
extensions={
extensions={
@Extension(properties={
@Extension(properties={
@ -422,7 +427,8 @@ public interface UserManagementService {
}),
}),
@ApiResponse(
@ApiResponse(
code=304,
code=304,
message="Not Modified. \n Empty body because the client already has the latest version of the requested resource."),
message="Not Modified. \n Empty body because the client already has the latest version of the "+
"requested resource."),
@ApiResponse(
@ApiResponse(
code=404,
code=404,
message="Not Found. \n The specified resource does not exist.\n",
message="Not Found. \n The specified resource does not exist.\n",
@ -455,7 +461,8 @@ public interface UserManagementService {
produces=MediaType.APPLICATION_JSON,
produces=MediaType.APPLICATION_JSON,
httpMethod="GET",
httpMethod="GET",
value="Getting Details of Users",
value="Getting Details of Users",
notes="You are able to manage users in WSO2 IoTS by adding, updating and removing users. If you wish to get the list of users registered with WSO2 IoTS, you can do so "
notes="You are able to manage users in WSO2 IoTS by adding, updating and removing users. If you wish to"+
" get the list of users registered with WSO2 IoTS, you can do so "
+"using this REST API",
+"using this REST API",
tags="User Management",
tags="User Management",
extensions={
extensions={
@ -492,7 +499,8 @@ public interface UserManagementService {
response=ErrorResponse.class),
response=ErrorResponse.class),
@ApiResponse(
@ApiResponse(
code=500,
code=500,
message="Internal Server Error. \n Server error occurred while fetching the list of WSO2 IoTS users.",
message="Internal Server Error. \n Server error occurred while fetching the list of WSO2 IoTS "+
"users.",
response=ErrorResponse.class)
response=ErrorResponse.class)
})
})
ResponsegetUsers(
ResponsegetUsers(
@ -551,7 +559,8 @@ public interface UserManagementService {
response=ErrorResponse.class),
response=ErrorResponse.class),
@ApiResponse(
@ApiResponse(
code=500,
code=500,
message="Internal Server Error. \n Server error occurred while fetching the total number of users in WSO2 IoTS.",
message="Internal Server Error. \n Server error occurred while fetching the total number of "+
"users in WSO2 IoTS.",
response=ErrorResponse.class)
response=ErrorResponse.class)
})
})
ResponsegetUserCount();
ResponsegetUserCount();
@ -602,7 +611,8 @@ public interface UserManagementService {
produces=MediaType.APPLICATION_JSON,
produces=MediaType.APPLICATION_JSON,
httpMethod="GET",
httpMethod="GET",
value="Searching for a User Name",
value="Searching for a User Name",
notes="If you are unsure of the user name of a user and need to retrieve the details of a specific user, you can "
notes="If you are unsure of the user name of a user and need to retrieve the details of a specific "+
"user, you can "
+"search for that user by giving a character or a few characters in the username. "
+"search for that user by giving a character or a few characters in the username. "
+"You will be given a list of users having the user name in the exact order of the "
+"You will be given a list of users having the user name in the exact order of the "
+"characters you provided.",
+"characters you provided.",
@ -634,14 +644,16 @@ public interface UserManagementService {
}),
}),
@ApiResponse(
@ApiResponse(
code=304,
code=304,
message="Not Modified. \n Empty body because the client already has the latest version of the requested resource."),
message="Not Modified. \n Empty body because the client already has the latest version of the "+
"requested resource."),
@ApiResponse(
@ApiResponse(
code=406,
code=406,
message="Not Acceptable.\n The requested media type is not supported",
message="Not Acceptable.\n The requested media type is not supported",
response=ErrorResponse.class),
response=ErrorResponse.class),
@ApiResponse(
@ApiResponse(
code=500,
code=500,
message="Internal Server Error. \n Server error occurred while fetching the list of users that matched the given filter.",
message="Internal Server Error. \n Server error occurred while fetching the list of users that "+
"matched the given filter.",
response=ErrorResponse.class)
response=ErrorResponse.class)
})
})
ResponsegetUserNames(
ResponsegetUserNames(
@ -727,7 +739,9 @@ public interface UserManagementService {
httpMethod="POST",
httpMethod="POST",
value="Sending Enrollment Invitations to Users",
value="Sending Enrollment Invitations to Users",
notes="Send the users a mail inviting them to enroll their devices using the REST API given below.\n"+
notes="Send the users a mail inviting them to enroll their devices using the REST API given below.\n"+
"Before running the REST API command to send the enrollment invitations to users make sure to configure WSO2 IoTS as explained in step 4, under the WSO2 IoTS general server configurations documentation.",
"Before running the REST API command to send the enrollment invitations to users make sure to "+
"configure WSO2 IoTS as explained in step 4, under the WSO2 IoTS general server configurations "+