Troupeby AliveDocsSign in

Reference

issuers

Trusted-issuer registrations: an external issuer's short-lived JWTs exchanged for Troupe tokens. Index · shared schemas · errors.

ProcedureSummaryRESTMCP toolStability
issuers.createRegister a trusted issuer for the org; Troupe mints its audience and fetches its JWKS. Trust class.POST—experimental
issuers.listList the org's trusted-issuer registrationsGET—experimental
issuers.updateChange what a registration accepts or reactivate it. Trust class.POST—experimental
issuers.suspendSuspend a registration: exchanges are refused and its tokens get SERVICE_SUSPENDED from the next requestPOST—experimental
issuers.removeRemove a registration; its tokens stop working from the next requestPOST—experimental

issuers.create

Register a trusted issuer for the org; Troupe mints its audience and fetches its JWKS. Trust class.

RESTPOST /v1/issuers/create (input as a JSON body)
RPC/rpc/v2/issuers/create
MCPnot a tool (a cloud platform procedure; the cloud MCP surface is the curated device tools); hints: none
Authorg:manage; trust-class: locally only the runtime owner token; in the cloud only an interactive user session re-authenticated within 15 minutes; never an API key or an MCP token
Tenancyorg
Troupe Cloudanswered by the control plane
Stabilityexperimental, since 1.0

Input:

TypeScript
{
  orgId: OrgId
  name: DisplayName
  issuer: string  // ≤ 2048 chars; url
  jwksUri: string  // ≤ 2048 chars; url
  acceptedTyp: string[]  // 1–4 items; each /^[A-Za-z0-9+./-]{1,64}$/
  allowedAlgs: ('EdDSA' | 'ES256' | 'RS256')[]  // 1–3 items
  clientBinding: ClientBinding
  conditions: IssuerCondition[]  // ≤ 16 items
  scopeSource: 'claim' | 'fixed'
  fixedScopes?: CloudScope[]  // ≤ 64 items
  scopeCeiling: CloudScope[]  // 1–64 items
  subjectTemplate?: SubjectTemplate
  subtenantClaim?: ClaimName
  projectMapping: 'auto-create' | 'require-existing' | 'fixed'
  projectId?: ProjectId
  maxProjects?: integer  // 1–100000
  maxTokenLifetimeSeconds?: integer  // 1–600
  preset?: string  // /^[a-z0-9-]{1,32}$/
}

Output:

TypeScript
{ issuer: TrustedIssuer }

Errors: U, NOT_FOUND, ORG_SUSPENDED, CONFLICT.

Named types: ClaimName, ClientBinding, CloudScope, DisplayName, IssuerCondition, OrgId, ProjectId, SubjectTemplate, TrustedIssuer.

issuers.list

List the org's trusted-issuer registrations

RESTGET /v1/issuers/list (input as query parameters)
RPC/rpc/v2/issuers/list
MCPnot a tool (a cloud platform procedure; the cloud MCP surface is the curated device tools); hints: read-only, idempotent
Authorg:manage
Tenancyorg
Troupe Cloudanswered by the control plane
Stabilityexperimental, since 1.0

Input:

TypeScript
{ orgId: OrgId }

Output:

TypeScript
{ issuers: TrustedIssuer[] }

Errors: U, NOT_FOUND.

Named types: OrgId, TrustedIssuer.

issuers.update

Change what a registration accepts or reactivate it. Trust class.

RESTPOST /v1/issuers/update (input as a JSON body)
RPC/rpc/v2/issuers/update
MCPnot a tool (a cloud platform procedure; the cloud MCP surface is the curated device tools); hints: idempotent
Authorg:manage; trust-class: locally only the runtime owner token; in the cloud only an interactive user session re-authenticated within 15 minutes; never an API key or an MCP token
Tenancyorg
Troupe Cloudanswered by the control plane
Stabilityexperimental, since 1.0

Input:

TypeScript
{
  orgId: OrgId
  issuerId: IssuerId
  name?: DisplayName
  conditions?: IssuerCondition[]  // ≤ 16 items
  clientBinding?: ClientBinding
  scopeCeiling?: CloudScope[]  // 1–64 items
  fixedScopes?: CloudScope[]  // ≤ 64 items
  maxProjects?: integer  // 1–100000
  status?: 'active'
}

Output:

TypeScript
{ issuer: TrustedIssuer }

Errors: U, NOT_FOUND, ORG_SUSPENDED, CONFLICT.

Named types: ClientBinding, CloudScope, DisplayName, IssuerCondition, IssuerId, OrgId, TrustedIssuer.

issuers.suspend

Suspend a registration: exchanges are refused and its tokens get SERVICE_SUSPENDED from the next request

RESTPOST /v1/issuers/suspend (input as a JSON body)
RPC/rpc/v2/issuers/suspend
MCPnot a tool (a cloud platform procedure; the cloud MCP surface is the curated device tools); hints: idempotent
Authorg:manage
Tenancyorg
Troupe Cloudanswered by the control plane
Stabilityexperimental, since 1.0

Input:

TypeScript
{ orgId: OrgId; issuerId: IssuerId }

Output:

TypeScript
{ issuer: TrustedIssuer }

Errors: U, NOT_FOUND, CONFLICT.

Named types: IssuerId, OrgId, TrustedIssuer.

issuers.remove

Remove a registration; its tokens stop working from the next request

RESTPOST /v1/issuers/remove (input as a JSON body)
RPC/rpc/v2/issuers/remove
MCPnot a tool (a cloud platform procedure; the cloud MCP surface is the curated device tools); hints: idempotent, destructive
Authorg:manage
Tenancyorg
Troupe Cloudanswered by the control plane
Stabilityexperimental, since 1.0

Input:

TypeScript
{ orgId: OrgId; issuerId: IssuerId }

Output:

TypeScript
{ removed: boolean }

Errors: U, NOT_FOUND, CONFLICT.

Named types: IssuerId, OrgId.

esc

    Type to search every page, the protocol reference and the cloud API.