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:
APS controller stores and manages all APS resources in accordance with the resource types. Since all communications go through APSC, it keeps track of resources, types, and applications that manage those resources.
All objects managed by APSC are split into the following collections, each with its own base path.
Collection | Base path | Operations | Description |
---|---|---|---|
Resources | /aps/2/resources | POST, GET, PUT, DELETE | All operations with resources |
Types | /aps/2/types | GET | Read a single type or get a filtered list of types |
Applications | /aps/2/applications
/aps/2/application
|
POST, GET, PUT, DELETE | All operations with application services - accessible only for applications with valid APS certificate |
Packages | /aps/2/packages | GET | Read package data or get a list of packages |
UI navigation | /aps/2/navigation | POST | UI navigation endpoint - used to get custom navigation tree for a control panel |
UI runtime | /aps/2/ui/runtime | GET | Path to APS SDK UI runtime - get the runtime version by addressing to /aps/2/ui/runtime/version.html |
The table below contains operations processed by the APS controller.
Method | Path | Description |
---|---|---|
GET | /aps/2/resources/ | Get a list of resources |
GET | /aps/2/resources/{resource-id} | Get resource properties |
POST | /aps/2/resources/ | Provision a resource |
PUT | /aps/2/resources/{resource-id} | Configure a resource |
DELETE | /aps/2/resources/{resource-id} | Unprovision a resource |
GET | /aps/2/resources/{resource-id}/aps/links | Get linked resources |
GET | /aps/2/resources/{resource-id}/{relation} | Get linked resources |
POST | /aps/2/resources/{resource-id}/{relation} | Link resources |
POST | /aps/2/resources/{resource-id}/{relation} | Relink resources |
DELETE | /aps/2/resources/{resource-id1}/{relation}/{resource-id2} | Unlink resources |
GET | /aps/2/resources/{resource-id}/aps/subscriptions | Get event subscriptions |
POST | /aps/2/resources/{resource-id}/aps/subscriptions | Subscribe to an event type |
DELETE | /aps/2/resources/{resource-id}/aps/subscriptions | Delete an event subscription |
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 a list of application services |
GET | /aps/2/application/{service-id}/{resource-id} | Get resource details |
PUT | /aps/2/application/{service-id}/{resource-id} | Configure a resource |
POST | /aps/2/application/{service-id} | Register a resource |
DELETE | /aps/2/application/{service-id}/{resource-id} | Unregister a resource |
GET | /aps/2/types | Get a list of types |
GET | /aps/2/types/{type-id} | Get type details |
GET | /aps/2/types?composing({type-id}) | Get composing types |
GET | /aps/2/types?implementing({type-id}) | Get derivative types |
GET | /aps/2/packages | Get a list of packages |
GET | /aps/2/packages/{package-id} | Get package details |
GET | /aps/2/packages/{package-id}/APP-META.xml | Get package meta |
GET | /aps/2packages/{package-id}/<path> | Get a file from a package |
When APSC returns a collection of objects, the HTTP response body will contain a JSON array with a Content-Range header to indicate the number of items returned and the total count of them, for example, 0-20/100. The first number (before “/”) is 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"
}
...
}
...
]