REST API

Credentials management service 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 tokens

Operations on endpoint tokens

/endpoints/{endpointId}/tokens get post

get /endpoints/{endpointId}/tokens

Returns a JSON representation of the provisioned endpoint tokens.

Secured by oauth_2_0 with scopes:
  • endpoint:read

CM supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • endpointId: required (string)

    Identifies the endpoint to which operations with an endpoint token are applied.

    Example:

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

Headers

  • If-None-Match: (string)

    Makes the request conditional.

    The server will send the requested endpoint tokens with `200` status only if current `ETag` value doesn't match the specified one.
    Otherwise, `304 Not Modified` status will be returned.

    Example:

    "33a64df551425fcc55e4d42a148795d9f25f89d4"
    

Query Parameters

  • status: (array of EndpointTokenStatuses)

    Filters results by the endpoint token statuses.

    Example:

    [
      "Inactive",
      "Active",
      "Suspended",
      "Revoked"
    ]
  • offset: (integer)

    The starting index from which the server should return data.

    Example:

    10
  • limit: (integer - default: 20)

    The maximum number of items to be returned.

    Example:

    2
  • order: (one of ASC, DESC - default: DESC)

    The sorting order of returned tokens (from the newest to the oldest and vice versa).

    Example:

    ASC

HTTP status code 200

An array of the endpoint token objects.

Headers

  • ETag: required (string)

    Represents the current endpoint tokens state.

    The value can be used in `If-Match` and `If-None-Match` headers.

    Example:

    "33a64df551425fcc55e4d42a148795d9f25f89d4"
    

Body

Media type: application/json

Type: object

