Troupeby AliveDocsSign in

Reference

projects

Projects inside an org: what device sessions, runs and builds belong to. Index · shared schemas · errors.

ProcedureSummaryRESTMCP toolStability
projects.listList the org's projects in the caller's view, oldest first; archived ones only when askedGET—experimental
projects.getGet a projectGET—experimental
projects.createCreate a project (CONFLICT when the slug or externalRef is taken in the org)POST—experimental
projects.updateRename a project or change its slugPOST—experimental
projects.archiveArchive a project: it leaves the default list; its data stays (idempotent)POST—experimental
projects.resolveFind the project mapped to a caller's externalRef (NOT_FOUND when none is in view)GET—experimental
projects.ensureReturn the project mapped to an externalRef, creating it if none exists; concurrent first calls create exactly onePOST—experimental

projects.list

List the org's projects in the caller's view, oldest first; archived ones only when asked

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

Input:

TypeScript
{ orgId: OrgId; includeArchived?: boolean; limit?: PageLimit; cursor?: PageCursor }

Output:

TypeScript
{ projects: Project[]; nextCursor?: string }

Errors: U, NOT_FOUND.

Named types: OrgId, PageCursor, PageLimit, Project.

projects.get

Get a project

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

Input:

TypeScript
{ projectId: ProjectId }

Output:

TypeScript
{ project: Project }

Errors: U, NOT_FOUND.

Named types: Project, ProjectId.

projects.create

Create a project (CONFLICT when the slug or externalRef is taken in the org)

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

Input:

TypeScript
{ orgId: OrgId; name: DisplayName; slug?: Slug; externalRef?: ExternalRef }

Output:

TypeScript
{ project: Project }

Errors: U, NOT_FOUND, ORG_SUSPENDED, CONFLICT.

Named types: DisplayName, ExternalRef, OrgId, Project, Slug.

projects.update

Rename a project or change its slug

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

Input:

TypeScript
{ projectId: ProjectId; name?: DisplayName; slug?: Slug }

Output:

TypeScript
{ project: Project }

Errors: U, NOT_FOUND, ORG_SUSPENDED, CONFLICT.

Named types: DisplayName, Project, ProjectId, Slug.

projects.archive

Archive a project: it leaves the default list; its data stays (idempotent)

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

Input:

TypeScript
{ projectId: ProjectId }

Output:

TypeScript
{ project: Project }

Errors: U, NOT_FOUND, CONFLICT.

Named types: Project, ProjectId.

projects.resolve

Find the project mapped to a caller's externalRef (NOT_FOUND when none is in view)

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

Input:

TypeScript
{ orgId: OrgId; externalRef: ExternalRef }

Output:

TypeScript
{ project: Project }

Errors: U, NOT_FOUND.

Named types: ExternalRef, OrgId, Project.

projects.ensure

Return the project mapped to an externalRef, creating it if none exists; concurrent first calls create exactly one

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

Input:

TypeScript
{ orgId: OrgId; externalRef: ExternalRef; name?: DisplayName; slug?: Slug }

Output:

TypeScript
{ project: Project; created: boolean }

Errors: U, NOT_FOUND, ORG_SUSPENDED, CONFLICT.

Named types: DisplayName, ExternalRef, OrgId, Project, Slug.

esc

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