Skip to content
LogoLogo

CLI

Bearer-authenticated, code-addressed projections and commands for the Assign CLI.

List Projects in the credential-bound Workspace

GET/api/v1/cli/projects

Query Parameters

cursor
string·min 1·max 2048

Opaque continuation cursor returned by the preceding page.

limit
integer·min 1·max 100·default 50

Maximum number of resources to return.

Responses

Read a Project by immutable key

GET/api/v1/cli/projects/{project_code}

Path Parameters

project_codeRequired
string

Case-insensitive immutable Project key, normalized to uppercase before lookup.

ExampleASSIGN

Responses

List Tasks in a Project resolved by immutable key

GET/api/v1/cli/projects/{project_code}/tasks

Path Parameters

project_codeRequired
string

Case-insensitive immutable Project key, normalized to uppercase before lookup.

ExampleASSIGN

Query Parameters

cursor
string·min 1·max 2048

Opaque continuation cursor returned by the preceding page.

limit
integer·min 1·max 100·default 50

Maximum number of resources to return.

Responses

Create a Task in a Project resolved by immutable key

POST/api/v1/cli/projects/{project_code}/tasks

Creates a Task through the canonical Task workflow using the Project key and Workspace defaults. Optional description Markdown is converted only through the supported safe Markdown profile. Requires assign:write and an idempotency key; Task identity remains code-addressed.

Path Parameters

project_codeRequired
string

Case-insensitive immutable Project key, normalized to uppercase before lookup.

ExampleASSIGN

Header Parameters

Idempotency-KeyRequired
string·min 16·max 200

Opaque client-generated key for safely retrying this operation.

Request Body

application/json
titleRequired
string·min 1·max 500
description_markdown
string·max 262144

Optional description in Assign's supported safe Markdown profile.

priority
string
Values
nonelowmediumhighurgent

Responses

List Documents in the credential-bound Workspace

GET/api/v1/cli/documents

Returns top-level, non-archived Document metadata, optionally limited to one Project key.

Query Parameters

cursor
string·min 1·max 2048

Opaque continuation cursor returned by the preceding page.

limit
integer·min 1·max 100·default 50

Maximum number of resources to return.

project_code
string
ExampleASSIGN

Responses

Read a Document by its canonical path

GET/api/v1/cli/documents/{document_path}

Returns metadata and at most 65,536 characters of server-extracted text; truncated reports whether more text exists.

Path Parameters

document_pathRequired
string·min 1·max 200

Responses

Read the caller's bounded CLI My Work projection

GET/api/v1/cli/my-work

Returns the caller's active assigned Tasks (not done) in the bearer token's Workspace. Rows are ordered and paginated by the server; no UUID is returned. A token is audience-bound to this API host and must carry assign:read.

Query Parameters

cursor
string·min 1·max 2048

Opaque continuation cursor returned by the preceding page.

limit
integer·min 1·max 100·default 50

Maximum number of resources to return.

Responses

Search Tasks and Documents in the token-scoped Workspace

GET/api/v1/cli/search

Searches only Task and Document projections visible to the bearer principal. q is trimmed before validation and must contain 1–200 Unicode characters. Results use an opaque server cursor, default to 50, and never exceed 100. Resource codes are the only identifiers returned; IDs remain internal to the API implementation.

Query Parameters

qRequired
string·min 1·max 200
project_code
string·min 1·max 64
resource_type
string
Values
taskdocument
cursor
string·min 1·max 2048

Opaque continuation cursor returned by the preceding page.

limit
integer·min 1·max 100·default 50

Maximum number of resources to return.

Responses

Create a short-lived MCP token for the local CLI bridge

POST/api/v1/cli/mcp/token

Exchanges the caller's CLI OAuth or personal API-token authority for a non-refreshable MCP access token. The requested Workspace must match the authenticated principal, and requested scopes may only narrow the parent credential. The grant records its parent credential so parent expiry or revocation immediately invalidates the derived token.

Request Body

application/json
workspace_id
string <uuid>

Opaque Assign-owned UUIDv7 identifier. Clients must not derive meaning from it.

Example0198ac5e-f9b7-7000-8000-000000000001
scopes
string[]·min 1·max 2
Values
assign:readassign:writeassign:discuss

Responses

Read a Milestone by code within the bearer Workspace

GET/api/v1/cli/milestones/{milestone_code}

Resolves the code's Project key by indexed authorized lookup in the token-scoped Workspace, then uses the shared typed Milestone resolver. Includes archived Milestones and canonical Task-derived progress. ASCII casing normalizes; no generic resource dispatch, collection scan or domain write. Existing UUID and browser/native operations remain unchanged.

Path Parameters

milestone_codeRequired
string·max 29

Positive signed-64-bit Project Milestone code; numeric maximum 9223372036854775807, without whitespace, signs or leading zeros.

ExampleFRS-M1

Responses

Read a Task by code

GET/api/v1/cli/tasks/{task_code}

