For the complete documentation index, see llms.txt. This page is also available as Markdown.

API Reference

REST API reference for the CatalyX Blockchain Manager Canton Console v1.11, covering all 128 endpoints across validators, participants, domains, and more.

List validators

get

Returns Splice validators visible to this CBM, optionally filtered by name substring and/or lifecycle phase, paginated via from (offset) and limit. The response also includes the total count of matching validators.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Query parameters
frominteger · int32Optional

Zero-based offset of the first result to return.

statusstring · enumOptional

Filter by validator lifecycle phase.

Possible values:
limitinteger · int32Optional

Maximum number of results to return.

namestringOptional

Substring matched against the validator name.

Responses
200

OK

*/*

Paginated list of ValidatorResponseDto entries plus the total count of validators matching the filter.

totalCountinteger · int64Optional
get/validators

Create validator

post

Provisions a new Splice validator (participant, validator app, wallet, CNS) and optionally creates the associated Keycloak user when custom auth is not used. The returned payload includes the initial Keycloak credentials for non-custom-auth validators.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Body

Splice validator definition: cluster and participant configuration, container image, auth and database settings used to provision a new validator deployment and convert it to the underlying CRD.

customAuthbooleanOptional
imageRepostring · min: 1Required
imageTagstring · min: 1Required
namestring · min: 1 · max: 33Required
onboardingSecretstringOptional
phasestring · enumOptionalPossible values:
postgresPasswordstringOptionalDeprecated
postgresUserstringOptionalDeprecated
Responses
201

Created

*/*

Full validator details returned by GET / list endpoints: cluster and participant configuration, app info for validator / wallet / CNS, contact point and optional Keycloak credentials created on first provisioning.

applicationstringOptional
applicationCantonNameServerstringOptional
applicationWalletstringOptional
contactPointstringOptional
customAuthbooleanOptional
databaseStoragestringOptional
disabledWalletbooleanOptional
exposeLedgerApibooleanOptional
imageRepostringOptional
imageTagstringOptional
immutablebooleanOptional
jsonApiAddressstringOptional
ledgerApiAddressstringOptional
validatorApiAddressstringOptional
migrationIdstringOptional
migrationMigratingbooleanOptional
namestringOptional
onboardingSecretNamestringOptional
participantstringOptional
participantIdentitiesDumpSecretNamestringOptional
partyIdstringOptional
phasestring · enumOptionalPossible values:
postgresPasswordstringOptionalDeprecated
postgresUserstringOptionalDeprecated
privateJsonApibooleanOptional
scanAddressstringOptional
storageSizestringOptional
disableProbesbooleanOptional
post/validators

Update validator

put

Applies an in-place edit to an existing validator (image, env vars, overrides, database/wallet settings, etc.). Immutable fields cannot be changed and validators marked as disableUserEdit reject updates.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Body

Partial update payload for a Splice validator. Non-null fields replace the corresponding section of the existing validator; null fields are left unchanged. Includes a cleanRestoreData flag and toggles for ledger-API exposure.

imageRepostringOptional
imageTagstringOptional
namestringOptional
databaseStoragestringOptional
cleanRestoreDatabooleanOptional
exposeLedgerApibooleanOptional
privateJsonApibooleanOptional
Responses
200

OK

No content

put/validators

No content

Get validator pruning schedule

get

Returns the validator's current pruning configuration (cron, retention, max duration) and the computed next run timestamp. Returns an empty DTO when no schedule is set.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestringRequired

Kubernetes resource name of the validator.

Responses
200

OK

*/*
cronstringRequired
maxDurationstringRequired
retentionstringRequired
nextRunstringOptional
get/validators/{name}/prune

Create validator pruning schedule

post

Enables a cron-based ledger pruning schedule on the validator. Fails if a pruning schedule is already configured; use PUT to modify an existing one.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestringRequired

Kubernetes resource name of the validator.

Body
cronstringRequired
maxDurationstringRequired
retentionstringRequired
nextRunstringOptional
Responses
201

Created

No content

post/validators/{name}/prune

No content

Update validator pruning schedule

put

Replaces the cron expression, retention and max-duration of the validator's existing pruning schedule. Fails if no schedule has been configured yet.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestringRequired

Kubernetes resource name of the validator.

Body
cronstringRequired
maxDurationstringRequired
retentionstringRequired
nextRunstringOptional
Responses
204

No Content

No content

put/validators/{name}/prune

No content

Delete validator pruning schedule

delete

Removes the configured pruning schedule from the validator. Idempotent: succeeds with no-op if no schedule is currently set.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestringRequired

Kubernetes resource name of the validator.

Responses
204

No Content

No content

delete/validators/{name}/prune

No content

Create validator backup schedule

post

Creates a scheduled (cron-based) database backup job for the validator's internal Postgres. Reactivates the schedule if it was previously soft-deleted. Not supported for validators backed by an external database.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the validator.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Body

Request body to trigger or schedule a Splice validator backup: cron expression and retention limit.

cronstringOptional
maxBackupsinteger · int32 · min: 2 · max: 84Required
Responses
201

Created

*/*

Persisted backup schedule for a Splice validator: cron expression, retention limit and next-run timestamp.

cronstring · min: 1Required
maxBackupsinteger · int32Optional
nextRunstringOptional
post/validators/{name}/backup

Get validator backup schedule

get

Returns the current backup schedule for the validator, including the cron expression and the computed unix timestamp of the next planned run.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the validator.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Persisted backup schedule for a Splice validator: cron expression, retention limit and next-run timestamp.

cronstring · min: 1Required
maxBackupsinteger · int32Optional
nextRunstringOptional
get/validators/{name}/backup

Update validator backup schedule

put

Replaces the cron expression and retention settings on the validator's backup schedule. Also clears the soft-deleted flag, effectively reactivating a paused schedule.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the validator.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Body

Request body to trigger or schedule a Splice validator backup: cron expression and retention limit.

cronstringOptional
maxBackupsinteger · int32 · min: 2 · max: 84Required
Responses
200

OK

*/*

Persisted backup schedule for a Splice validator: cron expression, retention limit and next-run timestamp.

cronstring · min: 1Required
maxBackupsinteger · int32Optional
nextRunstringOptional
put/validators/{name}/backup

Delete validator backup schedule

delete

Soft-deletes the validator's backup schedule so that no further backups run. The schedule resource is retained and can be reactivated by re-issuing a POST.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the validator.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
204

No Content

No content

delete/validators/{name}/backup

No content

List remote participants with filters

get

Returns a paginated list of CBM-side remote participant registrations, optionally filtered by health status, lifecycle phase, or name substring. The result also includes the total count of registrations matching the filters.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Query parameters
healthStatusbooleanOptional

If set, only return participants whose last known health check matches this value.

frominteger · int32Optional

Zero-based index of the first registration to return.

statusstring · enumOptional

Lifecycle phase to filter by (e.g. RUNNING, FAILED).

Possible values:
limitinteger · int32Optional

Maximum number of registrations to return.

namestringOptional

Case-sensitive substring matched against the registration name.

Responses
200

OK

*/*

Paginated list of RemoteParticipantDto entries plus the total count.

totalCountinteger · int64Optional
get/remote-participants

Register a remote participant

post

Creates a CBM-side registration for a Canton participant node that runs outside the cluster. Only configuration metadata (endpoints, auth provider, resources) is stored; the remote workload itself is not provisioned by CBM.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Body

Externally-hosted Canton participant registered in CBM: admin / ledger / JSON-API endpoints, auth provider and identifying metadata.

adminAddressstring · min: 1Required
adminPortstring · min: 1Required
authProviderstring · enumRequiredPossible values:
imagestring · min: 1Required
jsonApiUrlstring · min: 1Required
ledgerAddressstring · min: 1Required
ledgerIdstring · min: 1Required
ledgerPortstring · min: 1Required
namestring · min: 1Required
phasestring · enumOptionalPossible values:
v3booleanOptional
Responses
201

Created

