Signicat End-to-end (E2E) keys API

The MobileID Admin end-to-end (E2E) keys API provides you with operations related to creating and managing your E2E keys. We use E2E keys to create an extra encryption layer in addition to the TLS between the MobileID server and the SDK. They are required for configuring the Authenticator App and the mobile SDK. ## Useful information For each MobileID account, we create a new E2E key during the onboarding process. We strongly recommend that you use this specific key for the corresponding MobileID account and application configuration. Ensure that you do not share E2E keys between sandbox and production accounts. ----- **Note**: The request and response samples are for illustrative purposes only, and discrepancies can occur between the sample values in request and response objects. -----

Operations 5

PUT /e2e-keys/{e2eKeyId}/state Update E2E key #
GET /e2e-keys Get E2E keys #
POST /e2e-keys Add E2E key #
GET /e2e-keys/{e2eKeyId} Get E2E key #
DELETE /e2e-keys/{e2eKeyId} Delete E2E key #

Documentation

📖
APIReference
https://developer.signicat.com/apis/data-verification/
📖
APIReference
https://developer.signicat.com/apis/digital-evidence-management/
📖
APIReference
https://developer.signicat.com/apis/eid-hub/
📖
APIReference
https://developer.signicat.com/apis/electronic-signing/sign-api-v2/
📖
APIReference
https://developer.signicat.com/apis/electronic-signing/enterprise/
📖
APIReference
https://developer.signicat.com/apis/electronic-signing/express/
📖
APIReference
https://developer.signicat.com/apis/archive/
📖
APIReference
https://developer.signicat.com/apis/id-document-and-biometric-verification/
📖
APIReference
https://developer.signicat.com/apis/mobileid/
📖
APIReference
https://developer.signicat.com/apis/mobileid-admin/
📖
APIReference
https://developer.signicat.com/apis/ongoing-monitoring/
📖
APIReference
https://developer.signicat.com/apis/person-monitoring/
📖
APIReference
https://developer.signicat.com/apis/reuseid-onboarding/
📖
APIReference
https://developer.signicat.com/apis/reuseid/
📖
APIReference
https://developer.signicat.com/apis/secure-share/
📖
APIReference
https://developer.signicat.com/apis/mint/
📖
APIReference
https://developer.signicat.com/apis/siam/
📖
APIReference
https://developer.signicat.com/apis/audit-logs/
📖
APIReference
https://developer.signicat.com/apis/account-management/
📖
APIReference
https://developer.signicat.com/apis/domain-management/
📖
APIReference
https://developer.signicat.com/apis/events/
📖
APIReference
https://developer.signicat.com/apis/oidc-config/
📖
APIReference
https://developer.signicat.com/apis/usage/

Specifications

Schemas & Data

📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-organization-basic-info-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-person-basic-info-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-organization-ownership-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-business-registry-registration-authority-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-geodata-country-info-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-business-registry-registration-authority-item-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-query-request-body-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-record-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-query-record-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-stats-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-session-data-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-session-request-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-signing-session-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-document-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-document-collection-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-post-document-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-paginated-signing-session-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-merchant-sign-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-signing-order-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-task-status-info-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-forwarding-info-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-event-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-artifact-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-packaging-task-status-info-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-signer-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-update-signer-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-signer-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-document-summary-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-update-signer-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-attachment-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-archive-jsonld-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-archive-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-archive-archive-objects-representation-jsonld-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-archive-archive-patch-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-audit-log-jsonld-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-archive-direct-jsonld-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-capture-configuration-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-capture-configuration-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-process-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-process-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-process-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-match-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-signature-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-account-recovery-details-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-authentication-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-registration-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-user-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-idverification-add-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-application-config-properties-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-application-config-update-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-account-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-e2-ekey-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-apnstoken-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-account-platform-all-details-statistic-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-organisation-data-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-person-response-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-monitor-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-organisation-request-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-monitor-changes-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-create-monitor-request-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-monitor-person-get-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-monitor-create-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-base-monitor-person-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-monitor-get-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-person-changes-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-paged-collection-1-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-device-signature-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-device-registration-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-device-authentication-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-passkey-authentication-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-passkey-registration-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-create-share-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-create-recipient-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-update-recipient-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-update-share-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-share-response-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-recipient-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-journey-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-workflow-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-workflow-template-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-create-workflow-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-update-workflow-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-step-definition-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-user-resource-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-subject-custom-attribute-definition-resource-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-membership-custom-attribute-definition-resource-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-group-custom-attribute-definition-resource-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-membership-resource-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-organization-list-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-audit-log-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-query-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-audit-query-result-audit-log-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-query-metadata-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-query-metadata-response-event-type-properties-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-invoice-item-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-invoice-list-item-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-organization-read-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-account-read-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-organization-create-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-organization-write-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-domain-read-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-get-metadata-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-domain-create-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-check-domain-availability-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-domain-patch-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-check-dns-setup-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-subscription-get-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-subscription-update-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-subscription-event-delivery-attempt-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-subscription-create-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-event-log-item-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-page-subscription-list-item-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-client-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-patch-client-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-public-key-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-signicat-error-template-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-secret-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-custom-claim-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/signicat/json-schema/signicat-usage-set-schema.json

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/signicat:signicat-end-to-end-e2e-keys-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

