IronCore Labs Configuration Assignment API
Assignments between KMS configurations and tenants
Assignments between KMS configurations and tenants
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/ironcore-labs-configuration-assignment-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Vendor API Bridge Configuration Assignment API
version: 3.1.0
description: API used to manage tenants and KMS configurations by communicating with the IronCore Configuration Broker on your behalf.
contact:
name: IronCore Labs
url: www.ironcorelabs.com
email: info@ironcorelabs.com
summary: IronCore Vendor API Bridge
servers:
- url: http://localhost:3000/api
description: Local
security:
- Authorization: []
tags:
- name: Configuration Assignment
description: Assignments between KMS configurations and tenants
paths:
/1/tenants/{tenantId}/assignments:
parameters:
- $ref: '#/components/parameters/tenantId'
get:
summary: Tenant KMS Assignment List
tags:
- Configuration Assignment
responses:
'200':
$ref: '#/components/responses/KmsConfigAssignmentListResponse'
'401':
description: Unauthorized
operationId: get-tenants-tenantId-assignments
description: List the KMS assignments associated with the provided tenant.
parameters:
- $ref: '#/components/parameters/iclRequestorId'
- schema:
type: string
enum:
- active
- primary
- created
- updated
default: created
in: query
name: sortColumn
description: Field to use for sorting
- schema:
type: string
enum:
- active
- disabled
- primary
in: query
name: status
description: Assignment status to filter to
- schema:
type: string
in: query
description: Tenant ID, tenant name, or KMS configuration ID to filter to
name: query
- $ref: '#/components/parameters/pageSize'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/sortDirection'
/1/kms/configs/{kmsConfigId}/assignments:
parameters:
- $ref: '#/components/parameters/kmsConfigId'
get:
summary: Configuration Assignment List
tags:
- Configuration Assignment
responses:
'200':
$ref: '#/components/responses/KmsConfigAssignmentListResponse'
'401':
description: Unauthorized
operationId: get-kms-configs-kmsConfigId-assignments
description: List the assignments associated with the provided KMS configuration.
parameters:
- schema:
type: string
enum:
- active
- primary
- created
- updated
default: created
in: query
name: sortColumn
description: Field to use for sorting
- schema:
type: string
enum:
- active
- disabled
- primary
in: query
name: status
description: Assignment status to filter to
- schema:
type: string
in: query
name: query
description: Tenant ID, tenant name, or KMS configuration ID to filter to
- $ref: '#/components/parameters/pageSize'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/sortDirection'
- $ref: '#/components/parameters/iclRequestorId'
/1/kms/configs/{kmsConfigId}/tenants/{tenantId}:
parameters:
- $ref: '#/components/parameters/kmsConfigId'
- $ref: '#/components/parameters/tenantId'
get:
summary: KMS Assignment Get
tags:
- Configuration Assignment
responses:
'200':
$ref: '#/components/responses/KmsConfigAssignmentGetResponse'
'400':
description: "Bad Request \nPossible causes: \n\\- Invalid KMS configuration ID provided \n\\- Invalid tenant ID provided"
'401':
description: Unauthorized
operationId: get-kms-configs-kmsConfigId-tenants-tenantId
parameters:
- $ref: '#/components/parameters/iclRequestorId'
description: Get the assignment from the KMS configuration to the provided tenant.
post:
summary: KMS Assignment Create
operationId: post-kms-configs-kmsConfigId-tenants-tenantId
responses:
'200':
$ref: '#/components/responses/KmsConfigAssignmentCreateResponse'
'400':
description: "Bad Request \nPossible causes: \n\\- Invalid KMS configuration ID provided \n\\- Invalid tenant ID provided"
'401':
description: Unauthorized
parameters:
- $ref: '#/components/parameters/iclRequestorId'
tags:
- Configuration Assignment
description: Create a new assignment from the KMS configuration to the provided tenant. The new assignment will be active but not primary.
put:
summary: KMS Assignment Update
operationId: put-kms-configs-kmsConfigId-tenants-tenantId
responses:
'200':
$ref: '#/components/responses/KmsConfigAssignmentUpdateResponse'
'400':
description: "Bad Request \nPossible causes: \n\\- Invalid KMS configuration ID provided \n\\- Invalid tenant ID provided\n\\- Attempting to set `primary` to `true` while `active` is `false`"
'401':
description: Unauthorized
parameters:
- $ref: '#/components/parameters/iclRequestorId'
tags:
- Configuration Assignment
requestBody:
$ref: '#/components/requestBodies/KmsConfigAssignmentUpdateRequest'
description: 'Update the assignment from the KMS configuration to the provided tenant. In order to succeed, the tenant must not own any of their own KMS configurations.
The primary configuration is used for encrypt calls. Setting this configuration to primary will un-set the previous primary.
Active configurations are used for appropriate decrypt calls.'
delete:
summary: KMS Assignment Delete
operationId: delete-kms-configs-kmsConfigId-tenants-tenantId
responses:
'200':
$ref: '#/components/responses/KmsConfigAssignmentDeleteResponse'
'400':
description: Bad Request
'401':
description: Unauthorized
parameters:
- $ref: '#/components/parameters/iclRequestorId'
tags:
- Configuration Assignment
description: Delete the assignment from the KMS configuration to the provided tenant. In order to succeed, the tenant must not own any of their own KMS configurations.
components:
responses:
KmsConfigAssignmentUpdateResponse:
description: Result of updating the assignment from a KMS configuration to a tenant.
content:
application/json:
schema:
$ref: '#/components/schemas/KmsConfigAssignmentResponse'
examples:
Update Assignment:
value:
kmsConfigId: 1
tenantId: tenant-icl
active: true
primary: true
createdBy:
id: vendor
name: Vendor
type: Va
created: '2022-01-13T21:44:43.653Z'
updated: '2022-01-13T21:44:43.653Z'
KmsConfigAssignmentGetResponse:
description: Result of getting the assignment from a KMS configuration to a tenant.
content:
application/json:
schema:
$ref: '#/components/schemas/KmsConfigAssignmentResponse'
examples:
Get Assignment:
value:
kmsConfigId: 1
tenantId: tenant-icl
active: true
primary: true
createdBy:
id: vendor
name: Vendor
type: Va
created: '2022-01-13T21:44:43.653Z'
updated: '2022-01-13T21:44:43.653Z'
KmsConfigAssignmentDeleteResponse:
description: Result of deleting the assignment from a KMS configuration to a tenant.
content:
application/json:
schema:
type: object
properties:
kmsConfigId:
$ref: '#/components/schemas/KmsConfigId'
tenantId:
$ref: '#/components/schemas/TenantId'
required:
- kmsConfigId
- tenantId
examples:
Delete assignment:
value:
kmsConfigId: 1
tenantId: tenant-icl
KmsConfigAssignmentCreateResponse:
description: Result of assigning a KMS configuration to a tenant.
content:
application/json:
schema:
$ref: '#/components/schemas/KmsConfigAssignmentResponse'
examples:
New assignment:
value:
kmsConfigId: 1
tenantId: tenant-icl
active: true
primary: true
createdBy:
id: vendor
name: Vendor
type: Va
created: '2022-01-13T21:44:43.653Z'
updated: '2022-01-13T21:44:43.653Z'
KmsConfigAssignmentListResponse:
description: Result of listing KMS configuration assignments
content:
application/json:
schema:
type: object
properties:
result:
type: array
description: KMS configuration assignments
items:
$ref: '#/components/schemas/KmsConfigAssignmentResponse'
page:
type: integer
description: Current response page number
totalPages:
type: integer
description: Total number of response pages
required:
- result
- page
- totalPages
headers: {}
schemas:
CreatedByType:
type: string
title: CreatedByType
enum:
- Tsp
- Admin
- Va
examples:
- Vaa
- Tsp
- Admin
description: Creator type
CreatedBy:
title: CreatedBy
type: object
examples:
- id: vendor
name: Vendor
type: Vaa
description: Metadata about creating user/service
properties:
id:
type: string
description: Creator ID
name:
type: string
description: Creator name
type:
$ref: '#/components/schemas/CreatedByType'
required:
- id
- name
- type
Timestamp:
type: string
title: Timestamp
description: RFC3339 timestamp
pattern: ^((?:(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2}(?:\.\d+)?))(Z|[\+-]\d{2}:\d{2})?)$
examples:
- '2022-01-13T21:44:43.653Z'
example: '2022-01-13T21:44:43.653Z'
TenantId:
title: TenantId
type: string
description: Tenant ID
examples:
- tenant-icl
KmsConfigId:
type: integer
title: KmsConfigId
description: KMS configuration ID
minimum: 1
examples: []
KmsConfigAssignmentResponse:
title: KmsConfigAssignmentResponse
type: object
x-internal: false
properties:
kmsConfigId:
$ref: '#/components/schemas/KmsConfigId'
tenantId:
$ref: '#/components/schemas/TenantId'
active:
type: boolean
description: Whether the associated KMS configuration can be used to encrypt/decrypt calls.
primary:
type: boolean
description: Whether the associated KMS configuration will be used for encrypt calls.
createdBy:
$ref: '#/components/schemas/CreatedBy'
created:
$ref: '#/components/schemas/Timestamp'
updated:
$ref: '#/components/schemas/Timestamp'
required:
- kmsConfigId
- tenantId
- active
- primary
- createdBy
- created
- updated
parameters:
pageSize:
name: pageSize
in: query
required: false
schema:
type: integer
minimum: 1
default: 10
description: Number of entries returned per page
iclRequestorId:
name: icl-requestor-id
in: header
required: true
schema:
type: string
description: ID of requesting user/service
sortDirection:
name: sortDirection
in: query
required: false
schema:
type: string
default: desc
enum:
- asc
- desc
description: Direction to sort
tenantId:
name: tenantId
in: path
required: true
schema:
type: string
description: Tenant ID
kmsConfigId:
name: kmsConfigId
in: path
required: true
schema:
type: integer
description: KMS Configuration ID
page:
name: page
in: query
required: false
schema:
type: integer
default: 1
minimum: 1
description: Page number to return
requestBodies:
KmsConfigAssignmentUpdateRequest:
content:
application/json:
schema:
type: object
properties:
active:
type: boolean
description: Whether the associated KMS configuration can be used to encrypt/decrypt calls.
primary:
type: boolean
description: Whether the associated KMS configuration will be used for encrypt calls.
examples:
Set primary:
value:
active: true
primary: true
Disable configuration:
value:
active: false
primary: false
description: Update a KMS configuration assignment
securitySchemes:
Authorization:
name: Authorization
type: apiKey
in: header
description: 'VAB authorization header. Form: `vab:1:<API_KEY>`'
x-stoplight:
id: jiu0tsbmtfigo