Properties

  • content: required (array of EndpointTokenArrayItem)

    Array of endpoint tokens with details.

    Items: EndpointTokenArrayItem

    • status: required (one of Active, Inactive, Suspended, Revoked)

      The status of the endpoint token.

      • `Inactive` - the token was never used
      • `Active` - the token was already used
      • `Suspended` - frozen token
      • `Revoked` - canceled token

      • endpointTokenId: required (string)

        Endpoint token ID.

      • createdDate: required (datetime)

        Token creation (provisioning) time and date in ISO 8601 format.

      • applicationName: required (string)

        The application name.

      • updatedDate: (datetime)

        The token change status last time and date in ISO 8601 format

      Example:

      {
        "endpointTokenId": "33a64df551425fcc55e4d42a148795d9f25f89d4",
        "applicationName": "smart_kettle",
        "createdDate": "2017-03-17T11:30:02.643Z",
        "status": "Active",
        "updatedDate": "2017-03-17T12:00:01.311Z"
      }
      
    • totalElements: required (integer)

      The total number of tokens available for this request (ignoring pagination).

    Example:

    {
      "content": [
        {
          "endpointTokenId": "33a64df551425fcc55e4d42a148795d9f25f89d4",
          "applicationName": "smart_kettle",
          "createdDate": "2017-03-17T11:30:02.643Z",
          "status": "Inactive",
          "updatedDate": "2017-03-17T12:00:01.311Z"
        },
        {
          "endpointTokenId": "78a64pf846395kcc55e4d42a148795d9f25f89d4",
          "applicationName": "smart_kettle",
          "createdDate": "2017-03-17T11:30:02.643Z",
          "status": "Active",
          "updatedDate": "2017-03-17T12:00:01.311Z"
        }
      ],
      "totalElements": 7
    }
    

    HTTP status code 304

    Resource(s) not modified.

    HTTP status code 404

    The endpoint ID was not found..

    Body

    Media type: application/json

    Type: object

    Properties

    • message: required (string)

      Detailed error description.

    Secured by oauth_2_0

    Headers

    • Authorization: required (string)

      Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer " where must be replaced by valid OAuth access token.

    post /endpoints/{endpointId}/tokens

    Provisions a new endpoint token.

    Secured by oauth_2_0 with scopes:
    • endpoint:update

    CM supports OAuth 2.0 for authenticating all API requests.

    URI Parameters

    • endpointId: required (string)

      Identifies the endpoint to which operations with an endpoint token are applied.

      Example:

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

    Body

    Media type: application/json

    Type: object

    Properties

    • token: (string - pattern: ^[^+#/.]+$)

      Endpoint token. Will be generated if not present.

      Must not contain plus signs (`+`), number signs (`#`), forward slashes (`/`), or periods (`.`).

    • applicationName: required (string)

      The application name.

    Example:

    {
      "token": "02226466-e744-48ac-8f0c-a57fe4e77de4",
      "applicationName": "sample-application-1"
    }
    

    HTTP status code 201

    The endpoint token was successfully provisioned.

    Headers

    • Location: required (string)

      The URL to access a newly created endpoint token.

      Example:

      http://example.com/api/v1/endpoints/e5ec0201-bdaa-4957-93dd-60238096f4c7/tokens/33a64df551425fcc55e4d42a148795d9f25f89d4

    Body

    Media type: application/json

    Type: object

    Properties

    • token: required (string)

      Endpoint token.

    • createdDate: required (datetime)

      Token creation (provisioning) time and date in ISO 8601 format.

    • applicationName: required (string)

      The application name.

    • status: required (Inactive)

      Status of newly provisioned token is always Inactive.
      Token status will be automatically changed to Active after first successful token validation request.

    Example:

    {
      "token": "02226466-e744-48ac-8f0c-a57fe4e77de4",
      "applicationName": "sample-application-1",
      "createdDate": "2017-03-17T11:30:02.643Z",
      "status": "Inactive"
    }
    

    HTTP status code 400

    An unknown application name.

    Body

    Media type: application/json

    Type: object

    Properties

    • message: required (string)

      Detailed error description.

    HTTP status code 409

    A conflict has occured.

    Body

    Media type: application/json

    Type: object

    Properties

    • message: required (string)

      Detailed error description.

    Example:

    The endpoint token already exists.:

    {
      "message": "Endpoint token already exists."
    }

    Secured by oauth_2_0

    Headers

    • Authorization: required (string)

      Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer " where must be replaced by valid OAuth access token.

    /endpoints/{endpointId}/tokens/{endpointTokenId} get delete

    get /endpoints/{endpointId}/tokens/{endpointTokenId}

    Returns endpoint token information.

    Secured by oauth_2_0 with scopes:
    • endpoint:read

    CM supports OAuth 2.0 for authenticating all API requests.

    URI Parameters

    • endpointId: required (string)

      Identifies the endpoint to which operations with an endpoint token are applied.

      Example:

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

      An endpoint token ID to operate on.

      Example:

      33a64df551425fcc55e4d42a148795d9f25f89d4

    Headers

    • If-None-Match: (string)

      Makes the request conditional.

      The server will send the requested endpoint token with `200` status only if current `ETag` value doesn't match the specified one.
      Otherwise, `304 Not Modified` status will be returned.

      Example:

      "33a64df551425fcc55e4d42a148795d9f25f89d4"
      

    HTTP status code 200

    Endpoint token.

    Headers

    • ETag: required (string)

      Represents the current endpoint token state.

      The value can be used in `If-Match` and `If-None-Match` headers.

      Example:

      "33a64df551425fcc55e4d42a148795d9f25f89d4"
      

    Body

    Media type: application/json

    Type: object

    Properties

    • status: required (one of Active, Inactive, Suspended, Revoked)

      The status of the endpoint token.

      • `Inactive` - the token was never used
      • `Active` - the token was already used
      • `Suspended` - frozen token
      • `Revoked` - canceled token

      • createdDate: required (datetime)

        Token creation (provisioning) time and date in ISO 8601 format.

      • applicationName: required (string)

        The application name.

      • updatedDate: (datetime)

        Last time when the tiken was changed status in ISO 8601 format.

      Example:

      {
        "applicationName": "smart_kettle",
        "createdDate": "2017-03-17T11:30:02.643Z",
        "status": "Active",
        "updatedDate": "2017-03-17T12:00:01.311Z"
      }
      

      HTTP status code 304

      Resource(s) not modified.

      HTTP status code 404

      Either the endpoint ID or the endpoint token ID was 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: required (string)

        Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer " where must be replaced by valid OAuth access token.

      delete /endpoints/{endpointId}/tokens/{endpointTokenId}

      Deletes an endpoint token.

      Secured by oauth_2_0 with scopes:
      • endpoint:update

      CM supports OAuth 2.0 for authenticating all API requests.

      URI Parameters

      • endpointId: required (string)

        Identifies the endpoint to which operations with an endpoint token are applied.

        Example:

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

        An endpoint token ID to operate on.

        Example:

        33a64df551425fcc55e4d42a148795d9f25f89d4

      HTTP status code 204

      The endpoint token was successfully deleted.

      HTTP status code 404

      Either the endpoint ID or the endpoint token ID was 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: required (string)

        Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer " where must be replaced by valid OAuth access token.

      /endpoints/{endpointId}/tokens/{endpointTokenId}/status get put

      get /endpoints/{endpointId}/tokens/{endpointTokenId}/status

      Returns the current status of the endpoint token.

      Secured by oauth_2_0 with scopes:
      • endpoint:read

      CM supports OAuth 2.0 for authenticating all API requests.

      URI Parameters

      • endpointId: required (string)

        Identifies the endpoint to which operations with an endpoint token are applied.

        Example:

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

        An endpoint token ID to operate on.

        Example:

        33a64df551425fcc55e4d42a148795d9f25f89d4

      Headers

      • If-None-Match: (string)

        Makes the request conditional.

        The server will send the requested endpoint token status with `200` status only if current `ETag` value doesn't match the specified one.
        Otherwise, `304 Not Modified` status will be returned.

        Example:

        "33a64df551425fcc55e4d42a148795d9f25f89d4"
        

      HTTP status code 200

      Headers

      • ETag: required (string)

        Represents the current endpoint token status state.

        The value can be used in `If-Match` and `If-None-Match` headers.

        Example:

        "33a64df551425fcc55e4d42a148795d9f25f89d4"
        

      Body

      Media type: application/json

      Type: object

      Properties

      • status: required (one of Active, Inactive, Suspended, Revoked)

        The status of the endpoint token.

        • `Inactive` - the token was never used
        • `Active` - the token was already used
        • `Suspended` - frozen token
        • `Revoked` - canceled token

        Example:

        {
          "status": "Active"
        }

        HTTP status code 304

        Resource(s) not modified.

        HTTP status code 404

        Either the endpoint ID or the endpoint token ID was 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: required (string)

          Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer " where must be replaced by valid OAuth access token.

        put /endpoints/{endpointId}/tokens/{endpointTokenId}/status

        Sets the current endpoint token status. Allowed status transitions are:

        • `Active` → `Suspended`
        • `Suspended` → `Active`
        • Any status → `Revoked`
        Secured by oauth_2_0 with scopes:
        • endpoint:update

        CM supports OAuth 2.0 for authenticating all API requests.

        URI Parameters

        • endpointId: required (string)

          Identifies the endpoint to which operations with an endpoint token are applied.

          Example:

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

          An endpoint token ID to operate on.

          Example:

          33a64df551425fcc55e4d42a148795d9f25f89d4

        Body

        Media type: application/json

        Type: object

        Properties

        • status: required (one of Active, Suspended, Revoked)

          The status of the endpoint token.

          • `Active` - the token was already used
          • `Suspended` - frozen token
          • `Revoked` - canceled token

        Example:

        {
          "status": "Active"
        }

        HTTP status code 204

        The endpoint token status was successfully changed.

        HTTP status code 400

        An invalid status or such a change is forbidden.

        Body

        Media type: application/json

        Type: object

        Properties

        • message: required (string)

          Detailed error description.

        HTTP status code 404

        Either the endpoint ID or the endpoint token ID was 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: required (string)

          Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer " where must be replaced by valid OAuth access token.

        Clients

        Operations on clients

        /clients/credentials get post

        get /clients/credentials

        Returns all credentials.

        Secured by oauth_2_0 with scopes:
        • kaa:client-credentials:read

        CM supports OAuth 2.0 for authenticating all API requests.

        Query Parameters

        • offset: (integer)

          The starting index from which the server should return data.

          Example:

          10
        • limit: (integer - default: 20)

          The maximum number of items to be returned.

          Example:

          3
        • order: (one of ASC, DESC - default: DESC)

          The sorting order of returned tokens (from the newest to the oldest and vice versa).

          Example:

          ASC

        HTTP status code 200

        Body

        Media type: application/json

        Type: object

        Properties

        • totalElements: required (integer)

          The total number of credentials available for this request (ignoring pagination).

        • content: required (array of Credential)

          Items: Credential

          • status: required (one of Active, Inactive, Suspended, Revoked)

            Status of client's credential.

            • `Inactive` - the credential was never used
            • `Active` - the credential was already used
            • `Suspended` - frozen credential
            • `Revoked` - canceled credential

          • createdDate: required (datetime)

            Credential creation time and date in ISO 8601 format.

          • updatedDate: (datetime)

            Last time when the credential was changed status in ISO 8601 format.

          • userName: required (string)

            Unique user name (login).

          • credentialId: required (string)

            Unique identifier of created credential.

          Example:

          {
            "userName": "UserDen",
            "status": "Inactive",
            "credentialId": "wrr113-svfdb4-sdvf5-vbgg",
            "createdDate": "2017-07-03T12:47:02.247Z",
            "updatedDate": "2017-03-17T12:00:01.311Z"
          }
          

        Example:

        {
          "content": [
            {
              "userName": "UserDen",
              "status": "Inactive",
              "credentialId": "wrr113-svfdb4-sdvf5-vbgg",
              "createdDate": "2017-07-03T12:47:02.247Z",
              "updatedDate": "2017-03-17T12:00:01.311Z"
            },
            {
              "userName": "UserDen",
              "status": "Active",
              "credentialId": "lk5tyu3-svfdb4-sdvf5-vbgg",
              "createdDate": "2017-07-03T12:47:02.247Z",
              "updatedDate": "2017-03-17T12:00:01.311Z"
            },
            {
              "userName": "UserDen",
              "status": "Inactive",
              "credentialId": "12dfg5-svfdb4-sdvf5-vbgg",
              "createdDate": "2017-07-03T12:47:02.247Z",
              "updatedDate": "2017-03-17T12:00:01.311Z"
            }
          ],
          "totalElements": 16
        }

        Secured by oauth_2_0

        Headers

        • Authorization: required (string)

          Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer " where must be replaced by valid OAuth access token.

        post /clients/credentials

        Creates new credential.

        Secured by oauth_2_0 with scopes:
        • kaa:client-credentials:create

        CM supports OAuth 2.0 for authenticating all API requests.

        Body

        Media type: application/json

        Type: object

        Properties

        • userName: required (string)

          Unique user name (login).

        • password: required (string)

          Password for credential registration.

        Example:

        {
          "userName": "UserDen",
          "password": "1234"
        }

        HTTP status code 201

        Credential created successfully.

        Headers

        • Location: required (string)

          The URL to access a newly created credential.

          Example:

          http://example.com/api/v1/clients/credentials/2359d-ght687-dbvh5-dfghy-we87vk

        Body

        Media type: application/json

        Type: object

        Properties

        • status: required (one of Active, Inactive, Suspended, Revoked)

          Status of client's credential.

          • `Inactive` - the credential was never used
          • `Active` - the credential was already used
          • `Suspended` - frozen credential
          • `Revoked` - canceled credential

        • createdDate: required (datetime)

          Credential creation time and date in ISO 8601 format.

        • updatedDate: (datetime)

          Last time when the credential was changed status in ISO 8601 format.

        • userName: required (string)

          Unique user name (login).

        • credentialId: required (string)

          Unique identifier of created credential.

        Example:

        {
          "userName": "UserDen",
          "status": "Inactive",
          "credentialId": "wrr113-svfdb4-sdvf5-vbgg",
          "createdDate": "2017-07-03T12:47:02.247Z",
          "updatedDate": "2017-03-17T12:00:01.311Z"
        }
        

        HTTP status code 400

        Username or password is not valid. Or user with such username already have registered credential.

        Body

        Media type: application/json

        Type: object

        Properties

        • message: required (string)

          Detailed error description.

        Secured by oauth_2_0

        Headers

        • Authorization: required (string)

          Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer " where must be replaced by valid OAuth access token.

        /clients/credentials/{credential_id} get put

        get /clients/credentials/{credential_id}

        Returns information about credential.

        Secured by oauth_2_0 with scopes:
        • kaa:client-credentials:read

        CM supports OAuth 2.0 for authenticating all API requests.

        URI Parameters

        • credential_id: required (string)

          Unique identifier of the credential.

        HTTP status code 200

        Body

        Media type: application/json

        Type: object

        Properties

        • status: required (one of Active, Inactive, Suspended, Revoked)

          Status of client's credential.

          • `Inactive` - the credential was never used
          • `Active` - the credential was already used
          • `Suspended` - frozen credential
          • `Revoked` - canceled credential

        • createdDate: required (datetime)

          Credential creation time and date in ISO 8601 format.

        • updatedDate: (datetime)

          Last time when the credential was changed status in ISO 8601 format.

        • userName: required (string)

          Unique user name (login).

        • credentialId: required (string)

          Unique identifier of created credential.

        Example:

        {
          "userName": "UserDen",
          "status": "Inactive",
          "credentialId": "wrr113-svfdb4-sdvf5-vbgg",
          "createdDate": "2017-07-03T12:47:02.247Z",
          "updatedDate": "2017-03-17T12:00:01.311Z"
        }
        

        HTTP status code 404

        There is no provisioned credential or user does not have permissions to perform this operation.

        Secured by oauth_2_0

        Headers

        • Authorization: required (string)

          Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer " where must be replaced by valid OAuth access token.

        put /clients/credentials/{credential_id}

        Updates credential status.

        Secured by oauth_2_0 with scopes:
        • kaa:client-credentials:update

        CM supports OAuth 2.0 for authenticating all API requests.

        URI Parameters

        • credential_id: required (string)

          Unique identifier of the credential.

        Body

        Media type: application/json

        Type: object

        Properties

        • status: required (one of Active, Suspended, Revoked)

          Status of client's credential.

          • `Active` - the credential was already used
          • `Suspended` - frozen credential
          • `Revoked` - canceled credential

        Example:

        {
          "status": "Active"
        }

        HTTP status code 204

        Successful updated credential status.

        HTTP status code 400

        Could not change status for credential or bad requested status.

        Body

        Media type: application/json

        Type: object

        Properties

        • message: required (string)

          Detailed error description.

        Secured by oauth_2_0

        Headers

        • Authorization: required (string)

          Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer " where must be replaced by valid OAuth access token.

        /clients/certificates get post

        get /clients/certificates

        Returns all certificates.

        Secured by oauth_2_0 with scopes:
        • kaa:client-certificates:read

        CM supports OAuth 2.0 for authenticating all API requests.

        Query Parameters

        • offset: (integer)

          The starting index from which the server should return data.

          Example:

          10
        • limit: (integer - default: 20)

          The maximum number of items to be returned.

          Example:

          3
        • order: (one of ASC, DESC - default: DESC)

          The sorting order of returned tokens (from the newest to the oldest and vice versa).

          Example:

          ASC

        HTTP status code 200

        Body

        Media type: application/json

        Type: object

        Properties

        • totalElements: required (integer)

          The total number of certificate available for this request (ignoring pagination).

        • content: required (array of Certificate)

          Items: Certificate

          • issuer: required (string)

            Issuer of the certificate. Supported relative distinguished names (RDN):

            • `C` - Country
            • `CN` - Common name
            • `L`- Locality name
            • `O` - Organization name
            • `OU` - Organizational unit name
            • `POSTALCODE` - Postal code
            • `SERIALNUMBER` - Serial number
            • `ST` - State or province name
            • `STREET` - Street address
            Other RDNs will be skipped.

            Example:

            C=BE, O=GlobalSign nv-sa, CN=GlobalSign Organization Validation CA - SHA256 - G2
            
          • serialNumber: required (string)

            Identifier of certificate within the issuer, base 10 encoded.

          Example:

          {
            "issuer": "C=BE, O=GlobalSign nv-sa, CN=GlobalSign Organization Validation CA - SHA256 - G2",
            "serialNumber": "10978342379280287615"
          }
          

        Example:

        {
          "content": [
            {
              "issuer": "C=BE,CN=GlobalSign Organization Validation CA - SHA256 - G2,O=GlobalSign nv-sa",
              "certificateId": "23dfo-sdg67-dvbg6-cxvvb-xcvbg",
              "serialNumber": "10978342379280287615",
              "createdDate": "2017-07-18T20:09:59.777Z",
              "updatedDate": "2017-03-17T12:00:01.311Z",
              "status": "Inactive"
            },
            {
              "issuer": "C=US,CN=GlobalSign Organization Validation CA - SHA256 - G2,O=GlobalSign nv-sa",
              "certificateId": "47dfo-sdg67-dvbg6-cxvvb-xcvfj",
              "serialNumber": "20478342379280287637",
              "createdDate": "2017-07-18T20:09:59.777Z",
              "updatedDate": "2017-03-17T12:00:01.311Z",
              "status": "Inactive"
            },
            {
              "issuer": "C=EN,CN=GlobalSign Organization Validation CA - SHA256 - G2,O=GlobalSign nv-sa",
              "certificateId": "56dfo-sdg67-dvbg6-cxvvb-xcvsc",
              "serialNumber": "30978342379280287650",
              "createdDate": "2017-07-18T20:09:59.777Z",
              "updatedDate": "2017-03-17T12:00:01.311Z",
              "status": "Inactive"
            }
          ],
          "totalElements": 16
        }
        

        Secured by oauth_2_0

        Headers

        • Authorization: required (string)

          Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer " where must be replaced by valid OAuth access token.

        post /clients/certificates

        Creates new certificate for registered client.

        Secured by oauth_2_0 with scopes:
        • kaa:client-certificates:create

        CM supports OAuth 2.0 for authenticating all API requests.

        Body

        Media type: application/json

        Type: object

        Properties

        • issuer: required (string)

          Issuer of the certificate. Supported relative distinguished names (RDN):

          • `C` - Country
          • `CN` - Common name
          • `L`- Locality name
          • `O` - Organization name
          • `OU` - Organizational unit name
          • `POSTALCODE` - Postal code
          • `SERIALNUMBER` - Serial number
          • `ST` - State or province name
          • `STREET` - Street address
          Other RDNs will be skipped.

          Example:

          C=BE, O=GlobalSign nv-sa, CN=GlobalSign Organization Validation CA - SHA256 - G2
          
        • serialNumber: required (string)

          Identifier of certificate within the issuer, base 10 encoded.

        Example:

        {
          "issuer": "C=BE, O=GlobalSign nv-sa, CN=GlobalSign Organization Validation CA - SHA256 - G2",
          "serialNumber": "10978342379280287615"
        }
        

        HTTP status code 201

        Certificate created successfully.

        Headers

        • Location: required (string)

          The URL to access a newly created certificate.

          Example:

          http://example.com/api/v1/clients/certificates/2359d-ght687-dbvh5-dfghy-we87vk

        Body

        Media type: application/json

        Type: object

        Properties

        • issuer: required (string)

          Issuer of the certificate. Sorted by relative distinguished names.

          Example:

          C=BE,CN=GlobalSign Organization Validation CA - SHA256 - G2,O=GlobalSign nv-sa
          
        • serialNumber: required (string)

          Identifier of certificate within the issuer, base 10 encoded.

        • certificateId: required (string)

          Unique identifier of created certificate in the system.

        • createdDate: required (datetime)

          The date the certificate was added to the system.

        • updatedDate: (datetime)

          Last time when the certificate was changed status in ISO 8601 format.

        Example:

        {
          "issuer": "C=BE,CN=GlobalSign Organization Validation CA - SHA256 - G2,O=GlobalSign nv-sa",
          "certificateId": "23dfo-sdg67-dvbg6-cxvvb-xcvbg",
          "serialNumber": "10978342379280287615",
          "createdDate": "2017-07-18T20:09:59.777Z",
          "status": "Inactive",
          "updatedDate": "2017-03-17T12:00:01.311Z"
        }

        HTTP status code 400

        Pair of serial number and issuer have already registered in the system.

        Body

        Media type: application/json

        Type: object

        Properties

        • message: required (string)

          Detailed error description.

        Secured by oauth_2_0

        Headers

        • Authorization: required (string)

          Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer " where must be replaced by valid OAuth access token.

        /clients/certificates/{certificate_id} get put

        get /clients/certificates/{certificate_id}

        Returns information about certificate.

        Secured by oauth_2_0 with scopes:
        • kaa:client-certificates:read

        CM supports OAuth 2.0 for authenticating all API requests.

        URI Parameters

        • certificate_id: required (string)

          Unique identifier of the certificate.

        HTTP status code 200

        Body

        Media type: application/json

        Type: object

        Properties

        • issuer: required (string)

          Issuer of the certificate. Supported relative distinguished names (RDN):

          • `C` - Country
          • `CN` - Common name
          • `L`- Locality name
          • `O` - Organization name
          • `OU` - Organizational unit name
          • `POSTALCODE` - Postal code
          • `SERIALNUMBER` - Serial number
          • `ST` - State or province name
          • `STREET` - Street address
          Other RDNs will be skipped.

          Example:

          C=BE, O=GlobalSign nv-sa, CN=GlobalSign Organization Validation CA - SHA256 - G2
          
        • serialNumber: required (string)

          Identifier of certificate within the issuer, base 10 encoded.

        Example:

        {
          "issuer": "C=BE, O=GlobalSign nv-sa, CN=GlobalSign Organization Validation CA - SHA256 - G2",
          "serialNumber": "10978342379280287615"
        }
        

        HTTP status code 404

        There is no provisioned certificate or user does not have permissions to perform this operation..

        Secured by oauth_2_0

        Headers

        • Authorization: required (string)

          Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer " where must be replaced by valid OAuth access token.

        put /clients/certificates/{certificate_id}

        Updates credential status.

        Secured by oauth_2_0 with scopes:
        • kaa:client-certificates:update

        CM supports OAuth 2.0 for authenticating all API requests.

        URI Parameters

        • certificate_id: required (string)

          Unique identifier of the certificate.

        Body

        Media type: application/json

        Type: object

        Properties

        • status: required (one of Active, Suspended, Revoked)

          Status of client's certificate.

          • `Active` - the certificate was already used
          • `Suspended` - frozen certificate
          • `Revoked` - canceled certificate

        Example:

        {
          "status": "Active"
        }

        HTTP status code 204

        Successful updated credential status.

        HTTP status code 400

        Could not change status for credential or bad requested status.

        Body

        Media type: application/json

        Type: object

        Properties

        • message: required (string)

          Detailed error description.

        Secured by oauth_2_0

        Headers

        • Authorization: required (string)

          Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer " where must be replaced by valid OAuth access token.