*/*

Externally-hosted Canton participant registered in CBM: admin / ledger / JSON-API endpoints, auth provider and identifying metadata.

adminAddressstring · min: 1Required
adminPortstring · min: 1Required
authProviderstring · enumRequiredPossible values:
imagestring · min: 1Required
jsonApiUrlstring · min: 1Required
ledgerAddressstring · min: 1Required
ledgerIdstring · min: 1Required
ledgerPortstring · min: 1Required
namestring · min: 1Required
phasestring · enumOptionalPossible values:
v3booleanOptional
post/remote-participants

Update a remote participant registration

put

Updates the CBM-side configuration (endpoints, auth provider, resources) for an existing remote participant. The remote Canton node is not reconfigured by this call.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Body

Externally-hosted Canton participant registered in CBM: admin / ledger / JSON-API endpoints, auth provider and identifying metadata.

adminAddressstring · min: 1Required
adminPortstring · min: 1Required
authProviderstring · enumRequiredPossible values:
imagestring · min: 1Required
jsonApiUrlstring · min: 1Required
ledgerAddressstring · min: 1Required
ledgerIdstring · min: 1Required
ledgerPortstring · min: 1Required
namestring · min: 1Required
phasestring · enumOptionalPossible values:
v3booleanOptional
Responses
200

OK

No content

put/remote-participants

No content

Connects/Disconnects an already registered domain to a participant

put

Proxies an admin-API call to the remote participant to toggle the connection state of a previously registered domain. Use the connect query flag to choose between connect and disconnect.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

CBM-side registration name of the remote participant.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
domainAliasstringRequired

Alias of the domain connection already registered on the participant.

Query parameters
connectbooleanRequired

true to connect, false to disconnect

Responses
204

No Content

No content

put/remote-participants/{name}/connections/{domainAlias}

No content

List remote domains with filtering and pagination

get

Returns the CBM-registered remote domains, optionally filtered by health status, lifecycle phase or name. Pagination is controlled via the from/limit query parameters. This call reads local registration metadata and does not query the remote nodes.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Query parameters
healthStatusbooleanOptional

If set, returns only remote domains whose last observed health matches this value.

frominteger · int32Optional

Zero-based offset of the first remote domain to return.

statusstring · enumOptional

Lifecycle phase to filter by (e.g. running, failed).

Possible values:
limitinteger · int32Optional

Maximum number of remote domains to return.

namestringOptional

Case-insensitive substring filter on the remote domain registration name.

Responses
200

OK

*/*

Paginated list of RemoteDomainDto entries plus the total count.

totalCountinteger · int64Optional
get/remote-domains

Register a remote domain

post

Stores CBM-side registration metadata for a Canton sync domain that runs outside this cluster. The remote domain workload itself is not created here; CBM only tracks the connection details so subsequent operations can be proxied to it.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Body

Externally-hosted sync domain registered in CBM: admin / public endpoints, image metadata and lifecycle phase.

adminAddressstring · min: 1Required
adminPortstring · min: 1Required
imagestring · min: 1Required
namestring · min: 1Required
phasestring · enumOptionalPossible values:
publicAddressstring · min: 1Required
publicPortstring · min: 1Required
Responses
201

Created

*/*

Externally-hosted sync domain registered in CBM: admin / public endpoints, image metadata and lifecycle phase.

adminAddressstring · min: 1Required
adminPortstring · min: 1Required
imagestring · min: 1Required
namestring · min: 1Required
phasestring · enumOptionalPossible values:
publicAddressstring · min: 1Required
publicPortstring · min: 1Required
post/remote-domains

Update a remote domain registration

put

Updates the CBM-side connection metadata (addresses, ports, image, resources) for a previously registered remote domain. The remote node itself is not modified by this call.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Body

Externally-hosted sync domain registered in CBM: admin / public endpoints, image metadata and lifecycle phase.

adminAddressstring · min: 1Required
adminPortstring · min: 1Required
imagestring · min: 1Required
namestring · min: 1Required
phasestring · enumOptionalPossible values:
publicAddressstring · min: 1Required
publicPortstring · min: 1Required
Responses
200

OK

No content

put/remote-domains

No content

List participants

get

Returns the paginated list of participants matching the given filters along with the total count of matches (ignoring pagination). All filter parameters are optional and combined with AND semantics.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Query parameters
healthStatusbooleanOptional

If true, returns only participants reported as healthy; if false, only unhealthy ones.

frominteger · int32Optional

Zero-based offset of the first participant to return.

statusstring · enumOptional

Lifecycle phase to filter by (e.g. RUNNING, PENDING, FAILED).

Possible values:
limitinteger · int32Optional

Maximum number of participants to return.

namestringOptional

Substring match on the participant Kubernetes resource name.

storageTypestring · enumOptional

Storage backend to filter by (e.g. POSTGRES, EXTERNAL, MEMORY).

Possible values:
Responses
200

OK

*/*

Paginated list of ParticipantDto entries plus the total count of participants matching the filter.

totalCountinteger · int64Optional
get/participants

Create participant

post

Provisions a new Canton participant in this CBM by creating the underlying Kubernetes Custom Resource. When the storage type is EXTERNAL or POSTGRES, a database secret is recreated with the provided credentials. The operation is asynchronous: a 201 response means the resource has been accepted; lifecycle status must be polled via the GET endpoint.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Body

Canton participant definition: container image, admin / ledger endpoints, authentication, postgres storage and Canton-specific settings used to provision a new participant deployment.

adminAddressstringOptional
adminPortstring · min: 1Required
authbooleanOptional
authProviderstring · enumRequiredPossible values:
bootstrapstringOptional
daemonbooleanOptional
enterprisebooleanOptional

Whether the canton image is enterprise or not

imagestring · min: 1Required
jsonapibooleanOptional
jsonapiImagestringOptional
privateJsonapibooleanOptional
jsonapiQueryStorebooleanOptional
exposeLedgerApibooleanOptional
ledgerAddressstringOptional
ledgerPortstring · min: 1Required
logLevelstring · enumOptionalPossible values:
namestring · min: 1Required
navigatorbooleanOptional
phasestring · enumOptionalPossible values:
topologystringOptional
validatorParentstringOptional
enableKmsbooleanOptional
kmsValuestringOptional
kmsServiceAccountstringOptional
Responses
201

Created

*/*

Canton participant definition: container image, admin / ledger endpoints, authentication, postgres storage and Canton-specific settings used to provision a new participant deployment.

adminAddressstringOptional
adminPortstring · min: 1Required
authbooleanOptional
authProviderstring · enumRequiredPossible values:
bootstrapstringOptional
daemonbooleanOptional
enterprisebooleanOptional

Whether the canton image is enterprise or not

imagestring · min: 1Required
jsonapibooleanOptional
jsonapiImagestringOptional
privateJsonapibooleanOptional
jsonapiQueryStorebooleanOptional
exposeLedgerApibooleanOptional
ledgerAddressstringOptional
ledgerPortstring · min: 1Required
logLevelstring · enumOptionalPossible values:
namestring · min: 1Required
navigatorbooleanOptional
phasestring · enumOptionalPossible values:
topologystringOptional
validatorParentstringOptional
enableKmsbooleanOptional
kmsValuestringOptional
kmsServiceAccountstringOptional
post/participants

Update participant

put

Applies the supplied configuration to the existing participant Custom Resource. The participant is identified by the name field of the body. The operator picks up the change and rolls the workload asynchronously; this endpoint only acknowledges that the CR has been updated.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Body

Canton participant definition: container image, admin / ledger endpoints, authentication, postgres storage and Canton-specific settings used to provision a new participant deployment.

adminAddressstringOptional
adminPortstring · min: 1Required
authbooleanOptional
authProviderstring · enumRequiredPossible values:
bootstrapstringOptional
daemonbooleanOptional
enterprisebooleanOptional

Whether the canton image is enterprise or not

imagestring · min: 1Required
jsonapibooleanOptional
jsonapiImagestringOptional
privateJsonapibooleanOptional
jsonapiQueryStorebooleanOptional
exposeLedgerApibooleanOptional
ledgerAddressstringOptional
ledgerPortstring · min: 1Required
logLevelstring · enumOptionalPossible values:
namestring · min: 1Required
navigatorbooleanOptional
phasestring · enumOptionalPossible values:
topologystringOptional
validatorParentstringOptional
enableKmsbooleanOptional
kmsValuestringOptional
kmsServiceAccountstringOptional
Responses
200

OK

No content

put/participants

No content

Connects/Disconnects an already registered domain to a participant

put

Toggles the connection state of an existing sync-domain registration on the participant. The domain must already be registered via POST; this endpoint does not modify the connection configuration, only its connected/disconnected state.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant holding the connection.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
domainAliasstringRequired

Alias of the previously registered sync domain to (dis)connect.

Query parameters
connectbooleanRequired

true to connect, false to disconnect

portinteger · int32Optional

Admin gRPC port on which to contact the participant.

Default: 5019
Responses
204

No Content

No content

put/participants/{name}/connections/{domainAlias}

No content

Set the runtime log level for a node

put

Adjusts the log level used by the Canton node at runtime without restarting the pod. Takes effect immediately for subsequent log output.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Name of the Canton node whose log level should be updated

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
levelstring · enumRequired

New log level to apply

Possible values:
Responses
200

OK

No content

put/logs/{name}/{level}

No content

Get identity dump schedule

get

Returns the current identity dump schedule for the validator along with the computed unix timestamp of the next planned run.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
validatorNamestring · min: 1 · max: 47Required

Kubernetes resource name of the validator.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Persisted identity-dump schedule for a Splice validator: cron expression, retention limit and next-run timestamp.

validatorNamestringOptional
cronstringOptional
nextRunstringOptional
maxDumpsinteger · int32Optional
get/id-dumps/{validatorName}/schedule

Create identity dump schedule

post

Creates a cron-based schedule that periodically produces identity dumps for the validator, retaining at most maxDumps of them. Reactivates a soft-deleted schedule if one exists.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
validatorNamestring · min: 1 · max: 47Required

Kubernetes resource name of the validator.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Body

Request body to schedule recurring identity dumps for a Splice validator (cron expression plus retention limit); converts to the underlying CRD.

cronstringOptional
maxDumpsinteger · int32 · min: 1Optional
Responses
201

Created

*/*

