Synadia Control Plane / Synadia Cloud API

The REST control-plane API behind Synadia Cloud and the self-hosted Synadia Control Plane. 245 operations across 158 paths manage systems, accounts, teams, NATS users, JetStream streams, consumers, key-value and object buckets, mirrors, imports/exports, signing key groups, auth callout, OIDC providers, alerts, workloads and licensing. Authenticated with a Personal Access Token as an HTTP bearer token, or a session cookie in the console.

Operations 245

DELETE /core/beta/account-sk-groups/{groupId} Delete Account Signing Key Group #
GET /core/beta/account-sk-groups/{groupId} Get Account Signing Key Group #
PATCH /core/beta/account-sk-groups/{groupId} Update Account Signing Key Group #
GET /core/beta/account-sk-groups/{groupId}/account-sks List Signing Keys #
POST /core/beta/account-sk-groups/{groupId}/copy Copy Account SK Group #
GET /core/beta/account-sk-groups/{groupId}/nats-users List NATS Users #
POST /core/beta/account-sk-groups/{groupId}/rotate-sk Roate Active Signing Key #
DELETE /core/beta/account-sks/{keyId} Delete Account Signing #
GET /core/beta/account-sks/{keyId} Get Account Signing #
PATCH /core/beta/account-sks/{keyId} Update Account Signing #
DELETE /core/beta/accounts/{accountId} Delete Account #
GET /core/beta/accounts/{accountId} Get Account #
PATCH /core/beta/accounts/{accountId} Update Account #
GET /core/beta/accounts/{accountId}/account-sk-groups List Account Signing Key Groups #
POST /core/beta/accounts/{accountId}/account-sk-groups Create Account Signing Key Group #
GET /core/beta/accounts/{accountId}/alert-rules List Account Alert Rules #
POST /core/beta/accounts/{accountId}/alert-rules Create Account Alert Rule #
DELETE /core/beta/accounts/{accountId}/alert-rules/{alertRuleId} Delete Account Alert Rule #
GET /core/beta/accounts/{accountId}/alert-rules/{alertRuleId} Get Account Alert Rule #
PATCH /core/beta/accounts/{accountId}/alert-rules/{alertRuleId} Update Account Alert Rule #
GET /core/beta/accounts/{accountId}/alert-rules/{alertRuleId}/run Run Account Alert Rule #
GET /core/beta/accounts/{accountId}/app-users List Account Team App Users #
DELETE /core/beta/accounts/{accountId}/app-users/{teamAppUserId} Unassign Team App User from Account #
POST /core/beta/accounts/{accountId}/app-users/{teamAppUserId} Assign Team App User to Account #
GET /core/beta/accounts/{accountId}/connections List Account Connections #
GET /core/beta/accounts/{accountId}/export Export Account Seeds #
GET /core/beta/accounts/{accountId}/info Get Account Info #
GET /core/beta/accounts/{accountId}/jetstream List JetStream Assets #
GET /core/beta/accounts/{accountId}/jetstream/kv-buckets List KV buckets #
POST /core/beta/accounts/{accountId}/jetstream/kv-buckets Create KV Bucket #
GET /core/beta/accounts/{accountId}/jetstream/mirrors List Mirrors #
POST /core/beta/accounts/{accountId}/jetstream/mirrors Create Mirror #
GET /core/beta/accounts/{accountId}/jetstream/object-buckets List Object buckets #
POST /core/beta/accounts/{accountId}/jetstream/object-buckets Create Object Bucket #
GET /core/beta/accounts/{accountId}/jetstream/placement-options Get JetStream Placement Options #
GET /core/beta/accounts/{accountId}/jetstream/streams List Streams #
POST /core/beta/accounts/{accountId}/jetstream/streams Create Stream #
GET /core/beta/accounts/{accountId}/metrics Get Account Metrics #
GET /core/beta/accounts/{accountId}/nats-core/websocket/view Subscribe to a NATS Core subject over websockets #
DELETE /core/beta/accounts/{accountId}/nats-user-revocations/{userNkeyPublic} Delete a for a NATS User NKey #
GET /core/beta/accounts/{accountId}/nats-user-revocations/{userNkeyPublic} Get Revocation for a NATS User NKey #
PUT /core/beta/accounts/{accountId}/nats-user-revocations/{userNkeyPublic} Create or Update Revocation for a NATS User NKey #
GET /core/beta/accounts/{accountId}/nats-users List NATS Users #
POST /core/beta/accounts/{accountId}/nats-users Create NATS User #
GET /core/beta/accounts/{accountId}/stream-exports List Stream Exports #
POST /core/beta/accounts/{accountId}/stream-exports Create Stream Export #
GET /core/beta/accounts/{accountId}/stream-imports List Stream Imports #
POST /core/beta/accounts/{accountId}/stream-imports Create Stream Import #
GET /core/beta/accounts/{accountId}/stream-imports/shared List Shared Stream Exports #
GET /core/beta/accounts/{accountId}/subject-exports List Subject Exports #
POST /core/beta/accounts/{accountId}/subject-exports Create Subject Export #
GET /core/beta/accounts/{accountId}/subject-imports List Subject Imports #
POST /core/beta/accounts/{accountId}/subject-imports Create Subject Import #
GET /core/beta/accounts/{accountId}/subject-imports/shared List Shared Subject Exports #
DELETE /core/beta/accounts/{accountId}/unmanage Unmanage Account #
GET /core/beta/admin/app-user Check for Admin User #
POST /core/beta/admin/app-user Create an App Admin User #
DELETE /core/beta/agent-tokens/{tokenId} Delete Agent Token #
GET /core/beta/alerts List Alerts #
GET /core/beta/alerts/{alertId} Get Alert #
PATCH /core/beta/alerts/{alertId}/acknowledge Acknowledge Alert #
GET /core/beta/app-users List App Users #
POST /core/beta/app-users Create App User #
DELETE /core/beta/app-users/{appUserId} Delete App User #
GET /core/beta/app-users/{appUserId} Get App User #
PATCH /core/beta/app-users/{appUserId} Update App User #
GET /core/beta/app-users/{appUserId}/roles List Roles #
POST /core/beta/app-users/{appUserId}/teams/{teamId} Assign App User to Team #
DELETE /core/beta/auth-callout/{authCalloutId} Delete Auth Callout Config #
GET /core/beta/auth-callout/{authCalloutId} Auth Callout Config #
GET /core/beta/auth-callout/{authCalloutId}/target-accounts Get Target Account List #
POST /core/beta/auth-callout/{authCalloutId}/target-accounts Configure Target Account #
DELETE /core/beta/auth-callout/{authCalloutId}/target-accounts/{targetAccountId} Delete Target Account #
GET /core/beta/auth-callout/{authCalloutId}/users Get Target Account List #
POST /core/beta/auth-callout/{authCalloutId}/users Create Auth Callout User #
DELETE /core/beta/auth-callout/{authCalloutId}/users/{acUserId} Delete Control Account User #
POST /core/beta/authz/check Check Authz Decisions #
GET /core/beta/authz/policies Get Policy List #
GET /core/beta/authz/roles Get Authz roles List #
GET /core/beta/component-versions Get Available Component Versions #
POST /core/beta/component-versions Get Available Component Versions By Type #
DELETE /core/beta/consumers/pull/{consumerId} Delete Pull Consumer #
GET /core/beta/consumers/pull/{consumerId} Get Pull Consumer #
PATCH /core/beta/consumers/pull/{consumerId} Update Pull Consumer #
DELETE /core/beta/consumers/push/{consumerId} Delete Push Consumer #
GET /core/beta/consumers/push/{consumerId} Get Push Consumer #
PATCH /core/beta/consumers/push/{consumerId} Update Push Consumer #
GET /core/beta/invitations List of pending invitations #
POST /core/beta/invitations/{teamId} Accept or reject team invitation #
DELETE /core/beta/jetstream/kv-bucket/{streamId} Delete KV Bucket #
GET /core/beta/jetstream/kv-bucket/{streamId} Get KV Bucket #
PATCH /core/beta/jetstream/kv-bucket/{streamId} Update KV Bucket #
GET /core/beta/jetstream/kv-bucket/{streamId}/consumers List Consumers #
POST /core/beta/jetstream/kv-bucket/{streamId}/consumers/pull Create Pull Consumer #
POST /core/beta/jetstream/kv-bucket/{streamId}/consumers/push Create Push Consumer #
DELETE /core/beta/jetstream/kv-bucket/{streamId}/purge Purge KV Bucket #
DELETE /core/beta/jetstream/mirror/{streamId} Delete Mirror #
GET /core/beta/jetstream/mirror/{streamId} Get Mirror #
PATCH /core/beta/jetstream/mirror/{streamId} Update Mirror #
GET /core/beta/jetstream/mirror/{streamId}/consumers List Consumers #
POST /core/beta/jetstream/mirror/{streamId}/consumers/pull Create Pull Consumer #
POST /core/beta/jetstream/mirror/{streamId}/consumers/push Create Push consumer #
DELETE /core/beta/jetstream/mirror/{streamId}/purge Purge Mirror #
DELETE /core/beta/jetstream/object-bucket/{streamId} Delete Object Bucket #
GET /core/beta/jetstream/object-bucket/{streamId} Get Object Bucket #
PATCH /core/beta/jetstream/object-bucket/{streamId} Update Object Bucket #
GET /core/beta/jetstream/object-bucket/{streamId}/consumers List Consumers #
POST /core/beta/jetstream/object-bucket/{streamId}/consumers/pull Create Pull Consumer #
POST /core/beta/jetstream/object-bucket/{streamId}/consumers/push Create Push Consumer #
DELETE /core/beta/jetstream/object-bucket/{streamId}/purge Purge Object Bucket #
DELETE /core/beta/jetstream/stream/{streamId} Delete Stream #
GET /core/beta/jetstream/stream/{streamId} Get Stream #
PATCH /core/beta/jetstream/stream/{streamId} Update Stream #
GET /core/beta/jetstream/stream/{streamId}/consumers List Consumers #
POST /core/beta/jetstream/stream/{streamId}/consumers/pull Create Pull Consumer #
POST /core/beta/jetstream/stream/{streamId}/consumers/push Create Push Consumer #
DELETE /core/beta/jetstream/stream/{streamId}/purge Purge Stream #
DELETE /core/beta/license Delete License #
GET /core/beta/license Get License Status #
PUT /core/beta/license Update License #
GET /core/beta/nats-user-issuances/{issuanceId} Get nats user issuance #
DELETE /core/beta/nats-users/{userId} Delete NATS User #
GET /core/beta/nats-users/{userId} Get NATS User #
PATCH /core/beta/nats-users/{userId} Update NATS User #
GET /core/beta/nats-users/{userId}/app-users List Team App Users #
DELETE /core/beta/nats-users/{userId}/app-users/{teamAppUserId} Unassign Team App User from NATS User #
POST /core/beta/nats-users/{userId}/app-users/{teamAppUserId} Assign Team App User to NATS User #
POST /core/beta/nats-users/{userId}/bearer-jwt Get Bearer JWT #
GET /core/beta/nats-users/{userId}/connections List NATs User Connections #
POST /core/beta/nats-users/{userId}/copy Copy nats user #
POST /core/beta/nats-users/{userId}/creds Get Creds #
POST /core/beta/nats-users/{userId}/http-gw-token Get HTTP Gateway Token #
GET /core/beta/nats-users/{userId}/issuances List nats user issuances #
POST /core/beta/nats-users/{userId}/rotate Rotate nats user nkey and seed #
GET /core/beta/oidc-providers List OIDC Providers #
POST /core/beta/oidc-providers Create OIDC Provider #
DELETE /core/beta/oidc-providers/{oidcProviderId} Delete OIDC Provider #
GET /core/beta/oidc-providers/{oidcProviderId} Get OIDC Provider #
PATCH /core/beta/oidc-providers/{oidcProviderId} Update OIDC Provider #
GET /core/beta/oidc-providers/defaults List OIDC Provider Defaults #
GET /core/beta/personal-access-tokens List Personal Access Tokens #
POST /core/beta/personal-access-tokens Create Personal Access Token #
DELETE /core/beta/personal-access-tokens/{tokenId} Delete Personal Access Token #
GET /core/beta/personal-access-tokens/{tokenId} Get Personal Access Token #
PATCH /core/beta/personal-access-tokens/{tokenId} Update Personal Access Token #
POST /core/beta/platform-components/connect Connect a Platform Component #
DELETE /core/beta/service-account-tokens/app/{tokenId} Delete App Service Account Token #
GET /core/beta/service-account-tokens/app/{tokenId} Get App Service Account Token #
PATCH /core/beta/service-account-tokens/app/{tokenId} Update App Service Account Token #
DELETE /core/beta/service-account-tokens/team/{tokenId} Delete Team Service Account Token #
GET /core/beta/service-account-tokens/team/{tokenId} Get Team Service Account Token #
PATCH /core/beta/service-account-tokens/team/{tokenId} Update Team Service Account Token #
GET /core/beta/service-accounts/app List App Service Accounts #
POST /core/beta/service-accounts/app Create App Service Account #
DELETE /core/beta/service-accounts/app/{serviceAccountId} Delete App Service Account #
GET /core/beta/service-accounts/app/{serviceAccountId} Get App Service Account #
PATCH /core/beta/service-accounts/app/{serviceAccountId} Update App Service Account #
GET /core/beta/service-accounts/app/{serviceAccountId}/tokens List Access Tokens for App Service Account #
POST /core/beta/service-accounts/app/{serviceAccountId}/tokens Create Acess Token for App Service Account #
DELETE /core/beta/service-accounts/team/{serviceAccountId} Delete Team Service Account #
GET /core/beta/service-accounts/team/{serviceAccountId} Get Team Service Account #
PATCH /core/beta/service-accounts/team/{serviceAccountId} Update Team Service Account #
GET /core/beta/service-accounts/team/{serviceAccountId}/tokens List Access Tokens for Team Service Account #
POST /core/beta/service-accounts/team/{serviceAccountId}/tokens Create Acess Token for Team Service Account #
DELETE /core/beta/stream-exports/{streamExportId} Delete Stream Export #
GET /core/beta/stream-exports/{streamExportId} Get Stream Export #
GET /core/beta/stream-exports/{streamExportId}/shares List Stream Shares #
POST /core/beta/stream-exports/{streamExportId}/shares Create Stream Shares #
DELETE /core/beta/stream-exports/{streamExportId}/shares/{targetAccountNKeyPublic} Delete Stream Share #
DELETE /core/beta/stream-imports/{streamImportId} Delete Stream Import #
GET /core/beta/stream-imports/{streamImportId} Get Stream Import #
DELETE /core/beta/subject-exports/{subjectExportId} Delete Subject Export #
GET /core/beta/subject-exports/{subjectExportId} Get Subject Export #
PATCH /core/beta/subject-exports/{subjectExportId} Update Subject Export #
GET /core/beta/subject-exports/{subjectExportId}/shares List Subject Shares #
POST /core/beta/subject-exports/{subjectExportId}/shares Create Subject Shares #
DELETE /core/beta/subject-exports/{subjectExportId}/shares/{targetAccountNKeyPublic} Delete Subject Share #
DELETE /core/beta/subject-imports/{subjectImportId} Delete Subject Import #
GET /core/beta/subject-imports/{subjectImportId} Get Subject Import #
PATCH /core/beta/subject-imports/{subjectImportId} Update Subject Import #
DELETE /core/beta/systems/{systemId} Delete System #
GET /core/beta/systems/{systemId} Get System #
PATCH /core/beta/systems/{systemId} Update System #
GET /core/beta/systems/{systemId}/accounts List Accounts #
POST /core/beta/systems/{systemId}/accounts Create Account #
GET /core/beta/systems/{systemId}/accounts-overview-metrics List Accounts overview metrics #
GET /core/beta/systems/{systemId}/agent-tokens List Agent Tokens #
POST /core/beta/systems/{systemId}/agent-tokens Rotate Agent Token #
GET /core/beta/systems/{systemId}/agent-tokens/current Get Current Agent Token #
GET /core/beta/systems/{systemId}/alert-rules List System Alert Rules #
POST /core/beta/systems/{systemId}/alert-rules Create System Alert Rule #
DELETE /core/beta/systems/{systemId}/alert-rules/{alertRuleId} Delete System Alert Rule #
GET /core/beta/systems/{systemId}/alert-rules/{alertRuleId} Get System Alert Rule #
PATCH /core/beta/systems/{systemId}/alert-rules/{alertRuleId} Update System Alert Rules #
GET /core/beta/systems/{systemId}/alert-rules/{alertRuleId}/run Run System Alert Rule #
GET /core/beta/systems/{systemId}/app-users List System Team App Users #
DELETE /core/beta/systems/{systemId}/app-users/{teamAppUserId} Unassign Team App User from System #
POST /core/beta/systems/{systemId}/app-users/{teamAppUserId} Assign Team App User to System #
GET /core/beta/systems/{systemId}/audit/jobs List Audit Jobs #
GET /core/beta/systems/{systemId}/audit/jobs/{jobId} Get Audit Job Status #
GET /core/beta/systems/{systemId}/audit/jobs/{jobId}/result Get Audit Job Result #
POST /core/beta/systems/{systemId}/audit/run Run System Audit Check #
GET /core/beta/systems/{systemId}/auth-callout List Auth Callout Configs #
POST /core/beta/systems/{systemId}/auth-callout Enable Auth Callout For System #
GET /core/beta/systems/{systemId}/auth-callout/authenticators Get List of Available Authenticators #
POST /core/beta/systems/{systemId}/bulk/shares Share assets across accounts #
GET /core/beta/systems/{systemId}/connections List Connections #
GET /core/beta/systems/{systemId}/export Export System Seeds #
GET /core/beta/systems/{systemId}/health/check Get System Health Check #
GET /core/beta/systems/{systemId}/health/clusters Get Cluster Overview #
GET /core/beta/systems/{systemId}/health/jetstream Get JetStream Health Report #
GET /core/beta/systems/{systemId}/health/servers Get System Server List #
POST /core/beta/systems/{systemId}/import-account Import Account #
POST /core/beta/systems/{systemId}/import-user Import User #
GET /core/beta/systems/{systemId}/info/accounts List System Accounts Info #
GET /core/beta/systems/{systemId}/info/servers List System Servers info #
POST /core/beta/systems/{systemId}/jwt-sync Re-sync JWTs of all accounts in this system #
GET /core/beta/systems/{systemId}/limits Get System Limits #
GET /core/beta/systems/{systemId}/nats-clusters List Clusters #
PATCH /core/beta/systems/{systemId}/platform-components Update Platform Components for System #
GET /core/beta/systems/{systemId}/platform-components/{id}/tokens Get a component access token #
GET /core/beta/systems/{systemId}/prometheus-metrics Get Prometheus Metrics #
GET /core/beta/systems/{systemId}/servers List Servers #
DELETE /core/beta/systems/{systemId}/unmanage Unmanage System #
GET /core/beta/teams List Teams #
POST /core/beta/teams Create Team #
DELETE /core/beta/teams/{teamId} Delete Team #
GET /core/beta/teams/{teamId} Get Team #
PATCH /core/beta/teams/{teamId} Update Team #
GET /core/beta/teams/{teamId}/app-users List App Users #
DELETE /core/beta/teams/{teamId}/app-users/{appUserId} Unassign App User from Team #
PATCH /core/beta/teams/{teamId}/app-users/{appUserId} Update App User Team Assignment #
POST /core/beta/teams/{teamId}/app-users/invitations Invite App Users #
POST /core/beta/teams/{teamId}/app-users/leave Leave Team #
POST /core/beta/teams/{teamId}/import-system Import a System #
GET /core/beta/teams/{teamId}/info/app-users List info of App Users in Team #
GET /core/beta/teams/{teamId}/service-accounts List Team Service Accounts #
POST /core/beta/teams/{teamId}/service-accounts Create Team Service Account #
GET /core/beta/teams/{teamId}/systems List Systems #
POST /core/beta/teams/{teamId}/systems Create System #
GET /core/beta/teams/{teamId}/team-limits Get Team Limits #
POST /core/beta/terms/accept Accept terms #
GET /core/beta/version Get Version #
GET /workloads/alpha/{accountId}/limits Get Workloads limits #
GET /workloads/alpha/{accountId}/tags List Workload tags #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/synadia-communications-control-plane"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

