REST API

Endpoint configuration registry REST API documentation version v1

{schema}://{host}/api/{version}

  • schema: required (one of http, https - default: http)
  • host: required (string - default: localhost)
  • version: required (v1)

Endpoint configurations

Per-endpoint configurations.

/endpoints/{endpointId} get

get /endpoints/{endpointId}

Returns configuration details for all available configurations by endpointId.

Secured by oauth_2_0 with scopes:
  • endpoint:read

ECR supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • endpointId: required (string)

    Identifier of the endpoint to operate on

    Example:

    7d5dda9b-c9f6-427d-91ea-9891a4f62cbb

HTTP status code 200

List of objects with endpoint configuration details.

Body

Media type: application/json

Type: array of Configuration details

Items: Configuration details

  • appVersionName: required (string)

    Name of the application version the configuration is assigned to.

  • configId: required (string)

    Configuration identifier.

  • configContentType: required (string)

    MIME type of the configuration, e.g. "application/json" or "text/plain".

  • config: required (string)

    Endpoint configuration serialized to string.

  • updatedDate: required (datetime)

    Last modification time.

Example:

[
  {
    "appVersionName": "ver 01",
    "configId": "FF7146AC19C720A3BC4D9C4704A3970ACABA2230AE829894B551599716C670B8",
    "configContentType": "application/json",
    "config": "{ \"test\":\"Can contain any text data including JSON.\" }",
    "updatedDate": "2017-03-17T11:30:02.643Z"
  },
  {
    "appVersionName": "App-13.3.2",
    "configId": "728358ed0dc42b7d4de6154ea53ea29115522962eb4758c20cbae0e9442230c1",
    "configContentType": "application/octet-stream",
    "config": "eyJpbnRlcnZhbCIgOiAyNX0=",
    "updatedDate": "2017-03-17T11:33:02.213Z"
  }
]

HTTP status code 404

Endpoint not found.

Body

Media type: application/json

Type: object

Properties

  • message: required (string)

    Detailed error description.

Secured by oauth_2_0

Headers

  • Authorization: (string)

    Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

/endpoints/{endpointId}/app-versions/{appVersionName} get put delete

get /endpoints/{endpointId}/app-versions/{appVersionName}

Returns endpoint configuration details by endpoint identifier and application version.

Secured by oauth_2_0 with scopes:
  • endpoint:read

ECR supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • endpointId: required (string)

    Identifier of the endpoint to operate on

    Example:

    7d5dda9b-c9f6-427d-91ea-9891a4f62cbb
  • appVersionName: required (string)

    Application version name

    Example:

    app-version-03

Headers

  • If-None-Match: (string)

    Configuration identifier of the last configuration known to the caller. If the current configuration identifier matches one specified in If-None-Match header, no operation is performed and 304 Not modified status code is returned.

    Example:

    "33a64df551425fcc55e4d42a148795d9f25f89d4"
    
  • If-Modified-Since: (datetime)

    Last-Modified date of the last configuration known to the caller. If the current configuration modification date matches one specified in If-Modified-Since header, no operation is performed and 304 Not modified status code is returned.

    Example:

    Tue, 05 Sep 2017 08:21:44 GMT

HTTP status code 200

The current endpoint configuration for the given application version.

Headers

  • ETag: required (string)

    Identifier of the returned configuration.

    Example:

    "33a64df551425fcc55e4d42a148795d9f25f89d4"
    
  • Last-Modified: required (datetime)

    The last modification time of the configuration.

    Example:

    Tue, 05 Sep 2017 08:21:44 GMT
  • Content-Type: required (string)

    MIME content type of the configuration, like "application/json", "text/plain", "application/octet-stream".

Body

Media type: application/json

Type: any

Example:

{
  "active": true,
  "pushInterval": 5
}

Media type: application/octet-stream

Type: any

Example:

eyJpbnRlcnZhbCIgOiAyNX0=

HTTP status code 304

Not modified.

HTTP status code 404

Endpoint or application version not found or user does not have permissions to perform this operation.

Body

Media type: application/json

Type: object

Properties

  • message: required (string)

    Detailed error description.

Secured by oauth_2_0

Headers

  • Authorization: (string)

    Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

put /endpoints/{endpointId}/app-versions/{appVersionName}

Creates or updates (if exists) endpoint configuration for given endpoint identifier and application version. Optimistic locking is supported.

Secured by oauth_2_0 with scopes:
  • endpoint:update

ECR supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • endpointId: required (string)

    Identifier of the endpoint to operate on

    Example:

    7d5dda9b-c9f6-427d-91ea-9891a4f62cbb
  • appVersionName: required (string)

    Application version name

    Example:

    app-version-03