Persisted identity-dump schedule for a Splice validator: cron expression, retention limit and next-run timestamp.

validatorNamestringOptional
cronstringOptional
nextRunstringOptional
maxDumpsinteger · int32Optional
post/id-dumps/{validatorName}/schedule

Update identity dump schedule

put

Replaces the cron expression and retention (maxDumps) of the validator's identity dump schedule. Also clears the soft-deleted flag, reactivating a paused schedule.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
validatorNamestring · min: 1 · max: 47Required

Kubernetes resource name of the validator.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Body

Request body to schedule recurring identity dumps for a Splice validator (cron expression plus retention limit); converts to the underlying CRD.

cronstringOptional
maxDumpsinteger · int32 · min: 1Optional
Responses
200

OK

*/*

Persisted identity-dump schedule for a Splice validator: cron expression, retention limit and next-run timestamp.

validatorNamestringOptional
cronstringOptional
nextRunstringOptional
maxDumpsinteger · int32Optional
put/id-dumps/{validatorName}/schedule

Delete identity dump schedule

delete

Soft-deletes the validator's identity dump schedule so that no further dumps run. The resource is preserved and can be reactivated via POST.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
validatorNamestring · min: 1 · max: 47Required

Kubernetes resource name of the validator.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
204

No Content

No content

delete/id-dumps/{validatorName}/schedule

No content

List sync domains with filtering

get

Returns a paginated list of sync domains matching the supplied filters together with the total count of matches. All filter parameters are optional and combined with AND.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Query parameters
healthStatusbooleanOptional

Filter by health status; true returns only healthy domains, false only unhealthy.

frominteger · int32Optional

Zero-based index of the first domain to return for pagination.

statusstring · enumOptional

Filter by the lifecycle phase of the domain.

Possible values:
limitinteger · int32Optional

Maximum number of domains to return.

namestringOptional

Filter by domain name (substring match).

storageTypestring · enumOptional

Filter by the configured storage type of the domain.

Possible values:
Responses
200

OK

*/*

Paginated list of DomainDto entries plus the total count of sync domains matching the filter.

totalCountinteger · int64Optional
get/domains

Create a new sync domain

post

Provisions a new Canton sync domain as a Kubernetes resource. For external or Postgres storage, the database credentials are stored in a dedicated secret and injected as environment variables. The created domain is returned in its initial state.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Body

Canton sync domain definition: name, container image, log level, admin / public endpoints and Canton-specific bootstrap settings used to provision a single-replica sync domain.

adminAddressstringOptional
adminPortstring · min: 1Required
bootstrapstringOptional
daemonbooleanOptional
enterprisebooleanOptional

Whether the canton image is enterprise or not

imagestring · min: 1Required
ingressbooleanOptional
logLevelstring · enumOptionalPossible values:
namestring · min: 1Required
phasestring · enumOptionalPossible values:
publicAddressstringOptional
publicPortstring · min: 1Required
topologystringOptional
Responses
201

Created

*/*

Canton sync domain definition: name, container image, log level, admin / public endpoints and Canton-specific bootstrap settings used to provision a single-replica sync domain.

adminAddressstringOptional
adminPortstring · min: 1Required
bootstrapstringOptional
daemonbooleanOptional
enterprisebooleanOptional

Whether the canton image is enterprise or not

imagestring · min: 1Required
ingressbooleanOptional
logLevelstring · enumOptionalPossible values:
namestring · min: 1Required
phasestring · enumOptionalPossible values:
publicAddressstringOptional
publicPortstring · min: 1Required
topologystringOptional
post/domains

Update an existing sync domain

put

Applies the supplied spec changes to the existing sync domain resource. The domain is identified by the name field in the request body.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Body

Canton sync domain definition: name, container image, log level, admin / public endpoints and Canton-specific bootstrap settings used to provision a single-replica sync domain.

adminAddressstringOptional
adminPortstring · min: 1Required
bootstrapstringOptional
daemonbooleanOptional
enterprisebooleanOptional

Whether the canton image is enterprise or not

imagestring · min: 1Required
ingressbooleanOptional
logLevelstring · enumOptionalPossible values:
namestring · min: 1Required
phasestring · enumOptionalPossible values:
publicAddressstringOptional
publicPortstring · min: 1Required
topologystringOptional
Responses
200

OK

No content

put/domains

No content

List HA sync domains with filtering

get

Returns a paginated list of HA sync domains matching the supplied filters together with the total count. All filter parameters are optional.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Query parameters
frominteger · int32Optional

Zero-based index of the first HA domain to return for pagination.

limitinteger · int32Optional

Maximum number of HA domains to return.

namestringOptional

Filter by HA domain name (substring match).

phasestring · enumOptional

Filter by the lifecycle phase of the HA domain.

Possible values:
Responses
200

OK

*/*

Paginated list of HA sync domain entries plus the total count.

totalCountinteger · int64Optional
get/domainha

Create a highly available sync domain

post

Provisions a new sync domain with replicated mediator and sequencer components to support failover. Fails if a HA domain with the same name already exists.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Body

High-availability sync domain definition: per-component (sequencer, mediator, topology manager) specifications plus in-cluster or external storage settings.

namestring · min: 2 · max: 15Required
validStoragebooleanOptional
Responses
201

Created

*/*

High-availability sync domain definition: per-component (sequencer, mediator, topology manager) specifications plus in-cluster or external storage settings.

namestring · min: 2 · max: 15Required
validStoragebooleanOptional
post/domainha

Update an existing HA sync domain

put

Applies the supplied editable changes to the HA sync domain resource and returns the updated DTO. The HA domain is identified by the name in the request body.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Body

Partial update payload for an HA sync domain; non-null sections replace the corresponding configuration on the existing deployment.

namestringRequired
Responses
200

OK

*/*

High-availability sync domain definition: per-component (sequencer, mediator, topology manager) specifications plus in-cluster or external storage settings.

namestring · min: 2 · max: 15Required
validStoragebooleanOptional
put/domainha

List applications with filtering and pagination

get

Returns a page of deployed applications optionally filtered by status, name and type. Supports offset/limit pagination via the from and limit query parameters.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Query parameters
frominteger · int32Optional

Zero-based index of the first application to return

statusstring · enumOptional

Filter by current lifecycle phase of the application

Possible values:
limitinteger · int32Optional

Maximum number of applications to return

namestringOptional

Filter by application name (substring match)

typestringOptional

Filter by application type

Responses
200

OK

*/*

Paginated list of ApplicationDto entries plus the total count of applications matching the filter.

totalCountinteger · int64Optional
get/applications

Create a new application

post

Deploys a new CBM application CRD onto the Kubernetes cluster. When the target participant uses an OIDC auth provider (e.g. Keycloak), the corresponding auth client and environment variables are provisioned automatically. Fails if a resource with the same name already exists.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Body

Generic CBM-deployed application: name, container image, port, package, parent validator and Kubernetes resource requirements; used both as a request and a response body on the applications endpoints.

domainstring · min: 1Required
imagestringOptional
namestring · min: 1Required
packageNamestringOptional
phasestring · enumOptionalPossible values:
portinteger · int32Optional
typestring · enumRequiredPossible values:
validatorParentstringOptional
Responses
201

Created

*/*

Generic CBM-deployed application: name, container image, port, package, parent validator and Kubernetes resource requirements; used both as a request and a response body on the applications endpoints.

domainstring · min: 1Required
imagestringOptional
namestring · min: 1Required
packageNamestringOptional
phasestring · enumOptionalPossible values:
portinteger · int32Optional
typestring · enumRequiredPossible values:
validatorParentstringOptional
post/applications

Update an existing application

put

Applies the provided application spec to the existing CRD, updating image, env vars, resources and other mutable fields.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Body

Generic CBM-deployed application: name, container image, port, package, parent validator and Kubernetes resource requirements; used both as a request and a response body on the applications endpoints.

domainstring · min: 1Required
imagestringOptional
namestring · min: 1Required
packageNamestringOptional
phasestring · enumOptionalPossible values:
portinteger · int32Optional
typestring · enumRequiredPossible values:
validatorParentstringOptional
Responses
200

