GET /rest/v1/targets
Implementation notes
Handles the GET request of retrieving all targets within Bosch IoT Rollouts. Required permission: READ_TARGET
Get paged list of targets
CURL
$ curl 'https://management-api.host.com/rest/v1/targets' -i -X GET
Request URL
A GET
request is used to access the targets
GET /rest/v1/targets HTTP/1.1
Host: management-api.host.com
Request query parameter
Parameter | Description |
---|---|
|
The maximum number of entries in a page (default is 50). |
|
The query parameter sort allows to define the sort order for the result of a query. A sort criteria consists of the name of a field and the sort direction (ASC for ascending and DESC descending). The sequence of the sort criteria (multiple can be used) defines the sort order of the entities in the result. |
|
The paging offset (default is 0). |
|
Query fields based on the Feed Item Query Language (FIQL). See Entity Definitions for available fields. |
Request parameter example
GET /rest/v1/targets?limit=10&sort=name:ASC&offset=0&q=name%3D%3Da HTTP/1.1
Host: management-api.host.com
Response (Status 200)
Response fields
Path | Type | Description | Allowed Values |
---|---|---|---|
size |
Number |
Current page size |
|
total |
Number |
Total number of elements |
|
content |
Array |
List of provisioning targets. |
|
content[].createdBy |
String |
Entity was originally created by (User, AMQP-Controller, anonymous etc.) |
|
content[].address |
String |
The last known address URI of the target. Includes information of the target is connected either directly (DDI) through HTTP or indirectly (DMF) through amqp. |
|
content[].createdAt |
Number |
Entity was originally created at (timestamp UTC in milliseconds) |
|
content[].name |
String |
The name of the entity |
|
content[].description |
String |
The description of the entity |
|
content[].controllerId |
String |
The technical identifier of the entity |
|
content[].updateStatus |
enum |
Current update status of the target. |
['error', 'in_sync', 'pending', 'registered', 'unknown'] |
content[].securityToken |
String |
Pre-Shared key that allows targets to authenticate at Direct Device Integration API if enabled in the tenant settings. |
|
content[].requestAttributes |
Boolean |
Request re-transmission of target attributes. |
|
content[].autoConfirmActive |
Boolean |
Present if user consent flow active. Indicates if auto-confirm is active |
|
content[].installedAt |
Number |
Installation time of current installed DistributionSet. |
|
content[].lastModifiedAt |
Number |
Entity was last modified at (timestamp UTC in milliseconds) |
|
content[].lastModifiedBy |
String |
Entity was last modified by (User, AMQP-Controller, anonymous etc.) |
|
content[].ipAddress |
String |
Last known IP address of the target. Only presented if IP address of the target itself is known (connected directly through DDI API). |
|
content[].lastControllerRequestAt |
Number |
Last time where the target polled the server, same as pollStatus.lastRequestAt. |
|
content[].targetType |
Number |
ID of the target type |
|
content[].targetTypeName |
String |
Name of the target type |
Response example
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 762
{
"content" : [ {
"createdBy" : "bumlux",
"createdAt" : 1691065934607,
"lastModifiedBy" : "bumlux",
"lastModifiedAt" : 1691065934747,
"name" : "137",
"description" : "My name is 137",
"controllerId" : "137",
"updateStatus" : "in_sync",
"lastControllerRequestAt" : 1691065934602,
"installedAt" : 1691065934736,
"ipAddress" : "192.168.0.1",
"address" : "http://192.168.0.1",
"securityToken" : "73a1256d62458a9d9f5bb7abad46d731",
"requestAttributes" : true,
"targetType" : 11,
"targetTypeName" : "defaultType",
"autoConfirmActive" : false,
"_links" : {
"self" : {
"href" : "https://management-api.host.com/rest/v1/targets/137"
}
}
} ],
"total" : 1,
"size" : 1
}
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
POST /rest/v1/targets
Implementation Notes
Handles the POST request of creating new targets within Bosch IoT Rollouts. The request body must always be a list of targets. Required Permission: CREATE_TARGET
Create list of targets
CURL
$ curl 'https://management-api.host.com/rest/v1/targets' -i -X POST \
-H 'Content-Type: application/json' \
-d '[ {
"securityToken" : "2345678DGGDGFTDzztgf",
"address" : "https://192.168.0.1",
"controllerId" : "123456",
"name" : "controllerId",
"description" : "test",
"targetType" : 10
} ]'
Request URL
POST /rest/v1/targets HTTP/1.1
Content-Type: application/json
Content-Length: 190
Host: management-api.host.com
[ {
"securityToken" : "2345678DGGDGFTDzztgf",
"address" : "https://192.168.0.1",
"controllerId" : "123456",
"name" : "controllerId",
"description" : "test",
"targetType" : 10
} ]
Request fields
Path | Type | Description | Allowed Values | Mandatory |
---|---|---|---|---|
[]controllerId |
String |
The technical identifier of the entity |
X |
|
[]name |
String |
The name of the entity |
X |
|
[]description |
String |
The description of the entity |
||
[]address |
String |
The last known address URI of the target. Includes information of the target is connected either directly (DDI) through HTTP or indirectly (DMF) through amqp. |
||
[]securityToken |
String |
Pre-Shared key that allows targets to authenticate at Direct Device Integration API if enabled in the tenant settings. |
||
[]targetType |
Number |
ID of the target type |
Response (Status 201)
Response fields
Path | Type | Description | Allowed Values |
---|---|---|---|
[]controllerId |
String |
The technical identifier of the entity |
|
[]name |
String |
The name of the entity |
|
[]description |
String |
The description of the entity |
|
[]address |
String |
The last known address URI of the target. Includes information of the target is connected either directly (DDI) through HTTP or indirectly (DMF) through amqp. |
|
[]createdBy |
String |
Entity was originally created by (User, AMQP-Controller, anonymous etc.) |
|
[]lastModifiedBy |
String |
Entity was last modified by (User, AMQP-Controller, anonymous etc.) |
|
[]lastModifiedAt |
Number |
Entity was last modified at (timestamp UTC in milliseconds) |
|
[]ipAddress |
String |
Last known IP address of the target. Only presented if IP address of the target itself is known (connected directly through DDI API). |
|
[]createdAt |
Number |
Entity was originally created at (timestamp UTC in milliseconds) |
|
[]updateStatus |
enum |
Current update status of the target. |
['error', 'in_sync', 'pending', 'registered', 'unknown'] |
[]securityToken |
String |
Pre-Shared key that allows targets to authenticate at Direct Device Integration API if enabled in the tenant settings. |
|
[]requestAttributes |
Boolean |
Request re-transmission of target attributes. |
|
[]autoConfirmActive |
Boolean |
Present if user consent flow active. Indicates if auto-confirm is active |
|
[]targetType |
Number |
ID of the target type |
|
[]targetTypeName |
String |
Name of the target type |
Response example
HTTP/1.1 201 Created
Content-Type: application/hal+json
Content-Length: 585
[ {
"createdBy" : "bumlux",
"createdAt" : 1691065933326,
"lastModifiedBy" : "bumlux",
"lastModifiedAt" : 1691065933326,
"name" : "controllerId",
"description" : "test",
"controllerId" : "123456",
"updateStatus" : "unknown",
"ipAddress" : "192.168.0.1",
"address" : "https://192.168.0.1",
"securityToken" : "2345678DGGDGFTDzztgf",
"requestAttributes" : true,
"targetType" : 10,
"targetTypeName" : "defaultType",
"autoConfirmActive" : false,
"_links" : {
"self" : {
"href" : "https://management-api.host.com/rest/v1/targets/123456"
}
}
} ]
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, data volume restriction applies or quota limit exceeded. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
E.g. in case an entity is created or modified by another user in another request at the same time. You may retry your modification request. |
See Error body |
|
The request was attempt with a media-type which is not supported by the server for this resource. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
DELETE /rest/v1/targets/{targetId}
Implementation Notes
Handles the DELETE request of deleting a single target within Bosch IoT Rollouts. Required Permission: DELETE_TARGET
Deleting a target
CURL
$ curl 'https://management-api.host.com/rest/v1/targets/137' -i -X DELETE
Request URL
DELETE /rest/v1/targets/137 HTTP/1.1
Host: management-api.host.com
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
Response (Status 200)
Response example
HTTP/1.1 200 OK
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
Not Found Target. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
GET /rest/v1/targets/{targetId}
Implementation Notes
Handles the GET request of retrieving a single target within Bosch IoT Rollouts. Required Permission: READ_TARGET
Get single target
CURL
$ curl 'https://management-api.host.com/rest/v1/targets/137' -i -X GET
Request URL
GET /rest/v1/targets/137 HTTP/1.1
Host: management-api.host.com
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
Response (Status 200)
Response fields
Path | Type | Description | Allowed Values |
---|---|---|---|
createdBy |
String |
Entity was originally created by (User, AMQP-Controller, anonymous etc.) |
|
address |
String |
The last known address URI of the target. Includes information of the target is connected either directly (DDI) through HTTP or indirectly (DMF) through amqp. |
|
createdAt |
Number |
Entity was originally created at (timestamp UTC in milliseconds) |
|
name |
String |
The name of the entity |
|
description |
String |
The description of the entity |
|
controllerId |
String |
The technical identifier of the entity |
|
updateStatus |
enum |
Current update status of the target. |
['error', 'in_sync', 'pending', 'registered', 'unknown'] |
securityToken |
String |
Pre-Shared key that allows targets to authenticate at Direct Device Integration API if enabled in the tenant settings. |
|
requestAttributes |
Boolean |
Request re-transmission of target attributes. |
|
autoConfirmActive |
Boolean |
Present if user consent flow active. Indicates if auto-confirm is active |
|
installedAt |
Number |
Installation time of current installed DistributionSet. |
|
lastModifiedAt |
Number |
Entity was last modified at (timestamp UTC in milliseconds) |
|
lastModifiedBy |
String |
Entity was last modified by (User, AMQP-Controller, anonymous etc.) |
|
ipAddress |
String |
Last known IP address of the target. Only presented if IP address of the target itself is known (connected directly through DDI API). |
|
lastControllerRequestAt |
Number |
Last time where the target polled the server, same as pollStatus.lastRequestAt. |
|
targetType |
Number |
ID of the target type |
|
targetTypeName |
String |
Name of the target type |
|
pollStatus |
Object |
Poll status of the target. In many scenarios that target will poll the update server on a regular basis to look for potential updates. If that poll does not happen it might imply that the target is offline. |
|
pollStatus.lastRequestAt |
Number |
Last time when the target polled the server. |
|
pollStatus.nextExpectedRequestAt |
Number |
Next expected time when the target polls the server. |
|
pollStatus.overdue |
Boolean |
Defines if the target poll time is overdue based on the next expected poll time plus the configured overdue poll time threshold. |
|
_links.assignedDS |
Object |
Links to assigned distribution sets. |
|
_links.installedDS |
Object |
Links to installed distribution sets. |
|
_links.attributes |
Object |
Links to attributes of the target. |
|
_links.actions |
Object |
Links to actions of the target. |
|
_links.metadata |
Object |
List of metadata. |
|
_links.targetType |
Object |
The link to the target type. |
|
_links.autoConfirm |
Object |
The link to the detailed auto confirm state. |
Response example
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 1586
{
"createdBy" : "bumlux",
"createdAt" : 1691065941104,
"lastModifiedBy" : "bumlux",
"lastModifiedAt" : 1691065941159,
"name" : "137",
"description" : "My name is 137",
"controllerId" : "137",
"updateStatus" : "in_sync",
"lastControllerRequestAt" : 1691065941102,
"installedAt" : 1691065941155,
"ipAddress" : "192.168.0.1",
"address" : "http://192.168.0.1",
"pollStatus" : {
"lastRequestAt" : 1691065941102,
"nextExpectedRequestAt" : 1691109141102,
"overdue" : false
},
"securityToken" : "38e6a19932b014040ba061795186514e",
"requestAttributes" : true,
"targetType" : 19,
"targetTypeName" : "defaultType",
"autoConfirmActive" : false,
"_links" : {
"self" : {
"href" : "https://management-api.host.com/rest/v1/targets/137"
},
"assignedDS" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/assignedDS"
},
"installedDS" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/installedDS"
},
"attributes" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/attributes"
},
"actions" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/actions?offset=0&limit=50&sort=id%3ADESC"
},
"metadata" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/metadata?offset=0&limit=50"
},
"targetType" : {
"href" : "https://management-api.host.com/rest/v1/targettypes/19"
},
"autoConfirm" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/autoConfirm"
}
}
}
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
Not Found Target. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
PUT /rest/v1/targets/{targetId}
Implementation Notes
Handles the PUT request of updating a target within Bosch IoT Rollouts. Required Permission: UPDATE_TARGET
Update a target
Curl
$ curl 'https://management-api.host.com/rest/v1/targets/137' -i -X PUT \
-H 'Content-Type: application/json' \
-d '{
"securityToken" : "2345678DGGDGFTDzztgf",
"requestAttributes" : true,
"address" : "https://192.168.0.1",
"controllerId" : "137",
"name" : "newTargetName",
"description" : "I've been updated",
"targetType" : 12
}'
Request URL
PUT /rest/v1/targets/137 HTTP/1.1
Content-Type: application/json
Content-Length: 227
Host: management-api.host.com
{
"securityToken" : "2345678DGGDGFTDzztgf",
"requestAttributes" : true,
"address" : "https://192.168.0.1",
"controllerId" : "137",
"name" : "newTargetName",
"description" : "I've been updated",
"targetType" : 12
}
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
Request fields
Path | Type | Description | Allowed Values | Mandatory |
---|---|---|---|---|
name |
String |
The name of the entity |
||
description |
String |
The description of the entity |
||
controllerId |
String |
The technical identifier of the entity |
||
address |
String |
The last known address URI of the target. Includes information of the target is connected either directly (DDI) through HTTP or indirectly (DMF) through amqp. |
||
securityToken |
String |
Pre-Shared key that allows targets to authenticate at Direct Device Integration API if enabled in the tenant settings. |
||
requestAttributes |
Boolean |
Request re-transmission of target attributes. |
||
targetType |
Number |
ID of the target type. If value of -1 provided the target type will be unassigned. |
Response (Status 200)
Response fields
Path | Type | Description | Allowed Values |
---|---|---|---|
createdBy |
String |
Entity was originally created by (User, AMQP-Controller, anonymous etc.) |
|
address |
String |
The last known address URI of the target. Includes information of the target is connected either directly (DDI) through HTTP or indirectly (DMF) through amqp. |
|
createdAt |
Number |
Entity was originally created at (timestamp UTC in milliseconds) |
|
name |
String |
The name of the entity |
|
description |
String |
The description of the entity |
|
controllerId |
String |
The technical identifier of the entity |
|
updateStatus |
enum |
Current update status of the target. |
['error', 'in_sync', 'pending', 'registered', 'unknown'] |
securityToken |
String |
Pre-Shared key that allows targets to authenticate at Direct Device Integration API if enabled in the tenant settings. |
|
requestAttributes |
Boolean |
Request re-transmission of target attributes. |
|
autoConfirmActive |
Boolean |
Present if user consent flow active. Indicates if auto-confirm is active |
|
installedAt |
Number |
Installation time of current installed DistributionSet. |
|
lastModifiedAt |
Number |
Entity was last modified at (timestamp UTC in milliseconds) |
|
lastModifiedBy |
String |
Entity was last modified by (User, AMQP-Controller, anonymous etc.) |
|
ipAddress |
String |
Last known IP address of the target. Only presented if IP address of the target itself is known (connected directly through DDI API). |
|
lastControllerRequestAt |
Number |
Last time where the target polled the server, same as pollStatus.lastRequestAt. |
|
targetType |
Number |
ID of the target type |
|
targetTypeName |
String |
Name of the target type |
|
pollStatus |
Object |
Poll status of the target. In many scenarios that target will poll the update server on a regular basis to look for potential updates. If that poll does not happen it might imply that the target is offline. |
|
pollStatus.lastRequestAt |
Number |
Last time when the target polled the server. |
|
pollStatus.nextExpectedRequestAt |
Number |
Next expected time when the target polls the server. |
|
pollStatus.overdue |
Boolean |
Defines if the target poll time is overdue based on the next expected poll time plus the configured overdue poll time threshold. |
|
_links.assignedDS |
Object |
Links to assigned distribution sets. |
|
_links.installedDS |
Object |
Links to installed distribution sets. |
|
_links.attributes |
Object |
Links to attributes of the target. |
|
_links.actions |
Object |
Links to actions of the target. |
|
_links.metadata |
Object |
List of metadata. |
|
_links.targetType |
Object |
The link to the target type. |
|
_links.autoConfirm |
Object |
The link to the detailed auto confirm state. |
Response example
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 1588
{
"createdBy" : "bumlux",
"createdAt" : 1691065935460,
"lastModifiedBy" : "bumlux",
"lastModifiedAt" : 1691065935644,
"name" : "newTargetName",
"description" : "I've been updated",
"controllerId" : "137",
"updateStatus" : "in_sync",
"lastControllerRequestAt" : 1691065935456,
"installedAt" : 1691065935587,
"ipAddress" : "192.168.0.1",
"address" : "https://192.168.0.1",
"pollStatus" : {
"lastRequestAt" : 1691065935456,
"nextExpectedRequestAt" : 1691109135456,
"overdue" : false
},
"securityToken" : "2345678DGGDGFTDzztgf",
"requestAttributes" : true,
"targetType" : 12,
"targetTypeName" : "defaultType",
"autoConfirmActive" : false,
"_links" : {
"self" : {
"href" : "https://management-api.host.com/rest/v1/targets/137"
},
"assignedDS" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/assignedDS"
},
"installedDS" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/installedDS"
},
"attributes" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/attributes"
},
"actions" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/actions?offset=0&limit=50&sort=id%3ADESC"
},
"metadata" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/metadata?offset=0&limit=50"
},
"targetType" : {
"href" : "https://management-api.host.com/rest/v1/targettypes/12"
},
"autoConfirm" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/autoConfirm"
}
}
}
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
Not Found Target. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
E.g. in case an entity is created or modified by another user in another request at the same time. You may retry your modification request. |
See Error body |
|
The request was attempt with a media-type which is not supported by the server for this resource. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
GET /rest/v1/targets/{targetId}/autoConfirm
Implementation Notes
Handles the GET request to check the current auto-confirmation state of a target. Required Permission: READ_TARGET
Request auto-confirmation state for a specific target
Curl
$ curl 'https://management-api.host.com/rest/v1/targets/137/autoConfirm' -i -X GET
Request URL
GET /rest/v1/targets/137/autoConfirm HTTP/1.1
Host: management-api.host.com
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
Response in case auto-confirmation is active (Status 200)
In case auto-confirmation is active, details like the initiator, remark and date of activation (as unix timestamp) will be provided. Reference links to switch the auto-confirmation state are exposed as well.
Response fields
Path | Type | Description | Allowed Values |
---|---|---|---|
active |
Boolean |
Flag if auto confirm is active |
|
initiator |
String |
(Optional) initiator set on activation |
|
remark |
String |
(Optional) remark set on activation |
|
activatedAt |
Number |
timestamp of the activation |
|
_links.deactivate |
Object |
reference link to deactivate auto confirm (present if active) |
Response example
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 265
{
"active" : true,
"initiator" : "custom_initiator_value",
"remark" : "custom_remark",
"activatedAt" : 1691065938576,
"_links" : {
"deactivate" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/autoConfirm/deactivate"
}
}
}
Response in case auto-confirmation is not active (Status 200)
The response body references a link to activate auto-confirmation.
Response fields
Path | Type | Description | Allowed Values |
---|---|---|---|
active |
Boolean |
Flag if auto confirm is active |
|
_links.activate |
Object |
reference link to activate auto confirm (present if not active) |
Response example
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 157
{
"active" : false,
"_links" : {
"activate" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/autoConfirm/activate"
}
}
}
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
Not Found Target. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
POST /rest/v1/targets/{targetId}/autoConfirm/activate
Implementation Notes
Handles the POST request to activate auto-confirmation for a specific target. As a result all current active as well as future actions will automatically be confirmed by mentioning the initiator as triggered person. Actions will be automatically confirmed, as long as auto-confirmation is active. Required Permission: UPDATE_TARGET
Activate auto-confirmation for a target
Curl
$ curl 'https://management-api.host.com/rest/v1/targets/137/autoConfirm/activate' -i -X POST \
-H 'Content-Type: application/json' \
-d '{
"initiator" : "custom_initiator_value",
"remark" : "custom_remark_value"
}'
Request URL
POST /rest/v1/targets/137/autoConfirm/activate HTTP/1.1
Content-Type: application/json
Content-Length: 80
Host: management-api.host.com
{
"initiator" : "custom_initiator_value",
"remark" : "custom_remark_value"
}
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
Request fields
Path | Type | Description | Allowed Values | Mandatory |
---|---|---|---|---|
initiator |
String |
individual value (e.g. username) stored as initiator and automatically used as confirmed user in future actions |
||
remark |
String |
individual value to attach a remark which will be persisted when automatically confirming future actions |
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
Not Found Target. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
E.g. in case an entity is created or modified by another user in another request at the same time. You may retry your modification request. |
See Error body |
|
The request was attempt with a media-type which is not supported by the server for this resource. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
POST /rest/v1/targets/{targetId}/autoConfirm/deactivate
Implementation Notes
Handles the POST request to deactivate auto-confirmation for a specific target. All active actions will remain unchanged while all future actions need to be confirmed, before processing with the deployment. Required Permission: UPDATE_TARGET
Deactivate auto-confirmation for a target
Curl
$ curl 'https://management-api.host.com/rest/v1/targets/137/autoConfirm/deactivate' -i -X POST
Request URL
POST /rest/v1/targets/137/autoConfirm/deactivate HTTP/1.1
Host: management-api.host.com
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
Not Found Target. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
E.g. in case an entity is created or modified by another user in another request at the same time. You may retry your modification request. |
See Error body |
|
The request was attempt with a media-type which is not supported by the server for this resource. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
GET /rest/v1/targets/{targetId}/actions
Implementation Notes
Handles the GET request of retrieving the full action history of a specific target. Required Permission: READ_TARGET
List all actions of Target
Curl
$ curl 'https://management-api.host.com/rest/v1/targets/137/actions' -i -X GET
Request URL
GET /rest/v1/targets/137/actions HTTP/1.1
Host: management-api.host.com
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
Request query parameter
Parameter | Description |
---|---|
|
The maximum number of entries in a page (default is 50). |
|
The query parameter sort allows to define the sort order for the result of a query. A sort criteria consists of the name of a field and the sort direction (ASC for ascending and DESC descending). The sequence of the sort criteria (multiple can be used) defines the sort order of the entities in the result. |
|
The paging offset (default is 0). |
|
Query fields based on the Feed Item Query Language (FIQL). See Entity Definitions for available fields. |
Request parameter example
GET /rest/v1/targets/137/actions?limit=10&sort=id:ASC&offset=0&q=status%3D%3Dpending HTTP/1.1
Host: management-api.host.com
Response (Status 200)
Response fields
Path | Type | Description | Allowed Values |
---|---|---|---|
size |
Number |
Current page size |
|
total |
Number |
Total number of elements |
|
content[] |
Array |
List of actions. |
|
content[].createdBy |
String |
Entity was originally created by (User, AMQP-Controller, anonymous etc.) |
|
content[].createdAt |
Number |
Entity was originally created at (timestamp UTC in milliseconds) |
|
content[].lastModifiedBy |
String |
Entity was last modified by (User, AMQP-Controller, anonymous etc.) |
|
content[].lastModifiedAt |
String |
Entity was last modified at (timestamp UTC in milliseconds) |
|
content[].type |
String |
Type of action. |
['update', 'cancel'] |
content[].status |
String |
Status of action. |
['finished', 'pending'] |
content[].detailStatus |
String |
Detailed status of action. |
['finished', 'error', 'running', 'warning', 'scheduled', 'canceling', 'canceled', 'download', 'downloaded', 'retrieved', 'cancel_rejected'] |
content[]._links.self |
Object |
The link to the action. |
|
content[].id |
Number |
ID of the action. |
|
content[].weight |
Number |
Weight of the action showing the importance of the update. |
|
content[].maintenanceWindow |
Object |
Separation of download and install by defining a maintenance window for the installation. |
|
content[].maintenanceWindow.schedule |
String |
Schedule for the maintenance window start in quartz cron notation, such as '0 15 10 * * ? 2018' for 10:15am every day during the year 2018. |
|
content[].maintenanceWindow.duration |
String |
Duration of the window, such as '02:00:00' for 2 hours. |
|
content[].maintenanceWindow.timezone |
String |
A time-zone offset from Greenwich/UTC, such as '+02:00'. |
|
content[].maintenanceWindow.nextStartAt |
Number |
The time (timestamp UTC in milliseconds) of the next maintenance window start |
Response example
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 514
{
"content" : [ {
"createdBy" : "bumlux",
"createdAt" : 1691065939464,
"lastModifiedBy" : "bumlux",
"lastModifiedAt" : 1691065939519,
"type" : "update",
"status" : "finished",
"detailStatus" : "finished",
"weight" : 600,
"rollout" : 4,
"rolloutName" : "rollout",
"_links" : {
"self" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/actions/22"
}
},
"id" : 22,
"forceType" : "forced"
} ],
"total" : 1,
"size" : 1
}
Response example with Maintenance Window
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 637
{
"content" : [ {
"createdBy" : "bumlux",
"createdAt" : 1691065944324,
"lastModifiedBy" : "bumlux",
"lastModifiedAt" : 1691065944422,
"type" : "update",
"status" : "finished",
"detailStatus" : "finished",
"weight" : 600,
"maintenanceWindow" : {
"schedule" : "23 34 12 3 8 ? 2023",
"duration" : "00:01:00",
"timezone" : "+00:00",
"nextStartAt" : 1691066063000
},
"_links" : {
"self" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/actions/26"
}
},
"id" : 26,
"forceType" : "forced"
} ],
"total" : 1,
"size" : 1
}
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
PUT /rest/v1/targets/{targetId}/actions/{actionId}
Implementation Notes
Handles the PUT request to switch an action from soft to forced. Required Permission: UPDATE_TARGET.
Update a target
Curl
$ curl 'https://management-api.host.com/rest/v1/targets/137/actions/16' -i -X PUT \
-H 'Content-Type: application/json' \
-d '{
"forceType" : "forced"
}'
Request URL
PUT /rest/v1/targets/137/actions/16 HTTP/1.1
Content-Type: application/json
Content-Length: 28
Host: management-api.host.com
{
"forceType" : "forced"
}
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
actionId |
The technical identifier of the entity |
Request fields
Path | Type | Description | Allowed Values | Mandatory |
---|---|---|---|---|
forceType |
String |
Set to forced in order to switch action to forced mode. |
X |
Response (Status 200)
Response fields
Path | Type | Description | Allowed Values |
---|---|---|---|
createdBy |
String |
Entity was originally created by (User, AMQP-Controller, anonymous etc.) |
|
createdAt |
Number |
Entity was originally created at (timestamp UTC in milliseconds) |
|
id |
Number |
ID of the action. |
|
lastModifiedBy |
String |
Entity was last modified by (User, AMQP-Controller, anonymous etc.) |
|
lastModifiedAt |
String |
Entity was last modified at (timestamp UTC in milliseconds) |
|
type |
String |
Type of action. |
['update', 'cancel'] |
forceType |
String |
Force type of the action that provides a hint if the controller should apply the action immediately or whenever possible. |
['forced', 'soft', 'timeforced'] |
status |
String |
Status of action. |
['finished', 'pending'] |
detailStatus |
String |
Detailed status of action. |
['finished', 'error', 'running', 'warning', 'scheduled', 'canceling', 'canceled', 'download', 'downloaded', 'retrieved', 'cancel_rejected'] |
_links.distributionset |
Object |
The link to the distribution set. |
|
_links.status |
Object |
The link to all statuses of the action. |
|
_links.target |
Object |
The link to the target. |
Response example
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 789
{
"createdBy" : "bumlux",
"createdAt" : 1691065933793,
"lastModifiedBy" : "bumlux",
"lastModifiedAt" : 1691065933849,
"type" : "update",
"status" : "pending",
"detailStatus" : "running",
"_links" : {
"self" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/actions/16"
},
"target" : {
"href" : "https://management-api.host.com/rest/v1/targets/137",
"name" : "137"
},
"distributionset" : {
"href" : "https://management-api.host.com/rest/v1/distributionsets/20",
"name" : "e4c28148-df4c-4b6e-adc8-0fb919592641:1.0"
},
"status" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/actions/16/status?offset=0&limit=50&sort=id%3ADESC"
}
},
"id" : 16,
"forceType" : "forced"
}
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
Not Found Target. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
E.g. in case an entity is created or modified by another user in another request at the same time. You may retry your modification request. |
See Error body |
|
The request was attempt with a media-type which is not supported by the server for this resource. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
DELETE /rest/v1/targets/{targetId}/actions/{actionId}
Implementation Notes
Cancels an active action, only active actions can be deleted. Required Permission: UPDATE_TARGET
Canceling an active action
Curl
$ curl 'https://management-api.host.com/rest/v1/targets/137/actions/15' -i -X DELETE
Request URL
DELETE /rest/v1/targets/137/actions/15 HTTP/1.1
Host: management-api.host.com
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
actionId |
The technical identifier of the entity |
Request query parameter
Parameter | Description |
---|---|
|
Force as boolean. |
Request parameter example
DELETE /rest/v1/targets/137/actions/23?force=true HTTP/1.1
Host: management-api.host.com
Response (Status 204)
Response example
HTTP/1.1 204 No Content
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
Not Found Target. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
GET /rest/v1/targets/{targetId}/actions/{actionId}
Implementation Notes
Handles the GET request of retrieving a specific action on a specific target. Required Permission: READ_TARGET
Get assigned action of target
Curl
$ curl 'https://management-api.host.com/rest/v1/targets/137/actions/25' -i -X GET
Request URL
GET /rest/v1/targets/137/actions/25 HTTP/1.1
Host: management-api.host.com
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
actionId |
The technical identifier of the entity |
Response (Status 200)
Response fields
Path | Type | Description | Allowed Values |
---|---|---|---|
createdBy |
String |
Entity was originally created by (User, AMQP-Controller, anonymous etc.) |
|
createdAt |
Number |
Entity was originally created at (timestamp UTC in milliseconds) |
|
id |
Number |
ID of the action. |
|
weight |
Number |
Weight of the action showing the importance of the update. |
|
lastModifiedBy |
String |
Entity was last modified by (User, AMQP-Controller, anonymous etc.) |
|
lastModifiedAt |
String |
Entity was last modified at (timestamp UTC in milliseconds) |
|
type |
String |
Type of action. |
['update', 'cancel'] |
forceType |
String |
Force type of the action that provides a hint if the controller should apply the action immediately or whenever possible. |
['forced', 'soft', 'timeforced'] |
forceTime |
String |
In case of timeforced mode the difference, measured in milliseconds, between the time the action should switch to forced and midnight, January 1, 1970 UTC. |
|
status |
String |
Status of action. |
['finished', 'pending'] |
detailStatus |
String |
Detailed status of action. |
['finished', 'error', 'running', 'warning', 'scheduled', 'canceling', 'canceled', 'download', 'downloaded', 'retrieved', 'cancel_rejected'] |
lastStatusCode |
Integer |
(Optional) Code provided as part of the last status update that was sent by the device. |
|
maintenanceWindow |
Object |
Separation of download and install by defining a maintenance window for the installation. |
|
maintenanceWindow.schedule |
String |
Schedule for the maintenance window start in quartz cron notation, such as '0 15 10 * * ? 2018' for 10:15am every day during the year 2018. |
|
maintenanceWindow.duration |
String |
Duration of the window, such as '02:00:00' for 2 hours. |
|
maintenanceWindow.timezone |
String |
A time-zone offset from Greenwich/UTC, such as '+02:00'. |
|
maintenanceWindow.nextStartAt |
Number |
The time (timestamp UTC in milliseconds) of the next maintenance window start |
|
_links.distributionset |
Object |
The link to the distribution set. |
|
_links.status |
Object |
The link to all statuses of the action. |
|
_links.target |
Object |
The link to the target. |
Response example
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 989
{
"createdBy" : "bumlux",
"createdAt" : 1691065942789,
"lastModifiedBy" : "bumlux",
"lastModifiedAt" : 1691065942946,
"type" : "update",
"status" : "finished",
"detailStatus" : "finished",
"forceTime" : 0,
"weight" : 600,
"rollout" : 5,
"rolloutName" : "rollout",
"lastStatusCode" : 200,
"_links" : {
"self" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/actions/25"
},
"target" : {
"href" : "https://management-api.host.com/rest/v1/targets/137",
"name" : "137"
},
"distributionset" : {
"href" : "https://management-api.host.com/rest/v1/distributionsets/29",
"name" : "DS:1.0"
},
"status" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/actions/25/status?offset=0&limit=50&sort=id%3ADESC"
},
"rollout" : {
"href" : "https://management-api.host.com/rest/v1/rollouts/5",
"name" : "rollout"
}
},
"id" : 25,
"forceType" : "timeforced"
}
Response example with Maintenance Window
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 981
{
"createdBy" : "bumlux",
"createdAt" : 1691065928587,
"lastModifiedBy" : "bumlux",
"lastModifiedAt" : 1691065928715,
"type" : "update",
"status" : "finished",
"detailStatus" : "finished",
"forceTime" : 0,
"weight" : 600,
"maintenanceWindow" : {
"schedule" : "7 34 12 3 8 ? 2023",
"duration" : "00:01:00",
"timezone" : "+00:00",
"nextStartAt" : 1691066047000
},
"lastStatusCode" : 200,
"_links" : {
"self" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/actions/9"
},
"target" : {
"href" : "https://management-api.host.com/rest/v1/targets/137",
"name" : "137"
},
"distributionset" : {
"href" : "https://management-api.host.com/rest/v1/distributionsets/14",
"name" : "DS:1.0"
},
"status" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/actions/9/status?offset=0&limit=50&sort=id%3ADESC"
}
},
"id" : 9,
"forceType" : "timeforced"
}
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
Not Found Target. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
GET /rest/v1/targets/{targetId}/actions/{actionId}/status
Implementation Notes
Handles the GET request of retrieving a specific action on a specific target. Required Permission: READ_TARGET
Get statuses of assigned action
Curl
$ curl 'https://management-api.host.com/rest/v1/targets/137/actions/10/status' -i -X GET
Request URL
GET /rest/v1/targets/137/actions/10/status HTTP/1.1
Host: management-api.host.com
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
actionId |
The technical identifier of the entity |
Request parameter
Parameter | Description |
---|---|
|
The maximum number of entries in a page (default is 50). |
|
The query parameter sort allows to define the sort order for the result of a query. A sort criteria consists of the name of a field and the sort direction (ASC for ascending and DESC descending). The sequence of the sort criteria (multiple can be used) defines the sort order of the entities in the result. |
|
The paging offset (default is 0). |
Request parameter example
GET /rest/v1/targets/137/actions/19/status?limit=10&sort=id:ASC&offset=0 HTTP/1.1
Host: management-api.host.com
Response (Status 200)
Response fields
Path | Type | Description | Allowed Values |
---|---|---|---|
size |
Number |
Current page size |
|
total |
Number |
Total number of elements |
|
content[] |
Array |
List of action status. |
|
content[].id |
Number |
The technical identifier of the entity |
|
content[].messages |
String |
Messages related to the status. |
|
content[].reportedAt |
String |
Time at which the status was reported (server time). |
|
content[].code |
Integer |
(Optional) Code provided by the device related to the status. |
|
content[].type |
String |
Type of the action status. |
['finished', 'error', 'warning', 'running', 'canceled', 'canceling', 'retrieved', 'download', 'scheduled', 'cancel_rejected', 'downloaded', 'wait_for_confirmation'] |
Response example
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 314
{
"content" : [ {
"type" : "running",
"messages" : [ null ],
"reportedAt" : 1691065929524,
"code" : 200,
"id" : 21
}, {
"type" : "running",
"messages" : [ "Assignment initiated by user 'bumlux'" ],
"reportedAt" : 1691065929470,
"id" : 20
} ],
"total" : 2,
"size" : 2
}
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
Not Found Target. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
GET /rest/v1/targets/{targetId}/assignedDS
Implementation Notes
Handles the GET request of retrieving the assigned distribution set of an specific target. Required Permission: READ_TARGET
Get assigned distribution set of target
Curl
$ curl 'https://management-api.host.com/rest/v1/targets/137/assignedDS' -i -X GET
Request URL
GET /rest/v1/targets/137/assignedDS HTTP/1.1
Host: management-api.host.com
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
Response (Status 200)
Response fields
Path | Type | Description | Allowed Values |
---|---|---|---|
id |
Number |
The technical identifier of the entity |
|
name |
String |
The name of the entity |
|
description |
String |
The description of the entity |
|
createdBy |
String |
Entity was originally created by (User, AMQP-Controller, anonymous etc.) |
|
createdAt |
Number |
Entity was originally created at (timestamp UTC in milliseconds) |
|
lastModifiedBy |
String |
Entity was last modified by (User, AMQP-Controller, anonymous etc.) |
|
lastModifiedAt |
Number |
Entity was last modified at (timestamp UTC in milliseconds) |
|
type |
String |
The type of the distribution set. |
|
typeName |
String |
The type name of the distribution set. |
|
requiredMigrationStep |
Boolean |
True if DS is a required migration step for another DS. As a result the DS’s assignment will not be cancelled when another DS is assigned (note: updatable only if DS is not yet assigned to a target) |
|
complete |
Boolean |
True of the distribution set software module setup is complete as defined by the distribution set type. |
|
deleted |
Boolean |
Deleted flag, used for soft deleted entities |
|
valid |
Boolean |
True by default and false after the distribution set is invalidated by the user. |
|
version |
String |
Package version. |
|
_links.type |
Object |
The type of the distribution set. |
|
_links.metadata |
Object |
List of metadata. |
|
_links.modules |
Object |
List of software modules. |
Response example
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 2555
{
"createdBy" : "bumlux",
"createdAt" : 1691065937794,
"lastModifiedBy" : "bumlux",
"lastModifiedAt" : 1691065937820,
"name" : "DS",
"description" : "The descption of the distribution set.",
"version" : "1.0",
"modules" : [ {
"createdBy" : "bumlux",
"createdAt" : 1691065937711,
"lastModifiedBy" : "bumlux",
"lastModifiedAt" : 1691065937925,
"name" : "app runtime",
"description" : "Description of the software module",
"version" : "1.0.20",
"type" : "runtime",
"typeName" : "runtime",
"vendor" : "vendor GmbH, Stuttgart, Germany",
"deleted" : false,
"encrypted" : false,
"_links" : {
"self" : {
"href" : "https://management-api.host.com/rest/v1/softwaremodules/74"
}
},
"id" : 74
}, {
"createdBy" : "bumlux",
"createdAt" : 1691065937683,
"lastModifiedBy" : "bumlux",
"lastModifiedAt" : 1691065937975,
"name" : "application",
"description" : "Description of the software module",
"version" : "1.0.86",
"type" : "application",
"typeName" : "Application",
"vendor" : "vendor Limited, California",
"deleted" : false,
"encrypted" : false,
"_links" : {
"self" : {
"href" : "https://management-api.host.com/rest/v1/softwaremodules/73"
}
},
"id" : 73
}, {
"createdBy" : "bumlux",
"createdAt" : 1691065937743,
"lastModifiedBy" : "bumlux",
"lastModifiedAt" : 1691065937874,
"name" : "Firmware",
"description" : "Description of the software module",
"version" : "1.0.41",
"type" : "os",
"typeName" : "OS",
"vendor" : "vendor Limited Inc, California",
"deleted" : false,
"encrypted" : false,
"_links" : {
"self" : {
"href" : "https://management-api.host.com/rest/v1/softwaremodules/75"
}
},
"id" : 75
} ],
"requiredMigrationStep" : false,
"type" : "test_default_ds_type",
"typeName" : "OS (FW) mandatory, runtime (FW) and app (SW) optional",
"complete" : true,
"deleted" : false,
"valid" : true,
"_links" : {
"self" : {
"href" : "https://management-api.host.com/rest/v1/distributionsets/25"
},
"modules" : {
"href" : "https://management-api.host.com/rest/v1/distributionsets/25/assignedSM?offset=0&limit=50"
},
"type" : {
"href" : "https://management-api.host.com/rest/v1/distributionsettypes/174"
},
"metadata" : {
"href" : "https://management-api.host.com/rest/v1/distributionsets/25/metadata?offset=0&limit=50"
}
},
"id" : 25
}
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
Not Found Target. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
POST /rest/v1/targets/{targetId}/assignedDS (assign single distribution set)
Implementation Notes
Handles the POST request for assigning a distribution set to a specific target. Required Permission: READ_REPOSITORY and UPDATE_TARGET
Assign distribution set to target
Curl
$ curl 'https://management-api.host.com/rest/v1/targets/137/assignedDS' -i -X POST \
-H 'Content-Type: application/json' \
-d '{
"maintenanceWindow" : {
"duration" : "00:10:00",
"schedule" : "10 12 14 3 8 ? 2023",
"timezone" : "+00:00"
},
"forcetime" : 1691065930359,
"id" : 16,
"type" : "timeforced"
}'
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
Request query parameter
Parameter | Description |
---|---|
|
Offline update (set param to true) that is only reported but not managed by the service, e.g. defaults set in factory, manual updates or migrations from other update systems. A completed action is added to the history of the target(s). Target is set to IN_SYNC state as both assigend and installed DS are set. Note: only executed if the target has currently no running update. |
Request fields
Path | Type | Description | Allowed Values | Mandatory |
---|---|---|---|---|
id |
Number |
The technical identifier of the entity |
X |
|
weight |
Number |
Importance of the assignment. |
0 - 1000 |
when multi-assignment is enabled |
forcetime |
Number |
Forcetime in milliseconds. |
||
[].confirmationRequired |
Boolean |
(Available with user consent flow active) Specifies if the confirmation by the device is required for this action. |
||
maintenanceWindow |
Object |
Separation of download and install by defining a maintenance window for the installation. |
||
maintenanceWindow.schedule |
String |
Schedule for the maintenance window start in quartz cron notation, such as '0 15 10 * * ? 2018' for 10:15am every day during the year 2018. |
||
maintenanceWindow.duration |
String |
Duration of the window, such as '02:00:00' for 2 hours. |
||
maintenanceWindow.timezone |
String |
A time-zone offset from Greenwich/UTC, such as '+02:00'. |
||
type |
String |
The type of the assignment. |
['soft', 'forced','timeforced', 'downloadonly'] |
Request URL
POST /rest/v1/targets/137/assignedDS HTTP/1.1
Content-Type: application/json
Content-Length: 197
Host: management-api.host.com
{
"maintenanceWindow" : {
"duration" : "00:10:00",
"schedule" : "10 12 14 3 8 ? 2023",
"timezone" : "+00:00"
},
"forcetime" : 1691065930359,
"id" : 16,
"type" : "timeforced"
}
Response (Status 200)
Response fields
Path | Type | Description | Allowed Values |
---|---|---|---|
assigned |
Number |
Targets that now have this distribution set assigned. |
|
alreadyAssigned |
Number |
Targets that had this distribution set already assigned (in "offline" case this includes targets that have arbitrary updates running) |
|
assignedActions |
Array |
The newly created actions as a result of this assignment |
|
assignedActions.[].id |
Number |
ID of the action. |
|
assignedActions.[]._links.self |
Object |
The link to the action. |
|
total |
Number |
Overall assigned as part of this request. |
Response example
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 238
{
"alreadyAssigned" : 0,
"assignedActions" : [ {
"_links" : {
"self" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/actions/12"
}
},
"id" : 12
} ],
"assigned" : 1,
"total" : 1
}
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
Not Found Target. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
E.g. in case an entity is created or modified by another user in another request at the same time. You may retry your modification request. |
See Error body |
|
The request was attempt with a media-type which is not supported by the server for this resource. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
POST /rest/v1/targets/{targetId}/assignedDS (assign multiple distribution sets)
Implementation Notes
Handles the POST request for assigning multiple distribution sets to a specific target (only allowed id 'multi assignments' is enabled). Required Permission: READ_REPOSITORY and UPDATE_TARGET
Assign distribution sets to target
Curl
$ curl 'https://management-api.host.com/rest/v1/targets/137/assignedDS' -i -X POST \
-H 'Content-Type: application/json' \
-d '[ {
"maintenanceWindow" : {
"duration" : "00:10:00",
"schedule" : "11 12 14 3 8 ? 2023",
"timezone" : "+00:00"
},
"weight" : 500,
"forcetime" : 1691065931835,
"id" : 18,
"type" : "timeforced"
}, {
"weight" : 800,
"id" : 17,
"type" : "forced",
"confirmationRequired" : true
} ]'
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
Request query parameter
Parameter | Description |
---|---|
|
Offline update (set param to true) that is only reported but not managed by the service, e.g. defaults set in factory, manual updates or migrations from other update systems. A completed action is added to the history of the target(s). Target is set to IN_SYNC state as both assigend and installed DS are set. Note: only executed if the target has currently no running update. |
Request fields
Path | Type | Description | Allowed Values | Mandatory |
---|---|---|---|---|
[].id |
Number |
The technical identifier of the entity |
X |
|
[].weight |
Number |
Importance of the assignment. |
0 - 1000 |
when multi-assignment is enabled |
[].forcetime |
Number |
Forcetime in milliseconds. |
||
[].confirmationRequired |
Boolean |
(Available with user consent flow active) Specifies if the confirmation by the device is required for this action. |
||
[].maintenanceWindow |
Object |
Separation of download and install by defining a maintenance window for the installation. |
||
[].maintenanceWindow.schedule |
String |
Schedule for the maintenance window start in quartz cron notation, such as '0 15 10 * * ? 2018' for 10:15am every day during the year 2018. |
||
[].maintenanceWindow.duration |
String |
Duration of the window, such as '02:00:00' for 2 hours. |
||
[].maintenanceWindow.timezone |
String |
A time-zone offset from Greenwich/UTC, such as '+02:00'. |
||
[].type |
String |
The type of the assignment. |
Request URL
POST /rest/v1/targets/137/assignedDS HTTP/1.1
Content-Type: application/json
Content-Length: 308
Host: management-api.host.com
[ {
"maintenanceWindow" : {
"duration" : "00:10:00",
"schedule" : "11 12 14 3 8 ? 2023",
"timezone" : "+00:00"
},
"weight" : 500,
"forcetime" : 1691065931835,
"id" : 18,
"type" : "timeforced"
}, {
"weight" : 800,
"id" : 17,
"type" : "forced",
"confirmationRequired" : true
} ]
Response (Status 200)
Response fields
Path | Type | Description | Allowed Values |
---|---|---|---|
assigned |
Number |
Targets that now have this distribution set assigned. |
|
alreadyAssigned |
Number |
Targets that had this distribution set already assigned (in "offline" case this includes targets that have arbitrary updates running) |
|
assignedActions |
Array |
The newly created actions as a result of this assignment |
|
assignedActions.[].id |
Number |
ID of the action. |
|
assignedActions.[]._links.self |
Object |
The link to the action. |
|
total |
Number |
Overall assigned as part of this request. |
Response example
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 390
{
"alreadyAssigned" : 0,
"assignedActions" : [ {
"_links" : {
"self" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/actions/14"
}
},
"id" : 14
}, {
"_links" : {
"self" : {
"href" : "https://management-api.host.com/rest/v1/targets/137/actions/13"
}
},
"id" : 13
} ],
"assigned" : 2,
"total" : 2
}
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters or 'multi assignments' is disabled |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
Not Found Target. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
E.g. in case an entity is created or modified by another user in another request at the same time. You may retry your modification request. |
See Error body |
|
The request was attempt with a media-type which is not supported by the server for this resource. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
GET /rest/v1/targets/{targetId}/attributes
Implementation Notes
Handles the GET request of retrieving the attributes of a specific target. Reponse is a key/value list. Required Permission: READ_TARGET
Get attributes of target
Curl
$ curl 'https://management-api.host.com/rest/v1/targets/137/attributes' -i -X GET
Request URL
GET /rest/v1/targets/137/attributes HTTP/1.1
Host: management-api.host.com
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
Response (Status 200)
Response example
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 28
{
"a" : "1",
"b" : "2"
}
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
Not Found Target. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
GET /rest/v1/targets/{targetId}/installedDS
Implementation Notes
Handles the GET request of retrieving the installed distribution set of an specific target. Required Permission: READ_TARGET
Get installed distribution set of target
Curl
$ curl 'https://management-api.host.com/rest/v1/targets/137/installedDS' -i -X GET
Request URL
GET /rest/v1/targets/137/installedDS HTTP/1.1
Host: management-api.host.com
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
Response (Status 200)
Response fields
Path | Type | Description | Allowed Values |
---|---|---|---|
id |
Number |
The technical identifier of the entity |
|
name |
String |
The name of the entity |
|
description |
String |
The description of the entity |
|
createdBy |
String |
Entity was originally created by (User, AMQP-Controller, anonymous etc.) |
|
createdAt |
Number |
Entity was originally created at (timestamp UTC in milliseconds) |
|
lastModifiedBy |
String |
Entity was last modified by (User, AMQP-Controller, anonymous etc.) |
|
lastModifiedAt |
Number |
Entity was last modified at (timestamp UTC in milliseconds) |
|
type |
String |
The type of the distribution set. |
|
typeName |
String |
The type name of the distribution set. |
|
requiredMigrationStep |
Boolean |
True if DS is a required migration step for another DS. As a result the DS’s assignment will not be cancelled when another DS is assigned (note: updatable only if DS is not yet assigned to a target) |
|
complete |
Boolean |
True of the distribution set software module setup is complete as defined by the distribution set type. |
|
deleted |
Boolean |
Deleted flag, used for soft deleted entities |
|
valid |
Boolean |
True by default and false after the distribution set is invalidated by the user. |
|
version |
String |
Package version. |
|
_links.type |
Object |
The type of the distribution set. |
|
_links.metadata |
Object |
List of metadata. |
|
_links.modules |
Object |
List of software modules. |
Response example
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 2554
{
"createdBy" : "bumlux",
"createdAt" : 1691065936805,
"lastModifiedBy" : "bumlux",
"lastModifiedAt" : 1691065936831,
"name" : "DS",
"description" : "The descption of the distribution set.",
"version" : "1.0",
"modules" : [ {
"createdBy" : "bumlux",
"createdAt" : 1691065936709,
"lastModifiedBy" : "bumlux",
"lastModifiedAt" : 1691065936955,
"name" : "app runtime",
"description" : "Description of the software module",
"version" : "1.0.74",
"type" : "runtime",
"typeName" : "runtime",
"vendor" : "vendor GmbH, Stuttgart, Germany",
"deleted" : false,
"encrypted" : false,
"_links" : {
"self" : {
"href" : "https://management-api.host.com/rest/v1/softwaremodules/71"
}
},
"id" : 71
}, {
"createdBy" : "bumlux",
"createdAt" : 1691065936742,
"lastModifiedBy" : "bumlux",
"lastModifiedAt" : 1691065937016,
"name" : "Firmware",
"description" : "Description of the software module",
"version" : "1.0.24",
"type" : "os",
"typeName" : "OS",
"vendor" : "vendor Limited Inc, California",
"deleted" : false,
"encrypted" : false,
"_links" : {
"self" : {
"href" : "https://management-api.host.com/rest/v1/softwaremodules/72"
}
},
"id" : 72
}, {
"createdBy" : "bumlux",
"createdAt" : 1691065936685,
"lastModifiedBy" : "bumlux",
"lastModifiedAt" : 1691065936895,
"name" : "application",
"description" : "Description of the software module",
"version" : "1.0.1",
"type" : "application",
"typeName" : "Application",
"vendor" : "vendor Limited, California",
"deleted" : false,
"encrypted" : false,
"_links" : {
"self" : {
"href" : "https://management-api.host.com/rest/v1/softwaremodules/70"
}
},
"id" : 70
} ],
"requiredMigrationStep" : false,
"type" : "test_default_ds_type",
"typeName" : "OS (FW) mandatory, runtime (FW) and app (SW) optional",
"complete" : true,
"deleted" : false,
"valid" : true,
"_links" : {
"self" : {
"href" : "https://management-api.host.com/rest/v1/distributionsets/24"
},
"modules" : {
"href" : "https://management-api.host.com/rest/v1/distributionsets/24/assignedSM?offset=0&limit=50"
},
"type" : {
"href" : "https://management-api.host.com/rest/v1/distributionsettypes/170"
},
"metadata" : {
"href" : "https://management-api.host.com/rest/v1/distributionsets/24/metadata?offset=0&limit=50"
}
},
"id" : 24
}
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
Not Found Target. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
GET /rest/v1/targets/{targetId}/metadata
Implementation Notes
Get a paged list of meta data for a target. Required permission: READ_REPOSITORY
Get a paged list of meta data
Curl
$ curl 'https://management-api.host.com/rest/v1/targets/137/metadata' -i -X GET
Request URL
GET /rest/v1/targets/137/metadata HTTP/1.1
Host: management-api.host.com
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
Request query parameter
Parameter | Description |
---|---|
|
The maximum number of entries in a page (default is 50). |
|
The query parameter sort allows to define the sort order for the result of a query. A sort criteria consists of the name of a field and the sort direction (ASC for ascending and DESC descending). The sequence of the sort criteria (multiple can be used) defines the sort order of the entities in the result. |
|
The paging offset (default is 0). |
|
Query fields based on the Feed Item Query Language (FIQL). See Entity Definitions for available fields. |
Request parameter example
GET /rest/v1/targets/137/metadata?offset=1&limit=2&sort=key%3ADESC&q=key%3D%3Dknown* HTTP/1.1
Host: management-api.host.com
Response (Status 200)
Response fields
Path | Type | Description | Allowed Values |
---|---|---|---|
total |
Number |
Total number of elements |
|
size |
Number |
Current page size |
|
content |
Array |
List of metadata. |
|
content[].key |
String |
Metadata property key. |
|
content[].value |
String |
Metadata property value. |
Response example
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 289
{
"content" : [ {
"key" : "knownKey0",
"value" : "knownValue0"
}, {
"key" : "knownKey1",
"value" : "knownValue1"
}, {
"key" : "knownKey2",
"value" : "knownValue2"
}, {
"key" : "knownKey3",
"value" : "knownValue3"
} ],
"total" : 4,
"size" : 4
}
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
POST /rest/v1/targets/{targetId}/metadata
Implementation Notes
Create a list of meta data entries Required permissions: READ_REPOSITORY and UPDATE_TARGET
Create a list of meta data entries
CURL
$ curl 'https://management-api.host.com/rest/v1/targets/137/metadata' -i -X POST \
-H 'Content-Type: application/json' \
-d '[ {
"value" : "knownValue1",
"key" : "knownKey1"
}, {
"value" : "knownValue2",
"key" : "knownKey2"
} ]'
Request URL
POST /rest/v1/targets/137/metadata HTTP/1.1
Content-Type: application/json
Content-Length: 110
Host: management-api.host.com
[ {
"value" : "knownValue1",
"key" : "knownKey1"
}, {
"value" : "knownValue2",
"key" : "knownKey2"
} ]
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
Request fields
Path | Type | Description | Allowed Values | Mandatory |
---|---|---|---|---|
[]key |
String |
Metadata property key. |
X |
|
[]value |
String |
Metadata property value. |
Response (Status 200)
Response example
HTTP/1.1 201 Created
Content-Type: application/hal+json
Content-Length: 110
[ {
"key" : "knownKey1",
"value" : "knownValue1"
}, {
"key" : "knownKey2",
"value" : "knownValue2"
} ]
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
Not Found Target. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
E.g. in case an entity is created or modified by another user in another request at the same time. You may retry your modification request. |
See Error body |
|
The request was attempt with a media-type which is not supported by the server for this resource. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
DELETE /rest/v1/targets/{targetId}/metadata/{metadataKey}
Implementation Notes
Delete a single meta data. Required permission: UPDATE_REPOSITORY
Delete a single meta data
CURL
$ curl 'https://management-api.host.com/rest/v1/targets/137/metadata/knownKey' -i -X DELETE
Request URL
DELETE /rest/v1/targets/137/metadata/knownKey HTTP/1.1
Host: management-api.host.com
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
key |
The technical identifier of the entity |
Response (Status 200)
Response example
HTTP/1.1 200 OK
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
Not Found Target. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
GET /rest/v1/targets/{targetId}/metadata/{metadataKey}
Implementation Notes
Get a single meta data value for a meta data key. Required permission: READ_REPOSITORY
Get a single meta data value
Curl
$ curl 'https://management-api.host.com/rest/v1/targets/137/metadata/knownKey' -i -X GET
Request URL
GET /rest/v1/targets/137/metadata/knownKey HTTP/1.1
Host: management-api.host.com
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
metadatakey |
The technical identifier of the entity |
Response (Status 200)
Response fields
Path | Type | Description | Allowed Values |
---|---|---|---|
key |
String |
Metadata property key. |
|
value |
String |
Metadata property value. |
Response example
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 50
{
"key" : "knownKey",
"value" : "knownValue"
}
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
PUT /rest/v1/targets/{targetId}/metadata/{metadataKey}
Implementation Notes
Update a single meta data value for speficic key. Required permission: UPDATE_REPOSITORY
Update a single meta data value
Curl
$ curl 'https://management-api.host.com/rest/v1/targets/137/metadata/knownKey' -i -X PUT \
-H 'Content-Type: application/json' \
-d '{
"value" : "valueForUpdate",
"key" : "knownKey"
}'
Request URL
PUT /rest/v1/targets/137/metadata/knownKey HTTP/1.1
Content-Type: application/json
Content-Length: 54
Host: management-api.host.com
{
"value" : "valueForUpdate",
"key" : "knownKey"
}
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
metadatakey |
The technical identifier of the entity |
Request fields
Path | Type | Description | Allowed Values | Mandatory |
---|---|---|---|---|
key |
String |
Metadata property key. |
X |
|
value |
String |
Metadata property value. |
X |
Response (Status 200)
Response fields
Path | Type | Description | Allowed Values |
---|---|---|---|
key |
String |
Metadata property key. |
|
value |
String |
Metadata property value. |
Response example
HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 54
{
"key" : "knownKey",
"value" : "valueForUpdate"
}
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
Not Found Target. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
In case accept header is specified and not application/json. |
|
|
E.g. in case an entity is created or modified by another user in another request at the same time. You may retry your modification request. |
See Error body |
|
The request was attempt with a media-type which is not supported by the server for this resource. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
POST /rest/v1/targets/{targetId}/targettype
Implementation Notes
Assign or update the target type of a target. Required permission: UPDATE_TARGET
Assign a target type to a target
Curl
$ curl 'https://management-api.host.com/rest/v1/targets/137/targettype' -i -X POST \
-H 'Content-Type: application/json' \
-d '{
"id" : 14
}'
Request URL
POST /rest/v1/targets/137/targettype HTTP/1.1
Content-Type: application/json
Content-Length: 15
Host: management-api.host.com
{
"id" : 14
}
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
Request fields
Path | Type | Description | Allowed Values | Mandatory |
---|---|---|---|---|
id |
Number |
ID of the target type |
X |
Response (Status 200)
Response example
HTTP/1.1 200 OK
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
DELETE /rest/v1/targets/{targetId}/targettype
Implementation Notes
Remove the target type from a target. The target type will be set to null. Required permission: UPDATE_TARGET
Remove a target type from a target
Curl
$ curl 'https://management-api.host.com/rest/v1/targets/137/targettype' -i -X DELETE \
-H 'Content-Type: application/json'
Request URL
DELETE /rest/v1/targets/137/targettype HTTP/1.1
Content-Type: application/json
Host: management-api.host.com
Request path parameter
Parameter | Description |
---|---|
targetId |
The technical identifier of the entity |
Response (Status 200)
Response example
HTTP/1.1 200 OK
Error responses
HTTP Status Code | Reason | Response Model |
---|---|---|
|
Bad Request - e.g. invalid parameters |
|
|
The request requires user authentication. |
|
|
Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies. |
See Error body |
|
The http request method is not allowed on the resource. |
|
|
Too many requests. The server will refuse further attempts and the client has to wait another second. |
Additional content
Error body
{
"errorCode": "string",
"exceptionClass": "string",
"message": "string",
"parameters": [
"string"
]
}
Field description
Field |
Description |
errorCode |
A error code/key set by server |
exceptionClass |
The involved exceptionClass |
message |
An error message set by the server |
parameters |
A list of parameters |