Headers

  • If-Match: (string)

    Configuration identifier of the last configuration known to the caller. If the current configuration identifier does not match one specified in If-Match header, no operation is performed and 412 Precondition failed status code is returned.

    Example:

    "33a64df551425fcc55e4d42a148795d9f25f89d4"
    
  • If-Unmodified-Since: (datetime)

    Last-Modified date of the last configuration known to the caller. If the current configuration modification date does not match one specified in If-Unmodified-Since header, no operation is performed and 412 Precondition failed status code is returned.

    Example:

    Tue, 05 Sep 2017 08:21:44 GMT

Body

Media type: application/json

Type: any

Example:

{
  "active": true,
  "pushInterval": 5
}

Media type: application/json;charset=utf-8

Type: any

Example:

{
  "active": true,
  "pushInterval": 5
}

HTTP status code 201

Endpoint configuration created successfully.

Headers

  • Location: required (string)

    Location of newly created endpoint configuration.

    Example:

    http://example.com/api/v1/endpoints/7d5dda9b-c9f6-427d-91ea-9891a4f62cbb/app-versions/app-version-03/

HTTP status code 204

Endpoint configuration updated successfully.

HTTP status code 400

Invalid request. E.g. missed required parameters or malformed JSON.

Body

Media type: application/json

Type: object

Properties

  • message: required (string)

    Detailed error description.

HTTP status code 404

Endpoint or application version not found or user does not have permissions to perform this operation.

Body

Media type: application/json

Type: object

Properties

  • message: required (string)

    Detailed error description.

HTTP status code 412

Precondition failed. Operation was not performed due to optimistic locking failure.

Secured by oauth_2_0

Headers

  • Authorization: (string)

    Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

delete /endpoints/{endpointId}/app-versions/{appVersionName}

Deletes endpoint configuration for given endpoint identifier and application version.

Secured by oauth_2_0 with scopes:
  • endpoint:delete

ECR supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • endpointId: required (string)

    Identifier of the endpoint to operate on

    Example:

    7d5dda9b-c9f6-427d-91ea-9891a4f62cbb
  • appVersionName: required (string)

    Application version name

    Example:

    app-version-03

Headers

  • If-Match: (string)

    Configuration identifier of the last configuration known to the caller. If the current configuration identifier does not match one specified in If-Match header, no operation is performed and 412 Precondition failed status code is returned.

    Example:

    "33a64df551425fcc55e4d42a148795d9f25f89d4"
    
  • If-Unmodified-Since: (datetime)

    Last-Modified date of the last configuration known to the caller. If the current configuration modification date does not match one specified in If-Unmodified-Since header, no operation is performed and 412 Precondition failed status code is returned.

    Example:

    Tue, 05 Sep 2017 08:21:44 GMT

HTTP status code 204

Endpoint configuration deleted successfully.

HTTP status code 404

Endpoint or application version not found or user does not have permissions to perform this operation.

Body

Media type: application/json

Type: object

Properties

  • message: required (string)

    Detailed error description.

HTTP status code 412

Precondition failed. Operation was not performed due to optimistic locking failure.

Secured by oauth_2_0

Headers

  • Authorization: (string)

    Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

Default endpoint configuration

Default endpoint configuration for an application version.

/app-versions/{appVersionName} get put delete

get /app-versions/{appVersionName}

Returns default endpoint configuration by application version.

Secured by oauth_2_0 with scopes:
  • application:endpoint-config:read

ECR supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • appVersionName: required (string)

    Application version name.

    Example:

    app-version-03

Headers

  • If-None-Match: (string)

    Configuration identifier of the last configuration known to the caller. If the current configuration identifier matches one specified in If-None-Match header, no operation is performed and 304 Not modified status code is returned.

    Example:

    "33a64df551425fcc55e4d42a148795d9f25f89d4"
    
  • If-Modified-Since: (datetime)

    Last-Modified date of the last configuration known to the caller. If the current configuration modification date matches one specified in If-Modified-Since header, no operation is performed and 304 Not modified status code is returned.

    Example:

    Tue, 05 Sep 2017 08:21:44 GMT

HTTP status code 200

The current endpoint configuration for the given application version.

Headers

  • ETag: required (string)

    Identifier of the returned configuration.

    Example:

    "33a64df551425fcc55e4d42a148795d9f25f89d4"
    
  • Last-Modified: required (datetime)

    The last modification time of the configuration.

    Example:

    Tue, 05 Sep 2017 08:21:44 GMT
  • Content-Type: required (string)

    MIME content type of the configuration, like "application/json", "text/plain", "application/octet-stream".

Body

Media type: application/json

Type: any

Example:

{
  "active": true,
  "pushInterval": 5
}

Media type: application/octet-stream

Type: any

Example:

eyJpbnRlcnZhbCIgOiAyNX0=

HTTP status code 304

Not modified.

HTTP status code 404

Application version not found or user does not have permissions to perform this operation.

Body

Media type: application/json

Type: object

Properties

  • message: required (string)

    Detailed error description.

Secured by oauth_2_0

Headers

  • Authorization: (string)

    Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

put /app-versions/{appVersionName}