OK

No content

put/applications

No content

Get validator restore job

get

Returns the current status and metadata of the validator's most recent restore job. Use this to poll the progress of a previously triggered restore.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the validator.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Single entry in the validator restore history: filenames restored from, overall status and capture timestamp.

filenamesstring[] · min: 2 · max: 2Optional
statusstringOptional
timestampstringOptional
get/validators/{name}/restore

Trigger validator restore

post

Starts a long-running restore job that recreates the validator's state from the referenced backup files. Returns immediately with the created job descriptor; poll the GET endpoint for status. Any previous completed restore job for this validator is deleted first.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the validator to restore.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Body

Request body to start a Splice validator restore from one or more previously captured backup files.

filenamesstring[] · min: 2 · max: 2Optional
Responses
201

Created

*/*

Single entry in the validator restore history: filenames restored from, overall status and capture timestamp.

filenamesstring[] · min: 2 · max: 2Optional
statusstringOptional
timestampstringOptional
post/validators/{name}/restore

Check sponsor scan quorum

post

Verifies that the supplied sponsor scan address can reach a quorum of Super Validators on the network. Used as a pre-flight check before launching a prefill.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Body

Request body for the Splice prefill quorum check; references the sponsor scan address used during validator on-boarding.

sponsorScanAddressstringOptional
Responses
200

OK

*/*
booleanOptional
post/validators/prefill/check-quorum

Get the pruning schedule of a participant

get

Reads the current pruning schedule from the remote enterprise participant and enriches it with the Unix timestamp of the next scheduled cron run, computed in CBM.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

CBM-side registration name of the remote participant.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Persisted pruning schedule for a Canton workload: cron expression, retention window, max duration and next-run timestamp.

cronstring · min: 1Required
maxDurationInSecinteger · int64 · min: 1Required
nextRunstringOptional
retentionInSecinteger · int64 · min: 1Required
get/remote-participants/{name}/prune

Create a pruning schedule on a participant

post

Validates the cron expression and sends it to the remote enterprise participant's admin API, which will then prune old ledger data on the configured cadence.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

CBM-side registration name of the remote participant.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Body

Persisted pruning schedule for a Canton workload: cron expression, retention window, max duration and next-run timestamp.

cronstring · min: 1Required
maxDurationInSecinteger · int64 · min: 1Required
nextRunstringOptional
retentionInSecinteger · int64 · min: 1Required
Responses
201

Created

No content

post/remote-participants/{name}/prune

No content

Clear the pruning schedule on a participant

delete

Proxies a clear-schedule call to the remote enterprise participant so that no further automatic pruning runs are triggered. Previously pruned data is not restored.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

CBM-side registration name of the remote participant.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
204

No Content

No content

delete/remote-participants/{name}/prune

No content

Proxy a GET request to the participant JSON Ledger API

get

Forwards the incoming GET request (path beyond /jsonapi, query string, headers) to the configured JSON Ledger API endpoint of the remote participant and streams the response back.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

CBM-side registration name of the remote participant.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
400

Bad Request

*/*
Other propertiesstringOptional
get/remote-participants/{name}/jsonapi/**

Proxy a POST request to the participant JSON Ledger API

post

Forwards the incoming POST request body and path/query to the configured JSON Ledger API endpoint of the remote participant. Used for command submission and similar mutating ledger operations.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

CBM-side registration name of the remote participant.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
400

Bad Request

*/*
Other propertiesstringOptional
post/remote-participants/{name}/jsonapi/**

Proxy a DELETE request to the participant JSON Ledger API

delete

Forwards the incoming DELETE request to the configured JSON Ledger API endpoint of the remote participant, typically used to cancel or release ledger resources.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

CBM-side registration name of the remote participant.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
400

Bad Request

*/*
Other propertiesstringOptional
delete/remote-participants/{name}/jsonapi/**

Lists all configured dars of a participant

get

Queries the remote participant's admin API and returns the DARs currently installed on the node, including their hashes and package metadata.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

CBM-side registration name of the remote participant.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Reference to a DAR package uploaded to a Canton participant: identifying hash, package name and version.

hashstringOptional
namestringOptional
versionstringOptional
get/remote-participants/{name}/dars

Upload dar file to a participant

post

Reads each requested DAR from CBM file storage and uploads it to the remote participant via its admin API. Between 1 and 15 DAR names may be uploaded in a single call.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

CBM-side registration name of the remote participant.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Query parameters
darNamestring[] · min: 1 · max: 15Required

Names of DAR files (already stored in CBM file storage) to upload to the participant.

Responses
200

OK

No content

post/remote-participants/{name}/dars

No content

Remove a dar from a participant

delete

Proxies an admin-API call to the remote participant to uninstall the DAR identified by its hash. The DAR is only removed from the remote node; CBM file storage is untouched.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

CBM-side registration name of the remote participant.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Query parameters
darHashstringRequired

Hash of the DAR to remove, as reported by the participant.

Responses
200

OK

No content

delete/remote-participants/{name}/dars

No content

Lists all configured domain connections of a participant

get

Calls the remote participant's admin API to retrieve every domain connection it has been configured with, regardless of current connectivity state.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

CBM-side registration name of the remote participant.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

The DTO representing a connection to a domain.

connectedbooleanOptional

It represents the connection status. It is true when the connection is established, false otherwise.

custombooleanOptional

It represents a custom domain. When it is true the domainUrl should be used, use domainName and port otherwise

domainAliasstring · min: 1Required

This is the alias of the domain to connect to. It does not have to be the same as the actual domain name.

domainNamestringOptional

This is name of the domain to connect to.

isHADomainbooleanOptional

Defines whether the domain name belongs to the HA Domain entity

domainUrlstringOptional

This is the URL of the domain to connect to. It must be accessible from the participant node. Usage: https://..svc.cluster.local:

publicPortstringOptional

This is public port of the domain to connect to.

get/remote-participants/{name}/connections

Configures, registers and connects a domain to a participant

post

Proxies an admin-API call to the remote participant to register a new domain connection and immediately connect it. The exact RPC is selected based on the remote node's Canton major version (V0 vs V3).

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

CBM-side registration name of the remote participant.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Body

The DTO representing a connection to a domain.

connectedbooleanOptional

It represents the connection status. It is true when the connection is established, false otherwise.

custombooleanOptional

It represents a custom domain. When it is true the domainUrl should be used, use domainName and port otherwise

domainAliasstring · min: 1Required

This is the alias of the domain to connect to. It does not have to be the same as the actual domain name.

domainNamestringOptional

This is name of the domain to connect to.

isHADomainbooleanOptional

Defines whether the domain name belongs to the HA Domain entity

domainUrlstringOptional

This is the URL of the domain to connect to. It must be accessible from the participant node. Usage: https://..svc.cluster.local:

publicPortstringOptional

This is public port of the domain to connect to.

Responses
201

Created

No content

post/remote-participants/{name}/connections

No content

Get the current pruning schedule of a remote domain component

get

Fetches the cron-based pruning schedule currently configured on the mediator or sequencer of the remote sync domain, together with the next computed run timestamp. The schedule is read from the remote node via its admin API.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

CBM-side registration name of the target remote domain.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Query parameters
componentstringRequired

Remote domain component to inspect (mediator or sequencer).

Responses
200

OK

*/*

Persisted pruning schedule for a Canton workload: cron expression, retention window, max duration and next-run timestamp.

cronstring · min: 1Required
maxDurationInSecinteger · int64 · min: 1Required
nextRunstringOptional
retentionInSecinteger · int64 · min: 1Required
get/remote-domains/{name}/prune

Create a pruning schedule on a remote domain component

post

Sends a pruning schedule (cron-based ledger data retention) to the mediator or sequencer of a remote sync domain. The schedule is applied on the remote node via its admin API; CBM only resolves the connection details from its local registration.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

CBM-side registration name of the target remote domain.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Query parameters
componentstringRequired

Remote domain component the schedule applies to (mediator or sequencer).

Body

Persisted pruning schedule for a Canton workload: cron expression, retention window, max duration and next-run timestamp.

cronstring · min: 1Required
maxDurationInSecinteger · int64 · min: 1Required
nextRunstringOptional
retentionInSecinteger · int64 · min: 1Required
Responses
201

Created

No content

post/remote-domains/{name}/prune

No content

Clear the pruning schedule on a remote domain component

delete

Instructs the mediator or sequencer of the remote sync domain to drop its current pruning schedule. The clear command is proxied to the remote node's admin API.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

CBM-side registration name of the target remote domain.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Query parameters
componentstringRequired

Remote domain component whose schedule should be cleared (mediator or sequencer).

Responses
204

No Content

No content

delete/remote-domains/{name}/prune

No content