signicat-end-to-end-e2e-keys-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Signicat End-to-end (E2E) keys API
  version: '1.0'
  description: 'Operations tagged End-to-end (E2E) keys across 2 of this provider''s published API definitions: mobileid-admin-openapi.json, signicat-mobileid-admin-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.signicat.com/mobileid/admin
tags:
- name: End-to-end (E2E) keys
  description: 'The MobileID Admin end-to-end (E2E) keys API provides you with operations related to creating and managing your E2E keys.


    We use E2E keys to create an extra encryption layer in addition to the TLS between the MobileID server and the SDK. They are required for configuring the Authenticator App and the mobile SDK.


    ## Useful information

    For each MobileID account, we create a new E2E key during the onboarding process.

    We strongly recommend that you use this specific key for the corresponding MobileID account and application configuration.


    Ensure that you do not share E2E keys between sandbox and production accounts.


    -----


    **Note**: The request and response samples are for illustrative purposes only,

    and discrepancies can occur between the sample values in request and response objects.


    -----'
paths:
  /e2e-keys/{e2eKeyId}/state:
    put:
      tags:
      - End-to-end (E2E) keys
      summary: Update E2E key
      description: Changing the state of the key. Changing state to DISABLED means that it will no longer be usable for client requests.
      operationId: updateE2EKeyStatus
      parameters:
      - name: e2eKeyId
        in: path
        description: The ID of the end-to-end key.
        required: true
        schema:
          type: string
        example: 82a634bf-a485-457c-90c4-88ddd56319ac
      - name: signicat-accountid
        in: query
        description: 'The ID of the Signicat account, in a valid UUID format.


          **Note**: This is an optional parameter, as the account ID is fetched from the access token that you use when initiating the request.

          '
        required: false
        schema:
          type: string
          description: 'The ID of the Signicat account, in a valid UUID format.


            **Note**: This is an optional parameter, as the account ID is fetched from the access token that you use when initiating the request.

            '
          example: a-sdge-abcdefghijk123456789
        example: a-sdge-abcdefghijk123456789
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EncapE2EKeyUpdateRequest'
            example:
              state: DISABLED
        required: true
      responses:
        '200':
          description: The request to update the E2E key was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EncapUpdateE2EKeyResponse'
              example:
                state: DISABLED
        '400':
          description: Bad request.
          content:
            application/json:
              examples:
                Unknown property.:
                  description: Unknown property.
                  value:
                    type: https://developer.signicat.com/apis/mobileid/#section/Using-this-API/Errors
                    title: Unknown property
                    code: unknown_property
                    status: 400
                    traceId: 4bf239c088089f2bca77d3a413909f1c
                    detail: 'Unknown property: ''naaame'''
                Could not parse JSON request:
                  description: Could not parse JSON request
                  value: "{\n    \"type\": \"https://developer.signicat.com/apis/mobileid/#section/Using-this-API/Errors\",\n  \"title\": \"Request parsing error property\",\n  \"code\": \"request_parsing_error\",\n  \"status\": 400,\n  \"traceId\": \"4bf239c088089f2bca77d3a413909f1c\",\n  \"detail\": \"Could not parse content. Message: 'Unexpected character ('\"' (code 34)): was expecting comma to separate Object entries'\"\n}\n"
                Account ID missing:
                  description: Account ID missing
                  value:
                    type: https://developer.signicat.com/errors?code=account_id_missing
                    title: An Account ID must be specified for this request
                    code: account_id_missing
                    status: 400
                    traceId: 4bf239c088089f2bca77d3a413909f1c
                    detail: 'An Account ID must be specified for this request. An AccountID can be specified in three ways. 1) For machine clients configured on an Account, the provided access token will specify the account ID. 2) Account ID can be provided as a query parameter `signicat-accountId=<accountId>`. 3) Account ID can be provided as a HTTP Header `Signicat-AccountId: <accountId>`. A request will be rejected if more than one account ID is specified.'
                Invalid identifier:
                  description: Invalid identifier
                  value:
                    type: https://developer.signicat.com/apis/mobileid/#section/Using-this-API/Errors
                    title: Invalid identifier
                    code: invalid_identifier
                    status: 400
                    traceId: 4bf239c088089f2bca77d3a413909f1c
                    detail: 'Invalid UUID string: 5505649b6c0b4ff0aedd53935ec'
                Invalid request parameters:
                  description: Invalid request parameters
                  value:
                    type: https://developer.signicat.com/apis/mobileid/#section/Using-this-API/Errors
                    title: Invalid request
                    code: invalid_request
                    status: 400
                    detail: Your request body parameters have failed validation.
                    traceId: 4bf239c088089f2bca77d3a413909f1c
                    invalidParams:
                    - name: state
                      reason: state cannot be null or empty
        '403':
          description: Forbidden. The user is not authorised to perform this operation.
          content:
            application/json:
              example:
                code: missing_permission
                detail: The subject with ID 'dev-ghastly-thread-446' does not have the required permission 'mobileid:user:read' on the target resource 'a-sdge-abcdefghijk123456789'
                status: 403
                title: You do not have the required permission to perform this operation on the target resource
                type: https://developer.signicat.com/errors?code=missing_permission
      security:
      - Access token with client with MobileID Config Editor role:
        - signicat-api
    servers:
    - url: https://api.signicat.com/mobileid/admin
  /e2e-keys:
    get:
      tags:
      - End-to-end (E2E) keys
      summary: Get E2E keys
      description: 'The **Get E2E keys** operation returns a list of the E2E key objects for the organisation that the account belongs to. This includes both production and sandbox E2E keys.


        The maximum number of E2E key objects per list is 100.


        You can specify the state of the E2E keys that you would like to list.


        If a state (`state`) is not specified in the query parameters, then the operation will return a list containing E2E keys of **all** states.


        -----


        **Note**: E2E keys have the account name in the E2E key name (`name`).


        -----'
      operationId: getE2EKeys
      parameters:
      - name: state
        in: query
        description: 'The state of the E2E keys that you want to list.


          This is an an enum, and can be either `ENABLED` or `DISABLED`.


          If not provided, then **all** E2E key types are listed.

          '
        required: false
        schema:
          type: string
          description: 'The state of the E2E keys that you want to list.


            This is an an enum, and can be either `ENABLED` or `DISABLED`.


            If not provided, then **all** E2E key types are listed.

            '
          example: ENABLED
        example: ENABLED
      - name: signicat-accountid
        in: query
        description: 'The ID of the Signicat account, in a valid UUID format.


          **Note**: This is an optional parameter, as the account ID is fetched from the access token that you use when initiating the request.

          '
        required: false
        schema:
          type: string
          description: 'The ID of the Signicat account, in a valid UUID format.


            **Note**: This is an optional parameter, as the account ID is fetched from the access token that you use when initiating the request.

            '
          example: a-sdge-abcdefghijk123456789
        example: a-sdge-abcdefghijk123456789
      responses:
        '200':
          description: Successfully fetched the list of E2E keys.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/E2EKeyList'
              example:
                e2eKeys:
                - id: op36b8k9-xr2f-996f-9039-a1baba22bc1b
                  name: E2E key - migrated
                  algorithm: X25519
                  description: E2E key for QA testing
                  createdBy: 52e107e6-1ce9-4a4b-a051-612ad888de11
                  created: '2023-01-05T12:04:24.812Z'
                  sha256Fingerprint: 21:31:57:72:33:ec:23:84:ad:30:68:1c:e3:ab
                  publicKey: cHVibGljS2V5VmFsdWU=
                  state: ENABLED
                - id: aaa124e1-fs4d-2rg4-8a3h-aa123a2c7x33
                  name: Default E2E key - migrated
                  algorithm: SECT233K1
                  description: Default key/cert generated at first db init
                  createdBy: 52e107e6-1ce9-4a4b-a051-612ad888de11
                  created: '2023-01-05T12:04:24.815Z'
                  sha256Fingerprint: 98:23:57:55:25:ec:23:84:hw:22:69:2c:s2:ba
                  publicKey: cHVibGljS2V5VmFsdWU=
                  state: ENABLED
        '400':
          description: Bad request.
          content:
            application/json:
              example:
                type: https://developer.signicat.com/errors?code=account_id_missing
                title: An Account ID must be specified for this request
                code: account_id_missing
                status: 400
                traceId: 4bf239c088089f2bca77d3a413909f1c
                detail: 'An Account ID must be specified for this request. An AccountID can be specified in three ways. 1) For machine clients configured on an Account, the provided access token will specify the account ID. 2) Account ID can be provided as a query parameter `signicat-accountId=<accountId>`. 3) Account ID can be provided as a HTTP Header `Signicat-AccountId: <accountId>`. A request will be rejected if more than one account ID is specified.'
        '403':
          description: Forbidden. The user is not authorised to perform this operation.
          content:
            application/json:
              example:
                code: missing_permission
                detail: The subject with ID 'dev-ghastly-thread-446' does not have the required permission 'mobileid:user:read' on the target resource 'a-sdge-abcdefghijk123456789'
                status: 403
                title: You do not have the required permission to perform this operation on the target resource
                type: https://developer.signicat.com/errors?code=missing_permission
      security:
      - Access token with client with MobileID Config Editor role:
        - signicat-api
    post:
      tags:
      - End-to-end (E2E) keys
      summary: Add E2E key
      description: Create a new end-to-end key. A new end-to-end key pair is generated by the server and the public key is sent back in the response.
      operationId: addE2EKey
      parameters:
      - name: signicat-accountid
        in: query
        description: 'The ID of the Signicat account, in a valid UUID format.


          **Note**: This is an optional parameter, as the account ID is fetched from the access token that you use when initiating the request.

          '
        required: false
        schema:
          type: string
          description: 'The ID of the Signicat account, in a valid UUID format.


            **Note**: This is an optional parameter, as the account ID is fetched from the access token that you use when initiating the request.

            '
          example: a-sdge-abcdefghijk123456789
        example: a-sdge-abcdefghijk123456789
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EncapE2EKeyAddRequest'
            example:
              name: Default E2E key - migrated
              description: Default key/cert generated at first db init
              algorithm: X25519
        required: true
      responses:
        '201':
          description: The request to add the E2E key was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/E2EKey'
              example:
                id: op36b8k9-xr2f-996f-9039-a1baba22bc1b
                name: Default E2E key - migrated
                algorithm: X25519
                description: Default key/cert generated at first db init
                createdBy: 52e107e6-1ce9-4a4b-a051-612ad888de11
                created: '2023-01-05T12:04:24.812Z'
                sha256Fingerprint: 21:31:57:72:33:ec:23:84:ad:30:68:1c:e3:ab
                publicKey: cHVibGljS2V5VmFsdWU=
                state: ENABLED
        '400':
          description: Bad request.
          content:
            application/json:
              examples:
                Unknown property.:
                  description: Unknown property.
                  value:
                    type: https://developer.signicat.com/apis/mobileid/#section/Using-this-API/Errors
                    title: Unknown property
                    code: unknown_property
                    status: 400
                    traceId: 4bf239c088089f2bca77d3a413909f1c
                    detail: 'Unknown property: ''naaame'''
                Could not parse JSON request:
                  description: Could not parse JSON request
                  value: "{\n    \"type\": \"https://developer.signicat.com/apis/mobileid/#section/Using-this-API/Errors\",\n  \"title\": \"Request parsing error property\",\n  \"code\": \"request_parsing_error\",\n  \"status\": 400,\n  \"traceId\": \"4bf239c088089f2bca77d3a413909f1c\",\n  \"detail\": \"Could not parse content. Message: 'Unexpected character ('\"' (code 34)): was expecting comma to separate Object entries'\"\n}\n"
                Account ID missing:
                  description: Account ID missing
                  value:
                    type: https://developer.signicat.com/errors?code=account_id_missing
                    title: An Account ID must be specified for this request
                    code: account_id_missing
                    status: 400
                    traceId: 4bf239c088089f2bca77d3a413909f1c
                    detail: 'An Account ID must be specified for this request. An AccountID can be specified in three ways. 1) For machine clients configured on an Account, the provided access token will specify the account ID. 2) Account ID can be provided as a query parameter `signicat-accountId=<accountId>`. 3) Account ID can be provided as a HTTP Header `Signicat-AccountId: <accountId>`. A request will be rejected if more than one account ID is specified.'
                Invalid request parameters:
                  description: Invalid request parameters
                  value:
                    type: https://developer.signicat.com/apis/mobileid/#section/Using-this-API/Errors
                    title: Invalid request
                    code: invalid_request
                    status: 400
                    detail: Your request body parameters have failed validation.
                    traceId: 4bf239c088089f2bca77d3a413909f1c
                    invalidParams:
                    - name: name
                      reason: name cannot be null or empty
        '403':
          description: Forbidden. The user is not authorised to perform this operation.
          content:
            application/json:
              example:
                code: missing_permission
                detail: The subject with ID 'dev-ghastly-thread-446' does not have the required permission 'mobileid:user:read' on the target resource 'a-sdge-abcdefghijk123456789'
                status: 403
                title: You do not have the required permission to perform this operation on the target resource
                type: https://developer.signicat.com/errors?code=missing_permission
      security:
      - Access token with client with MobileID Config Editor role:
        - signicat-api
    servers:
    - url: https://api.signicat.com/mobileid/admin
  /e2e-keys/{e2eKeyId}:
    get:
      tags:
      - End-to-end (E2E) keys
      summary: Get E2E key
      description: Get details for an end-to-end Key.
      operationId: getE2EKey
      parameters:
      - name: e2eKeyId
        in: path
        description: The ID of the end-to-end key.
        required: true
        schema:
          type: string
        example: 82a634bf-a485-457c-90c4-88ddd56319ac
      - name: signicat-accountid
        in: query
        description: 'The ID of the Signicat account, in a valid UUID format.


          **Note**: This is an optional parameter, as the account ID is fetched from the access token that you use when initiating the request.

          '
        required: false
        schema:
          type: string
          description: 'The ID of the Signicat account, in a valid UUID format.


            **Note**: This is an optional parameter, as the account ID is fetched from the access token that you use when initiating the request.

            '
          example: a-sdge-abcdefghijk123456789
        example: a-sdge-abcdefghijk123456789
      responses:
        '200':
          description: The request to fetch the E2E key was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/E2EKey'
              example:
                id: op36b8k9-xr2f-996f-9039-a1baba22bc1b
                name: Default E2E key - migrated
                algorithm: X25519
                description: Default key/cert generated at first db init
                createdBy: 52e107e6-1ce9-4a4b-a051-612ad888de11
                created: '2023-01-05T12:04:24.812Z'
                sha256Fingerprint: 21:31:57:72:33:ec:23:84:ad:30:68:1c:e3:ab
                publicKey: cHVibGljS2V5VmFsdWU=
                state: ENABLED
        '400':
          description: Bad request.
          content:
            application/json:
              examples:
                Account ID missing:
                  description: Account ID missing
                  value:
                    type: https://developer.signicat.com/errors?code=account_id_missing
                    title: An Account ID must be specified for this request
                    code: account_id_missing
                    status: 400
                    traceId: 4bf239c088089f2bca77d3a413909f1c
                    detail: 'An Account ID must be specified for this request. An AccountID can be specified in three ways. 1) For machine clients configured on an Account, the provided access token will specify the account ID. 2) Account ID can be provided as a query parameter `signicat-accountId=<accountId>`. 3) Account ID can be provided as a HTTP Header `Signicat-AccountId: <accountId>`. A request will be rejected if more than one account ID is specified.'
                Invalid identifier:
                  description: Invalid identifier
                  value:
                    type: https://developer.signicat.com/apis/mobileid/#section/Using-this-API/Errors
                    title: Invalid identifier
                    code: invalid_identifier
                    status: 400
                    traceId: 4bf239c088089f2bca77d3a413909f1c
                    detail: 'Invalid UUID string: 5505649b6c0b4ff0aedd53935ec'
        '403':
          description: Forbidden. The user is not authorised to perform this operation.
          content:
            application/json:
              example:
                code: missing_permission
                detail: The subject with ID 'dev-ghastly-thread-446' does not have the required permission 'mobileid:user:read' on the target resource 'a-sdge-abcdefghijk123456789'
                status: 403
                title: You do not have the required permission to perform this operation on the target resource
                type: https://developer.signicat.com/errors?code=missing_permission
        '404':
          description: Not found. The server cannot find the requested resource.
          content:
            application/json:
              example:
                type: https://developer.signicat.com/apis/mobileid/#section/Using-this-API/Errors
                title: Resource not found
                code: resource_not_found
                status: 404
                traceId: 4bf239c088089f2bca77d3a413909f1c
                detail: 'Missing E2E key with ID : cae9d09d-abaf-486b-a5ca-35ba82435123 for account ID : a-sdge-abcdefghijk123456789.'
      security:
      - Access token with client with MobileID Config Editor role:
        - signicat-api
    delete:
      tags:
      - End-to-end (E2E) keys
      summary: Delete E2E key
      description: Delete a specific end-to-end key.
      operationId: deleteE2EKey
      parameters:
      - name: e2eKeyId
        in: path
        description: The ID of the end-to-end key.
        required: true
        schema:
          type: string
        example: 82a634bf-a485-457c-90c4-88ddd56319ac
      - name: signicat-accountid
        in: query
        description: 'The ID of the Signicat account, in a valid UUID format.


          **Note**: This is an optional parameter, as the account ID is fetched from the access token that you use when initiating the request.

          '
        required: false
        schema:
          type: string
          description: 'The ID of the Signicat account, in a valid UUID format.


            **Note**: This is an optional parameter, as the account ID is fetched from the access token that you use when initiating the request.

            '
          example: a-sdge-abcdefghijk123456789
        example: a-sdge-abcdefghijk123456789
      responses:
        '204':
          description: The request to delete the E2E key was successful.
        '400':
          description: Bad request.
          content:
            application/json:
              examples:
                Account ID missing:
                  description: Account ID missing
                  value:
                    type: https://developer.signicat.com/errors?code=account_id_missing
                    title: An Account ID must be specified for this request
                    code: account_id_missing
                    status: 400
                    traceId: 4bf239c088089f2bca77d3a413909f1c
                    detail: 'An Account ID must be specified for this request. An AccountID can be specified in three ways. 1) For machine clients configured on an Account, the provided access token will specify the account ID. 2) Account ID can be provided as a query parameter `signicat-accountId=<accountId>`. 3) Account ID can be provided as a HTTP Header `Signicat-AccountId: <accountId>`. A request will be rejected if more than one account ID is specified.'
                Invalid identifier:
                  description: Invalid identifier
                  value:
                    type: https://developer.signicat.com/apis/mobileid/#section/Using-this-API/Errors
                    title: Invalid identifier
                    code: invalid_identifier
                    status: 400
                    traceId: 4bf239c088089f2bca77d3a413909f1c
                    detail: 'Invalid UUID string: 5505649b6c0b4ff0aedd53935ec'
        '403':
          description: Forbidden. The user is not authorised to perform this operation.
          content:
            application/json:
              example:
                code: missing_permission
                detail: The subject with ID 'dev-ghastly-thread-446' does not have the required permission 'mobileid:user:read' on the target resource 'a-sdge-abcdefghijk123456789'
                status: 403
                title: You do not have the required permission to perform this operation on the target resource
                type: https://developer.signicat.com/errors?code=missing_permission
        '404':
          description: Not found. The server cannot find the requested resource.
          content:
            application/json:
              example:
                type: https://developer.signicat.com/apis/mobileid/#section/Using-this-API/Errors
                title: Resource not found
                code: resource_not_found
                status: 404
                traceId: 4bf239c088089f2bca77d3a413909f1c
                detail: 'Missing E2E key with ID : cae9d09d-abaf-486b-a5ca-35ba82435123 for account ID : a-sdge-abcdefghijk123456789.'
        '409':
          description: Conflict.
          content:
            application/json:
              example:
                type: https://developer.signicat.com/apis/mobileid/#section/Using-this-API/Errors
                title: E2E key in use
                code: e2e_key_in_use
                status: 409
                traceId: 4bf239c088089f2bca77d3a413909f1c
                detail: 'Failed deleting E2E key with ID : 04fc7346-1998-411b-8b93-a4fe1b6e4682 for account ID : a-sdge-abcdefghijk123456789.'
      security:
      - Access token with client with MobileID Config Editor role:
        - signicat-api
    servers:
    - url: https://api.signicat.com/mobileid/admin