synadia-communications-control-plane-openapi.yaml Raw ↑
openapi: 3.0.0
info:
  description: API for Synadia Control Plane / Synadia Cloud
  title: Synadia Control Plane / Synadia Cloud
  version: beta
servers:
- description: Path to Synadia Control Plane Server Api
  url: "{baseUrl}/api"
  variables:
    baseUrl:
      default: ""
security:
- bearerAuth: []
  sessionAuth: []
tags:
- description: App admin related functions
  name: Admin
- description: Get resources related to the current user session
  name: Session
- description: Manage NATS systems
  name: Systems
- description: Manage teams
  name: Teams
- description: Get Component Versions from Upstream
  name: Component Versions
- description: Manage SCP Agent Access Tokens
  name: Agent Tokens
- description: Manage NATS accounts
  name: Accounts
- description: Manage NATS users
  name: NATS Users
- description: Manage JetStream assets for an Account
  name: JetStream
- description: Manage JetStream streams for an Account
  name: "JetStream: Streams"
- description: Manage JetStream KV Buckets for an Account
  name: "JetStream: KV Buckets"
- description: Manage JetStream Object Buckets for an Account
  name: "JetStream: Object Buckets"
- description: Manage JetStream mirrors for an Account
  name: "JetStream: Mirrors"