Get participant restore job

get

Returns the descriptor of the current restore job for the participant, including the source backup file and the job's runtime status. Used to poll the progress of a long-running restore initiated via POST.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant whose restore job to fetch.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Request body to start a participant or domain restore from a previously captured backup file.

fileNamestring · min: 1Required
get/participants/{name}/restore

Create participant restore job

post

Launches a one-shot restore job that recreates the participant's storage from the specified backup file. Any previous restore job for this participant is removed first. This is a long-running operation: the response is a job descriptor whose progress can be polled via the GET endpoint.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant to restore.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Body

Request body to start a participant or domain restore from a previously captured backup file.

fileNamestring · min: 1Required
Responses
201

Created

*/*

Request body to start a participant or domain restore from a previously captured backup file.

fileNamestring · min: 1Required
post/participants/{name}/restore

Delete participant restore job

delete

Removes the restore job descriptor for the participant. If a restore is currently running it will be cancelled. Restored data already written to the participant's storage is not rolled back.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant whose restore job should be removed.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
204

No Content

No content

delete/participants/{name}/restore

No content

Get participant pruning schedule

get

Returns the current pruning schedule configured on the participant, including the cron expression, retention and the predicted Unix timestamp of the next run.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant whose pruning schedule to fetch.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Query parameters
portinteger · int32Optional

Admin gRPC port on which to contact the participant.

Default: 5019
Responses
200

OK

*/*

Persisted pruning schedule for a Canton workload: cron expression, retention window, max duration and next-run timestamp.

cronstring · min: 1Required
maxDurationInSecinteger · int64 · min: 1Required
nextRunstringOptional
retentionInSecinteger · int64 · min: 1Required
get/participants/{name}/prune

Create participant pruning schedule

post

Configures a recurring pruning schedule on the participant via its admin API. Pruning deletes ledger data older than the configured retention. This endpoint is only supported on enterprise participants; a 400 is returned otherwise.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the enterprise participant to schedule pruning on.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Query parameters
portinteger · int32Optional

Admin gRPC port on which to contact the participant.

Default: 5019
Body

Persisted pruning schedule for a Canton workload: cron expression, retention window, max duration and next-run timestamp.

cronstring · min: 1Required
maxDurationInSecinteger · int64 · min: 1Required
nextRunstringOptional
retentionInSecinteger · int64 · min: 1Required
Responses
201

Created

No content

post/participants/{name}/prune

No content

Delete participant pruning schedule

delete

Clears the pruning schedule on the participant via its admin API. Already pruned ledger data cannot be recovered; this only stops future scheduled runs.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant whose pruning schedule to clear.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Query parameters
portinteger · int32Optional

Admin gRPC port on which to contact the participant.

Default: 5019
Responses
204

No Content

No content

delete/participants/{name}/prune

No content

Refresh and list local parties

post

Triggers an asynchronous refresh of the cached local-parties view from the participant's ledger API and immediately returns the current view together with the refresh status. Subsequent calls to the GET endpoint will reflect the refreshed data once the background fetch completes.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant whose local parties to refresh.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
400

Bad Request

*/*
Other propertiesstringOptional
post/participants/{name}/parties/local/fetch

Proxy GET to participant JSON Ledger API

get

Forwards a GET request to the participant's JSON Ledger API endpoint, preserving the path suffix, query string and body. CBM authenticates the request with a freshly minted ledger token chosen according to the participant's auth provider (Keycloak, Auth0 or validator).

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant to proxy the call to.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
400

Bad Request

*/*
Other propertiesstringOptional
get/participants/{name}/jsonapi/**

Proxy POST to participant JSON Ledger API

post

Forwards a POST request (JSON or octet-stream) to the participant's JSON Ledger API. When the call is a party-allocation request (POST /v2/parties) and succeeds, the newly allocated party is added to CBM's local-party cache for the participant.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant to proxy the call to.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
400

Bad Request

*/*
Other propertiesstringOptional
post/participants/{name}/jsonapi/**

Proxy DELETE to participant JSON Ledger API

delete

Forwards a DELETE request to the participant's JSON Ledger API. The path suffix and query string after /jsonapi are passed through unchanged.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant to proxy the call to.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
400

Bad Request

*/*
Other propertiesstringOptional
delete/participants/{name}/jsonapi/**

Proxy PATCH to participant JSON Ledger API

patch

Forwards a PATCH request (JSON or octet-stream) to the participant's JSON Ledger API, preserving path, query string and body.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant to proxy the call to.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
400

Bad Request

*/*
Other propertiesstringOptional
patch/participants/{name}/jsonapi/**

Lists all configured dars of a participant

get

Returns the list of Daml Archive (DAR) packages currently uploaded to the given participant by calling its admin API. The package service is dispatched based on the participant's Canton/validator version.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the target participant.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Reference to a DAR package uploaded to a Canton participant: identifying hash, package name and version.

hashstringOptional
namestringOptional
versionstringOptional
get/participants/{name}/dars

Upload dar file to a participant

post

Uploads one or more DAR packages already stored in the CBM file store to the target participant. Between 1 and 15 DAR names can be uploaded in a single request; uploads are performed in order and the call returns when all are accepted by the admin API.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the target participant.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Query parameters
darNamestring[] · min: 1 · max: 15Required

Names of DAR files in the CBM file store to upload (1 to 15 entries).

Responses
200

OK

No content

post/participants/{name}/dars

No content

Remove a dar from a participant

delete

Unregisters the DAR identified by its content hash from the given participant. The package contents themselves are not deleted from the ledger; only the registration is removed. The operation is idempotent on success.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the target participant.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Query parameters
darHashstringRequired

Content hash of the DAR to remove, as reported by the list endpoint.

Responses
200

OK

No content

delete/participants/{name}/dars

No content

Lists all configured domain connections of a participant

get

Returns the list of sync-domain connections registered on the participant, including each domain's alias, URL, parameters and current connection state.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant whose connections to list.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Query parameters
portinteger · int32Optional

Admin gRPC port on which to contact the participant.

Default: 5019
Responses
200

OK

*/*

The DTO representing a connection to a domain.

connectedbooleanOptional

It represents the connection status. It is true when the connection is established, false otherwise.

custombooleanOptional

It represents a custom domain. When it is true the domainUrl should be used, use domainName and port otherwise

domainAliasstring · min: 1Required

This is the alias of the domain to connect to. It does not have to be the same as the actual domain name.

domainNamestringOptional

This is name of the domain to connect to.

isHADomainbooleanOptional

Defines whether the domain name belongs to the HA Domain entity

domainUrlstringOptional

This is the URL of the domain to connect to. It must be accessible from the participant node. Usage: https://..svc.cluster.local:

publicPortstringOptional

This is public port of the domain to connect to.

get/participants/{name}/connections

Configures, registers and connects a domain to a participant

post

Registers a new sync-domain connection on the participant and immediately connects to it via the participant's admin API. The combination of domain alias and URL must be unique for the participant; a 409 is returned if the participant is already connected to another incompatible domain.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant on which to register the connection.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Query parameters
portinteger · int32Optional

Admin gRPC port on which to contact the participant.

Default: 5019
Body

The DTO representing a connection to a domain.

connectedbooleanOptional

It represents the connection status. It is true when the connection is established, false otherwise.

custombooleanOptional

It represents a custom domain. When it is true the domainUrl should be used, use domainName and port otherwise

domainAliasstring · min: 1Required

This is the alias of the domain to connect to. It does not have to be the same as the actual domain name.

domainNamestringOptional

This is name of the domain to connect to.

isHADomainbooleanOptional

Defines whether the domain name belongs to the HA Domain entity

domainUrlstringOptional

This is the URL of the domain to connect to. It must be accessible from the participant node. Usage: https://..svc.cluster.local:

publicPortstringOptional

This is public port of the domain to connect to.

Responses
201

Created

No content

post/participants/{name}/connections

No content

Get participant backup schedule

get

Returns the current scheduled backup configuration for the participant, including the cron expression and the predicted Unix timestamp of the next run.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant whose schedule to fetch.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Persisted backup schedule for a Canton workload: cron expression, retention limit and the resolved next-run timestamp.

cronstring · min: 1Required
maxBackupsinteger · int32Optional
nextRunstringOptional
get/participants/{name}/backup

Create participant backup schedule

post

Creates a recurring backup schedule (Kubernetes CronJob owned by the participant) that periodically dumps the participant's storage to the configured backup location. The cron expression is validated against the platform's non-enterprise allowed schedule.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant to back up.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Body

Schedule definition used to configure a recurring backup job on a Canton workload (participant or domain). Carries the cron expression that drives the schedule and the maximum number of backups to retain.

cronstring · min: 1Required
maxBackupsinteger · int32 · min: 1Required
Responses
201