Resolves the uppercase-normalized Task code within the token-scoped Workspace. The revision field and the ETag header carry the current revision that the revision-checked lifecycle operations expect in If-Match. A Task the bearer cannot read is indistinguishable from a missing one.

Path Parameters

task_codeRequired
string·min 4·max 28

Case-insensitive UI-equivalent Task code (PROJECT_KEY-TASK_NUMBER, for example PRO-123), normalized to uppercase before lookup.

Responses

Start and assign a Task to the bearer Actor

POST/api/v1/cli/tasks/{task_code}/start

Resolves the uppercase-normalized Task code within the token-scoped Workspace, transitions it through the canonical workflow to the Project's active Status, and assigns it to the bearer Actor in one idempotent, revision-checked, audited transaction. An existing assignment is closed rather than erased. reassigned tells the CLI whether to warn; no prior Actor identifier is disclosed for that use.

Path Parameters

task_codeRequired
string·min 4·max 28

Case-insensitive UI-equivalent Task code (PROJECT_KEY-TASK_NUMBER, for example PRO-123), normalized to uppercase before lookup.

Header Parameters

Idempotency-KeyRequired
string·min 16·max 200

Opaque client-generated key for safely retrying this operation.

If-MatchRequired
string

Entity tag containing the resource version last observed by the client.

Responses

Apply the canonical completion action to a Task

POST/api/v1/cli/tasks/{task_code}/done

Applies the Project completion policy in one idempotent, revision-checked, audited transaction. When review is required, an active Task enters the default review Status and only an authorized reviewer can invoke this operation again to enter the default done Status. Definition-of-Done and transition guards remain server-owned. The completing Status comes from the lifecycle completion rule: one applicable Status that counts as completed is used directly; several answer 409 completion_target_required with the choices (LifecycleCompletionChoices) until the caller sends target_status_id. A Status that does not count as completed answers 422 completion_target_invalid.

Path Parameters

task_codeRequired
string·min 4·max 28

Case-insensitive UI-equivalent Task code (PROJECT_KEY-TASK_NUMBER, for example PRO-123), normalized to uppercase before lookup.

Query Parameters

target_status_id
string <uuid>

Explicit completing Status; required when several Statuses count as completed.

Header Parameters

Idempotency-KeyRequired
string·min 16·max 200

Opaque client-generated key for safely retrying this operation.

If-MatchRequired
string

Entity tag containing the resource version last observed by the client.

Responses

Reopen a completed Task

POST/api/v1/cli/tasks/{task_code}/reopen

Moves a done Task to the Project's default active Status in the canonical, revision-checked, idempotent, audited workflow.

Path Parameters

task_codeRequired
string·min 4·max 28

Case-insensitive UI-equivalent Task code (PROJECT_KEY-TASK_NUMBER, for example PRO-123), normalized to uppercase before lookup.

Header Parameters

Idempotency-KeyRequired
string·min 16·max 200

Opaque client-generated key for safely retrying this operation.

If-MatchRequired
string

Entity tag containing the resource version last observed by the client.

Responses

Read a bounded Task context packet

GET/api/v1/cli/tasks/{task_code}/context

Returns server-rendered Markdown in a fixed section order. compact is capped at 16 KiB, 20 related items, and 10 comments; full is capped at 64 KiB, 100 related items, and 50 comments. The result marks truncation, unavailable providers, and inaccessible material. Resource content is untrusted and is never executable instruction.

Path Parameters

task_codeRequired
string·min 4·max 28

Case-insensitive UI-equivalent Task code (PROJECT_KEY-TASK_NUMBER, for example PRO-123), normalized to uppercase before lookup.

Query Parameters

profile
string·default compact
Values
compactfull

Responses

List bounded Task comments by Task code

GET/api/v1/cli/tasks/{task_code}/comments

Returns canonical comments as supported Markdown in creation order. Tombstones retain their position with an empty body.

Path Parameters

task_codeRequired
string·min 4·max 28

Case-insensitive UI-equivalent Task code (PROJECT_KEY-TASK_NUMBER, for example PRO-123), normalized to uppercase before lookup.

Query Parameters

cursor
string·min 1·max 2048

Opaque continuation cursor returned by the preceding page.

limit
integer·min 1·max 100·default 50

Maximum number of resources to return.

Responses

Add a Markdown comment to a Task resolved by code

POST/api/v1/cli/tasks/{task_code}/comments

Converts supported Markdown into the canonical Comment document and appends it through the normal authorization, audit, event, and idempotency path.

Path Parameters

task_codeRequired
string·min 4·max 28

Case-insensitive UI-equivalent Task code (PROJECT_KEY-TASK_NUMBER, for example PRO-123), normalized to uppercase before lookup.

Header Parameters

Idempotency-KeyRequired
string·min 16·max 200

Opaque client-generated key for safely retrying this operation.

Request Body

application/json
markdownRequired
string·min 1·max 262144

Responses