X-Road (NIIS) Intermediate Cas API

resources related to Intermediate Certificate Authorities

GitHub OpenAPI

Operations 5

DELETE /intermediate-cas/{intermediate_ca_id} delete an intermediate certificate authority #
GET /intermediate-cas/{intermediate_ca_id} get an intermediate certificate authority #
GET /intermediate-cas/{intermediate_ca_id}/ocsp-responders get the ocsp responders of an intermediate certificate authority #
POST /intermediate-cas/{intermediate_ca_id}/ocsp-responders add an ocsp responder to an intermediate certificate authority #
DELETE /intermediate-cas/{intermediate_ca_id}/ocsp-responders/{ocsp_responder_id} delete an intermediate certificate authority ocsp responder #

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-intermediate-cas-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-intermediate-cas-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: X Road Global Intermediate Cas 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 intermediate-cas 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: intermediate-cas
  description: resources related to Intermediate Certificate Authorities
paths:
  /intermediate-cas/{intermediate_ca_id}:
    parameters:
    - $ref: '#/components/parameters/IntermediateCaIdParam'
    delete:
      description: CS administrator deletes an intermediate CA.
      operationId: deleteIntermediateCa
      responses:
        '204':
          description: ca deletion was successful
        '400':
          content:
            application/json:
              examples:
                error_response:
                  $ref: '#/components/examples/ErrorExample'
                warnings_response:
                  $ref: '#/components/examples/DeleteKeyWarningExample'
              schema:
                $ref: '#/components/schemas/ErrorInfo'
          description: request was invalid
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: delete an intermediate certificate authority
      tags:
      - intermediate-cas
    get:
      description: CS administrator views the details of an intermediate CA.
      operationId: getIntermediateCa
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateAuthority'
          description: intermediate certificate authority
        '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: get an intermediate certificate authority
      tags:
      - intermediate-cas
    servers:
    - description: basepath for API v1
      url: /api/v1
  /intermediate-cas/{intermediate_ca_id}/ocsp-responders:
    parameters:
    - $ref: '#/components/parameters/IntermediateCaIdParam'
    get:
      description: CS administrator views the OCSP responders configured for an intermediate CA.
      operationId: getIntermediateCaOcspResponders
      responses:
        '200':
          content:
            application/json:
              schema:
                description: array of ocsp responders
                items:
                  $ref: '#/components/schemas/OcspResponder'
                type: array
                uniqueItems: false
          description: list of ocsp responders belonging to the intermediate certificate authority
        '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: get the ocsp responders of an intermediate certificate authority
      tags:
      - intermediate-cas
    post:
      description: CS administrator adds an OCSP responder service information for an intermediate CA.
      operationId: addIntermediateCaOcspResponder
      requestBody:
        content:
          multipart/form-data:
            schema:
              allOf:
              - $ref: '#/components/schemas/OcspResponderUrl'
              - $ref: '#/components/schemas/CostTypeProperty'
              - $ref: '#/components/schemas/CertificateFile'
              required:
              - url
              - cost_type
        description: ocsp responder to add
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OcspResponder'
          description: created item
        '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: add an ocsp responder to an intermediate certificate authority
      tags:
      - intermediate-cas
    servers:
    - description: basepath for API v1
      url: /api/v1
  /intermediate-cas/{intermediate_ca_id}/ocsp-responders/{ocsp_responder_id}:
    delete:
      description: CS administrator deletes an OCSP responder of intermediate CA.
      operationId: deleteIntermediateCaOcspResponder
      parameters:
      - $ref: '#/components/parameters/IntermediateCaIdParam'
      - $ref: '#/components/parameters/OcspResponderIdParam'
      responses:
        '204':
          description: ocsp responder of ca deletion was successful
        '400':
          content:
            application/json:
              examples:
                error_response:
                  $ref: '#/components/examples/ErrorExample'
                warnings_response:
                  $ref: '#/components/examples/DeleteKeyWarningExample'
              schema:
                $ref: '#/components/schemas/ErrorInfo'
          description: request was invalid
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: delete an intermediate certificate authority ocsp responder
      tags:
      - intermediate-cas
    servers:
    - description: basepath for API v1
      url: /api/v1
components:
  responses:
    NotFound:
      description: resource requested does not exists
    Forbidden:
      description: request has been refused
    Unauthorized:
      description: authentication credentials are missing
    InternalServerError:
      description: internal server error
    BadRequest:
      description: request was invalid
  examples:
    DeleteKeyWarningExample:
      summary: Warning response when trying to delete an authentication key with a registered authentication certificate
      value:
        error:
          code: warnings_detected
        status: 400
        warnings:
        - code: auth_key_with_registered_cert_warning
          metadata:
          - 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF
    ErrorExample:
      $ref: ../../../../../common/common-admin-api/src/main/resources/common-openapi-definition.yaml#/components/examples/ErrorExample
  schemas:
    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
    OcspResponderUrl:
      description: OCSP responder url
      properties:
        url:
          description: url of the OCSP responder
          example: http://dev.xroad.rocks:123
          format: url
          maxLength: 255
          minLength: 1
          type: string
      required:
      - url
      type: object
    CertificateFile:
      description: certificate file
      properties:
        certificate:
          description: the certificate file
          format: binary
          type: string
      required:
      - certificate
      type: object
    OcspResponder:
      allOf:
      - $ref: '#/components/schemas/OcspResponderUrl'
      - $ref: '#/components/schemas/CostTypeProperty'
      description: OCSP responder
      properties:
        id:
          description: unique identifier
          example: 123
          format: int32
          readOnly: true
          type: integer
        has_certificate:
          description: has OCSP responder certificate
          default: false
          type: boolean
      required:
      - id
    CostType:
      description: cost type for services like TSP-s and OCSP responders
      enum:
      - FREE
      - PAID
      - UNDEFINED
      example: FREE
      type: string
    ErrorInfo:
      $ref: ../../../../../common/common-admin-api/src/main/resources/common-openapi-definition.yaml#/components/schemas/ErrorInfo
    CertificateAuthority:
      description: approved certificate authority information
      properties:
        id:
          description: unique identifier
          example: 123
          format: int32
          readOnly: true
          type: integer
        certification_service_id:
          description: unique identifier
          example: 123
          format: int32
          readOnly: true
          type: integer
        ca_certificate:
          $ref: '#/components/schemas/CertificateDetails'
      required:
      - ca_certificate
      type: object
    CostTypeProperty:
      type: object
      description: Object containing cost_type field of CostType enum
      properties:
        cost_type:
          $ref: '#/components/schemas/CostType'
      required:
      - cost_type
  parameters:
    OcspResponderIdParam:
      in: path
      name: ocsp_responder_id
      description: unique identifier of the intermediateCA ocsp responder
      required: true
      schema:
        format: int32
        minimum: 1
        type: integer
    IntermediateCaIdParam:
      in: path
      name: intermediate_ca_id
      description: unique identifier of the intermediate certificate authority
      required: true
      schema:
        format: int32
        minimum: 1
        type: integer
  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