Created

*/*

Persisted backup schedule for a Canton workload: cron expression, retention limit and the resolved next-run timestamp.

cronstring · min: 1Required
maxBackupsinteger · int32Optional
nextRunstringOptional
post/participants/{name}/backup

Delete participant backup schedule

delete

Removes the scheduled backup CronJob for the participant. Existing backup files already produced in the backup location are not deleted.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant whose schedule should be removed.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
204

No Content

No content

delete/participants/{name}/backup

No content

List validator identity dumps

get

Returns the identity dump secrets currently stored for a single validator, ordered by creation time.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
validatorNamestring · min: 1 · max: 47Required

Kubernetes resource name of the validator.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Identity-dump artifact metadata: name of the Kubernetes secret holding the dump, the owning validator name and the timestamp at which it was captured.

secretNamestringOptional
validatorNamestringOptional
timestampinteger · int64Optional
createdAtstringOptional
get/id-dumps/{validatorName}

Create validator identity dump

post

Synchronously requests an identity dump from the validator's wallet and stores it as a Kubernetes secret. The dump can later be used to recover or transfer the validator's identity.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
validatorNamestring · min: 1 · max: 47Required

Kubernetes resource name of the validator.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Identity-dump artifact metadata: name of the Kubernetes secret holding the dump, the owning validator name and the timestamp at which it was captured.

secretNamestringOptional
validatorNamestringOptional
timestampinteger · int64Optional
createdAtstringOptional
post/id-dumps/{validatorName}

Proxy an HTTP request to an internal service

post

Forwards the provided HTTP method, URL, headers and body to an internal Canton or Splice service that is not directly exposed outside the cluster, and returns the upstream response. Timestamps in the URL are normalized to ISO-8601 with millisecond precision and a 'Z' suffix.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Body

Generic HTTP proxy request: target URL, method, custom headers and body forwarded by the proxy controller.

urlstringOptional
methodstringOptional
bodystringOptional
Responses
200

OK

*/*
objectOptional
post/http-proxy

Retrieve an access token for the validator API

post

Performs an OAuth login against the validator wallet using stored credentials combined with the supplied password, and returns a bearer token usable for validator API calls.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Query parameters
validatorstringRequired

Name of the validator whose wallet credentials should be used

Body

Wrapper around a single password value; used by endpoints that update credentials in isolation.

passwordstring · min: 1Required
Responses
200

OK

*/*

Token response returned by the OAuth2 login flow (access token).

access_tokenstringOptional
post/http-proxy/validator-api-access-token

List stored files with filtering and pagination

get

Returns a page of files in the CBM file storage, optionally filtered by type and name. Supports offset/limit pagination via the from and limit query parameters.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Query parameters
fileTypestring · enumOptional

Filter by file type/category

Possible values:
frominteger · int32Optional

Zero-based index of the first file to return

limitinteger · int32Optional

Maximum number of files to return

namestringOptional

Filter by file name (substring match)

Responses
200

OK

*/*

Paginated list of FileDto entries plus the total count of stored files matching the filter.

totalCountinteger · int64Optional
get/files

Upload files to server-side storage

post

Uploads one or more files of the given type (DAR, identity dump, config, etc.) into the CBM-managed file storage so they can later be consumed by Canton workloads. File extensions are validated against the declared file type.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Query parameters
fileTypestring · enumRequired

Type/category of the uploaded files (controls allowed extension and storage location)

Possible values:
Body
filesstring · binary[]Required

Multipart files to upload

Responses
201

Created

No content

post/files

No content

Get the current domain restore job

get

Returns the restore job descriptor for the sync domain, including its current status. Use this endpoint to poll the progress of an in-flight restore.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the sync domain whose restore job should be returned.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Request body to start a participant or domain restore from a previously captured backup file.

fileNamestring · min: 1Required
get/domains/{name}/restore

Trigger a domain restore job

post

Starts an asynchronous restore of the sync domain from a previously produced backup file. Any existing restore job for the domain is replaced; progress can be polled via the corresponding GET endpoint.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the sync domain to restore into.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Body

Request body to start a participant or domain restore from a previously captured backup file.

fileNamestring · min: 1Required
Responses
201

Created

*/*

Request body to start a participant or domain restore from a previously captured backup file.

fileNamestring · min: 1Required
post/domains/{name}/restore

Delete the domain restore job

delete

Removes the restore job for the sync domain. Any in-progress restore work is cancelled as the underlying Kubernetes job is deleted.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the sync domain whose restore job should be removed.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
204

No Content

No content

delete/domains/{name}/restore

No content

Get the domain pruning schedule

get

Returns the active pruning schedule for the targeted component (mediator or sequencer), including the cron expression and a computed Unix timestamp for the next run.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the sync domain whose schedule should be returned.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Query parameters
portinteger · int32Optional

Admin gRPC port of the domain to call; defaults to the standard admin port.

Default: 5019
componentstringRequired

Domain component to read the pruning schedule from; either MEDIATOR or SEQUENCER.

Responses
200

OK

*/*

Persisted pruning schedule for a Canton workload: cron expression, retention window, max duration and next-run timestamp.

cronstring · min: 1Required
maxDurationInSecinteger · int64 · min: 1Required
nextRunstringOptional
retentionInSecinteger · int64 · min: 1Required
get/domains/{name}/prune

Create a domain pruning schedule

post

Schedules recurring pruning of old ledger data for the targeted component (mediator or sequencer) of an enterprise sync domain. Pruning is only available on enterprise nodes; the schedule is enforced by the node itself.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the sync domain to prune.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Query parameters
portinteger · int32Optional

Admin gRPC port of the domain to call; defaults to the standard admin port.

Default: 5019
componentstringRequired

Domain component to prune; either MEDIATOR or SEQUENCER.

Body

Persisted pruning schedule for a Canton workload: cron expression, retention window, max duration and next-run timestamp.

cronstring · min: 1Required
maxDurationInSecinteger · int64 · min: 1Required
nextRunstringOptional
retentionInSecinteger · int64 · min: 1Required
Responses
201

Created

No content

post/domains/{name}/prune

No content

Delete the domain pruning schedule

delete

Clears the pruning schedule on the targeted component (mediator or sequencer) of the sync domain. Already pruned data is not affected.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the sync domain whose schedule should be cleared.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Query parameters
portinteger · int32Optional

Admin gRPC port of the domain to call; defaults to the standard admin port.

Default: 5019
componentstringRequired

Domain component to clear the pruning schedule from; either MEDIATOR or SEQUENCER.

Responses
204

No Content

No content

delete/domains/{name}/prune

No content

Get the domain backup schedule

get

Returns the current backup schedule for the sync domain, including the cron expression and a calculated Unix timestamp for the next planned run.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the sync domain whose schedule should be returned.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Persisted backup schedule for a Canton workload: cron expression, retention limit and the resolved next-run timestamp.

cronstring · min: 1Required
maxBackupsinteger · int32Optional
nextRunstringOptional
get/domains/{name}/backup

Create or replace a domain backup schedule

post

Provisions a recurring backup job for the sync domain using the supplied cron expression. The created schedule is owned by the domain resource and produces backup artifacts asynchronously on each cron tick.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the sync domain to back up.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Body

Schedule definition used to configure a recurring backup job on a Canton workload (participant or domain). Carries the cron expression that drives the schedule and the maximum number of backups to retain.

cronstring · min: 1Required
maxBackupsinteger · int32 · min: 1Required
Responses
201

Created

