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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/x-road-global:x-road-global-members-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
openapi: 3.2.0
info:
title: X Road Global Members 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 members 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: Members
description: resources related to Members
paths:
/members:
post:
description: 'CS administrator creates a new member.
The member id will be validated and if the validation fails a validation error is returned.
Member''s association with security servers is created through management requests.'
operationId: addMember
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MemberAdd'
description: Member details
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Client'
description: new member created
'400':
content:
application/json:
examples:
error_response:
$ref: '#/components/examples/ErrorExample'
validation_errors_response:
$ref: '#/components/examples/ValidationErrorsExample'
schema:
$ref: '#/components/schemas/ErrorInfo'
description: there are errors in the request
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalServerError'
summary: add new member to the central server
tags:
- Members
servers:
- description: basepath for API v1
url: /api/v1
/members/{member_id}:
parameters:
- $ref: '#/components/parameters/MemberIdParam'
delete:
description: CS administrator deletes a member
operationId: deleteMember
responses:
'204':
$ref: '#/components/responses/NoContent'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/Conflict'
'500':
$ref: '#/components/responses/InternalServerError'
summary: delete a member
tags:
- Members
get:
description: CS administrator views a members's details.
operationId: getMember
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Client'
description: a member
'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 a member by its id
tags:
- Members
patch:
description: 'CS administrator edits the name of an X-Road member.
Attempting to edit name with subsystem id results in http 400'
operationId: updateMemberName
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MemberName'
description: member name
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Client'
description: the updated member
'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 name of a member
tags:
- Members
servers:
- description: basepath for API v1
url: /api/v1
/members/{member_id}/subsystems:
get:
description: CS Administrator lists subsystems.
operationId: getSubsystems
parameters:
- $ref: '#/components/parameters/MemberIdParam'
responses:
'200':
content:
application/json:
schema:
description: array of subsystems
items:
$ref: '#/components/schemas/Subsystem'
type: array
uniqueItems: false
description: array of subsystems
'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: List subsystems
tags:
- Members
servers:
- description: basepath for API v1
url: /api/v1
/members/{member_id}/global-groups:
get:
description: CS administrator views a members' global groups.
operationId: getMemberGlobalGroups
parameters:
- $ref: '#/components/parameters/MemberIdParam'
responses:
'200':
content:
application/json:
schema:
description: array of member global groups
items:
$ref: '#/components/schemas/MemberGlobalGroup'
type: array
uniqueItems: false
description: List of member's global groups
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
tags:
- Members
summary: Get member global groups
x-summary-source: derived
servers:
- description: basepath for API v1
url: /api/v1
/members/{member_id}/owned-servers:
get:
description: CS administrator views a members' owned servers.
operationId: getOwnedServers
parameters:
- $ref: '#/components/parameters/MemberIdParam'
responses:
'200':
content:
application/json:
schema:
description: array of member security servers
items:
$ref: '#/components/schemas/SecurityServer'
type: array
uniqueItems: false
description: List of member's global groups
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
tags:
- Members
summary: Get owned servers
x-summary-source: derived
servers:
- description: basepath for API v1
url: /api/v1
/members/{member_id}/used-servers:
get:
description: CS administrator views a servers, where member is registered as a client.
operationId: getUsedServers
parameters:
- $ref: '#/components/parameters/MemberIdParam'
responses:
'200':
content:
application/json:
schema:
description: array of member security servers
items:
$ref: '#/components/schemas/SecurityServer'
type: array
uniqueItems: false
description: List of member's global groups
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
tags:
- Members
summary: Get used servers
x-summary-source: derived
servers:
- description: basepath for API v1
url: /api/v1
/members/{member_id}/servers/{server_id}:
delete:
description: CS administrator unregisters a member from a Security Server
operationId: unregisterMember
parameters:
- $ref: '#/components/parameters/MemberIdParam'
- $ref: '#/components/parameters/ServerIdParam'
responses:
'204':
$ref: '#/components/responses/NoContent'
'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: delete a member
tags:
- Members
servers:
- description: basepath for API v1
url: /api/v1
components:
schemas:
EncodedId:
type: object
description: Encoded identifier
properties:
encoded_id:
readOnly: true
type: string
description: Encoded ID of Security Server, Member or Subsystem Id
UsedSecurityServers:
allOf:
- $ref: '#/components/schemas/EncodedId'
properties:
server_code:
description: security server code
type: string
server_owner:
description: security server owner
type: string
status:
description: security server status
type: string
type: object
SecurityServer:
allOf:
- $ref: '#/components/schemas/SecurityServerAddress'
- $ref: '#/components/schemas/ModificationTimestamps'
description: security server information
properties:
server_id:
$ref: '#/components/schemas/SecurityServerId'
owner_name:
type: string
readOnly: true
in_maintenance_mode:
description: true if the security server is in maintenance mode, false otherwise
type: boolean
readOnly: true
maintenance_mode_message:
description: optional message of maintenance mode
type: string
readOnly: true
required:
- server_id
- in_maintenance_mode
type: object
Subsystem:
allOf:
- $ref: '#/components/schemas/SubsystemName'
properties:
subsystem_id:
$ref: '#/components/schemas/ClientId'
used_security_servers:
items:
$ref: '#/components/schemas/UsedSecurityServers'
type: array
type: object
required:
- subsystem_id
- used_security_servers
Client:
allOf:
- $ref: '#/components/schemas/MemberName'
description: x-road member
required:
- client_id
properties:
client_id:
$ref: '#/components/schemas/ClientId'
type: object
ErrorInfo:
$ref: ../../../../../common/common-admin-api/src/main/resources/common-openapi-definition.yaml#/components/schemas/ErrorInfo
XRoadId:
type: object
description: X-Road identifier
discriminator:
propertyName: type
mapping:
MEMBER: '#/components/schemas/ClientId'
SERVER: '#/components/schemas/SecurityServerId'
SUBSYSTEM: '#/components/schemas/ClientId'
properties:
instance_id:
description: Xroad instance id. Cannot contain colons, semicolons, slashes, backslashes, percent signs or control characters
example: FI
format: text
maxLength: 255
minLength: 1
type: string
readOnly: true
type:
type: string
enum:
- MEMBER
- SUBSYSTEM
- SERVER
- GLOBALGROUP
- SERVICE
- LOCALGROUP
required:
- instance_id
- type
SecurityServerAddress:
description: security server address
properties:
server_address:
description: security server address (ip or name)
example: 192.168.1.100
format: text
maxLength: 255
type: string
required:
- server_address
type: object
ModificationTimestamps:
description: created_at and updated_at timestamps
properties:
created_at:
description: object creation time
example: '2022-01-20T00:00:00.001Z'
format: date-time
readOnly: true
type: string
updated_at:
description: last time updated
example: '2022-01-22T07:30:00.001Z'
format: date-time
readOnly: true
type: string
type: object
ClientId:
type: object
description: Client identifier
allOf:
- $ref: '#/components/schemas/XRoadId'
- $ref: '#/components/schemas/MemberId'
- $ref: '#/components/schemas/EncodedId'
properties:
subsystem_code:
type: string
format: text
description: Subsystem code. Cannot contain colons, semicolons, slashes, backslashes, percent signs or control characters
example: ABC
minLength: 1
maxLength: 255
MemberName:
description: x-road member name
properties:
member_name:
description: Member name.
example: Member123
format: text
maxLength: 255
minLength: 1
type: string
type: object
MemberAdd:
allOf:
- $ref: '#/components/schemas/MemberName'
description: x-road member to add
required:
- member_id
properties:
member_id:
$ref: '#/components/schemas/NewMemberId'
type: object
SecurityServerId:
allOf:
- $ref: '#/components/schemas/XRoadId'
- $ref: '#/components/schemas/MemberId'
- $ref: '#/components/schemas/EncodedId'
type: object
properties:
server_code:
description: security server code
example: server123
format: text
maxLength: 255
minLength: 1
type: string
required:
- server_code
NewMemberId:
description: ID for x-road member to add
type: object
allOf:
- $ref: '#/components/schemas/MemberId'
MemberId:
type: object
description: Member identifier
properties:
member_class:
description: Member class. Cannot contain colons, semicolons, slashes, backslashes, percent signs or control characters
example: GOV
format: text
maxLength: 255
minLength: 1
type: string
member_code:
description: Member code. Cannot contain colons, semicolons, slashes, backslashes, percent signs or control characters
example: 123
format: text
maxLength: 255
minLength: 1
type: string
required:
- member_class
- member_code
MemberGlobalGroup:
description: Member's global group
properties:
group_code:
type: string
format: text
minLength: 1
maxLength: 255
readOnly: true
subsystem:
type: string
format: text
minLength: 0
maxLength: 255
readOnly: true
added_to_group:
example: '2022-01-22T07:30:00.001Z'
type: string
format: date-time
readOnly: true
type: object
SubsystemName:
description: x-road subsystem name
properties:
subsystem_name:
description: Subsystem name.
example: Subsystem123
format: text
maxLength: 255
minLength: 0
type: string
type: object
responses:
Conflict:
description: an existing item already exists
BadRequest:
description: request was invalid
NoContent:
description: request was successful
NotFound:
description: resource requested does not exists
Forbidden:
description: request has been refused
Unauthorized:
description: authentication credentials are missing
InternalServerError:
description: internal server error
parameters:
ServerIdParam:
in: path
name: server_id
description: the encoded string representation of the Security Server id
example: FI:GOV:123:sserver1
required: true
schema:
format: text
maxLength: 1023
minLength: 1
type: string
MemberIdParam:
in: path
name: member_id
description: the encoded string representation of the x-road member id
example: FI:GOV:123
required: true
schema:
format: text
maxLength: 1023
minLength: 1
type: string
examples:
ValidationErrorsExample:
summary: Validation errors response body example
value:
error:
code: validation_failure
validation_errors:
initialServerConfDto.instanceIdentifier:
- IdentifierChars
status: 400
ErrorExample:
$ref: ../../../../../common/common-admin-api/src/main/resources/common-openapi-definition.yaml#/components/examples/ErrorExample
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