- description: Manage JetStream consumers for a Stream
  name: "JetStream: Consumers"
- description: Share Streams and Services between Accounts
  name: Sharing
- description: Manage alerts for NATS Systems and Accounts
  name: Alerts
- description: Manage People with access to Control Plane
  name: App Users
- description: Manage Authorization Policies for Control Plane users
  name: Authorization
- description: Account Signing Key Groups
  name: Signing Key Groups
- description: Manage user invitations
  name: Invitations
- description: Manage NATS user issuances
  name: NATS User Issuances
- description: Manage Team Service Accounts for accessing API
  name: Team Service Accounts
- description: Manage App Service Accounts for accessing API
  name: App Service Accounts
- description: NATS-based data pipelines
  name: NATS Connector Service
- description: Manage Synadia Platform Components Configuration
  name: Platform Components
- description: Manage Synadia Platform Workloads
  name: Workloads
- description: Manage NATS Auth Callout Configuration
  name: Auth Callout
- description: Manage Synadia Schema Registry
  name: Schema Registry
- description: Manage OIDC authentication providers
  name: OIDC Providers
- description: Manage Insights
  name: Insights
- description: License status and entitlements
  name: License
paths:
  /core/beta/account-sk-groups/{groupId}:
    delete:
      description: Deletes Account Signing Key Group
      operationId: deleteAccountSkGroup
      parameters:
      - explode: false
        in: path
        name: groupId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "204":
          description: No Content
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Delete Account Signing Key Group
      tags:
      - sig-key-group
      x-doc-tags:
      - Signing Key Groups
    get:
      description: Get Account Signing Key Group
      operationId: getAccountSkGroup
      parameters:
      - explode: false
        in: path
        name: groupId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SigningKeyGroupViewResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Get Account Signing Key Group
      tags:
      - sig-key-group
      x-doc-tags:
      - Signing Key Groups
    patch:
      description: Update Account Signing Key Group
      operationId: updateAccountSkGroup
      parameters:
      - explode: false
        in: path
        name: groupId
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SigningKeyGroupUpdateRequest'
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SigningKeyGroupViewResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Update Account Signing Key Group
      tags:
      - sig-key-group
      x-doc-tags:
      - Signing Key Groups
  /core/beta/account-sk-groups/{groupId}/account-sks:
    get:
      description: List Account Signing Keys In Group
      operationId: listAccountSkGroupKeys
      parameters:
      - explode: false
        in: path
        name: groupId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SigningKeyListResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: List Signing Keys
      tags:
      - sig-key-group
      x-doc-tags:
      - Signing Key Groups
  /core/beta/account-sk-groups/{groupId}/copy:
    post:
      description: "Copies Account SK Group. Copies all users from old SK group to\
        \ the new SK group, generating new NKeys for copied users."
      operationId: copyAccountSkGroup
      parameters:
      - explode: false
        in: path
        name: groupId
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SigningKeyGroupCopyRequest'
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SigningKeyGroupViewResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Copy Account SK Group
      tags:
      - sig-key-group
      x-doc-tags:
      - Signing Key Groups
  /core/beta/account-sk-groups/{groupId}/nats-users:
    get:
      description: Returns a list of NATS users for the given signing key group
      operationId: listAccountSKGroupUsers
      parameters:
      - explode: false
        in: path
        name: groupId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NatsUserListResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: List NATS Users
      tags:
      - sig-key-group
      x-doc-tags:
      - NATS Users
  /core/beta/account-sk-groups/{groupId}/rotate-sk:
    post:
      description: Rotates The Active Signing Key For Account Signing Key Group
      operationId: rotateAccountSk
      parameters:
      - explode: false
        in: path
        name: groupId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SigningKeyRotateResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Roate Active Signing Key
      tags:
      - sig-key-group
      x-doc-tags:
      - Signing Key Groups
  /core/beta/account-sks/{keyId}:
    delete:
      description: Deletes Account Signing
      operationId: deleteAccountSk
      parameters:
      - explode: false
        in: path
        name: keyId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "204":
          description: No Content
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Delete Account Signing
      tags:
      - sig-key
      x-doc-tags:
      - Signing Key Groups
    get:
      description: Get Account Signing
      operationId: getAccountSk
      parameters:
      - explode: false
        in: path
        name: keyId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SigningKeyViewResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Get Account Signing
      tags:
      - sig-key
      x-doc-tags:
      - Signing Key Groups
    patch:
      description: Update Account Signing
      operationId: updateAccountSk
      parameters:
      - explode: false
        in: path
        name: keyId
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SigningKeyUpdateRequest'
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SigningKeyViewResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Update Account Signing
      tags:
      - sig-key
      x-doc-tags:
      - Signing Key Groups
  /core/beta/accounts/{accountId}:
    delete:
      description: Deletes a Account in a system
      operationId: deleteAccount
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "204":
          description: No Content
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "422":
          description: Unprocessable
      summary: Delete Account
      tags:
      - account
      x-doc-tags:
      - Accounts
    get:
      description: Returns a Account by ID
      operationId: getAccount
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountViewResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Get Account
      tags:
      - account
      x-doc-tags:
      - Accounts
    patch:
      description: Updates a Account in a system
      operationId: updateAccount
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountUpdateRequest'
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountViewResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Update Account
      tags:
      - account
      x-doc-tags:
      - Accounts
  /core/beta/accounts/{accountId}/account-sk-groups:
    get:
      description: List Account Signing Key Groups
      operationId: listAccountSkGroup
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SigningKeyGroupListResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: List Account Signing Key Groups
      tags:
      - account
      x-doc-tags:
      - Signing Key Groups
    post:
      description: Creates Account Signing Key Group
      operationId: createAccountSkGroup
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SigningKeyGroupCreateRequest'
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SigningKeyGroupCreateResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Create Account Signing Key Group
      tags:
      - account
      x-doc-tags:
      - Signing Key Groups
  /core/beta/accounts/{accountId}/alert-rules:
    get:
      description: List Account Alert Rules
      operationId: listAlertRules
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertRuleListResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: List Account Alert Rules
      tags:
      - account
      x-doc-tags:
      - Alerts
    post:
      description: Creates Account Alert Rule
      operationId: createAlertRule
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertRuleAccountCreateRequest'
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertRuleViewResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Create Account Alert Rule
      tags:
      - account
      x-doc-tags:
      - Alerts
  /core/beta/accounts/{accountId}/alert-rules/{alertRuleId}:
    delete:
      description: Deletes Account alert rule
      operationId: deleteAlertRule
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      - explode: false
        in: path
        name: alertRuleId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "204":
          description: No Content
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Delete Account Alert Rule
      tags:
      - account
      x-doc-tags:
      - Alerts
    get:
      description: Get Account Alert Rule
      operationId: getAlertRule
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      - explode: false
        in: path
        name: alertRuleId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertRuleViewResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Get Account Alert Rule
      tags:
      - account
      x-doc-tags:
      - Alerts
    patch:
      description: Update Account Alert Rule
      operationId: updateAlertRule
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      - explode: false
        in: path
        name: alertRuleId
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlertRuleUpdateRequest'
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertRuleViewResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Update Account Alert Rule
      tags:
      - account
      x-doc-tags:
      - Alerts
  /core/beta/accounts/{accountId}/alert-rules/{alertRuleId}/run:
    get:
      description: Run Account Alert Rule and return an alert object if the rule condition
        is met
      operationId: runAlertRule
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      - explode: false
        in: path
        name: alertRuleId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertViewResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Run Account Alert Rule
      tags:
      - account
      x-doc-tags:
      - Alerts
  /core/beta/accounts/{accountId}/app-users:
    get:
      description: Returns a list of Team App Users associated with the Account
      operationId: listAccountTeamAppUsers
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppUserAssignListResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: List Account Team App Users
      tags:
      - account
      x-doc-tags:
      - App Users
  /core/beta/accounts/{accountId}/app-users/{teamAppUserId}:
    delete:
      description: Unassign a Team App User from an Account
      operationId: unAssignAccountTeamAppUser
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      - explode: false
        in: path
        name: teamAppUserId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "204":
          description: No Content
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Unassign Team App User from Account
      tags:
      - account
      x-doc-tags:
      - App Users
    post:
      description: Assign a Team App User to an Account. This operation is idempotent;
        if an App User is already assigned to the Account the assignemnt will be updated
        with the new role
      operationId: assignAccountTeamAppUser
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      - explode: false
        in: path
        name: teamAppUserId
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppUserAssignRequest'
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppUserAssignResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Assign Team App User to Account
      tags:
      - account
      x-doc-tags:
      - App Users
  /core/beta/accounts/{accountId}/connections:
    get:
      description: List Account Connections
      operationId: listAccountConnections
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      - explode: true
        in: query
        name: sort
        required: false
        schema:
          type: string
        style: form
      - explode: true
        in: query
        name: cid
        required: false
        schema:
          type: string
        style: form
      - explode: true
        in: query
        name: state
        required: false
        schema:
          type: string
        style: form
      - explode: true
        in: query
        name: subject
        required: false
        schema:
          type: string
        style: form
      - explode: true
        in: query
        name: limit
        required: false
        schema:
          type: number
        style: form
      - explode: true
        in: query
        name: user
        required: false
        schema:
          type: string
        style: form
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountConnectionsListResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: List Account Connections
      tags:
      - account
      x-doc-tags:
      - Accounts
  /core/beta/accounts/{accountId}/export:
    get:
      description: Export Account Seeds
      operationId: getAccountExport
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountExportResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Export Account Seeds
      tags:
      - account
      x-doc-tags:
      - Accounts
  /core/beta/accounts/{accountId}/info:
    get:
      description: Returns Account info
      operationId: getAccountInfo
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JSAcctStats'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Get Account Info
      tags:
      - account
      x-doc-tags:
      - Accounts
  /core/beta/accounts/{accountId}/jetstream:
    get:
      description: List JetStream Assets
      operationId: listJetStreamAssets
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JSStreamInfoListResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: List JetStream Assets
      tags:
      - account
      x-doc-tags:
      - JetStream
  /core/beta/accounts/{accountId}/jetstream/kv-buckets:
    get:
      description: List KV buckets
      operationId: listKvBuckets
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JSKVBucketListResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: List KV buckets
      tags:
      - account
      x-doc-tags:
      - "JetStream: KV Buckets"
    post:
      description: Creates KV Bucket
      operationId: createKvBucket
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JSKVBucketConfig'
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JSKVBucketViewResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Create KV Bucket
      tags:
      - account
      x-doc-tags:
      - "JetStream: KV Buckets"
  /core/beta/accounts/{accountId}/jetstream/mirrors:
    get:
      description: List Mirrors
      operationId: listMirrors
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JSMirrorInfoListResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: List Mirrors
      tags:
      - account
      x-doc-tags:
      - "JetStream: Mirrors"
    post:
      description: Creates Mirror
      operationId: createMirror
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JSMirrorConfigRequest'
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JSMirrorInfoResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Create Mirror
      tags:
      - account
      x-doc-tags:
      - "JetStream: Mirrors"
  /core/beta/accounts/{accountId}/jetstream/object-buckets:
    get:
      description: List Object buckets
      operationId: listObjectBuckets
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JSObjectBucketListResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: List Object buckets
      tags:
      - account
      x-doc-tags:
      - "JetStream: Object Buckets"
    post:
      description: Creates Object Bucket
      operationId: createObjectBucket
      parameters:
      - explode: false
        in: path
        name: accountId
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JSObjectBucketConfig'
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JSObjectBucketViewResponse'
          description: Success
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Create Object Bucket
      tags:
      - account
      x-doc-tags:
      - "JetStream: Object Bucke

# --- truncated at 32 KB (561 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/synadia-communications/refs/heads/main/openapi/synadia-communications-control-plane-openapi.yaml