*/*

Persisted backup schedule for a Canton workload: cron expression, retention limit and the resolved next-run timestamp.

cronstring · min: 1Required
maxBackupsinteger · int32Optional
nextRunstringOptional
post/domains/{name}/backup

Delete the domain backup schedule

delete

Removes the recurring backup job associated with the sync domain. Existing backup artifacts already produced are not affected.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the sync domain whose schedule should be removed.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
204

No Content

No content

delete/domains/{name}/backup

No content

Execute a Canton console command

post

Runs an ad-hoc Canton console script against the target participant or domain node identified by name. The command is executed synchronously and produces no response body.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Name of the Canton node (participant or domain) to execute the command against

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Body

Canton console script to be executed as a one-shot command against a participant or domain.

scriptstring · min: 1Required
Responses
204

No Content

No content

post/commands/{name}

No content

Get validator

get

Returns the full details of a single Splice validator, including its applications, participant, database and wallet configuration, and the resolved validator party id.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the validator.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Full validator details returned by GET / list endpoints: cluster and participant configuration, app info for validator / wallet / CNS, contact point and optional Keycloak credentials created on first provisioning.

applicationstringOptional
applicationCantonNameServerstringOptional
applicationWalletstringOptional
contactPointstringOptional
customAuthbooleanOptional
databaseStoragestringOptional
disabledWalletbooleanOptional
exposeLedgerApibooleanOptional
imageRepostringOptional
imageTagstringOptional
immutablebooleanOptional
jsonApiAddressstringOptional
ledgerApiAddressstringOptional
validatorApiAddressstringOptional
migrationIdstringOptional
migrationMigratingbooleanOptional
namestringOptional
onboardingSecretNamestringOptional
participantstringOptional
participantIdentitiesDumpSecretNamestringOptional
partyIdstringOptional
phasestring · enumOptionalPossible values:
postgresPasswordstringOptionalDeprecated
postgresUserstringOptionalDeprecated
privateJsonApibooleanOptional
scanAddressstringOptional
storageSizestringOptional
disableProbesbooleanOptional
get/validators/{name}

Delete validator

delete

Deletes the validator CRD and, when deleteResources is true, cleans up associated identity dumps, wallet/CNS/ledger-auth/onboarding secrets and Keycloak resources. Always removes the participant entry from the local party finder cache.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the validator.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Query parameters
deleteResourcesbooleanOptional

Whether to also remove related secrets, identity dumps and Keycloak resources.

Default: true
Responses
204

No Content

No content

delete/validators/{name}

No content

Get validator backup history

get

Returns the list of recorded backup runs (and their status / artifacts) produced by the validator's scheduled backup job.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestringRequired

Kubernetes resource name of the validator.

Responses
200

OK

*/*

Validator backup history: ordered list of previously captured backups with their files and statuses.

get/validators/{name}/backup/history

Get prefill network info

get

Returns network metadata used by the validator prefill / top-up flow, such as the discovered sponsor scan addresses and migration parameters. Read-only.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Responses
200

OK

*/*

Splice network endpoints split by environment: devnet, testnet and mainnet.

get/validators/prefill/network-info

List image pull secret names

get

Returns the names of all Kubernetes image pull secrets available in the CBM namespace that can be referenced by Canton or Splice workloads.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Responses
200

OK

*/*
string[]Optional
get/secrets

Get a remote participant registration

get

Returns the local CBM registration data (endpoints, auth provider, resources, phase) for the remote participant identified by name. No call is made to the remote node.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

CBM-side registration name of the remote participant.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Externally-hosted Canton participant registered in CBM: admin / ledger / JSON-API endpoints, auth provider and identifying metadata.

adminAddressstring · min: 1Required
adminPortstring · min: 1Required
authProviderstring · enumRequiredPossible values:
imagestring · min: 1Required
jsonApiUrlstring · min: 1Required
ledgerAddressstring · min: 1Required
ledgerIdstring · min: 1Required
ledgerPortstring · min: 1Required
namestring · min: 1Required
phasestring · enumOptionalPossible values:
v3booleanOptional
get/remote-participants/{name}

Delete a remote participant registration

delete

Removes the CBM-side registration of the remote participant. The remote Canton node itself is not stopped or modified; only the local configuration entry is deleted.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

CBM-side registration name of the remote participant.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
204

No Content

No content

delete/remote-participants/{name}

No content

Check status of a participant

get

Queries the admin API of the remote Canton participant and returns its current status (identity, active/connected domains, version). CBM proxies the call to the remote node's admin address using the version-appropriate client.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

CBM-side registration name of the remote participant.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Runtime status of a Canton participant: active flag, id, uptime and the lists of currently connected and unhealthy sync domains.

activebooleanOptional
connectedDomainsstring[]Optional
idstringOptional
unhealthyDomainsstring[]Optional
uptimeinteger · int64Optional
get/remote-participants/{name}/status

Get a single remote domain registration

get

Returns CBM-side registration metadata for the remote domain identified by name. This call reads local state only and does not contact the remote node.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

CBM-side registration name of the remote domain.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Externally-hosted sync domain registered in CBM: admin / public endpoints, image metadata and lifecycle phase.

adminAddressstring · min: 1Required
adminPortstring · min: 1Required
imagestring · min: 1Required
namestring · min: 1Required
phasestring · enumOptionalPossible values:
publicAddressstring · min: 1Required
publicPortstring · min: 1Required
get/remote-domains/{name}

Deregister a remote domain

delete

Removes the CBM-side registration of the remote domain. The remote node itself is not stopped or deleted; only its local registration metadata is dropped.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

CBM-side registration name of the remote domain.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
204

No Content

No content

delete/remote-domains/{name}

No content

Check status of a remote domain

get

Looks up the CBM-side registration for the given remote domain and proxies a status probe to its admin endpoint. Returns the health information reported by the remote node.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

CBM-side registration name of the remote domain to probe.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Runtime status of a single-replica sync domain: active flag, id, uptime, sequencer state and the list of currently connected participants.

activebooleanOptional
connectedParticipantsstring[]Optional
idstringOptional
uptimeinteger · int64Optional
get/remote-domains/{name}/status

Get participant

get

Returns the configuration and current lifecycle phase of a single participant, including storage, ports, ledger/admin addresses, authorization and resource settings.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant to fetch.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Canton participant definition: container image, admin / ledger endpoints, authentication, postgres storage and Canton-specific settings used to provision a new participant deployment.

adminAddressstringOptional
adminPortstring · min: 1Required
authbooleanOptional
authProviderstring · enumRequiredPossible values:
bootstrapstringOptional
daemonbooleanOptional
enterprisebooleanOptional

Whether the canton image is enterprise or not

imagestring · min: 1Required
jsonapibooleanOptional
jsonapiImagestringOptional
privateJsonapibooleanOptional
jsonapiQueryStorebooleanOptional
exposeLedgerApibooleanOptional
ledgerAddressstringOptional
ledgerPortstring · min: 1Required
logLevelstring · enumOptionalPossible values:
namestring · min: 1Required
navigatorbooleanOptional
phasestring · enumOptionalPossible values:
topologystringOptional
validatorParentstringOptional
enableKmsbooleanOptional
kmsValuestringOptional
kmsServiceAccountstringOptional
get/participants/{name}

Delete participant

delete

Removes the participant Custom Resource together with its database secret, Keycloak client scopes and any cached local-party state. The underlying Kubernetes workload is torn down asynchronously by the operator.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant to delete.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
204

No Content

No content

delete/participants/{name}

No content

Check status of a participant

get

Queries the participant's admin API and returns its live runtime status, including whether it is initialized, active and connected to its sync domains. The participant is selected dynamically depending on whether it is a Canton or validator-backed participant.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant to query.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Query parameters
portinteger · int32Optional

Admin gRPC port on which to contact the participant.

Default: 5019
Responses
200

OK

*/*

Runtime status of a Canton participant: active flag, id, uptime and the lists of currently connected and unhealthy sync domains.

activebooleanOptional
connectedDomainsstring[]Optional
idstringOptional
unhealthyDomainsstring[]Optional
uptimeinteger · int64Optional
get/participants/{name}/status

List backup files available for restore

get

Lists the backup files in the participant's backup location that can be used as the source for a restore. Names returned here can be passed to the create restore endpoint.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant whose available backup files to list.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Entry in the backup history of a Canton workload describing a single backup artifact: file name, size in bytes, status of the backup operation and the timestamp at which it was produced.

filenamestringOptional
sizeinteger · int32Optional

File size in bytes

statusstringOptional
timestampstringOptional
get/participants/{name}/restore/listFiles

Get participant restore history

get

Returns the history of restore operations previously executed for the participant, including their source backup file, completion time and final status.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant whose restore history to fetch.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Single entry in a restore history: filename, status, timestamp and any log captured during the restore.

filenamestringOptional
logstringOptional
statusstringOptional
timestampstringOptional
get/participants/{name}/restore/history

List local parties

get

Returns the cached view of parties hosted on the given participant, along with the status of the latest background refresh. The data is served from CBM's in-memory cache and may lag the ledger; use the fetch endpoint to force a refresh.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant whose local parties to list.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
400

Bad Request

*/*
Other propertiesstringOptional
get/participants/{name}/parties/local

Get participant backup history

get

Returns the list of previously produced backup files for the participant, as reported by the backup CronJob's history, including their filenames and creation timestamps.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the participant whose backup history to fetch.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Entry in the backup history of a Canton workload describing a single backup artifact: file name, size in bytes, status of the backup operation and the timestamp at which it was produced.

filenamestringOptional
sizeinteger · int32Optional

File size in bytes

statusstringOptional
timestampstringOptional
get/participants/{name}/backup/history

Get cluster observability information

get

Returns information about the cluster-level observability stack, in particular the URL of the cluster dashboard used to inspect metrics and health of managed workloads.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Responses
200

OK

