X-Road (NIIS) Global Groups API
resources related to Global Groups
Operations 10
GET
/global-groups/{group_code}/members/filter-model
get filter model to search global group members
#
resources related to Global Groups
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-global-groups-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 Global Groups 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 global-groups 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: global-groups
description: resources related to Global Groups
paths:
/global-groups:
get:
description: CS administrator searches for global groups.
operationId: findGlobalGroups
responses:
'200':
content:
application/json:
schema:
description: array of global groups
items:
$ref: '#/components/schemas/GlobalGroupResource'
type: array
uniqueItems: false
description: list of global groups
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
summary: find global groups
tags:
- global-groups
post:
description: CS administrator adds a global group to the central server.
operationId: addGlobalGroup
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalGroupCodeAndDescription'
description: global group code and description
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalGroupResource'
description: new global group 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 global group
tags:
- global-groups
servers:
- description: basepath for API v1
url: /api/v1
/global-groups/{group_code}:
parameters:
- $ref: '#/components/parameters/GroupCodeParam'
delete:
description: 'CS administrator deletes a global group.
The access rights that were granted for the group will not be available for the X-Road members and subsystems that were the members of this group.'
operationId: deleteGlobalGroup
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 global group
tags:
- global-groups
get:
description: CS administrator views the details of a global group.
operationId: getGlobalGroup
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalGroupResource'
description: global group
'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 global group information
tags:
- global-groups
patch:
description: CS administrator changes the description of the global group.
operationId: updateGlobalGroupDescription
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalGroupDescription'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalGroupResource'
description: global group modified
'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 global group description
tags:
- global-groups
servers:
- description: basepath for API v1
url: /api/v1
/global-groups/{group_code}/members/filter-model:
get:
description: CS administrator filter model to search global group members.
operationId: getGroupMembersFilterModel
parameters:
- $ref: '#/components/parameters/GroupCodeParam'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GroupMembersFilterModel'
description: global group
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
summary: get filter model to search global group members
tags:
- global-groups
servers:
- description: basepath for API v1
url: /api/v1
/global-groups/{group_code}/members/add:
post:
description: CS administrator adds an X-Road member or a member's subsystem to a global group.
operationId: addGlobalGroupMembers
parameters:
- $ref: '#/components/parameters/GroupCodeParam'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Members'
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Members'
description: Response list contains only new members added to group, if request contains member already in group then it will be excluded from response.
'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: add new members for the global group
tags:
- global-groups
servers:
- description: basepath for API v1
url: /api/v1
/global-groups/{group_code}/members:
post:
description: CS administrator view of global group members.
operationId: findGlobalGroupMembers
parameters:
- $ref: '#/components/parameters/GroupCodeParam'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GroupMembersFilter'
responses:
'200':
description: paged array of global group members
content:
application/json:
schema:
$ref: '#/components/schemas/PagedGroupMemberListView'
'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: find global group members
tags:
- global-groups
servers:
- description: basepath for API v1
url: /api/v1
/global-groups/{group_code}/members/{client_id}:
delete:
description: Administrator deletes member from global group.
operationId: deleteGlobalGroupMember
parameters:
- $ref: '#/components/parameters/GroupCodeParam'
- $ref: '#/components/parameters/ClientIdParam'
responses:
'204':
description: member deleted
'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 member from global group
tags:
- global-groups
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:
- global-groups
summary: Get member global groups
x-summary-source: derived
servers:
- description: basepath for API v1
url: /api/v1
components:
schemas:
GroupMembersFilter:
description: parameters for filtering global group members search results
properties:
query:
description: free text query
type:
- string
- 'null'
member_class:
description: member class
type:
- string
- 'null'
instance:
description: X-Road instance
type:
- string
- 'null'
codes:
description: member code
items:
type: string
type:
- array
- 'null'
subsystems:
description: subsystem code
items:
type: string
type:
- array
- 'null'
types:
description: client type
items:
$ref: '#/components/schemas/ClientType'
paging_sorting:
description: paging sorting parameters
allOf:
- $ref: '#/components/schemas/PagingSortingParameters'
type: object
EncodedId:
type: object
description: Encoded identifier
properties:
encoded_id:
readOnly: true
type: string
description: Encoded ID of Security Server, Member or Subsystem Id
ClientType:
description: client type
enum:
- MEMBER
- SUBSYSTEM
example: SUBSYSTEM
format: text
type: string
ErrorInfo:
$ref: ../../../../../common/common-admin-api/src/main/resources/common-openapi-definition.yaml#/components/schemas/ErrorInfo
GroupMembersFilterModel:
description: Filter model to search global group members
properties:
instances:
description: X-Road instance
items:
type: string
type:
- array
- 'null'
member_classes:
description: member classes
items:
type: string
type:
- array
- 'null'
codes:
description: member codes
items:
type: string
type:
- array
- 'null'
subsystems:
description: subsystem codes
items:
type: string
type:
- array
- 'null'
type: object
PagingSortingParameters:
description: parameters for sorting and paging search results
properties:
sort:
description: Indicates item property that is to be used as sorting key.
example: title
minLength: 2
pattern: '[a-zA-Z_.]+'
maxLength: 25
type: string
desc:
description: 'Used sorting direction. Value ''true'' indicates descending and ''false'' or omitted parameter indicates ascending direction.
'
default: false
type: boolean
limit:
description: 'Indicates the maximum number of items for the returned page. If parameter is omitted, then the default amount of 25 is returned.
'
default: 25
type: integer
format: int32
offset:
description: 'Offset in pages from the beginning of the query result after filtering and sorting parameters are taken into account. If the parameter omitted or the value 0 (zero) is given, the first page is returned.
'
default: 0
type: integer
format: int32
type: object
GlobalGroupCodeAndDescription:
description: group code and description
properties:
code:
description: group code
example: groupcode
format: text
maxLength: 255
minLength: 1
type: string
description:
description: group description
example: description
format: text
maxLength: 255
minLength: 1
pattern: ^[a-zA-Z0-9-_,.;:!? ]*$
type: string
required:
- code
- description
type: object
Members:
description: Request object containing an array of member ids. The id must be an X-Road member id or subsystem id
properties:
items:
description: array of members to be added
example:
- FI:GOV:123
- FI:GOV:123:SS1
- FI:GOV:123:SS2
items:
format: text
maxLength: 1023
minLength: 1
type: string
type: array
type: object
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
GroupMember:
description: group member
properties:
created_at:
description: group member created at
example: '2022-01-20T00:00:00.001Z'
format: date-time
maxLength: 24
minLength: 24
type: string
id:
description: group member id
example: 123
format: int32
type: integer
client_id:
$ref: '#/components/schemas/ClientId'
required:
- id
- client_id
- created_at
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
GroupMemberListView:
description: group member list view
allOf:
- $ref: '#/components/schemas/GroupMember'
properties:
name:
description: group member name
example: Member123
format: text
maxLength: 255
minLength: 1
type: string
required:
- name
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
GlobalGroupResource:
allOf:
- $ref: '#/components/schemas/GlobalGroupCodeAndDescription'
- $ref: '#/components/schemas/ModificationTimestamps'
description: group
properties:
member_count:
description: member count
example: 10
format: int32
maximum: 1000000
minimum: 0
type: integer
type: object
PagingMetadata:
description: metadata about paged results
properties:
total_items:
description: Total number of items in the query results
type: integer
format: int32
items:
description: Number of items on the current page of query results
type: integer
format: int32
limit:
description: 'Indicates the maximum number of items for the returned page.
'
default: 25
type: integer
format: int32
offset:
description: 'Offset in pages from the beginning of the query result after filtering and sorting parameters are taken into account.
'
default: 0
type: integer
format: int32
required:
- total_items
- items
- limit
- offset
type: object
GlobalGroupDescription:
description: group description
properties:
description:
description: group description
example: description
format: text
maxLength: 255
minLength: 1
pattern: ^[a-zA-Z0-9-_,.;:!? ]*$
type: string
required:
- description
type: object
PagedGroupMemberListView:
description: an array of GroupMemberListView with paging metadata
properties:
items:
description: Global group members paged list view
items:
$ref: '#/components/schemas/GroupMemberListView'
type: array
paging_metadata:
$ref: '#/components/schemas/PagingMetadata'
required:
- items
- paging_metadata
type: object
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
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
Unauthorized:
description: authentication credentials are missing
Forbidden:
description: request has been refused
InternalServerError:
description: internal server error
parameters:
GroupCodeParam:
in: path
name: group_code
description: group code
example: groupcode
required: true
schema:
format: text
maxLength: 255
minLength: 1
type: string
ClientIdParam:
in: path
name: client_id
description: the encoded string representation of the x-road client id
example: FI:GOV:123
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