X-Road (NIIS) Management Services API

resources related to Management Services

GitHub OpenAPI

Operations 8

GET /management-services-configuration get the current management services configuration #
PATCH /management-services-configuration update the management services configuration #
POST /management-services-configuration/register-provider Register service provider #
GET /management-services-configuration/download-certificate download the management service certificate as gzip compressed tar archive #
GET /management-services-configuration/certificate view the management service certificate information #
POST /management-services-configuration/certificate generate a new management service TLS key and self-sign cert #
POST /management-services-configuration/generate-csr generate new certificate request #
POST /management-services-configuration/upload-certificate upload new management service TLS certificate #

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-management-services-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-management-services-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: X Road Global Management Services API
  version: 1.0.0
  contact:
    email: info@niis.org
    name: Nordic Institute for Interoperability Solutions (NIIS)
    url: https://github.com/nordic-institute/X-Road-development/#enhancement-requests-and-error-reports
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  description: 'Operations tagged management-services across 2 of this provider''s published API definitions: central-server-admin-openapi.yaml, x-road-global-central-server-admin-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- description: basepath for API v1
  url: /api/v1
security:
- ApiKeyAuth: []
tags:
- name: management-services
  description: resources related to Management Services
paths:
  /management-services-configuration:
    get:
      description: Administrator views the management services configuration of the Central Server.
      operationId: getManagementServicesConfiguration
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagementServicesConfiguration'
          description: the management services configuration
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: get the current management services configuration
      tags:
      - management-services
    patch:
      description: CS Administrator updates the management services configuration of the Central Server.
      operationId: updateManagementServicesConfiguration
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceProviderId'
        description: the x-road member that is the new service provider identifier of the management services
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagementServicesConfiguration'
          description: the new status of the updated management services
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: update the management services configuration
      tags:
      - management-services
    servers:
    - description: basepath for API v1
      url: /api/v1
  /management-services-configuration/register-provider:
    post:
      description: CS Administrator registers management service provider as security server client.
      operationId: registerServiceProvider
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterServiceProviderRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagementServicesConfiguration'
          description: Management services configuration
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
      - management-services
      summary: Register service provider
      x-summary-source: derived
    servers:
    - description: basepath for API v1
      url: /api/v1
  /management-services-configuration/download-certificate:
    get:
      tags:
      - management-services
      summary: download the management service certificate as gzip compressed tar archive
      operationId: downloadCertificate
      description: Administrator downloads the management service TLS certificate.
      responses:
        '200':
          description: information fetched successfully
          content:
            application/gzip:
              schema:
                type: string
                format: binary
                description: certificate file
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
    servers:
    - description: basepath for API v1
      url: /api/v1
  /management-services-configuration/certificate:
    get:
      tags:
      - management-services
      summary: view the management service certificate information
      operationId: getCertificate
      description: Administrator views the management service TLS certificate information.
      responses:
        '200':
          description: certificate information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateDetails'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
    post:
      tags:
      - management-services
      summary: generate a new management service TLS key and self-sign cert
      operationId: generateKeyAndCertificate
      description: Administrator generates new management service TLS key and certificate.
      responses:
        '201':
          description: tls key generated
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
    servers:
    - description: basepath for API v1
      url: /api/v1
  /management-services-configuration/generate-csr:
    post:
      tags:
      - management-services
      summary: generate new certificate request
      operationId: generateCertificateRequest
      description: Administrator generates a new certificate request.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DistinguishedName'
        required: true
      responses:
        '201':
          description: created CSR
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
                description: csr file
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
    servers:
    - description: basepath for API v1
      url: /api/v1
  /management-services-configuration/upload-certificate:
    post:
      tags:
      - management-services
      summary: upload new management service TLS certificate
      operationId: uploadCertificate
      description: Administrator uploads a new management service TLS certificate
      requestBody:
        description: certificate file
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CertificateFile'
      responses:
        '200':
          description: tls certificate imported
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateDetails'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
    servers:
    - description: basepath for API v1
      url: /api/v1