*/*

Connection metadata describing the Canton / Splice cluster CBM is attached to (URL of the cluster control plane).

urlstringOptional
get/observability/cluster

Fetch a window of log lines for a node

get

Returns up to numLogs parsed log lines around the given reference timestamp, filtered by minimum log level and a free-text filter. Use prevLogs to fetch lines older than the reference timestamp.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Name of the Canton node whose logs should be returned

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Query parameters
referenceTimestampstringRequired

Reference timestamp (ISO-8601) used as the anchor of the log window

prevLogsbooleanRequired

If true, fetch lines older than the reference timestamp; otherwise newer

numLogsinteger · int32 · min: 20 · max: 100Required

Number of log lines to return (between 20 and 100)

levelstring · enumRequired

Minimum log level to include

Possible values:
filterstringRequired

Free-text substring filter applied to log messages

Responses
200

OK

*/*

Single Canton-formatted log line: parsed timestamp, log level and message content.

contentstringOptional
levelstring · enumOptionalPossible values:
timeStampstringOptional
get/logs/{name}

Download node logs as a streamed file

get

Streams up to tailLines most recent log lines from the node's pod as a plain text attachment. When previous=true, logs are pulled from the previously terminated container instance. The response uses a streaming body so the connection remains open while logs are written.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Name of the Canton node whose logs should be downloaded

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Query parameters
tailLinesinteger · int32 · min: 100 · max: 100000Optional

Number of most recent log lines to include (100-100000, default 10000)

Default: 10000
previousbooleanOptional

If true, fetch logs from the previous (terminated) container instance

Default: false
Responses
400

Invalid node name or query parameters

*/*
Other propertiesstringOptional
get/logs/{name}/download

List all identity dumps

get

Returns identity dump secrets for every validator managed by this CBM, across all validators.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Responses
200

OK

*/*

Identity-dump artifact metadata: name of the Kubernetes secret holding the dump, the owning validator name and the timestamp at which it was captured.

secretNamestringOptional
validatorNamestringOptional
timestampinteger · int64Optional
createdAtstringOptional
get/id-dumps

List available health dump files on a node

get

Returns the names of health dump files that currently exist on the target node and can be downloaded via the download endpoint.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Name of the Canton node whose health dump files should be listed

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*
string[]Optional
get/health-dumps/{name}

Generate and download a node health dump

get

Triggers the Canton health dump command on the target node and returns the resulting diagnostics file as an application/octet-stream attachment. The version of the health dump API used depends on whether the node is a validator (V3) or a classic Canton node (V0).

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Name of the Canton node to generate a health dump for

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*
string · binaryOptional
get/health-dumps/{name}/execute

Download an existing health dump file

get

Streams a previously generated health dump file from the target node by its path as an application/octet-stream attachment.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Name of the Canton node that owns the health dump file

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Query parameters
filePathstringRequired

Path of the health dump file on the node to download

Responses
200

OK

application/octet-stream
string · binaryOptional
get/health-dumps/{name}/download

Download a stored file

get

Returns the raw binary contents of a previously uploaded file of the given type as an application/octet-stream response.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestringRequired

Name of the file to download

Query parameters
fileTypestring · enumRequired

Type/category of the file to download

Possible values:
Responses
200

OK

application/octet-stream
string · binaryOptional
get/files/{name}

Delete a stored file

delete

Removes a previously uploaded file of the given type from server-side storage.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestringRequired

Name of the file to delete

Query parameters
fileTypestring · enumRequired

Type/category of the file to delete

Possible values:
Responses
204

No Content

No content

delete/files/{name}

No content

Get a sync domain by name

get

Returns the full DTO of a single sync domain, including its current phase, storage configuration, resources, and topology.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the sync domain.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Canton sync domain definition: name, container image, log level, admin / public endpoints and Canton-specific bootstrap settings used to provision a single-replica sync domain.

adminAddressstringOptional
adminPortstring · min: 1Required
bootstrapstringOptional
daemonbooleanOptional
enterprisebooleanOptional

Whether the canton image is enterprise or not

imagestring · min: 1Required
ingressbooleanOptional
logLevelstring · enumOptionalPossible values:
namestring · min: 1Required
phasestring · enumOptionalPossible values:
publicAddressstringOptional
publicPortstring · min: 1Required
topologystringOptional
get/domains/{name}

Delete a sync domain

delete

Removes the sync domain Kubernetes resource and its associated database secret. The underlying resources are cleaned up asynchronously by the operator.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the sync domain to delete.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
204

No Content

No content

delete/domains/{name}

No content

Check status of a domain

get

Queries the live admin API of the sync domain and returns its current health and runtime status. The domain pod must be reachable for the call to succeed.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the sync domain.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Query parameters
portinteger · int32Optional

Admin gRPC port of the domain to query; defaults to the standard admin port.

Default: 5019
Responses
200

OK

*/*

Runtime status of a single-replica sync domain: active flag, id, uptime, sequencer state and the list of currently connected participants.

activebooleanOptional
connectedParticipantsstring[]Optional
idstringOptional
uptimeinteger · int64Optional
get/domains/{name}/status

List available backup files for restore

get

Returns the list of backup artifacts currently available on the domain's backup storage. Any returned file name can be used as the source of a restore job.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the sync domain whose backup files should be listed.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Entry in the backup history of a Canton workload describing a single backup artifact: file name, size in bytes, status of the backup operation and the timestamp at which it was produced.

filenamestringOptional
sizeinteger · int32Optional

File size in bytes

statusstringOptional
timestampstringOptional
get/domains/{name}/restore/listFiles

Get domain restore history

get

Returns the history of past restore runs for the sync domain, including the status and metadata of each completed or failed attempt.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the sync domain to query history for.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Single entry in a restore history: filename, status, timestamp and any log captured during the restore.

filenamestringOptional
logstringOptional
statusstringOptional
timestampstringOptional
get/domains/{name}/restore/history

Get domain backup history

get

Returns the history of past backup runs for the sync domain, including status and metadata for each produced artifact.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the sync domain to query history for.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

Entry in the backup history of a Canton workload describing a single backup artifact: file name, size in bytes, status of the backup operation and the timestamp at which it was produced.

filenamestringOptional
sizeinteger · int32Optional

File size in bytes

statusstringOptional
timestampstringOptional
get/domains/{name}/backup/history

Get a HA sync domain by name

get

Returns the full DTO of a single HA sync domain, including replication configuration and the current phase.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the HA sync domain.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*

High-availability sync domain definition: per-component (sequencer, mediator, topology manager) specifications plus in-cluster or external storage settings.

namestring · min: 2 · max: 15Required
validStoragebooleanOptional
get/domainha/{name}

Delete a HA sync domain

delete

Removes the HA sync domain Kubernetes resource. The replicated components are torn down asynchronously by the operator.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Kubernetes resource name of the HA sync domain to delete.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
204

No Content

No content

delete/domainha/{name}

No content

Get Canton console output for a node

get

Returns the buffered Canton console (stdout) output collected from the pod backing the given node, useful for inspecting results of previously executed commands.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestring · min: 1 · max: 47Required

Name of the Canton node whose console output should be returned

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
200

OK

*/*
string[]Optional
get/console/{name}

Get an application by name

get

Returns the current spec and status of the application identified by the given name.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestringRequired

Name of the application to retrieve

Responses
200

OK

*/*

Generic CBM-deployed application: name, container image, port, package, parent validator and Kubernetes resource requirements; used both as a request and a response body on the applications endpoints.

domainstring · min: 1Required
imagestringOptional
namestring · min: 1Required
packageNamestringOptional
phasestring · enumOptionalPossible values:
portinteger · int32Optional
typestring · enumRequiredPossible values:
validatorParentstringOptional
get/applications/{name}

Delete an application

delete

Removes the application CRD identified by name and cleans up any associated auth provider clients (e.g. Keycloak) that were created for it.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
namestringRequired

Name of the application to delete

Responses
204

No Content

No content

delete/applications/{name}

No content

Delete all identity dumps

delete

Removes every identity dump secret currently stored for the validator. The schedule (if any) is not affected.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
validatorNamestring · min: 1 · max: 47Required

Kubernetes resource name of the validator.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
Responses
204

No Content

No content

delete/id-dumps/{validatorName}/dumps

No content

Delete a single identity dump

delete

Removes a single identity dump secret belonging to the validator, identified by the secret's name. Other dumps and the schedule are left untouched.

Authorizations
AuthorizationstringRequired

Bearer JWT issued by the configured OAuth2 / OIDC provider (typically Keycloak or Auth0). Pass as Authorization: Bearer <access_token>.

Path parameters
validatorNamestring · min: 1 · max: 47Required

Kubernetes resource name of the validator.

Pattern: [a-z]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9])?)*
secretNamestringRequired

Name of the Kubernetes secret holding the identity dump to delete.

Responses
204

No Content

No content

delete/id-dumps/{validatorName}/dumps/{secretName}

No content

Last updated

Was this helpful?