Troupeby AliveDocsSign in

Reference

uploads

Upload sessions: per-file, create-only, size-bound signed PUTs within a byte budget. Index · shared schemas · errors.

ProcedureSummaryRESTMCP toolStability
uploads.grantA signed PUT for one file of an open upload session, within the session's kinds and byte budgetPOST—experimental
uploads.completeFinish an upload session: every granted file must be stored at its declared size and type; the owner proceedsPOST—experimental

uploads.grant

A signed PUT for one file of an open upload session, within the session's kinds and byte budget

RESTPOST /v1/uploads/grant (input as a JSON body)
RPC/rpc/v2/uploads/grant
MCPnot a tool (a cloud platform procedure; the cloud MCP surface is the curated device tools); hints: none
Authbuilds:write
Tenancyproject
Troupe Cloudanswered by the control plane
Stabilityexperimental, since 1.0

Input:

TypeScript
{
  projectId: ProjectId
  uploadId: UploadId
  name: string  // /^[a-z0-9][a-z0-9._-]{0,127}$/
  contentType: string  // 1–128 chars
  bytes: integer  // ≥ 1
  sha256: string  // /^[0-9a-f]{64}$/
}

Output:

TypeScript
{ put: SignedRequestOut }

Errors: U, NOT_FOUND, ORG_SUSPENDED, CONFLICT, QUOTA_EXCEEDED.

Named types: ProjectId, SignedRequestOut, UploadId.

uploads.complete

Finish an upload session: every granted file must be stored at its declared size and type; the owner proceeds

RESTPOST /v1/uploads/complete (input as a JSON body)
RPC/rpc/v2/uploads/complete
MCPnot a tool (a cloud platform procedure; the cloud MCP surface is the curated device tools); hints: idempotent
Authbuilds:write
Tenancyproject
Troupe Cloudanswered by the control plane
Stabilityexperimental, since 1.0

Input:

TypeScript
{ projectId: ProjectId; uploadId: UploadId }

Output:

TypeScript
{ upload: CloudUpload; build?: CloudBuild }

Errors: U, NOT_FOUND, ORG_SUSPENDED, CONFLICT, QUOTA_EXCEEDED.

Named types: CloudBuild, CloudUpload, ProjectId, UploadId.

esc

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