Troupeby AliveDocsSign in

Reference

pairings

Browser access to a local runtime through origin-bound pairing. Index · shared schemas · errors.

ProcedureSummaryRESTMCP toolStability
pairings.createMint a single-use code for one browser origin. troupe studio uses its own origin and puts the code in the URL fragment, the one allowed URL credential.POST—experimental
pairings.redeemExchange a code for an origin-bound token. The request's Origin MUST equal the pairing's origin. At most 5 failures a minute, after which every open code is voided.POST—experimental
pairings.listList active pairingsGET—experimental
pairings.revokeRevoke a pairing and close its stream sockets with 4403POST—experimental

pairings.create

Mint a single-use code for one browser origin. troupe studio uses its own origin and puts the code in the URL fragment, the one allowed URL credential.

RESTPOST /v1/pairings/create (input as a JSON body)
RPC/rpc/v2/pairings/create
MCPnot a tool (discovery and administration of the runtime); hints: none
Authruntime:admin; 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
Tenancynone
Troupe Cloudnot served; local runtime only
Stabilityexperimental, since 1.0

Input:

TypeScript
{
  origin: string  // ≤ 2048 chars; /^https?:\/\/(\[[0-9A-Fa-f:.]+\]|[A-Za-z0-9.-]+)(:\d{1,5})?$/
  scopes?: RuntimeScope[]  // 1–10 items
  codeTtlMs?: integer  // default 60000; 1000–300000
  tokenTtlMs?: integer  // default 43200000; 60000–604800000
}

Output:

TypeScript
{ pairingId: PairingId; code: string; expiresAt: string }

Errors: U.

Named types: PairingId, RuntimeScope.

pairings.redeem

Exchange a code for an origin-bound token. The request's Origin MUST equal the pairing's origin. At most 5 failures a minute, after which every open code is voided.

RESTPOST /v1/pairings/redeem (input as a JSON body)
RPC/rpc/v2/pairings/redeem
MCPnot a tool (discovery and administration of the runtime); hints: none
Authpublic: no credential; any credential sent is ignored
Tenancynone
Troupe Cloudnot served; local runtime only
Stabilityexperimental, since 1.0

Input:

TypeScript
{
  code: string  // 1–128 chars
}

Output:

TypeScript
{ token: string; pairingId: PairingId; scopes: RuntimeScopeOut[]; expiresAt: string }

Errors: U, NOT_FOUND.

Named types: PairingId, RuntimeScopeOut.

pairings.list

List active pairings

RESTGET /v1/pairings/list (input as query parameters)
RPC/rpc/v2/pairings/list
MCPnot a tool (discovery and administration of the runtime); hints: read-only, idempotent
Authruntime:admin
Tenancynone
Troupe Cloudnot served; local runtime only
Stabilityexperimental, since 1.0

Input:

TypeScript
{}

Output:

TypeScript
{ pairings: Pairing[] }

Errors: U.

Named types: Pairing.

pairings.revoke

Revoke a pairing and close its stream sockets with 4403

RESTPOST /v1/pairings/revoke (input as a JSON body)
RPC/rpc/v2/pairings/revoke
MCPnot a tool (discovery and administration of the runtime); hints: idempotent, destructive
Authruntime:admin
Tenancynone
Troupe Cloudnot served; local runtime only
Stabilityexperimental, since 1.0

Input:

TypeScript
{ pairingId: PairingId }

Output:

TypeScript
{ revoked: boolean }

Errors: U, NOT_FOUND.

Named types: PairingId.

esc

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