Synadia Communications Team API
The team API from Synadia Communications — 10 operation(s) for team.
The team API from Synadia Communications — 10 operation(s) for team.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/synadia-communications-team-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
description: API for Synadia Control Plane / Synadia Cloud
title: Synadia Control Plane / Synadia Cloud Team API
version: beta
servers:
- description: Path to Synadia Control Plane Server Api
url: '{baseUrl}/api'
variables:
baseUrl:
default: ''
security:
- bearerAuth: []
sessionAuth: []
tags:
- name: Team
paths:
/core/beta/teams/{teamId}:
delete:
description: Deletes Team
operationId: deleteTeam
parameters:
- explode: false
in: path
name: teamId
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 Team
tags:
- Team
x-doc-tags:
- Teams
get:
description: Returns a Team by ID
operationId: getTeam
parameters:
- explode: false
in: path
name: teamId
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TeamViewResponse'
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
summary: Get Team
tags:
- Team
x-doc-tags:
- Teams
patch:
description: Updates a Team
operationId: updateTeam
parameters:
- explode: false
in: path
name: teamId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TeamUpdateRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TeamViewResponse'
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
summary: Update Team
tags:
- Team
x-doc-tags:
- Teams
/core/beta/teams/{teamId}/app-users:
get:
description: Returns a list of App Users associated with the Team
operationId: listTeamAppUsers
parameters:
- explode: false
in: path
name: teamId
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 App Users
tags:
- Team
x-doc-tags:
- App Users
/core/beta/teams/{teamId}/app-users/{appUserId}:
delete:
description: Unassign an App User from a Team
operationId: unAssignTeamAppUser
parameters:
- explode: false
in: path
name: teamId
required: true
schema:
type: string
style: simple
- explode: false
in: path
name: appUserId
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 App User from Team
tags:
- Team
x-doc-tags:
- App Users
patch:
description: Update an App User's assignment on a Team
operationId: updateTeamAppUser
parameters:
- explode: false
in: path
name: teamId
required: true
schema:
type: string
style: simple
- explode: false
in: path
name: appUserId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AppUserAssignRequest'
responses:
'200':
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: Update App User Team Assignment
tags:
- Team
x-doc-tags:
- App Users
/core/beta/teams/{teamId}/app-users/invitations:
post:
description: Invites the specified User to join the Team. This operation is idempotent, with the caveat that Roles will not be downgraded; if the User is already assigned to the Team or Associated Resources and the requested Role is more permissive than the existing Role, the Role will be updated.
operationId: inviteAppUser
parameters:
- explode: false
in: path
name: teamId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AppUserInvitationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AppUserInvitationResponse'
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
summary: Invite App Users
tags:
- Team
x-doc-tags:
- Invitations
/core/beta/teams/{teamId}/app-users/leave:
post:
description: Leave the specified team
operationId: leaveTeam
parameters:
- explode: false
in: path
name: teamId
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: Leave Team
tags:
- Team
x-doc-tags:
- Session
/core/beta/teams/{teamId}/import-system:
post:
operationId: importSystem
parameters:
- explode: false
in: path
name: teamId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SystemImportRequest'
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/SystemViewResponse'
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
summary: Import a System
tags:
- Team
x-doc-tags:
- Teams
/core/beta/teams/{teamId}/info/app-users:
get:
description: List info for App Users in Team. Allows any user to list info for app users within their team.
operationId: listTeamInfoAppUsers
parameters:
- explode: false
in: path
name: teamId
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TeamAppUserListResponse'
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
summary: List info of App Users in Team
tags:
- Team
x-doc-tags:
- Teams
/core/beta/teams/{teamId}/service-accounts:
get:
operationId: listTeamServiceAccounts
parameters:
- explode: false
in: path
name: teamId
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceAccountListResponse'
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
summary: List Team Service Accounts
tags:
- Team
x-doc-tags:
- Teams
post:
operationId: createTeamServiceAccount
parameters:
- explode: false
in: path
name: teamId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceAccountCreateRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceAccountViewResponse'
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
summary: Create Team Service Account
tags:
- Team
x-doc-tags:
- Teams
/core/beta/teams/{teamId}/systems:
get:
description: Returns a list of Systems
operationId: listTeamSystems
parameters:
- explode: false
in: path
name: teamId
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SystemListResponse'
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
summary: List Systems
tags:
- Team
x-doc-tags:
- Systems
post:
description: Create a System
operationId: createSystem
parameters:
- explode: false
in: path
name: teamId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SystemCreateRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SystemViewResponse'
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
summary: Create System
tags:
- Team
x-doc-tags:
- Systems
/core/beta/teams/{teamId}/team-limits:
get:
description: Get team limits total and allocated
operationId: getTeamLimits
parameters:
- explode: false
in: path
name: teamId
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TeamLimitsResponse'
description: Success
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
summary: Get Team Limits
tags:
- Team
x-doc-tags:
- Teams
components:
schemas:
TeamAppUserListResponse:
example:
items:
- role_name: role_name
app_user:
identifier: identifier
name: name
id: id
type: null
role_id: role_id
created: 2000-01-23 04:56:07+00:00
pending_invitation: true
id: id
team:
name: name
id: id
- role_name: role_name
app_user:
identifier: identifier
name: name
id: id
type: null
role_id: role_id
created: 2000-01-23 04:56:07+00:00
pending_invitation: true
id: id
team:
name: name
id: id
properties:
items:
items:
$ref: '#/components/schemas/TeamAppUserViewResponse'
type: array
required:
- items
type: object
OperatorClaims:
allOf:
- $ref: '#/components/schemas/ClaimsData'
description: OperatorClaims define the data for an operator JWT
example:
nats:
system_account: system_account
signing_keys:
- signing_keys
- signing_keys
strict_signing_key_usage: true
operator_service_urls:
- operator_service_urls
- operator_service_urls
assert_server_version: assert_server_version
account_server_url: account_server_url
properties:
nats:
$ref: '#/components/schemas/Operator'
type: object
NatsUserInfo:
example:
user_public_key: user_public_key
name: name
id: id
properties:
id:
type: string
name:
type: string
user_public_key:
type: string
required:
- id
- name
- user_public_key
type: object
ReceiverConfig:
$ref: '#/components/schemas/SlackReceiverConfig'
TeamAppUserResourceType:
enum:
- System
- Account
- NatsUser
type: string
TeamAppUserViewResponse:
example:
role_name: role_name
app_user:
identifier: identifier
name: name
id: id
type: null
role_id: role_id
created: 2000-01-23 04:56:07+00:00
pending_invitation: true
id: id
team:
name: name
id: id
properties:
app_user:
$ref: '#/components/schemas/AppUserInfo'
created:
format: date-time
type: string
id:
type: string
pending_invitation:
type: boolean
role_id:
type: string
role_name:
type: string
team:
$ref: '#/components/schemas/TeamInfo'
required:
- app_user
- created
- id
- pending_invitation
- role_id
- role_name
- team
type: object
Update:
example:
current: current
latest_minor: latest_minor
latest: latest
latest_patch: latest_patch
properties:
current:
type: string
latest:
type: string
latest_minor:
type: string
latest_patch:
type: string
required:
- current
- latest
- latest_minor
- latest_patch
type: object
SDKubeLimit:
properties:
five_node:
type: integer
three_node:
type: integer
required:
- five_node
- three_node
type: object
SystemCreateRequest:
example:
jetstream_enabled: true
connection_type: null
managed_by: null
name: name
jetstream_domain: jetstream_domain
url: url
direct_connection_opts:
tls_client_key: tls_client_key
tls_mode: null
override_urls: override_urls
tls_client_cert: tls_client_cert
tls_insecure_skip_verify: false
tls_ca_certs: tls_ca_certs
properties:
connection_type:
$ref: '#/components/schemas/SystemConnectionType'
direct_connection_opts:
$ref: '#/components/schemas/SystemDirectConnectionOpts'
jetstream_domain:
type: string
jetstream_enabled:
default: true
type: boolean
managed_by:
$ref: '#/components/schemas/SystemManagedBy'
name:
type: string
url:
type: string
required:
- name
- url
type: object
NatsAlertingConfig:
example:
receivers:
- null
- null
subject: subject
account: account
properties:
account:
type: string
receivers:
items:
$ref: '#/components/schemas/ReceiverConfig'
type: array
subject:
type: string
type: object
AppUserAssignListResponse:
example:
items:
- role_name: role_name
nats_user:
user_public_key: user_public_key
name: name
id: id
system:
jetstream_enabled: true
http_gateway_url: http_gateway_url
is_tenant: true
connection_type: null
managed_by: null
config_mode: true
server_urls: server_urls
user_jwt_expires_in_secs: 7
jetstream_tiers:
- jetstream_tiers
- jetstream_tiers
name: name
id: id
state: null
jetstream_domain: jetstream_domain
app_user:
identifier: identifier
name: name
id: id
type: null
role_id: role_id
created: 2000-01-23 04:56:07+00:00
scope: null
team_app_user:
role_name: role_name
role_id: role_id
pending_invitation: true
id: id
resource_id: resource_id
team:
name: name
id: id
account:
user_jwt: user_jwt
auth_type: null
user_cred: user_cred
account_public_key: account_public_key
name: name
user_jwt_expires_in_secs: 0
id: id
is_platform_account: true
is_scp_account: true
is_system_account: true
- role_name: role_name
nats_user:
user_public_key: user_public_key
name: name
id: id
system:
jetstream_enabled: true
http_gateway_url: http_gateway_url
is_tenant: true
connection_type: null
managed_by: null
config_mode: true
server_urls: server_urls
user_jwt_expires_in_secs: 7
jetstream_tiers:
- jetstream_tiers
- jetstream_tiers
name: name
id: id
state: null
jetstream_domain: jetstream_domain
app_user:
identifier: identifier
name: name
id: id
type: null
role_id: role_id
created: 2000-01-23 04:56:07+00:00
scope: null
team_app_user:
role_name: role_name
role_id: role_id
pending_invitation: true
id: id
resource_id: resource_id
team:
name: name
id: id
account:
user_jwt: user_jwt
auth_type: null
user_cred: user_cred
account_public_key: account_public_key
name: name
user_jwt_expires_in_secs: 0
id: id
is_platform_account: true
is_scp_account: true
is_system_account: true
properties:
items:
items:
$ref: '#/components/schemas/AppUserAssignResponse'
type: array
required:
- items
type: object
ClaimsData:
description: ClaimsData is the base struct for all claims
properties:
aud:
type: string
exp:
format: int64
type: integer
iat:
format: int64
type: integer
iss:
type: string
jti:
type: string
name:
type: string
nbf:
format: int64
type: integer
sub:
type: string
type: object
SystemDirectConnectionOpts:
example:
tls_client_key: tls_client_key
tls_mode: null
override_urls: override_urls
tls_client_cert: tls_client_cert
tls_insecure_skip_verify: false
tls_ca_certs: tls_ca_certs
properties:
override_urls:
type: string
tls_ca_certs:
type: string
tls_client_cert:
type: string
tls_client_key:
type: string
tls_insecure_skip_verify:
default: false
type: boolean
tls_mode:
$ref: '#/components/schemas/TLSMode'
required:
- tls_insecure_skip_verify
- tls_mode
type: object
PlatformComponentConfigs:
oneOf:
- $ref: '#/components/schemas/HttpGatewayPlatformComponentConfig'
- $ref: '#/components/schemas/AuthCalloutAuthenticatorComponentConfig'
- $ref: '#/components/schemas/WorkloadsPlatformComponentConfig'
- $ref: '#/components/schemas/ScraperComponentConfig'
- $ref: '#/components/schemas/CatalogPlatformComponentConfig'
type:
- object
- 'null'
Operator:
allOf:
- $ref: '#/components/schemas/GenericFields'
description: Operator specific claims
example:
system_account: system_account
signing_keys:
- signing_keys
- signing_keys
strict_signing_key_usage: true
operator_service_urls:
- operator_service_urls
- operator_service_urls
assert_server_version: assert_server_version
account_server_url: account_server_url
properties:
account_server_url:
description: 'AccountServerURL is a partial URL like "https://host.domain.org:<port>/jwt/v1"
tools will use the prefix and build queries by appending /accounts/<account_id>
or /operator to the path provided. Note this assumes that the account server
can handle requests in a account-server compatible way. See
https://github.com/nats-io/account-server.'
type: string
assert_server_version:
description: Min Server version
type: string
operator_service_urls:
description: 'A list of NATS urls (tls://host:port) where tools can connect to the server
using proper credentials.'
items:
type: string
type: array
signing_keys:
description: 'Slice of other operator NKeys that can be used to sign on behalf of the main
operator identity.'
items:
type: string
type: array
strict_signing_key_usage:
description: Signing of subordinate objects will require signing keys
type: boolean
system_account:
description: Identity of the system account
type: string
type: object
TeamLimits:
example:
num_sdkube: null
num_systems: 0
num_users: 6
disable_prometheus_federation: true
properties:
disable_prometheus_federation:
type: boolean
num_sdkube:
$ref: '#/components/schemas/TeamLimits_num_sdkube'
num_systems:
type:
- integer
- 'null'
num_users:
type:
- integer
- 'null'
required:
- disable_prometheus_federation
- num_sdkube
- num_systems
- num_users
type: object
SystemState:
enum:
- Provisioning
- Connected
- Disconnected
type: string
ServiceAccountCreateRequest:
example:
role_id: role_id
name: name
resources:
key:
role_id: role_id
properties:
name:
type: string
resources:
additionalProperties:
$ref: '#/components/schemas/AppUserAssignRequest'
description: resource keys must be in format ServiceAccountResourceScope:resource_id
type: object
role_id:
type: string
required:
- name
- resources
- role_id
type: object
SystemInfo:
example:
jetstream_enabled: true
http_gateway_url: http_gateway_url
is_tenant: true
connection_type: null
managed_by: null
config_mode: true
server_urls: server_urls
user_jwt_expires_in_secs: 7
jetstream_tiers:
- jetstream_tiers
- jetstream_tiers
name: name
id: id
state: null
jetstream_domain: jetstream_domain
properties:
config_mode:
type: boolean
connection_type:
$ref: '#/components/schemas/SystemConnectionType'
http_gateway_url:
type: string
id:
type: string
is_tenant:
type: boolean
jetstream_domain:
type: string
jetstream_enabled:
type: boolean
jetstream_tiers:
items:
type: string
type: array
managed_by:
$ref: '#/components/schemas/SystemManagedBy'
name:
type: string
server_urls:
type: string
state:
$ref: '#/components/schemas/SystemState'
user_jwt_expires_in_secs:
format: int64
type: integer
required:
- config_mode
- connection_type
- id
- is_tenant
- jetstream_enabled
- name
- state
- user_jwt_expires_in_secs
type: object
SlackReceiverConfig:
properties:
config:
$ref: '#/components/schemas/SlackConfig'
type:
enum:
- slack
type: string
required:
- config
- type
type: object
AppUserInvitationRequest:
example:
associations:
- role_id: role_id
resource_type: null
resource_id: resource_id
- role_id: role_id
resource_type: null
resource_id: resource_id
identifier: identifier
role_id: role_id
name: name
properties:
associations:
items:
$ref: '#/components/schemas/TeamAppUserAssociation'
type: array
identifier:
type: string
name:
type: string
role_id:
type: string
required:
- identifier
- name
- role_id
type: object
AppUserAssignRequest:
example:
role_id: role_id
properties:
role_id:
type: string
required:
- role_id
type: object
AppUserAssignResponse:
example:
role_name: role_name
nats_user:
user_public_key: user_public_key
name: name
id: id
system:
jetstream_enabled: true
http_gateway_url: http_gateway_url
is_tenant: true
connection_type: null
managed_by: null
config_mode: true
server_urls: server_urls
user_jwt_expires_in_secs: 7
jetstream_tiers:
- jetstream_tiers
- jetstream_tiers
name: name
id: id
state: null
jetstream_domain: jetstream_domain
app_user:
identifier: identifier
name: name
id: id
type: null
role_id: role_id
created: 2000-01-23 04:56:07+00:00
scope: null
team_app_user:
role_name: role_name
role_id: role_id
pending_invitation: true
id: id
resource_id: resource_id
team:
name: name
id: id
account:
user_jwt: user_jwt
auth_type: null
user_cred: user_cred
account_public_key: account_public_key
name: name
user_jwt_expires_in_secs: 0
id: id
is_platform_account: true
is_scp_account: true
is_system_account: true
properties:
account:
$ref: '#/components/schemas/AccountInfo'
app_user:
$ref: '#/components/schemas/AppUserInfo'
created:
format: date-time
type: string
nats_user:
$ref: '#/components/schemas/NatsUserInfo'
resource_id:
type: string
role_id:
type: string
role_name:
type: string
scope:
$ref: '#/components/schemas/AppRoleScope'
system:
$ref: '#/components/schemas/SystemInfo'
team:
$ref: '#/components/schemas/TeamInfo'
team_app_user:
$ref: '#/components/schemas/TeamAppUserInfo'
required:
- app_user
- created
- resource_id
- role_id
- role_name
- scope
- team_app_user
type: object
SlackConfig:
properties:
channel:
type: string
token:
type: string
required:
- channel
- token
type: object
AppUserInvitationResponse:
example:
app_user:
identifier: identifier
name: name
id: id
type: null
team_app_user:
role_name: role_name
role_id: role_id
pending_invitation: true
id: id
properties:
app_user:
$ref: '#/components/schemas/AppUserInfo'
team_app_user:
$ref: '#/components/schemas/TeamAppUserInfo'
required:
- app_user
- team_app_user
type: object
TeamLimits_num_sdkube:
allOf:
- $ref: '#/components/schemas/SDKubeLimit'
type:
- object
- 'null'
AccountAuthType:
enum:
- jwt
- tls
- nkey
- username
type: string
ServiceAccountViewResponse:
example:
role_id: role_id
created: 2000-01-23 04:56:07+00:00
scope: null
name: name
resources:
key:
role_name: role_name
nats_user:
user_public_key: user_public_key
name: name
id: id
system:
jetstream_enabled: true
http_gateway_url: http_gateway_url
is_tenant: true
connection_type: null
managed_by: null
config_mode: true
server_urls: server_urls
user_jwt_expires_in_secs: 7
jetstream_tiers:
- jetstream_tiers
- jetstream_tiers
name: name
id: id
state: null
jetstream_domain: jetstream_domain
app_user:
identifier: identifier
name: name
id: id
type: null
role_id: role_id
created: 2000-01-23 04:56:07+00:00
scope: null
team_app_user:
role_name: role_name
role_id: role_id
pending_invitation: true
id: id
resource_id: resource_id
team:
name: name
id: id
account:
user_jwt: user_jwt
# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/synadia-communications/refs/heads/main/openapi/synadia-communications-team-api-openapi.yml