components:
  responses:
    NotFound:
      description: resource requested does not exists
    Unauthorized:
      description: authentication credentials are missing
    Forbidden:
      description: request has been refused
    InternalServerError:
      description: internal server error
    BadRequest:
      description: request was invalid
  schemas:
    DistinguishedName:
      type: object
      properties:
        name:
          type: string
          format: text
          description: distinguished name
          example: C=FI, O=X-Road Test, OU=X-Road Test CA OU, CN=X-Road Test CA CN
          minLength: 1
          maxLength: 255
    RegisterServiceProviderRequest:
      properties:
        security_server_id:
          description: encoded id of the security server
          example: CS:ORG:111:SS1
          format: text
          maxLength: 1279
          minLength: 1
          readOnly: true
          type: string
      type: object
      required:
      - security_server_id
    CertificateFile:
      description: certificate file
      properties:
        certificate:
          description: the certificate file
          format: binary
          type: string
      required:
      - certificate
      type: object
    CertificateDetails:
      description: certificate details for any kind of certificate (TLS, auth, sign)
      properties:
        hash:
          description: certificate SHA-256 hash
          example: 1234567890ABCDEF
          format: text
          maxLength: 64
          minLength: 1
          type: string
        issuer_common_name:
          description: certificate issuer common name
          example: domain.com
          format: text
          maxLength: 255
          minLength: 1
          type: string
        issuer_distinguished_name:
          description: certificate issuer distinguished name
          example: issuer123
          format: text
          maxLength: 255
          minLength: 1
          type: string
        key_usages:
          description: certificate key usage array
          items:
            $ref: '#/components/schemas/KeyUsage'
          type: array
          uniqueItems: false
        not_after:
          description: certificate validity not after
          example: '2022-01-17T00:00:00.001Z'
          format: date-time
          maxLength: 24
          minLength: 24
          type: string
        not_before:
          description: certificate validity not before
          example: '2022-01-17T00:00:00.001Z'
          format: date-time
          maxLength: 24
          minLength: 24
          type: string
        public_key_algorithm:
          description: certificate public key algorithm
          example: sha256WithRSAEncryption
          format: sha-256
          maxLength: 255
          minLength: 1
          type: string
        rsa_public_key_exponent:
          description: RSA public key exponent (if RSA key) as an integer
          example: 65537
          format: int32
          type: integer
        rsa_public_key_modulus:
          description: hex encoded RSA public key modulus (if RSA key)
          example: c44421d601...
          format: hex
          maxLength: 1000
          minLength: 1
          type: string
        ec_public_parameters:
          description: EC public key named curve (if EC key)
          example: secp256r1(1.2.840.10045.3.1.7)
          format: text
          maxLength: 255
          minLength: 1
          type: string
        ec_public_key_point:
          description: hex encoded EC public key point (if EC key)
          example: c44421d601...
          format: hex
          maxLength: 1000
          minLength: 1
          type: string
        serial:
          description: serial number
          example: '123456789'
          format: text
          maxLength: 255
          minLength: 1
          type: string
        signature:
          description: hex encoded certificate signature
          example: 30af2fdc1780...
          format: text
          maxLength: 255
          minLength: 1
          type: string
        signature_algorithm:
          description: certificate signature algorithm
          example: sha256WithRSAEncryption
          format: sha-256
          maxLength: 255
          minLength: 1
          type: string
        subject_alternative_names:
          description: certificate subject alternative names
          example: DNS:*.example.org
          format: text
          maxLength: 1000
          minLength: 1
          type: string
        subject_common_name:
          description: certificate subject common name
          example: domain.com
          format: text
          maxLength: 255
          minLength: 1
          type: string
        subject_distinguished_name:
          description: certificate subject distinguished name
          example: subject123
          format: text
          maxLength: 255
          minLength: 1
          type: string
        version:
          description: version
          example: 3
          format: int32
          type: integer
      required:
      - issuer_distinguished_name
      - issuer_common_name
      - subject_distinguished_name
      - subject_common_name
      - not_before
      - not_after
      - serial
      - version
      - signature_algorithm
      - signature
      - public_key_algorithm
      - rsa_public_key_modulus
      - rsa_public_key_exponent
      - hash
      - key_usages
      - subject_alternative_names
      type: object
    KeyUsage:
      description: certificate key usage
      enum:
      - DIGITAL_SIGNATURE
      - NON_REPUDIATION
      - KEY_ENCIPHERMENT
      - DATA_ENCIPHERMENT
      - KEY_AGREEMENT
      - KEY_CERT_SIGN
      - CRL_SIGN
      - ENCIPHER_ONLY
      - DECIPHER_ONLY
      example: NON_REPUDIATION
      type: string
    ServiceProviderId:
      properties:
        service_provider_id:
          description: encoded id of the x-road member that provides the management services
          example: FI:GOV:123:ABC
          format: text
          maxLength: 1279
          minLength: 1
          type: string
      type: object
    ManagementServicesConfiguration:
      allOf:
      - $ref: '#/components/schemas/ServiceProviderId'
      properties:
        security_server_id:
          description: encoded id of the security server that provides the management services
          example: CS:ORG:111:SS1
          format: text
          maxLength: 1279
          minLength: 1
          readOnly: true
          type: string
        security_server_owners_global_group_code:
          description: the global group code of security server owners
          example: security-server-owners
          format: text
          minLength: 1
          maxLength: 255
          readOnly: true
          type: string
        service_provider_name:
          description: name of the service provider
          example: NIIS
          format: text
          maxLength: 255
          minLength: 1
          readOnly: true
          type: string
        services_address:
          description: the url of the management services
          example: https://dev.xroad.rocks/managementservice/manage/
          format: url
          minLength: 1
          readOnly: true
          type: string
        wsdl_address:
          description: the url of the management service wsdl
          example: https://dev.xroad.rocks/managementservices.wsdl
          format: url
          minLength: 1
          readOnly: true
          type: string
      required:
      - security_server_id
      - security_server_owners_global_group_code
      - service_provider_name
      - services_address
      - wsdl_address
      type: object
  securitySchemes:
    ApiKeyAuth:
      description: X-Road-ApiKey token=<api key>
      in: header
      name: Authorization
      type: apiKey
x-refined-from:
- central-server-admin-openapi.yaml
- x-road-global-central-server-admin-openapi.yml