X-Road (NIIS) Dataspace API
data space provisioning endpoints
data space provisioning endpoints
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/x-road-global:x-road-global-dataspace-api"
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.
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: 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