X-Road (NIIS) Dataspace API

data space provisioning endpoints

GitHub OpenAPI

Operations 3

GET /dataspace/provisioning-status view data space provisioning status #
GET /dataspace/agreement-token-key view agreement token signing key status #
POST /dataspace/agreement-token-key/rotate rotate the agreement token signing key #

Specifications

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/x-road-global:x-road-global-dataspace-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

x-road-global-dataspace-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: X Road Global Dataspace API
  version: 2.1.0
  contact:
    name: Nordic Institute for Interoperability Solutions (NIIS)
    url: https://github.com/nordic-institute/X-Road-development/#enhancement-requests-and-error-reports
    email: info@niis.org
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  description: 'Operations tagged dataspace across 2 of this provider''s published API definitions: security-server-admin-openapi.yaml, x-road-global-security-server-admin-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: /api/v1
  description: basepath for API v1
security:
- ApiKeyAuth: []
tags:
- name: dataspace
  description: data space provisioning endpoints
paths:
  /dataspace/provisioning-status:
    get:
      tags:
      - dataspace
      summary: view data space provisioning status
      operationId: getDataspaceProvisioningStatus
      description: Administrator views the data space participant context provisioning status.
      responses:
        '200':
          description: data space provisioning status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataspaceProvisioningStatus'
        '400':
          description: request was invalid
        '401':
          description: authentication credentials are missing
        '403':
          description: request has been refused
        '404':
          description: resource requested does not exists
        '406':
          description: request specified an invalid format
        '500':
          description: internal server error
    servers:
    - url: /api/v1
      description: basepath for API v1
  /dataspace/agreement-token-key:
    get:
      tags:
      - dataspace
      summary: view agreement token signing key status
      operationId: getAgreementTokenKeyStatus
      description: Administrator views the status of the agreement token signing key of the connected proxy.
      responses:
        '200':
          description: agreement token signing key status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgreementTokenKeyStatus'
        '400':
          description: request was invalid
        '401':
          description: authentication credentials are missing
        '403':
          description: request has been refused
        '404':
          description: resource requested does not exists
        '406':
          description: request specified an invalid format
        '500':
          description: internal server error
    servers:
    - url: /api/v1
      description: basepath for API v1
  /dataspace/agreement-token-key/rotate:
    post:
      tags:
      - dataspace
      summary: rotate the agreement token signing key
      operationId: rotateAgreementTokenKey
      description: 'Administrator rotates the agreement token signing key.

        A new key is generated and starts signing within two key refresh intervals. Earlier keys are kept so that tokens already issued keep verifying until they expire.'
      responses:
        '200':
          description: id of the newly generated key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgreementTokenKeyRotation'
        '400':
          description: request was invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
              examples:
                error_response:
                  $ref: '#/components/examples/ErrorExample'
        '401':
          description: authentication credentials are missing
        '403':
          description: request has been refused
        '404':
          description: resource requested does not exists
        '406':
          description: request specified an invalid format
        '500':
          description: internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
        '503':
          description: key material or the secret store is not available
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
              examples:
                error_response:
                  $ref: '#/components/examples/ErrorExample'
    servers:
    - url: /api/v1
      description: basepath for API v1
components:
  schemas:
    AgreementTokenKeyRotation:
      type: object
      description: result of an agreement token signing key rotation
      required:
      - key_id
      properties:
        key_id:
          type: string
          readOnly: true
          description: id of the newly generated key
    DataspacePublicationState:
      type: string
      readOnly: true
      description: 'whether the SYSTEM values have reached the Central Server. NOT_SENT: not sent yet or retrying. SUBMITTED: accepted by the Central Server, not yet in globalconf. PUBLISHED: seen in globalconf. REJECTED: refused with a final reason.'
      enum:
      - NOT_SENT
      - SUBMITTED
      - PUBLISHED
      - REJECTED
    DataspaceServerStatus:
      type: object
      description: server-level data space status, including the publication of the SYSTEM values
      required:
      - dataspace_ready
      - publication_state
      properties:
        dataspace_ready:
          type: boolean
          readOnly: true
          description: whether the data space is ready, that is globalconf lists a credential issuer for this instance
        dsp_base_url:
          type: string
          readOnly: true
          description: DSP base URL of this security server, built from the registered address; absent while the address is unknown
        publication_state:
          $ref: '#/components/schemas/DataspacePublicationState'
        publication_reason:
          type: string
          readOnly: true
          description: reason for the publication state, for example the Central Server's conflict reason
    DataspaceParticipantContextStatus:
      type: object
      description: provisioning status for one data space participant context
      required:
      - participant_id
      - kind
      - context_created
      - credential_status
      - identity_status
      properties:
        participant_id:
          type: string
          readOnly: true
          description: participant context id
        kind:
          type: string
          readOnly: true
          description: participant context kind
          enum:
          - SYSTEM
          - MEMBER
        context_created:
          type: boolean
          readOnly: true
          description: whether the participant context has been created in IdentityHub
        credential_status:
          type: string
          readOnly: true
          description: status of the X-Road membership credential
          enum:
          - ISSUED
          - PENDING
          - ABSENT
          - ERROR
          - UNKNOWN
        identity_status:
          type: string
          readOnly: true
          description: bound-identity verification state of the participant context, for MEMBER and SYSTEM contexts alike; REJECTED means the registered address cannot carry a DID, so nothing is bound
          enum:
          - OK
          - VERSION_UNSUPPORTED
          - UNBOUND
          - REJECTED
          - DRIFTED
          - UNKNOWN
        publication_state:
          $ref: '#/components/schemas/DataspacePublicationState'
        publication_reason:
          type: string
          readOnly: true
          description: reason for the publication state of a MEMBER context; absent for SYSTEM contexts
    AgreementTokenKeyStatus:
      type: object
      description: status of the agreement token signing key of the connected proxy
      required:
      - available
      - retained_key_count
      properties:
        available:
          type: boolean
          readOnly: true
          description: false when the proxy has not loaded any signing key material since it started
        active_key_id:
          type: string
          readOnly: true
          description: id of the key signing new tokens now
        active_key_created_at:
          type: string
          format: date-time
          readOnly: true
          description: creation time of the signing key, absent for keys stored without a creation time
        retained_key_count:
          type: integer
          readOnly: true
          description: number of retained signing keys
        pending_key_id:
          type: string
          readOnly: true
          description: id of the newest key when it does not sign yet, absent otherwise
    DataspaceProvisioningStatus:
      type: object
      description: aggregate status of data space membership credential provisioning
      required:
      - enabled
      - auth_cert_registered
      - server
      - participant_contexts
      properties:
        enabled:
          type: boolean
          readOnly: true
          description: whether data space provisioning is enabled on this security server
        auth_cert_registered:
          type: boolean
          readOnly: true
          description: whether the authentication certificate is in REGISTERED state
        server:
          $ref: '#/components/schemas/DataspaceServerStatus'
        participant_contexts:
          type: array
          readOnly: true
          description: provisioning status per participant context
          items:
            $ref: '#/components/schemas/DataspaceParticipantContextStatus'
    ErrorInfo:
      $ref: ../../../../../../common/common-admin-api/src/main/resources/common-openapi-definition.yaml#/components/schemas/ErrorInfo
  examples:
    ErrorExample:
      $ref: ../../../../../../common/common-admin-api/src/main/resources/common-openapi-definition.yaml#/components/examples/ErrorExample
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: X-Road-ApiKey token=<api key>
x-refined-from:
- security-server-admin-openapi.yaml
- x-road-global-security-server-admin-openapi.yml