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

limit

The maximum number of entries in a page (default is 50).

sort

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.

offset

The paging offset (default is 0).

q

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

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

429 Too Many Request

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

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, data volume restriction applies or quota limit exceeded.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

409 Conflict

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

415 Unsupported Media Type

The request was attempt with a media-type which is not supported by the server for this resource.

429 Too Many Request

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

Error responses

HTTP Status Code Reason Response Model

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

404 Not Found

Not Found Target.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

429 Too Many Request

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

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

404 Not Found

Not Found Target.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

429 Too Many Request

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

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

404 Not Found

Not Found Target.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

409 Conflict

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

415 Unsupported Media Type

The request was attempt with a media-type which is not supported by the server for this resource.

429 Too Many Request

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

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

404 Not Found

Not Found Target.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

429 Too Many Request

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

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

404 Not Found

Not Found Target.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

409 Conflict

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

415 Unsupported Media Type

The request was attempt with a media-type which is not supported by the server for this resource.

429 Too Many Request

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

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

404 Not Found

Not Found Target.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

409 Conflict

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

415 Unsupported Media Type

The request was attempt with a media-type which is not supported by the server for this resource.

429 Too Many Request

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

limit

The maximum number of entries in a page (default is 50).

sort

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.

offset

The paging offset (default is 0).

q

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

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

429 Too Many Request

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

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

404 Not Found

Not Found Target.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

409 Conflict

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

415 Unsupported Media Type

The request was attempt with a media-type which is not supported by the server for this resource.

429 Too Many Request

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

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

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

404 Not Found

Not Found Target.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

429 Too Many Request

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

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

404 Not Found

Not Found Target.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

429 Too Many Request

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

limit

The maximum number of entries in a page (default is 50).

sort

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.

offset

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

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

404 Not Found

Not Found Target.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

429 Too Many Request

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

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

404 Not Found

Not Found Target.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

429 Too Many Request

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

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

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

404 Not Found

Not Found Target.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

409 Conflict

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

415 Unsupported Media Type

The request was attempt with a media-type which is not supported by the server for this resource.

429 Too Many Request

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

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

400 Bad Request

Bad Request - e.g. invalid parameters or 'multi assignments' is disabled

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

404 Not Found

Not Found Target.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

409 Conflict

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

415 Unsupported Media Type

The request was attempt with a media-type which is not supported by the server for this resource.

429 Too Many Request

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

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

404 Not Found

Not Found Target.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

429 Too Many Request

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

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

404 Not Found

Not Found Target.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

429 Too Many Request

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

limit

The maximum number of entries in a page (default is 50).

sort

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.

offset

The paging offset (default is 0).

q

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

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

429 Too Many Request

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

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

404 Not Found

Not Found Target.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

409 Conflict

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

415 Unsupported Media Type

The request was attempt with a media-type which is not supported by the server for this resource.

429 Too Many Request

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

Error responses

HTTP Status Code Reason Response Model

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

404 Not Found

Not Found Target.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

429 Too Many Request

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

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

429 Too Many Request

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

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

404 Not Found

Not Found Target.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

406 Not Acceptable

In case accept header is specified and not application/json.

409 Conflict

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

415 Unsupported Media Type

The request was attempt with a media-type which is not supported by the server for this resource.

429 Too Many Request

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

Error responses

HTTP Status Code Reason Response Model

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

429 Too Many Request

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

Error responses

HTTP Status Code Reason Response Model

400 Bad Request

Bad Request - e.g. invalid parameters

401 Unauthorized

The request requires user authentication.

403 Forbidden

Insufficient permissions, entity is not allowed to be changed (i.e. read-only) or data volume restriction applies.

See Error body

405 Method Not Allowed

The http request method is not allowed on the resource.

429 Too Many Request

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