Creates or updates (if exists) default endpoint configuration for given application version. Optimistic locking is supported.

Secured by oauth_2_0 with scopes:
  • application:endpoint-config:update

ECR supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • appVersionName: required (string)

    Application version name.

    Example:

    app-version-03

Headers

  • If-Match: (string)

    Configuration identifier of the last configuration known to the caller. If the current configuration identifier does not match one specified in If-Match header, no operation is performed and 412 Precondition failed status code is returned.

    Example:

    "33a64df551425fcc55e4d42a148795d9f25f89d4"
    
  • If-Unmodified-Since: (datetime)

    Last-Modified date of the last configuration known to the caller. If the current configuration modification date does not match one specified in If-Unmodified-Since header, no operation is performed and 412 Precondition failed status code is returned.

    Example:

    Tue, 05 Sep 2017 08:21:44 GMT

Body

Media type: application/json

Type: any

Example:

{
  "active": true,
  "pushInterval": 5
}

Media type: application/json;charset=utf-8

Type: any

Example:

{
  "active": true,
  "pushInterval": 5
}

Media type: application/octet-stream

Type: string

Example:

eyJpbnRlcnZhbCIgOiAyNX0=

HTTP status code 201

Default endpoint configuration created successfully.

Headers

  • Location: required (string)

    Location of newly created default endpoint configuration.

    Example:

    http://example.com/api/v1/app-versions/app-version-03

HTTP status code 204

Default endpoint configuration was successfully updated.

HTTP status code 400

Invalid request. E.g. missed required parameters or malformed JSON.

Body

Media type: application/json

Type: object

Properties

  • message: required (string)

    Detailed error description.

HTTP status code 404

Application version not found or user does not have permissions to perform this operation.

Body

Media type: application/json

Type: object

Properties

  • message: required (string)

    Detailed error description.

HTTP status code 412

Precondition failed. Operation was not performed due to optimistic locking failure.

Secured by oauth_2_0

Headers

  • Authorization: (string)

    Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

delete /app-versions/{appVersionName}

Deletes default endpoint configuration for the given application version.

Secured by oauth_2_0 with scopes:
  • application:endpoint-config:delete

ECR supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • appVersionName: required (string)

    Application version name.

    Example:

    app-version-03

Headers

  • If-Match: (string)

    Configuration identifier of the last configuration known to the caller. If the current configuration identifier does not match one specified in If-Match header, no operation is performed and 412 Precondition failed status code is returned.

    Example:

    "33a64df551425fcc55e4d42a148795d9f25f89d4"
    
  • If-Unmodified-Since: (datetime)

    Last-Modified date of the last configuration known to the caller. If the current configuration modification date does not match one specified in If-Unmodified-Since header, no operation is performed and 412 Precondition failed status code is returned.

    Example:

    Tue, 05 Sep 2017 08:21:44 GMT

HTTP status code 204

Endpoint configuration was successfully deleted.

HTTP status code 404

Application version not found or user does not have permissions to perform this operation.

Body

Media type: application/json

Type: object

Properties

  • message: required (string)

    Detailed error description.

HTTP status code 412

Precondition failed. Operation was not performed due to optimistic locking failure.

Secured by oauth_2_0

Headers

  • Authorization: (string)

    Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

Current Endpoint configuration

Current endpoint configuration is a configuration that should be applied to an endpoint. It is either an endpoint-specific configuration, or default configuration for the application version (if endpoint-specific configuration is not set).

/endpoints/{endpointId}/app-versions/{appVersionName}/current get

get /endpoints/{endpointId}/app-versions/{appVersionName}/current

Returns current configuration applicable to the endpoint.

Secured by oauth_2_0 with scopes:
  • endpoint:read

ECR supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • endpointId: required (string)

    Identifier of the endpoint to operate on

    Example:

    7d5dda9b-c9f6-427d-91ea-9891a4f62cbb
  • appVersionName: required (string)

    Application version name

    Example:

    app-version-03

HTTP status code 200

The endpoint configuration is found.

Headers

  • ETag: required (string)

    Identifier of the returned configuration.

    Example:

    "33a64df551425fcc55e4d42a148795d9f25f89d4"
    
  • Last-Modified: required (datetime)

    The last modification time of the configuration.

    Example:

    Tue, 05 Sep 2017 08:21:44 GMT
  • Content-Type: required (string)

    MIME content type of the configuration, like "application/json", "text/plain", "application/octet-stream".

Body

Media type: application/json

Type: any

Example:

{
  "active": true,
  "pushInterval": 5
}

Media type: application/octet-stream

Type: any

Example:

eyJpbnRlcnZhbCIgOiAyNX0=

HTTP status code 404

There is no configuration applicable to the endpoint or user does not have permissions to perform this operation.

Body

Media type: application/json

Type: object

Properties

  • message: required (string)

    Detailed error description.

Secured by oauth_2_0

Headers

  • Authorization: (string)

    Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.