Skip to main content

Key Service Management API

The Key Service Management API is mainly used to configure the behavior of the service.

The API is exposed by the Key Service.

OpenAPI Specification​

The API reference in the OpenAPI format can be found at this location: https://key-server-management.axprod.net/api/help

Authorization​

Only authorized users can make requests to the Management API. As a part of your Axinom DRM contract, Axinom provides you configuration data for your Key Service tenant, specifically:

  • Key Service Management API URL, e.g. "https://key-server-management.axprod.net/api/"
  • Tenant ID - a GUID, e.g. c72d7f6a-c4b3-4141-b996-06c6266d5588, used to uniquely identify your tenant
  • Management Key - a GUID, e.g. 8a276e90-6923-4bda-9f5e-8eddc9159a1e

The Management Key shall be passed to each Management API request inside the Authorization header:

Authorization: Basic base64("TenantID:ManagementKey")

In the example above, the header will be: Authorization: Basic YzcyZDdmNmEtYzRiMy00MTQxLWI5OTYtMDZjNjI2NmQ1NTg4OjhhMjc2ZTkwLTY5MjMtNGJkYS05ZjVlLThlZGRjOTE1OWExZQ==

Caution

It is not possible to recover the Management Key if it’s lost. It is possible to generate a new one by raising a ticket to Axinom Support (https://product-support.axinom.com).

Endpoints​

The API exposes the following endpoints:

Content Keys Operations​

EndpointMethodDescription
/ContentKeysPOSTCreates a new content key
/ContentKeysGETReturns one or multiple content keys (only their metadata; not the real key value)
/ContentKeysPUTUpdates the name of a content key
/ContentKeysDELETEDeletes a content key
/Import/ContentKeysPOSTImports one or multiple content keys from a JSON array
/Export/ContentKeysPOSTExports one or multiple content keys as a CPIX document

Key Seeds Operations​

EndpointMethodDescription
/KeySeedsPOSTCreates a new Key Seed
/KeySeedsGETReturns one or multiple Key Seeds (only their metadata; not the real Key Seed value)
/KeySeedsPUTUpdates the name of a Key Seed or makes it default
/KeySeedsDELETEDeletes a Key Seed
/Import/KeySeedsPOSTImports one or multiple Key Seeds from a JSON array
/Export/KeySeedsPOSTExports one or multiple Key Seeds as a PKSC document

Other Operations​

EndpointMethodDescription
/LogsGETReturns one or multiple log entries

Errors​

In case of an error, the service returns an HTTP status code following HTTP conventions.

Additionally, the service adds a human-readable explanation of the error in a custom HTTP header X-AxDRM-ErrorMessage.

If HTTP/1 is used the same error explanation is returned as HTTP ReasonPhrase.

Caution

We recommend that you rely on the X-AxDRM-ErrorMessage header because the ReasonPhrase is not supported by HTTP/2, and also some HTTP/1 client libraries do not support parsing the ReasonPhrase.

CORS clients, such as browsers, sometimes don’t have access to custom HTTP headers. To enable such clients reading the informational headers, service adds Access-Control-Expose-Headers header to the response and explicitly enables reading of the "X-AxDrm-ErrorMessage" header.