GET /rest/v1/softwaremoduletypes

Implementation notes

Handles the GET request of retrieving all software module types within Bosch IoT Rollouts. Required Permission: READ_REPOSITORY

Get software module types

CURL

$ curl 'https://management-api.host.com/rest/v1/softwaremoduletypes' -i -X GET \
    -H 'Accept: application/json'

Request URL

GET /rest/v1/softwaremoduletypes HTTP/1.1
Accept: application/json
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/softwaremoduletypes?limit=10&sort=name:ASC&offset=0&q=name%3D%3Da HTTP/1.1
Accept: application/json
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[].createdAt

Number

Entity was originally created at (timestamp UTC in milliseconds)

content[].description

String

The description of the entity

content[].id

Number

The technical identifier of the entity

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[].name

String

The name of the entity

content[].deleted

Boolean

Deleted flag, used for soft deleted entities

Response example

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1812

{
  "content" : [ {
    "createdBy" : "system",
    "createdAt" : 1691065861792,
    "lastModifiedBy" : "bumlux",
    "lastModifiedAt" : 1691065861997,
    "name" : "OS",
    "description" : "Updated description.",
    "key" : "os",
    "maxAssignments" : 1,
    "deleted" : false,
    "_links" : {
      "self" : {
        "href" : "https://management-api.host.com/rest/v1/softwaremoduletypes/68"
      }
    },
    "id" : 68
  }, {
    "createdBy" : "system",
    "createdAt" : 1691065861783,
    "lastModifiedBy" : "bumlux",
    "lastModifiedAt" : 1691065862095,
    "name" : "Application",
    "description" : "Updated description.",
    "key" : "application",
    "maxAssignments" : 2147483647,
    "deleted" : false,
    "_links" : {
      "self" : {
        "href" : "https://management-api.host.com/rest/v1/softwaremoduletypes/69"
      }
    },
    "id" : 69
  }, {
    "createdBy" : "bumlux",
    "createdAt" : 1691065862190,
    "lastModifiedBy" : "bumlux",
    "lastModifiedAt" : 1691065862293,
    "name" : "runtime",
    "description" : "Updated description.",
    "key" : "runtime",
    "maxAssignments" : 1,
    "deleted" : false,
    "colour" : "#ffffff",
    "_links" : {
      "self" : {
        "href" : "https://management-api.host.com/rest/v1/softwaremoduletypes/70"
      }
    },
    "id" : 70
  }, {
    "createdBy" : "uploadTester",
    "createdAt" : 1691065862595,
    "lastModifiedBy" : "uploadTester",
    "lastModifiedAt" : 1691065862688,
    "name" : "test123",
    "description" : "Desc1234",
    "key" : "test123",
    "maxAssignments" : 1,
    "deleted" : false,
    "colour" : "rgb(106,178,83)",
    "_links" : {
      "self" : {
        "href" : "https://management-api.host.com/rest/v1/softwaremoduletypes/71"
      }
    },
    "id" : 71
  } ],
  "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/softwaremoduletypes

Implementation notes

Handles the POST request of creating new software module types within Bosch IoT Rollouts. The request body must always be a list of module types. Required Permission: CREATE_REPOSITORY

Creating software module types

CURL

$ curl 'https://management-api.host.com/rest/v1/softwaremoduletypes' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -d '[ {
  "colour" : "rgb(106,178,83)",
  "name" : "TestName1",
  "description" : "Desc1",
  "maxAssignments" : 1,
  "key" : "test1"
} ]'

Request URL

POST /rest/v1/softwaremoduletypes HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 132
Host: management-api.host.com

[ {
  "colour" : "rgb(106,178,83)",
  "name" : "TestName1",
  "description" : "Desc1",
  "maxAssignments" : 1,
  "key" : "test1"
} ]

Request fields

Path Type Description Allowed Values Mandatory

[]key

String

The key of the software module type.

X

[]name

String

The name of the entity

X

[]maxAssignments

Number

Maximum number of assignments to a distribution set/target, e.g. only one firmware but multiple applications.

X

[]description

String

The description of the entity

[]colour

String

The colour of the entity

Response (Status 201)

Response fields

Path Type Description Allowed Values

[]key

String

The key of the software module type.

[]maxAssignments

Number

Software modules of that type can be assigned at this maximum number (e.g. operating system only once).

[]createdBy

String

Entity was originally created by (User, AMQP-Controller, anonymous etc.)

[]createdAt

Number

Entity was originally created at (timestamp UTC in milliseconds)

[]description

String

The description of the entity

[]colour

String

The colour of the entity

[]deleted

Boolean

Deleted flag, used for soft deleted entities

[]id

Number

The technical identifier of the entity

[]lastModifiedAt

Number

Entity was last modified at (timestamp UTC in milliseconds)

[]lastModifiedBy

String

Entity was last modified by (User, AMQP-Controller, anonymous etc.)

[]name

String

The name of the entity

Response example

HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 423