components:
  schemas:
    EncapE2EKeyUpdateRequest:
      type: object
      properties:
        state:
          type: string
          writeOnly: true
    EncapE2EKeyAddRequest:
      type: object
      properties:
        name:
          type: string
          description: Name for the end-to-end key
          example: Default E2E key
          minLength: 1
        description:
          type: string
          description: Description for the end-to-end key
          example: This is the E2E key ...
        algorithm:
          type: string
          description: Protocol between mobile SDK and the Server. If not supplied, the default value `X25519` is used
          enum:
          - X25519
          - SECT233K1
          example: X25519
          minLength: 1
      required:
      - algorithm
      - name
    E2EKeyList:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/E2EKey'
          writeOnly: true
        e2eKeys:
          type: array
          description: A list of E2E key objects for the organisation that the account belongs to.
          items:
            $ref: '#/components/schemas/E2EKey'
    EncapUpdateE2EKeyResponse:
      type: object
      properties:
        state:
          type: string
          description: 'The state of the E2E key.


            This is an an enum, and can be either `ENABLED` or `DISABLED`.

            '
          enum:
          - ENABLED
          - DISABLED
    E2EKey:
      type: object
      properties:
        id:
          type: string
          description: The ID of the E2E key.
          example: 52e107e6-1ce9-4a4b-a051-612ad888de11
        name:
          type: string
          description: The name of the E2E key.
          example: Default E2E key
        algorithm:
          type: string
          description: Protocol between mobile SDK and the Server. Possible values `X25519`|`SECT233K1`
          example: X25519
        description:
          type: string
          description: The description of the E2E key.
          example: This is the E2E key ...
        createdBy:
          type: string
          description: The user ID (`userId`) of the creator of the E2E key.
          example: 52e107e6-1ce9-4a4b-a051-612ad888de11
        created:
          type: string
          description: 'The timestamp when the E2E key was created.


            **Format**: `yyyy-MM-dd''T''HH:mm:ss.SSSZ`.

            '
          example: '2021-01-22T21:47:27.123Z'
        sha256Fingerprint:
          type: string
          description: The SHA256 hash of the E2E key certificate.
          example: 21:31:57:72:33:ec:23:84:ad:30:68:1c:e3:ab
        publicKey:
          type: string
          description: The E2E key certificate, which has been Base64 encoded.
          example: cHVibGljS2V5VmFsdWU=
        state:
          type: string
          description: The E2E key state, can be either `ENABLED` or `DISABLED`
          example: ENABLED
  securitySchemes:
    Access_token_with_client_with_MobileID_Config_Editor_role:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Access token with client with MobileID Config Editor role
    Access_token_with_client_with_Signicat_MobileID_Config_Admin_role:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Access token with client with Signicat MobileID Config Admin role
x-refined-from:
- mobileid-admin-openapi.json
- signicat-mobileid-admin-openapi.yml