Application Packaging Standard

Last updated 18-Mar-2019

Controller

The APS Controller (APSC) exposes a number of services accessible through the Internet and the private network by means of the HTTPS REST API.

../../../_images/schema-apsc.png

Operation Collections

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

Operations

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