[ {
  "createdBy" : "uploadTester",
  "createdAt" : 1691065863932,
  "lastModifiedBy" : "uploadTester",
  "lastModifiedAt" : 1691065863932,
  "name" : "TestName1",
  "description" : "Desc1",
  "key" : "test1",
  "maxAssignments" : 1,
  "deleted" : false,
  "colour" : "rgb(106,178,83)",
  "_links" : {
    "self" : {
      "href" : "https://management-api.host.com/rest/v1/softwaremoduletypes/75"
    }
  },
  "id" : 75
} ]

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 Software Module Type.

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/softwaremoduletypes/{softwareModuleTypeId}

Implementation Notes

Handles the DELETE request for a single software module type within Bosch IoT Rollouts. Required Permission: DELETE_REPOSITORY

Delete software module type

CURL

$ curl 'https://management-api.host.com/rest/v1/softwaremoduletypes/59' -i -X DELETE

Request URL

DELETE /rest/v1/softwaremoduletypes/59 HTTP/1.1
Host: management-api.host.com

Request path parameter

Parameter Description

softwareModuleTypeID

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/softwaremoduletypes/{softwareModuleTypeId}

Implementation notes

Handles the GET request of retrieving a single software module type within Bosch IoT Rollouts. Required Permission: READ_REPOSITORY

Accessing a software module type

CURL

$ curl 'https://management-api.host.com/rest/v1/softwaremoduletypes/67' -i -X GET \
    -H 'Accept: application/json'

Request URL

GET /rest/v1/softwaremoduletypes/67 HTTP/1.1
Accept: application/json
Host: management-api.host.com

Request path parameter

Parameter Description

softwareModuleTypeID

The technical identifier of the entity

Response (Status 200)

Response fields

Path Type Description Allowed Values

key

String

The key of the software module type.

maxAssignments

Number

Software modules of that type can be assigned at this maximum number (e.g. operating system only once).

createdBy

String

Entity was originally created by (User, AMQP-Controller, anonymous etc.)

createdAt

Number

Entity was originally created at (timestamp UTC in milliseconds)

description

String

The description of the entity

colour

String

The colour of the entity

deleted

Boolean

Deleted flag, used for soft deleted entities

id

Number

The technical identifier of the entity

lastModifiedAt

Number

Entity was last modified at (timestamp UTC in milliseconds)

lastModifiedBy

String

Entity was last modified by (User, AMQP-Controller, anonymous etc.)

name

String

The name of the entity

Response example

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 422

{
  "createdBy" : "uploadTester",
  "createdAt" : 1691065861435,
  "lastModifiedBy" : "uploadTester",
  "lastModifiedAt" : 1691065861495,
  "name" : "test123",
  "description" : "Desc1234",
  "key" : "test123",
  "maxAssignments" : 1,
  "deleted" : false,
  "colour" : "rgb(106,178,83)",
  "_links" : {
    "self" : {
      "href" : "https://management-api.host.com/rest/v1/softwaremoduletypes/67"
    }
  },
  "id" : 67
}

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/softwaremoduletypes/{softwareModuleTypeId}

Implementation notes

Handles the PUT request for a single software module type within Bosch IoT Rollouts. Required Permission: UPDATE_REPOSITORY

Updating a software module types

CURL

$ curl 'https://management-api.host.com/rest/v1/softwaremoduletypes/63' -i -X PUT \
    -H 'Content-Type: application/json' \
    -d '{
  "colour" : "rgb(86,37,99)",
  "description" : "a new description"
}'

Request URL

PUT /rest/v1/softwaremoduletypes/63 HTTP/1.1
Content-Type: application/json
Content-Length: 71
Host: management-api.host.com

{
  "colour" : "rgb(86,37,99)",
  "description" : "a new description"
}

Request path parameter

Parameter Description

softwareModuleTypeID

The technical identifier of the entity

Request fields

Path Type Description Allowed Values Mandatory

description

String

The description of the entity

colour

String

The colour of the entity

Response (Status 200)

Response fields

Path Type Description Allowed Values

key

String

The key of the software module type.

maxAssignments

Number

Software modules of that type can be assigned at this maximum number (e.g. operating system only once).

createdBy

String

Entity was originally created by (User, AMQP-Controller, anonymous etc.)

createdAt

Number

Entity was originally created at (timestamp UTC in milliseconds)

description

String

The description of the entity

colour

String

The colour of the entity

deleted

Boolean

Deleted flag, used for soft deleted entities

id

Number

The technical identifier of the entity

lastModifiedAt

Number

Entity was last modified at (timestamp UTC in milliseconds)

lastModifiedBy

String

Entity was last modified by (User, AMQP-Controller, anonymous etc.)

name

String

The name of the entity

Response example

HTTP/1.1 200 OK
Content-Type: application/hal+json
Content-Length: 417

{
  "createdBy" : "bumlux",
  "createdAt" : 1691065859948,
  "lastModifiedBy" : "bumlux",
  "lastModifiedAt" : 1691065860093,
  "name" : "test123",
  "description" : "a new description",
  "key" : "test123",
  "maxAssignments" : 1,
  "deleted" : false,
  "colour" : "rgb(86,37,99)",
  "_links" : {
    "self" : {
      "href" : "https://management-api.host.com/rest/v1/softwaremoduletypes/63"
    }
  },
  "id" : 63
}

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 Software Module Type.

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.

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