The APS Controller (APSC) exposes a number of services accessible through the Internet and the private network by means of the HTTPS REST API.
In this document:
The APS Controller (APSC) stores and manages all APS resources in accordance with the APS types. Since all communications go through the APSC, it keeps track of APS resources, APS types, and APS applications that manage those resources.
All objects managed by the APSC are split into the following collections, each with its own base path.
Collection |
Base path |
Operations |
Description |
---|---|---|---|
/aps/2/resources |
POST, GET, PUT, DELETE |
Perform all operations with APS resources |
|
/aps/2/types |
GET |
Read a single type or get a filtered list of APS types |
|
/aps/2/applications
/aps/2/application
|
POST, GET, PUT, DELETE |
Perform all operations with application services - accessible only for applications with valid APS certificate |
|
/aps/2/packages |
GET |
Read package data or get a list of packages |
|
/aps/2/navigation |
POST |
The UI navigation endpoint - used to get a custom navigation tree for a control panel |
|
UI runtime |
/aps/2/ui/runtime |
GET |
The path to the APS UI runtime - get the runtime version by addressing to |
The table below contains operations processed by the APS controller.
Method |
Path |
Description |
---|---|---|
GET |
/aps/2/resources/ |
|
GET |
/aps/2/resources/{resource-id} |
|
POST |
/aps/2/resources/ |
|
PUT |
/aps/2/resources/{resource-id} |
|
DELETE |
/aps/2/resources/{resource-id} |
|
GET |
/aps/2/resources/{resource-id}/aps/links |
|
GET |
/aps/2/resources/{resource-id}/{relation} |
|
POST |
/aps/2/resources/{resource-id}/{relation} |
|
POST |
/aps/2/resources/{resource-id}/{relation} |
|
DELETE |
/aps/2/resources/{resource-id1}/{relation}/{resource-id2} |
|
GET |
/aps/2/resources/{resource-id}/aps/subscriptions |
|
POST |
/aps/2/resources/{resource-id}/aps/subscriptions |
|
DELETE |
/aps/2/resources/{resource-id}/aps/subscriptions |
|
GET |
/aps/2/resources/{resource-id}/aps/access |
Get a list of actors with assigned security roles for the specified resource |
GET |
/aps/2/resources/{actor-id}/aps/permissions |
Get a list of resources with security roles assigned to the specified actor |
GET | POST | PUT | DELETE |
/aps/2/resources/{resource-id}/{custom-operation} |
Call a custom operation on a resource |
GET |
/aps/2/application |
|
GET |
/aps/2/application/{service-id}/{resource-id} |
|
PUT |
/aps/2/application/{service-id}/{resource-id} |
|
POST |
/aps/2/application/{service-id} |
|
DELETE |
/aps/2/application/{service-id}/{resource-id} |
|
GET |
/aps/2/types |
|
GET |
/aps/2/types/{type-id} |
|
GET |
/aps/2/types?composing({type-id}) |
|
GET |
/aps/2/types?implementing({type-id}) |
|
GET |
/aps/2/packages |
|
GET |
/aps/2/packages/{package-id} |
|
GET |
/aps/2/packages/{package-id}/APP-META.xml |
|
GET |
/aps/2packages/{package-id}/<path> |
When the APS controller returns a collection of objects, the HTTP response body will contain a JSON array
with the Content-Range
header to indicate the number of items
returned and the total count of them, for example, 0-20/100. The first numbers before “/” are limited by the
request or by the system. The total count after “/” is the number of objects available for the requester.
Example of an APSC response with pagination:
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Range: items 0-20/100
...
[
{
"aps": {
"type": "http://www.aps-standard.org/infrastructure/virtual-environment/1",
"id": "16004e17-1604-49ee-a842-13c7daf93750"
},
...
},
{
"aps": {
"type": "http://www.aps-standard.org/infrastructure/virtual-environment/1",
"id": "d48ea1bc-da4b-43cb-80a7-296909c9f352"
}
...
}
...
]
The APS-Skip-Content-Range header in a request makes the APS controller omit
the Content-Range
header in the response.