Lumen
Reference

HTTP API

Generated endpoint, request, response, authentication, and schema reference.

The HTTP API is generated from FastAPI's canonical OpenAPI document. Browser commands use the generated client; this page does not define a second contract.

  • Contract title: Lumen API
  • Contract version: 0.0.0
  • Endpoint count: 124

Authentication schemes

NameTypeSchemeDescription
HTTPBearerhttpbearer—

Endpoints

GET /api/development-project

Development Project

Operation ID: getDevelopmentProject

Authentication: Required: HTTPBearer (http bearer).

Responses

StatusMedia typeContractDescription
200application/jsonProjectProjectionSuccessful Response
401application/jsonErrorDetailAuthentication failed.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/extensions

Curated Extensions

Operation ID: listCuratedExtensions

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
afterquerynoExtensionId | null—ExtensionId: pattern ^ext_[0-9a-f]{32}$—
limitquerynointeger50minimum 1; maximum 100—

Responses

StatusMedia typeContractDescription
200application/jsonExtensionCatalogPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
500application/jsonErrorDetailCanonical extension state is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/extensions/{extension_id}

Curated Extension

Operation ID: getCuratedExtension

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
extension_idpathyesstring—pattern ^ext_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonExtensionCatalogEntrySuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
500application/jsonErrorDetailCanonical extension state is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/extensions/{extension_id}/tools

Curated Extension Tools

Operation ID: listCuratedExtensionTools

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
extension_idpathyesstring—pattern ^ext_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonExtensionToolPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
500application/jsonErrorDetailCanonical extension state is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects

Project Page

Operation ID: listProjects

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
afterquerynoProjectId | null—ProjectId: pattern ^prj_[0-9a-f]{32}$—
limitquerynointeger50minimum 1; maximum 100—

Responses

StatusMedia typeContractDescription
200application/jsonProjectPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects

Create Project Command

Operation ID: createProject

Authentication: Required: HTTPBearer (http bearer).

Request body

Required: yes

Media typeContract
application/jsonCreateProjectCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}

Project Projection

Operation ID: getProject

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonProjectProjectionSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/anchors/{anchor_id}

Live Anchor Projection

Operation ID: getLiveAnchor

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
anchor_idpathyesstring—pattern ^anc_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonLiveAnchorProjectionSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/anchors/{anchor_id}/selections

Select Live Anchor Command

Operation ID: selectLiveAnchor

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
anchor_idpathyesstring—pattern ^anc_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonSelectLiveAnchorCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/archives/imports

Import Project Archive Command

Operation ID: importProjectArchive

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
Command-IDheaderyesCommandId—pattern ^cmd_[0-9a-f]{32}$—
Idempotency-Keyheaderyesstring—minimum length 8; maximum length 128; pattern ^[A-Za-z0-9][A-Za-z0-9_.:-]*$—
Archive-Digestheaderyesstring—pattern ^sha256:[0-9a-f]{64}$—
Archive-Sizeheaderyesinteger—minimum 1; maximum 5368709120—

Request body

Required: yes

Media typeContract
application/vnd.lumen.project-archive+zipstring

Responses

StatusMedia typeContractDescription
202application/jsonCommandAccepted | CommandRejectedA durable import command, or the identical receipt for an exact replay.
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe target project was not found.
413application/jsonErrorDetailThe archive is too large.
415application/jsonErrorDetailThe media type is unsupported.
422application/jsonErrorDetailArchive verification failed closed.
503application/jsonErrorDetailThe trusted worker importer or canonical bytes are unavailable.

GET /api/projects/{project_id}/archives/latest

Export Project Archive

Operation ID: exportProjectArchive

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/vnd.lumen.project-archive+zipstringA versioned portable archive with semantic database records, immutable artifact bytes, provenance, and explicit omission disclosures.
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe project was not found.
422application/jsonErrorDetailThe project cannot be archived.
503application/jsonErrorDetailCanonical artifact bytes are unavailable.

GET /api/projects/{project_id}/artifacts

Artifact Page

Operation ID: listArtifacts

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
afterquerynoArtifactId | null—ArtifactId: pattern ^art_[0-9a-f]{32}$—
limitquerynointeger50minimum 1; maximum 100—
media_typequerynostring | null—string: minimum length 3; maximum length 255—

Responses

StatusMedia typeContractDescription
200application/jsonArtifactPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/artifacts/{artifact_id}

Artifact Content

Operation ID: downloadArtifact

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
artifact_idpathyesstring—pattern ^art_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/octet-streamstringVerified immutable artifact bytes.
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailCanonical bytes are unavailable.

GET /api/projects/{project_id}/artifacts/{artifact_id}/manifest

Artifact Manifest

Operation ID: getArtifactManifest

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
artifact_idpathyesstring—pattern ^art_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonArtifactManifestSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/artifacts/{artifact_id}/table/rows

Artifact Table Page

Read a bounded display page without materializing the complete table.

Operation ID: getArtifactTablePage

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
artifact_idpathyesstring—pattern ^art_[0-9a-f]{32}$—
offsetquerynointeger0minimum 0; maximum 1000000000—
limitquerynointeger100minimum 1; maximum 1024—
columnsquerynoarray of string | null—array of string: minimum items 1; maximum items 512—

Responses

StatusMedia typeContractDescription
200application/jsonTabularArtifactPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
409application/jsonErrorDetailThe artifact is not a canonical table.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailArtifact verification is unavailable.

GET /api/projects/{project_id}/artifacts/{artifact_id}/table/schema

Artifact Table Schema

Verify and return the bounded Arrow schema for one canonical Parquet object.

Operation ID: getArtifactTableSchema

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
artifact_idpathyesstring—pattern ^art_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonTabularArtifactSchemaSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
409application/jsonErrorDetailThe artifact is not a canonical table.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailArtifact verification is unavailable.

GET /api/projects/{project_id}/claims

Claim Page

Operation ID: listClaims

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
review_statusquerynoClaimReviewStatus | null—ClaimReviewStatus: values draft, under_review, accepted, rejected, challenged, retracted—
validityquerynoClaimValidity | null—ClaimValidity: values untested, valid-for-pinned-inputs, invalidated, retracted—
currentnessquerynoClaimCurrentness | null—ClaimCurrentness: values current, outdated, unknown—
afterquerynoClaimId | null—ClaimId: pattern ^clm_[0-9a-f]{32}$—
limitquerynointeger50minimum 1; maximum 100—

Responses

StatusMedia typeContractDescription
200application/jsonClaimPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/claims

Create Claim Command

Operation ID: createClaim

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonCreateClaimCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/claims/evidence

Attach Claim Evidence Command

Operation ID: attachClaimEvidence

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonAttachEvidenceCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/claims/reviews

Review Claim Command

Operation ID: reviewClaim

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonReviewClaimCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/claims/revisions/{claim_revision_id}/evidence

Claim Evidence Neighborhood

Operation ID: getClaimEvidenceNeighborhood

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
claim_revision_idpathyesstring—pattern ^crv_[0-9a-f]{32}$—
limitquerynointeger50minimum 1; maximum 200—

Responses

StatusMedia typeContractDescription
200application/jsonEvidenceNeighborhoodSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/claims/validations

Record Claim Validation Command

Operation ID: recordClaimValidation

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonRecordClaimValidationCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/claims/{claim_id}/current

Current Claim Projection

Operation ID: getCurrentClaim

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
claim_idpathyesstring—pattern ^clm_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonClaimRevisionProjectionSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/deletion

Project Deletion Projection

Operation ID: getProjectDeletion

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonProjectDeletionProjectionSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailDeletion was not requested.
422application/jsonErrorDetailThe request was invalid.

POST /api/projects/{project_id}/deletion/export-complete

Acknowledge Project Deletion Export Command

Operation ID: acknowledgeProjectDeletionExport

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonAcknowledgeProjectExportCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request was invalid.

POST /api/projects/{project_id}/deletion/finalize

Finalize Project Deletion Command

Operation ID: finalizeProjectDeletion

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonFinalizeProjectDeletionCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request was invalid.

POST /api/projects/{project_id}/deletion/request

Request Project Deletion Command

Operation ID: requestProjectDeletion

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonRequestProjectDeletionCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request was invalid.

GET /api/projects/{project_id}/documents

Document Page

Operation ID: listDocuments

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
afterquerynoDocumentId | null—DocumentId: pattern ^doc_[0-9a-f]{32}$—
limitquerynointeger50minimum 1; maximum 100—

Responses

StatusMedia typeContractDescription
200application/jsonDocumentPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/documents

Create Document Command

Operation ID: createDocument

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonCreateDocumentCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/documents/imports/ipynb

Import Ipynb Command

Operation ID: importIpynb

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
Command-IDheaderyesCommandId—pattern ^cmd_[0-9a-f]{32}$—
Idempotency-Keyheaderyesstring—minimum length 8; maximum length 128—
Notebook-Titleheaderyesstring—minimum length 1; maximum length 240—

Request body

Required: yes

Media typeContract
application/x-ipynb+jsonstring

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
413application/jsonErrorDetailThe notebook is too large.
415application/jsonErrorDetailThe media type is unsupported.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/documents/{document_id}

Document Projection

Operation ID: getDocument

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
document_idpathyesstring—pattern ^doc_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonDocumentDetailProjectionSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/documents/{document_id}/blocks

Block Page

Operation ID: listBlocks

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
document_idpathyesstring—pattern ^doc_[0-9a-f]{32}$—
afterquerynoBlockId | null—BlockId: pattern ^blk_[0-9a-f]{32}$—
beforequerynoBlockId | null—BlockId: pattern ^blk_[0-9a-f]{32}$—
limitquerynointeger50minimum 1; maximum 100—

Responses

StatusMedia typeContractDescription
200application/jsonBlockPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/documents/{document_id}/blocks

Create Block Command

Operation ID: createBlock

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
document_idpathyesstring—pattern ^doc_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonCreateBlockCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/documents/{document_id}/blocks/{block_id}/delete

Delete Block Command

Operation ID: deleteBlock

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
document_idpathyesstring—pattern ^doc_[0-9a-f]{32}$—
block_idpathyesstring—pattern ^blk_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonDeleteBlockCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/documents/{document_id}/blocks/{block_id}/executions

Execution Page

Operation ID: listBlockExecutions

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
document_idpathyesstring—pattern ^doc_[0-9a-f]{32}$—
block_idpathyesstring—pattern ^blk_[0-9a-f]{32}$—
afterquerynoExecutionId | null—ExecutionId: pattern ^exe_[0-9a-f]{32}$—
limitquerynointeger50minimum 1; maximum 100—

Responses

StatusMedia typeContractDescription
200application/jsonExecutionPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/documents/{document_id}/blocks/{block_id}/executions

Execute Block Command

Operation ID: executeBlock

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
document_idpathyesstring—pattern ^doc_[0-9a-f]{32}$—
block_idpathyesstring—pattern ^blk_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonExecuteBlockCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/documents/{document_id}/blocks/{block_id}/move

Move Block Command

Operation ID: moveBlock

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
document_idpathyesstring—pattern ^doc_[0-9a-f]{32}$—
block_idpathyesstring—pattern ^blk_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonMoveBlockCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/documents/{document_id}/blocks/{block_id}/patches/accept

Accept Block Patch Command

Operation ID: acceptBlockPatch

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
document_idpathyesstring—pattern ^doc_[0-9a-f]{32}$—
block_idpathyesstring—pattern ^blk_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonAcceptBlockPatchCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/documents/{document_id}/blocks/{block_id}/revisions

Block Revision Page

Operation ID: listBlockRevisions

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
document_idpathyesstring—pattern ^doc_[0-9a-f]{32}$—
block_idpathyesstring—pattern ^blk_[0-9a-f]{32}$—
before_revisionquerynointeger | null—integer: minimum 1—
limitquerynointeger50minimum 1; maximum 100—

Responses

StatusMedia typeContractDescription
200application/jsonBlockRevisionPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/documents/{document_id}/blocks/{block_id}/revisions

Save Block Revision Command

Operation ID: saveBlockRevision

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
document_idpathyesstring—pattern ^doc_[0-9a-f]{32}$—
block_idpathyesstring—pattern ^blk_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonSaveBlockRevisionCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/documents/{document_id}/blocks/{block_id}/window

Block Window

Operation ID: getBlockWindow

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
document_idpathyesstring—pattern ^doc_[0-9a-f]{32}$—
block_idpathyesstring—pattern ^blk_[0-9a-f]{32}$—
beforequerynointeger20minimum 0; maximum 100—
afterquerynointeger20minimum 0; maximum 100—

Responses

StatusMedia typeContractDescription
200application/jsonBlockWindowSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/documents/{document_id}/exports/ipynb

Export Ipynb

Operation ID: exportIpynb

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
document_idpathyesstring—pattern ^doc_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/x-ipynb+jsonstringA deterministic nbformat 4 notebook snapshot.
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/documents/{document_id}/search

Block Search Page

Operation ID: searchDocumentBlocks

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
document_idpathyesstring—pattern ^doc_[0-9a-f]{32}$—
qqueryyesstring—minimum length 1; maximum length 200—
afterquerynoBlockId | null—BlockId: pattern ^blk_[0-9a-f]{32}$—
limitquerynointeger50minimum 1; maximum 100—

Responses

StatusMedia typeContractDescription
200application/jsonBlockSearchPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/events

Project Events

Operation ID: streamProjectEvents

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
afterquerynostring | null—string: maximum length 64—
followquerynobooleantrue——
Last-Event-IDheadernostring | null—string: maximum length 64—

Responses

StatusMedia typeContractDescription
200text/event-streamstringSSE frames whose data field is one serialized DomainEvent object.
400application/jsonErrorDetailThe event cursor is invalid.
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe project was not found.
410application/jsonErrorDetailThe event cursor is outside the replay window.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/evidence

Create Evidence Reference Command

Operation ID: createEvidenceReference

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonCreateEvidenceReferenceCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/evidence/retractions

Retract Evidence Command

Operation ID: retractEvidence

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonRetractEvidenceCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/evidence/{evidence_ref_id}

Evidence Projection

Operation ID: getEvidence

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
evidence_ref_idpathyesstring—pattern ^evr_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonEvidenceProjectionSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailCanonical bytes are unavailable.

GET /api/projects/{project_id}/evidence/{evidence_ref_id}/reference

Evidence Reference Projection

Operation ID: getEvidenceReference

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
evidence_ref_idpathyesstring—pattern ^evr_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonEvidenceReferenceProjectionSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/executions/{execution_id}/outputs

Execution Output Page

Operation ID: listExecutionOutputs

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
execution_idpathyesstring—pattern ^exe_[0-9a-f]{32}$—
afterquerynoExecutionOutputId | null—ExecutionOutputId: pattern ^out_[0-9a-f]{32}$—
limitquerynointeger100minimum 1; maximum 200—

Responses

StatusMedia typeContractDescription
200application/jsonExecutionOutputPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/experiments

Experiment Page

Operation ID: listExperiments

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
afterquerynoRunId | null—RunId: pattern ^run_[0-9a-f]{32}$—
limitquerynointeger50minimum 1; maximum 100—

Responses

StatusMedia typeContractDescription
200application/jsonExperimentPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
500application/jsonErrorDetailCanonical experiment state is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/experiments/environments

Experiment Environment Page

Operation ID: listExperimentEnvironments

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
afterquerynoSha256Digest | null—Sha256Digest: pattern ^sha256:[0-9a-f]{64}$—
limitquerynointeger50minimum 1; maximum 100—

Responses

StatusMedia typeContractDescription
200application/jsonExperimentEnvironmentPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
500application/jsonErrorDetailCanonical experiment state is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/runs

Research Runs

Operation ID: listResearchRuns

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
afterquerynoRunId | null—RunId: pattern ^run_[0-9a-f]{32}$—
limitquerynointeger50minimum 1; maximum 100—

Responses

StatusMedia typeContractDescription
200application/jsonRunPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/runs

Research Run

Operation ID: createResearchRun

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonCreateResearchRunCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/runs/{run_id}

Research Run Projection

Operation ID: getResearchRun

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonRunDetailProjectionSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/runs/{run_id}/approve

Approve Research Plan

Operation ID: approveResearchPlan

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonApprovePlanCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/runs/{run_id}/attempts

Research Run Attempt History

Operation ID: listRunAttemptHistory

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
afterquerynoAttemptId | null—AttemptId: pattern ^att_[0-9a-f]{32}$—
limitquerynointeger50minimum 1; maximum 100—

Responses

StatusMedia typeContractDescription
200application/jsonRunAttemptHistoryPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
500application/jsonErrorDetailCanonical task history is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/runs/{run_id}/attempts/{attempt_id}

Research Run Attempt History Item

Operation ID: getRunAttemptHistoryItem

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
attempt_idpathyesstring—pattern ^att_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonRunAttemptHistoryItemSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
500application/jsonErrorDetailCanonical task history is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/runs/{run_id}/attempts/{attempt_id}/local-gateway-bridge-tokens

Issue Local Gateway Bridge Token

Mint or renew one event-only bearer from canonical current state.

Operation ID: issueLocalGatewayBridgeToken

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
attempt_idpathyesstring—pattern ^att_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonLocalGatewayBridgeTokenRequest

Responses

StatusMedia typeContractDescription
200application/jsonLocalGatewayBridgeTokenResponseSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe attempt is absent, hidden, terminal, cancelled, or fenced.
422application/jsonErrorDetailThe bridge-token request is invalid.
503application/jsonErrorDetailAuthentication or bridge-token issuance is temporarily unavailable.

POST /api/projects/{project_id}/runs/{run_id}/cancel

Cancel Research Run

Operation ID: cancelResearchRun

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonCancelRunCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/runs/{run_id}/graph

Research Task Graph

Pages current-plan nodes by task ID. Each page includes only edges whose predecessor is in that node page, so an edge appears exactly once while its successor may be returned on another page.

Operation ID: getResearchTaskGraph

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
afterquerynoTaskId | null—TaskId: pattern ^tsk_[0-9a-f]{32}$—
limitquerynointeger25minimum 1; maximum 25—

Responses

StatusMedia typeContractDescription
200application/jsonTaskGraphPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
500application/jsonErrorDetailCanonical task history is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/runs/{run_id}/pause

Pause Research Run

Operation ID: pauseResearchRun

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonPauseRunCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/runs/{run_id}/plan-revisions

Create Research Plan Revision

Operation ID: createResearchPlanRevision

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonCreatePlanRevisionCommand

Responses

StatusMedia typeContractDescription
200application/jsonPlanRevisionAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is unavailable.

POST /api/projects/{project_id}/runs/{run_id}/plan-revisions/approve

Approve Research Plan Revision

Operation ID: approveResearchPlanRevision

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonApprovePlanRevisionCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is unavailable.

GET /api/projects/{project_id}/runs/{run_id}/result

Research Result

Operation ID: getResearchResult

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonResearchResultSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/runs/{run_id}/resume

Resume Research Run

Operation ID: resumeResearchRun

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonResumeRunCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/runs/{run_id}/story

Research Story

Operation ID: getResearchStory

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonResearchStorySuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/runs/{run_id}/task-control

Research Task Control Snapshot

Operation ID: getResearchTaskControlSnapshot

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonTaskControlSnapshotSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is unavailable.

POST /api/projects/{project_id}/runs/{run_id}/task-dependencies

Add Research Task Dependency

Operation ID: addResearchTaskDependency

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonAddTaskDependencyCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/runs/{run_id}/task-dependencies/remove

Remove Research Task Dependency

Operation ID: removeResearchTaskDependency

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonRemoveTaskDependencyCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is unavailable.

GET /api/projects/{project_id}/runs/{run_id}/tasks

Research Tasks

Operation ID: listResearchTasks

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
afterquerynoTaskId | null—TaskId: pattern ^tsk_[0-9a-f]{32}$—
limitquerynointeger50minimum 1; maximum 100—

Responses

StatusMedia typeContractDescription
200application/jsonTaskPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/runs/{run_id}/tasks

Create Research Task

Operation ID: createResearchTask

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonCreateTaskCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/runs/{run_id}/tasks/summary

Research Task Summary

Aggregate current-plan tasks and all run attempts without record rows.

Operation ID: getResearchTaskSummary

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonTaskSummaryProjectionSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
500application/jsonErrorDetailCanonical task history is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/runs/{run_id}/tasks/{source_task_id}/attempts/{source_attempt_id}/messages

Send Research Agent Message

Operation ID: sendResearchAgentMessage

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
source_task_idpathyesstring—pattern ^tsk_[0-9a-f]{32}$—
source_attempt_idpathyesstring—pattern ^att_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonSendAgentMessageCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is unavailable.

GET /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}

Research Task

Operation ID: getResearchTask

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
task_idpathyesstring—pattern ^tsk_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonTaskDetailProjectionSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/assignment

Assign Research Task

Operation ID: assignResearchTask

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
task_idpathyesstring—pattern ^tsk_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonAssignTaskCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is unavailable.

GET /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/attempts

Research Attempts

Operation ID: listResearchAttempts

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
task_idpathyesstring—pattern ^tsk_[0-9a-f]{32}$—
afterquerynointeger | null—integer: minimum 1—
limitquerynointeger50minimum 1; maximum 100—

Responses

StatusMedia typeContractDescription
200application/jsonAttemptPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/attempts/{attempt_id}

Research Attempt

Operation ID: getResearchAttempt

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
task_idpathyesstring—pattern ^tsk_[0-9a-f]{32}$—
attempt_idpathyesstring—pattern ^att_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonAttemptDetailProjectionSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/attempts/{attempt_id}/approvals

Tool Approval Page

Operation ID: listToolApprovals

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
task_idpathyesstring—pattern ^tsk_[0-9a-f]{32}$—
attempt_idpathyesstring—pattern ^att_[0-9a-f]{32}$—
afterquerynoInteractionRequestId | null—InteractionRequestId: pattern ^int_[0-9a-f]{32}$—
limitquerynointeger50minimum 1; maximum 100—

Responses

StatusMedia typeContractDescription
200application/jsonToolApprovalPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/attempts/{attempt_id}/approvals/{approval_id}

Tool Approval Projection

Operation ID: getToolApproval

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
task_idpathyesstring—pattern ^tsk_[0-9a-f]{32}$—
attempt_idpathyesstring—pattern ^att_[0-9a-f]{32}$—
approval_idpathyesstring—pattern ^int_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonToolApprovalSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/attempts/{attempt_id}/approvals/{approval_id}/resolve

Resolve Public Tool Approval

Operation ID: resolveToolApproval

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
task_idpathyesstring—pattern ^tsk_[0-9a-f]{32}$—
attempt_idpathyesstring—pattern ^att_[0-9a-f]{32}$—
approval_idpathyesstring—pattern ^int_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonResolveToolApprovalCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/attempts/{attempt_id}/events

Research Attempt Events

Operation ID: listResearchAttemptEvents

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
task_idpathyesstring—pattern ^tsk_[0-9a-f]{32}$—
attempt_idpathyesstring—pattern ^att_[0-9a-f]{32}$—
afterquerynointeger | null—integer: minimum 0—
limitquerynointeger50minimum 1; maximum 100—

Responses

StatusMedia typeContractDescription
200application/jsonAttemptEventPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
500application/jsonErrorDetailCanonical attempt history is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/attempts/{attempt_id}/interrupt

Interrupt Research Attempt

Operation ID: interruptResearchAttempt

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
task_idpathyesstring—pattern ^tsk_[0-9a-f]{32}$—
attempt_idpathyesstring—pattern ^att_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonInterruptAttemptCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/attempts/{attempt_id}/steer

Steer Research Attempt

Operation ID: steerResearchAttempt

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
task_idpathyesstring—pattern ^tsk_[0-9a-f]{32}$—
attempt_idpathyesstring—pattern ^att_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonSteerAttemptCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/budget

Update Research Task Budget

Operation ID: updateResearchTaskBudget

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
task_idpathyesstring—pattern ^tsk_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonUpdateTaskBudgetCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is unavailable.

POST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/budget-wait/clear

Clear Research Task Budget Wait

Operation ID: clearResearchTaskBudgetWait

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
task_idpathyesstring—pattern ^tsk_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonClearTaskBudgetWaitCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is unavailable.

POST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/cancel

Cancel Research Task

Operation ID: cancelResearchTask

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
task_idpathyesstring—pattern ^tsk_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonCancelTaskCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is unavailable.

POST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/execution-profile

Update Research Task Execution Profile

Operation ID: updateResearchTaskExecutionProfile

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
task_idpathyesstring—pattern ^tsk_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonUpdateTaskExecutionProfileCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is unavailable.

GET /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/messages

Research Agent Messages

Operation ID: listResearchAgentMessages

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
task_idpathyesstring—pattern ^tsk_[0-9a-f]{32}$—
attempt_idquerynoAttemptId | null—AttemptId: pattern ^att_[0-9a-f]{32}$—
afterquerynoEventId | null—EventId: pattern ^eve_[0-9a-f]{32}$—
limitquerynointeger50minimum 1; maximum 100—

Responses

StatusMedia typeContractDescription
200application/jsonAgentMessagePageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is unavailable.

POST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/pause

Pause Research Task

Operation ID: pauseResearchTask

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
task_idpathyesstring—pattern ^tsk_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonPauseTaskCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is unavailable.

POST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/resume

Resume Research Task

Operation ID: resumeResearchTask

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
task_idpathyesstring—pattern ^tsk_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonResumeTaskCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is unavailable.

POST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/retry

Retry Research Task

Operation ID: retryResearchTask

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
task_idpathyesstring—pattern ^tsk_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonRetryTaskCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is unavailable.

POST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/update

Update Research Draft Task

Operation ID: updateResearchDraftTask

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
run_idpathyesstring—pattern ^run_[0-9a-f]{32}$—
task_idpathyesstring—pattern ^tsk_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonUpdateDraftTaskCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is unavailable.

GET /api/projects/{project_id}/schedules

Research Schedules

Operation ID: listResearchSchedules

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
afterquerynoScheduleId | null—ScheduleId: pattern ^sch_[0-9a-f]{32}$—
limitquerynointeger50minimum 1; maximum 100—

Responses

StatusMedia typeContractDescription
200application/jsonSchedulePageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
500application/jsonErrorDetailCanonical schedule state is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/schedules

Create Research Schedule

Operation ID: createResearchSchedule

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonCreateScheduleCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/schedules/{schedule_id}

Research Schedule

Operation ID: getResearchSchedule

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
schedule_idpathyesstring—pattern ^sch_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonScheduleDetailProjectionSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
500application/jsonErrorDetailCanonical schedule state is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

PUT /api/projects/{project_id}/schedules/{schedule_id}

Update Research Schedule

Operation ID: updateResearchSchedule

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
schedule_idpathyesstring—pattern ^sch_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonUpdateScheduleCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/schedules/{schedule_id}/delete

Delete Research Schedule

Operation ID: deleteResearchSchedule

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
schedule_idpathyesstring—pattern ^sch_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonDeleteScheduleCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/schedules/{schedule_id}/pause

Pause Research Schedule

Operation ID: pauseResearchSchedule

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
schedule_idpathyesstring—pattern ^sch_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonPauseScheduleCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/schedules/{schedule_id}/resume

Resume Research Schedule

Operation ID: resumeResearchSchedule

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
schedule_idpathyesstring—pattern ^sch_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonResumeScheduleCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/search

Project Search

Operation ID: searchProject

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
qqueryyesstring—minimum length 1; maximum length 200—
kindsquerynoarray of ProductSearchKind | null———
limitquerynointeger30minimum 1; maximum 50—

Responses

StatusMedia typeContractDescription
200application/jsonProductSearchPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe project was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

PUT /api/projects/{project_id}/settings

Project Settings

Operation ID: updateProjectSettings

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonUpdateProjectSettingsCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/variables

Variable Page

Operation ID: listVariables

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonVariablePageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/variables/definitions

Set Variable Definition Command

Operation ID: setVariableDefinition

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonSetVariableDefinitionCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/variables/retractions

Retract Variable Value Command

Operation ID: retractVariableValue

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonRetractVariableValueCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/projects/{project_id}/variables/values

Capture Variable Value Command

Operation ID: captureVariableValue

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonCaptureVariableValueCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/projects/{project_id}/workspace

Project Workspace Projection

Operation ID: getProjectWorkspace

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonWorkspaceSnapshotProjectionSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe exact project artifact was not found.
422application/jsonErrorDetailThe immutable workspace artifact failed contract verification.
503application/jsonErrorDetailCanonical database or artifact storage is unavailable.

POST /api/projects/{project_id}/workspace/change-sets/acceptances

Accept Project Workspace Change Set Command

Operation ID: acceptProjectWorkspaceChangeSet

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonAcceptWorkspaceChangeSetCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe exact project artifact was not found.
422application/jsonErrorDetailThe immutable workspace artifact failed contract verification.
503application/jsonErrorDetailCanonical database or artifact storage is unavailable.

POST /api/projects/{project_id}/workspace/change-sets/rejections

Reject Project Workspace Change Set Command

Operation ID: rejectProjectWorkspaceChangeSet

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonRejectWorkspaceChangeSetCommand

Responses

StatusMedia typeContractDescription
200application/jsonCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe exact project artifact was not found.
422application/jsonErrorDetailThe immutable workspace artifact failed contract verification.
503application/jsonErrorDetailCanonical database or artifact storage is unavailable.

GET /api/projects/{project_id}/workspace/change-sets/{change_set_artifact_id}

Project Workspace Change Set Projection

Operation ID: getProjectWorkspaceChangeSet

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
change_set_artifact_idpathyesstring—pattern ^art_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonProjectWorkspaceChangeSetProjectionSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe exact project artifact was not found.
422application/jsonErrorDetailThe immutable workspace artifact failed contract verification.
503application/jsonErrorDetailCanonical database or artifact storage is unavailable.

GET /api/projects/{project_id}/writeups/{document_id}/exports/{export_format}

Export Writeup

Operation ID: exportWriteup

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
project_idpathyesstring—pattern ^prj_[0-9a-f]{32}$—
document_idpathyesstring—pattern ^doc_[0-9a-f]{32}$—
export_formatpathyesmarkdown | html | pdf | latex—values markdown, html, pdf, latex—

Responses

StatusMedia typeContractDescription
200application/pdfstringA deterministic export of exact current writeup block revisions with pinned claim/evidence/artifact state and explicit omission disclosures.
200application/vnd.lumen.writeup.latex+zipstringA deterministic export of exact current writeup block revisions with pinned claim/evidence/artifact state and explicit omission disclosures.
200application/vnd.lumen.writeup.markdown+zipstringA deterministic export of exact current writeup block revisions with pinned claim/evidence/artifact state and explicit omission disclosures.
200text/htmlstringA deterministic export of exact current writeup block revisions with pinned claim/evidence/artifact state and explicit omission disclosures.
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe writeup was not found.
413application/jsonErrorDetailThe bounded export is too large.
422application/jsonErrorDetailThe writeup cannot be rendered safely.
503application/jsonErrorDetailCanonical artifact bytes are unavailable.

GET /api/retention-policies

Retention Policy Catalog

Operation ID: listDataRetentionPolicies

Authentication: Required: HTTPBearer (http bearer).

Responses

StatusMedia typeContractDescription
200application/jsonDataRetentionPolicyCatalogSuccessful Response
401application/jsonErrorDetailAuthentication failed.

POST /api/runtime-tickets

Issue Browser Runtime Ticket

Operation ID: issueRuntimeTicket

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
Originheadernostring | null———

Request body

Required: yes

Media typeContract
application/jsonExecutionTicketRequest | PtyTicketRequest | RuntimeControlTicketRequest

Responses

StatusMedia typeContractDescription
200application/jsonRuntimeTicketGrantSuccessful Response
401application/jsonErrorDetailAuthentication failed.
403application/jsonErrorDetailThe browser origin is not allowed.
409application/jsonErrorDetailCanonical runtime state is unavailable.
422application/jsonErrorDetailThe runtime ticket request is invalid.
503application/jsonErrorDetailRuntime ticket issuance is unavailable.

GET /api/settings/catalog

Get Settings Catalog

Operation ID: getSettingsCatalog

Authentication: Required: HTTPBearer (http bearer).

Responses

StatusMedia typeContractDescription
200application/jsonSettingsCatalogSuccessful Response
401application/jsonErrorDetailAuthentication failed.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/workspaces/{workspace_id}/extension-capability-diffs/{extension_id}/{version_digest}

Workspace Extension Capability Diff

Operation ID: getWorkspaceExtensionCapabilityDiff

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
workspace_idpathyesstring—pattern ^wsp_[0-9a-f]{32}$—
extension_idpathyesstring—pattern ^ext_[0-9a-f]{32}$—
version_digestpathyesstring—pattern ^sha256:[0-9a-f]{64}$—

Responses

StatusMedia typeContractDescription
200application/jsonExtensionCapabilityDiffPreviewSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
409application/jsonErrorDetailThe selected extension version is not usable.
422application/jsonErrorDetailThe request is invalid.
500application/jsonErrorDetailCanonical extension state is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/workspaces/{workspace_id}/extensions

Workspace Extension Installations

Operation ID: listWorkspaceExtensionInstallations

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
workspace_idpathyesstring—pattern ^wsp_[0-9a-f]{32}$—
afterquerynoExtensionInstallationId | null—ExtensionInstallationId: pattern ^ins_[0-9a-f]{32}$—
limitquerynointeger50minimum 1; maximum 100—

Responses

StatusMedia typeContractDescription
200application/jsonExtensionInstallationPageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
500application/jsonErrorDetailCanonical extension state is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/workspaces/{workspace_id}/extensions

Install Workspace Extension

Operation ID: installWorkspaceExtension

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
workspace_idpathyesstring—pattern ^wsp_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonInstallExtensionCommand

Responses

StatusMedia typeContractDescription
200application/jsonExtensionCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
500application/jsonErrorDetailCanonical extension state is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/workspaces/{workspace_id}/extensions/{installation_id}

Workspace Extension Installation

Operation ID: getWorkspaceExtensionInstallation

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
workspace_idpathyesstring—pattern ^wsp_[0-9a-f]{32}$—
installation_idpathyesstring—pattern ^ins_[0-9a-f]{32}$—

Responses

StatusMedia typeContractDescription
200application/jsonExtensionInstallationProjectionSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe resource was not found.
422application/jsonErrorDetailThe request is invalid.
500application/jsonErrorDetailCanonical extension state is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/workspaces/{workspace_id}/extensions/{installation_id}/tools/{tool_id}/disable

Disable Workspace Extension Tool

Operation ID: disableWorkspaceExtensionTool

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
workspace_idpathyesstring—pattern ^wsp_[0-9a-f]{32}$—
installation_idpathyesstring—pattern ^ins_[0-9a-f]{32}$—
tool_idpathyesstring———

Request body

Required: yes

Media typeContract
application/jsonDisableExtensionToolCommand

Responses

StatusMedia typeContractDescription
200application/jsonExtensionCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
500application/jsonErrorDetailCanonical extension state is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/workspaces/{workspace_id}/extensions/{installation_id}/tools/{tool_id}/enable

Enable Workspace Extension Tool

Operation ID: enableWorkspaceExtensionTool

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
workspace_idpathyesstring—pattern ^wsp_[0-9a-f]{32}$—
installation_idpathyesstring—pattern ^ins_[0-9a-f]{32}$—
tool_idpathyesstring———

Request body

Required: yes

Media typeContract
application/jsonEnableExtensionToolCommand

Responses

StatusMedia typeContractDescription
200application/jsonExtensionCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
422application/jsonErrorDetailThe request is invalid.
500application/jsonErrorDetailCanonical extension state is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /api/workspaces/{workspace_id}/rules

Scoped Rules

Operation ID: listScopedRules

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
workspace_idpathyesstring—pattern ^wsp_[0-9a-f]{32}$—
project_idquerynoProjectId | null—ProjectId: pattern ^prj_[0-9a-f]{32}$—
afterquerynoRuleId | null—RuleId: pattern ^rul_[0-9a-f]{32}$—
limitquerynointeger50minimum 1; maximum 100—

Responses

StatusMedia typeContractDescription
200application/jsonScopedRulePageSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe workspace or project was not found.
422application/jsonErrorDetailThe request is invalid.
500application/jsonErrorDetailCanonical rule state is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

POST /api/workspaces/{workspace_id}/rules

Create Rule

Operation ID: createScopedRule

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
workspace_idpathyesstring—pattern ^wsp_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonCreateScopedRuleCommand

Responses

StatusMedia typeContractDescription
200application/jsonRuleCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe workspace or project was not found.
422application/jsonErrorDetailThe request is invalid.
500application/jsonErrorDetailCanonical rule state is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

PUT /api/workspaces/{workspace_id}/rules/{rule_id}

Replace Rule

Operation ID: replaceScopedRule

Authentication: Required: HTTPBearer (http bearer).

Parameters

NameLocationRequiredTypeDefaultConstraintsDescription
workspace_idpathyesstring—pattern ^wsp_[0-9a-f]{32}$—
rule_idpathyesstring—pattern ^rul_[0-9a-f]{32}$—

Request body

Required: yes

Media typeContract
application/jsonReplaceScopedRuleCommand

Responses

StatusMedia typeContractDescription
200application/jsonRuleCommandAccepted | CommandRejectedSuccessful Response
401application/jsonErrorDetailAuthentication failed.
404application/jsonErrorDetailThe workspace or project was not found.
422application/jsonErrorDetailThe request is invalid.
500application/jsonErrorDetailCanonical rule state is invalid.
503application/jsonErrorDetailAuthentication is temporarily unavailable.

GET /health/live

Live Health

Operation ID: getLiveHealth

Authentication: No bearer credential is declared for this endpoint.

Responses

StatusMedia typeContractDescription
200application/jsonHealthReportSuccessful Response

GET /health/ready

Ready Health

Operation ID: getReadyHealth

Authentication: No bearer credential is declared for this endpoint.

Responses

StatusMedia typeContractDescription
200application/jsonHealthReportSuccessful Response
503application/jsonHealthReportApp dependencies are unavailable.

Schemas

AcceptBlockPatchCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesAcceptBlockPatchPayloadunknown fields forbidden—

AcceptBlockPatchPayload

FieldRequiredTypeConstraints/defaultDescription
expected_current_revision_idyesBlockRevisionIdpattern ^rev_[0-9a-f]{32}$—
expected_structure_versionyesintegerminimum 1.0—
languagenoBlockLanguage | nullBlockLanguage: minimum length 1; maximum length 64—
metadatanoobject——
proposed_base_revision_idyesBlockRevisionIdpattern ^rev_[0-9a-f]{32}$—
resolved_sourceyesBlockSourcemaximum length 1048576—
source_artifact_idyesArtifactIdpattern ^art_[0-9a-f]{32}$—

AcceptWorkspaceChangeSetCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesAcceptWorkspaceChangeSetPayloadunknown fields forbidden—

AcceptWorkspaceChangeSetPayload

FieldRequiredTypeConstraints/defaultDescription
candidate_snapshot_artifact_idyesArtifactIdpattern ^art_[0-9a-f]{32}$—
candidate_snapshot_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
change_set_artifact_idyesArtifactIdpattern ^art_[0-9a-f]{32}$—
change_set_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
expected_workspace_versionyesintegerminimum 0.0—

AcceptanceCriterion

Type: string Constraints: minimum length 1; maximum length 500

AcceptedMetricClaim

One exact accepted current metric revision produced by this run.

FieldRequiredTypeConstraints/defaultDescription
claim_idyesClaimIdpattern ^clm_[0-9a-f]{32}$—
claim_revision_idyesClaimRevisionIdpattern ^crv_[0-9a-f]{32}$—
confidence_assessmentyesstring | nullstring: minimum length 1; maximum length 2000—
content_hashyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
created_atyesstringformat date-time—
currentnessyesClaimCurrentnessvalues current, outdated, unknown—
priorityyesintegerminimum -1000.0; maximum 1000.0—
producing_attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
producing_task_idyesTaskId | nullTaskId: pattern ^tsk_[0-9a-f]{32}$—
textyesMetricTextminimum length 1; maximum length 65536—
titleyesMetricTitleminimum length 1; maximum length 240—
validityyesClaimValidityvalues untested, valid-for-pinned-inputs, invalidated, retracted—

AcknowledgeProjectExportCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesAcknowledgeProjectExportPayloadunknown fields forbidden—

AcknowledgeProjectExportPayload

FieldRequiredTypeConstraints/defaultDescription
archive_manifest_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
deletion_generationyesintegerminimum 1.0—
expected_deletion_versionyesintegerminimum 1.0—
expected_project_versionyesintegerminimum 1.0—

AddTaskDependencyCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesAddTaskDependencyPayloadunknown fields forbidden—

AddTaskDependencyPayload

FieldRequiredTypeConstraints/defaultDescription
expected_plan_revisionyesintegerminimum 1.0—
expected_run_versionyesintegerminimum 1.0—
predecessor_task_idyesTaskIdpattern ^tsk_[0-9a-f]{32}$—
reasonyesDependencyReasonminimum length 1; maximum length 1000—
successor_task_idyesTaskIdpattern ^tsk_[0-9a-f]{32}$—

AgentEventUnion

Discriminator: event_type

Type: AttemptLifecycleEvent | MessageEvent | ReasoningSummaryEvent | ToolEvent | ApprovalEvent | ArtifactPublishedEvent | ClaimProposedEvent | TaskProposedEvent | UsageUpdatedEvent | CheckpointCreatedEvent Constraints: AttemptLifecycleEvent: unknown fields forbidden; MessageEvent: unknown fields forbidden; ReasoningSummaryEvent: unknown fields forbidden; ToolEvent: unknown fields forbidden; ApprovalEvent: unknown fields forbidden; ArtifactPublishedEvent: unknown fields forbidden; ClaimProposedEvent: unknown fields forbidden; TaskProposedEvent: unknown fields forbidden; UsageUpdatedEvent: unknown fields forbidden; CheckpointCreatedEvent: unknown fields forbidden

AgentMessageContent

Type: string Constraints: minimum length 1; maximum length 16384

AgentMessagePage

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of AgentMessageProjectionmaximum items 100—
latest_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
next_afternoEventId | nullEventId: pattern ^eve_[0-9a-f]{32}$—

AgentMessageProjection

FieldRequiredTypeConstraints/defaultDescription
contentyesstringminimum length 1; maximum length 16384—
created_atyesstringformat date-time—
message_idyesEventIdpattern ^eve_[0-9a-f]{32}$—
run_idyesRunIdpattern ^run_[0-9a-f]{32}$—
source_attempt_generationyesintegerminimum 1.0—
source_attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
source_task_idyesTaskIdpattern ^tsk_[0-9a-f]{32}$—
target_attempt_idyesAttemptId | nullAttemptId: pattern ^att_[0-9a-f]{32}$—
target_task_idyesTaskIdpattern ^tsk_[0-9a-f]{32}$—

AgentSkillVersion

FieldRequiredTypeConstraints/defaultDescription
compatibilitynostring | nullstring: minimum length 1; maximum length 500—
descriptionyesstringminimum length 1; maximum length 1024—
instructions_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
instructions_size_bytesyesintegerminimum 1.0; maximum 262144.0—
licenseyesstringminimum length 1; maximum length 128—
metadatanoobjectmaximum properties 64—
nameyesSkillNameminimum length 1; maximum length 64; pattern ^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$—
resourcesnoarray of SkillResourceSummarymaximum items 128; default []—
trust_labelnountrusted_instructionfixed value untrusted_instruction; default "untrusted_instruction"—

ApprovalAction

Type: string Constraints: minimum length 1; maximum length 240

ApprovalActorLabel

Type: string Constraints: minimum length 1; maximum length 120

ApprovalEvent

FieldRequiredTypeConstraints/defaultDescription
approval_idyesstring——
attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
decisionyespending | approved | denied | expired | cancelledvalues pending, approved, denied, expired, cancelled—
event_idyesEventIdpattern ^eve_[0-9a-f]{32}$—
event_typeyesapproval.requested | approval.resolvedvalues approval.requested, approval.resolved—
occurred_atyesstringformat date-time—
provider_sequenceyesintegerminimum 0.0—
replayablenobooleandefault true—

ApprovalResolution

A terminal decision, including product-owned timeout and cancellation.

FieldRequiredTypeConstraints/defaultDescription
decisionyesallow | deny | expired | cancelledvalues allow, deny, expired, cancelled—
reasonnostring | nullstring: minimum length 1; maximum length 500—

ApprovalSummary

Type: string Constraints: minimum length 1; maximum length 500

ApprovalTarget

Type: string Constraints: minimum length 1; maximum length 500

ApprovePlanCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesApprovePlanPayloadunknown fields forbidden—

ApprovePlanPayload

FieldRequiredTypeConstraints/defaultDescription
expected_plan_revisionyesintegerminimum 1.0—
expected_run_generationyesintegerminimum 1.0—
expected_run_versionyesintegerminimum 1.0—

ApprovePlanRevisionCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesApprovePlanRevisionPayloadunknown fields forbidden—

ApprovePlanRevisionPayload

FieldRequiredTypeConstraints/defaultDescription
expected_run_generationyesintegerminimum 1.0—
expected_run_versionyesintegerminimum 1.0—
revisionyesintegerminimum 1.0—

ArtifactEvidenceTarget

FieldRequiredTypeConstraints/defaultDescription
artifact_idyesArtifactIdpattern ^art_[0-9a-f]{32}$—
target_kindyesartifactfixed value artifact—

ArtifactId

Type: string Constraints: pattern ^art_[0-9a-f]{32}$

ArtifactManifest

FieldRequiredTypeConstraints/defaultDescription
artifact_idyesArtifactIdpattern ^art_[0-9a-f]{32}$—
created_atyesstringformat date-time—
digestyesstringpattern ^sha256:[0-9a-f]{64}$—
media_typeyesstringminimum length 1; maximum length 255—
producing_attempt_idnoAttemptId | nullAttemptId: pattern ^att_[0-9a-f]{32}$—
producing_execution_idnoExecutionId | nullExecutionId: pattern ^exe_[0-9a-f]{32}$—
producing_import_idnoProjectImportId | nullProjectImportId: pattern ^imp_[0-9a-f]{32}$—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
size_bytesyesintegerminimum 0.0—
storage_keyyesstringminimum length 1; maximum length 1024—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

ArtifactPage

One deterministic project-scoped page without artifact bytes.

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of ArtifactManifestmaximum items 100—
next_afternoArtifactId | nullArtifactId: pattern ^art_[0-9a-f]{32}$—

ArtifactPublishedEvent

FieldRequiredTypeConstraints/defaultDescription
artifact_idyesArtifactIdpattern ^art_[0-9a-f]{32}$—
attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
event_idyesEventIdpattern ^eve_[0-9a-f]{32}$—
event_typeyesartifact.publishedfixed value artifact.published—
occurred_atyesstringformat date-time—
provider_sequenceyesintegerminimum 0.0—
replayablenobooleandefault true—

ArtifactSearchLocator

FieldRequiredTypeConstraints/defaultDescription
artifact_idyesArtifactIdpattern ^art_[0-9a-f]{32}$—
kindyesartifactfixed value artifact—
producing_attempt_idnoAttemptId | nullAttemptId: pattern ^att_[0-9a-f]{32}$—
producing_execution_idnoExecutionId | nullExecutionId: pattern ^exe_[0-9a-f]{32}$—

AssignTaskCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesAssignTaskPayloadunknown fields forbidden—

AssignTaskPayload

FieldRequiredTypeConstraints/defaultDescription
assignment_policyyesTaskAssignmentPolicyvalues automatic, operator—
expected_plan_revisionyesintegerminimum 1.0—
expected_run_generationyesintegerminimum 1.0—
expected_run_versionyesintegerminimum 1.0—
expected_task_versionyesintegerminimum 1.0—

AttachEvidenceCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesAttachEvidencePayloadunknown fields forbidden—

AttachEvidencePayload

FieldRequiredTypeConstraints/defaultDescription
attachmentyesEvidenceAttachmentunknown fields forbidden—
dependent_idyesClaimRevisionId | VariableValueIdClaimRevisionId: pattern ^crv_[0-9a-f]{32}$; VariableValueId: pattern ^val_[0-9a-f]{32}$—
dependent_kindyesEvidenceDependentKindvalues claim_revision, variable_value—
expected_claim_versionnointeger | nullinteger: minimum 1.0—

AttemptDetailProjection

FieldRequiredTypeConstraints/defaultDescription
attemptyesAttemptProjectionunknown fields forbidden—
latest_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—

AttemptEventPage

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of AttemptEventProjectionmaximum items 100—
latest_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
next_afternointeger | nullinteger: minimum 0.0—

AttemptEventProjection

FieldRequiredTypeConstraints/defaultDescription
applies_to_current_generationyesboolean——
attempt_generationyesintegerminimum 1.0—
eventyesAgentEventUnionAttemptLifecycleEvent: unknown fields forbidden; MessageEvent: unknown fields forbidden; ReasoningSummaryEvent: unknown fields forbidden; ToolEvent: unknown fields forbidden; ApprovalEvent: unknown fields forbidden; ArtifactPublishedEvent: unknown fields forbidden; ClaimProposedEvent: unknown fields forbidden; TaskProposedEvent: unknown fields forbidden; UsageUpdatedEvent: unknown fields forbidden; CheckpointCreatedEvent: unknown fields forbidden—

AttemptEventSearchLocator

FieldRequiredTypeConstraints/defaultDescription
attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
event_idyesEventIdpattern ^eve_[0-9a-f]{32}$—
kindyesattempt_eventfixed value attempt_event—
provider_sequenceyesintegerminimum 0.0—
run_idyesRunIdpattern ^run_[0-9a-f]{32}$—
task_idyesTaskIdpattern ^tsk_[0-9a-f]{32}$—

AttemptId

Type: string Constraints: pattern ^att_[0-9a-f]{32}$

AttemptLifecycleEvent

FieldRequiredTypeConstraints/defaultDescription
attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
detailnostring | null——
event_idyesEventIdpattern ^eve_[0-9a-f]{32}$—
event_typeyesattempt.queued | attempt.provisioning | attempt.started | attempt.paused | attempt.resumed | attempt.completed | attempt.failed | attempt.cancelledvalues attempt.queued, attempt.provisioning, attempt.started, attempt.paused, attempt.resumed, attempt.completed, attempt.failed, attempt.cancelled—
occurred_atyesstringformat date-time—
provider_sequenceyesintegerminimum 0.0—
replayablenobooleandefault true—

AttemptPage

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of AttemptProjectionmaximum items 100—
latest_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
next_afternointeger | nullinteger: minimum 1.0—

AttemptProjection

FieldRequiredTypeConstraints/defaultDescription
attempt_generationyesintegerminimum 1.0—
attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
attempt_numberyesintegerminimum 1.0—
capability_policy_versionyesintegerminimum 1.0—
capability_revocation_versionyesintegerminimum 1.0—
created_atyesstringformat date-time—
current_generationyesintegerminimum 1.0—
current_plan_revisionyesintegerminimum 1.0—
desired_stateyesDesiredStatevalues running, paused, cancelled—
finished_atyesstring | nullstring: format date-time—
is_current_generationyesboolean——
is_latest_attemptyesboolean——
outcomeyesWorkOutcome | nullWorkOutcome: values succeeded, failed, cancelled—
phaseyesWorkPhasevalues queued, provisioning, executing, finalizing, terminal—
plan_revisionyesintegerminimum 1.0—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
run_idyesRunIdpattern ^run_[0-9a-f]{32}$—
started_atyesstring | nullstring: format date-time—
summaryyesstring | null——
task_idyesTaskIdpattern ^tsk_[0-9a-f]{32}$—
versionyesintegerminimum 1.0—
wait_reasonyesWaitReasonvalues none, approval, dependency, capacity, input, budget, operator—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

AttemptStateGroup

FieldRequiredTypeConstraints/defaultDescription
countyesintegerminimum 1.0—
desired_stateyesDesiredStatevalues running, paused, cancelled—
is_current_generationyesboolean——
is_current_plan_revisionyesboolean——
outcomeyesWorkOutcome | nullWorkOutcome: values succeeded, failed, cancelled—
phaseyesWorkPhasevalues queued, provisioning, executing, finalizing, terminal—
wait_reasonyesWaitReasonvalues none, approval, dependency, capacity, input, budget, operator—

BlockId

Type: string Constraints: pattern ^blk_[0-9a-f]{32}$

BlockLanguage

Type: string Constraints: minimum length 1; maximum length 64

BlockPage

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of BlockProjection——
latest_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
next_afternoBlockId | nullBlockId: pattern ^blk_[0-9a-f]{32}$—
next_beforenoBlockId | nullBlockId: pattern ^blk_[0-9a-f]{32}$—
structure_versionyesintegerminimum 1.0—

BlockProjection

FieldRequiredTypeConstraints/defaultDescription
block_idyesBlockIdpattern ^blk_[0-9a-f]{32}$—
block_typeyesBlockTypevalues code, markdown, raw, artifact, query—
created_atyesstringformat date-time—
current_revisionyesBlockRevisionProjectionunknown fields forbidden—
deletedyesboolean——
document_idyesDocumentIdpattern ^doc_[0-9a-f]{32}$—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
rankyesintegerminimum 1.0; maximum 9007199254740991.0—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

BlockRevisionEvidenceTarget

FieldRequiredTypeConstraints/defaultDescription
block_revision_idyesBlockRevisionIdpattern ^rev_[0-9a-f]{32}$—
target_kindyesblock_revisionfixed value block_revision—

BlockRevisionId

Type: string Constraints: pattern ^rev_[0-9a-f]{32}$

BlockRevisionPage

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of BlockRevisionProjection——
next_before_revisionnointeger | nullinteger: minimum 1.0—

BlockRevisionProjection

FieldRequiredTypeConstraints/defaultDescription
author_idyesstring——
author_typeyeshuman | attempt | system | importvalues human, attempt, system, import—
base_revision_idyesBlockRevisionId | nullBlockRevisionId: pattern ^rev_[0-9a-f]{32}$—
block_revision_idyesBlockRevisionIdpattern ^rev_[0-9a-f]{32}$—
content_hashyesstringpattern ^sha256:[0-9a-f]{64}$—
created_atyesstringformat date-time—
languageyesstring | null——
merge_parent_revision_idyesBlockRevisionId | nullBlockRevisionId: pattern ^rev_[0-9a-f]{32}$—
metadatayesobject——
revisionyesintegerminimum 1.0—
sourceyesstring——
source_artifact_idyesArtifactId | nullArtifactId: pattern ^art_[0-9a-f]{32}$—

BlockSearchLocator

FieldRequiredTypeConstraints/defaultDescription
block_idyesBlockIdpattern ^blk_[0-9a-f]{32}$—
block_revision_idyesBlockRevisionIdpattern ^rev_[0-9a-f]{32}$—
document_idyesDocumentIdpattern ^doc_[0-9a-f]{32}$—
kindyesblockfixed value block—

BlockSearchPage

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of BlockSearchResult——
latest_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
next_afternoBlockId | nullBlockId: pattern ^blk_[0-9a-f]{32}$—
structure_versionyesintegerminimum 1.0—

BlockSearchResult

FieldRequiredTypeConstraints/defaultDescription
block_idyesBlockIdpattern ^blk_[0-9a-f]{32}$—
block_typeyesBlockTypevalues code, markdown, raw, artifact, query—
rankyesintegerminimum 1.0—
source_excerptyesstring——

BlockSource

Type: string Constraints: maximum length 1048576

BlockType

Type: code | markdown | raw | artifact | query Constraints: values code, markdown, raw, artifact, query

BlockWindow

FieldRequiredTypeConstraints/defaultDescription
anchor_block_idyesBlockIdpattern ^blk_[0-9a-f]{32}$—
anchor_presentyesboolean——
itemsyesarray of BlockProjection——
latest_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
structure_versionyesintegerminimum 1.0—

BudgetScope

Type: workspace | project | run | task | attempt Constraints: values workspace, project, run, task, attempt

CancelRunCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesCancelRunPayloadunknown fields forbidden—

CancelRunPayload

FieldRequiredTypeConstraints/defaultDescription
expected_run_generationyesintegerminimum 1.0—
expected_run_versionyesintegerminimum 1.0—
reasonyesCancellationReasonminimum length 1; maximum length 1000—

CancelTaskCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesCancelTaskPayloadunknown fields forbidden—

CancelTaskPayload

FieldRequiredTypeConstraints/defaultDescription
expected_plan_revisionyesintegerminimum 1.0—
expected_run_generationyesintegerminimum 1.0—
expected_run_versionyesintegerminimum 1.0—
expected_task_versionyesintegerminimum 1.0—
reasonyesCancellationReasonminimum length 1; maximum length 1000—

CancellationReason

Type: string Constraints: minimum length 1; maximum length 1000

CaptureVariableValueCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesCaptureVariableValuePayloadunknown fields forbidden—

CaptureVariableValuePayload

FieldRequiredTypeConstraints/defaultDescription
artifact_idnoArtifactId | nullArtifactId: pattern ^art_[0-9a-f]{32}$—
block_revision_idnoBlockRevisionId | nullBlockRevisionId: pattern ^rev_[0-9a-f]{32}$—
dependenciesnoarray of EvidenceAttachmentmaximum items 256; default []—
environment_digestnoSha256Digest | nullSha256Digest: pattern ^sha256:[0-9a-f]{64}$—
expected_definition_versionyesintegerminimum 1.0—
inlinenoInlineVariableValue | nullInlineVariableValue: unknown fields forbidden—
input_manifestnoobject——
originyesVariableValueOriginvalues captured, manual, imported—
producing_execution_idnoExecutionId | nullExecutionId: pattern ^exe_[0-9a-f]{32}$—
select_as_livenobooleandefault false—
source_import_idnoProjectImportId | nullProjectImportId: pattern ^imp_[0-9a-f]{32}$—
value_manifestyesobject——
variable_definition_idyesVariableDefinitionIdpattern ^vdf_[0-9a-f]{32}$—

CheckpointCreatedEvent

FieldRequiredTypeConstraints/defaultDescription
attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
checkpoint_idyesstring——
event_idyesEventIdpattern ^eve_[0-9a-f]{32}$—
event_typeyescheckpoint.createdfixed value checkpoint.created—
occurred_atyesstringformat date-time—
provider_sequenceyesintegerminimum 0.0—
replayablenobooleandefault true—

ClaimCurrentness

Type: current | outdated | unknown Constraints: values current, outdated, unknown

ClaimId

Type: string Constraints: pattern ^clm_[0-9a-f]{32}$

ClaimPage

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of ClaimRevisionProjection——
next_afternoClaimId | nullClaimId: pattern ^clm_[0-9a-f]{32}$—

ClaimProposedEvent

FieldRequiredTypeConstraints/defaultDescription
attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
claim_idyesClaimIdpattern ^clm_[0-9a-f]{32}$—
event_idyesEventIdpattern ^eve_[0-9a-f]{32}$—
event_typeyesclaim.proposedfixed value claim.proposed—
occurred_atyesstringformat date-time—
provider_sequenceyesintegerminimum 0.0—
replayablenobooleandefault true—

ClaimReviewStatus

Type: draft | under_review | accepted | rejected | challenged | retracted Constraints: values draft, under_review, accepted, rejected, challenged, retracted

ClaimRevisionEvidenceTarget

FieldRequiredTypeConstraints/defaultDescription
claim_revision_idyesClaimRevisionIdpattern ^crv_[0-9a-f]{32}$—
target_kindyesclaim_revisionfixed value claim_revision—

ClaimRevisionId

Type: string Constraints: pattern ^crv_[0-9a-f]{32}$

ClaimRevisionProjection

FieldRequiredTypeConstraints/defaultDescription
aggregate_versionyesintegerminimum 1.0—
authoryesKnowledgeActorunknown fields forbidden—
claim_idyesClaimIdpattern ^clm_[0-9a-f]{32}$—
claim_revision_idyesClaimRevisionIdpattern ^crv_[0-9a-f]{32}$—
claim_typeyesClaimTypevalues text, metric, table, figure, imported—
confidence_assessmentyesstring | null——
content_hashyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
created_atyesstringformat date-time—
currentnessyesClaimCurrentnessvalues current, outdated, unknown—
priorityyesintegerminimum -1000.0; maximum 1000.0—
producing_attempt_idyesAttemptId | nullAttemptId: pattern ^att_[0-9a-f]{32}$—
producing_task_idyesTaskId | nullTaskId: pattern ^tsk_[0-9a-f]{32}$—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
review_reasonyesstring | null——
review_statusyesClaimReviewStatusvalues draft, under_review, accepted, rejected, challenged, retracted—
reviewed_atyesstring | nullstring: format date-time—
reviewed_byyesstring | null——
revisionyesintegerminimum 1.0—
textyesstring——
titleyesstring——
validityyesClaimValidityvalues untested, valid-for-pinned-inputs, invalidated, retracted—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

ClaimSearchLocator

FieldRequiredTypeConstraints/defaultDescription
claim_idyesClaimIdpattern ^clm_[0-9a-f]{32}$—
claim_revision_idyesClaimRevisionIdpattern ^crv_[0-9a-f]{32}$—
kindyesclaimfixed value claim—

ClaimType

Type: text | metric | table | figure | imported Constraints: values text, metric, table, figure, imported

ClaimValidationId

Type: string Constraints: pattern ^vld_[0-9a-f]{32}$

ClaimValidationProjection

FieldRequiredTypeConstraints/defaultDescription
claim_revision_idyesClaimRevisionIdpattern ^crv_[0-9a-f]{32}$—
claim_validation_idyesClaimValidationIdpattern ^vld_[0-9a-f]{32}$—
content_hashyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
created_atyesstringformat date-time—
input_manifestyesobject——
methodyesValidationMethodvalues rerun, fresh_sandbox_replication, independent_implementation, leakage_check, perturbation, statistical_check, data_quality_check, contradiction_search, raw_metric_check—
outcomeyesValidationOutcomevalues passed, failed, inconclusive, error—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
result_evidence_ref_idyesEvidenceRefIdpattern ^evr_[0-9a-f]{32}$—
summaryyesstring——
verifying_attempt_idyesAttemptId | nullAttemptId: pattern ^att_[0-9a-f]{32}$—
verifying_task_idyesTaskId | nullTaskId: pattern ^tsk_[0-9a-f]{32}$—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

ClaimValidity

Type: untested | valid-for-pinned-inputs | invalidated | retracted Constraints: values untested, valid-for-pinned-inputs, invalidated, retracted

ClearTaskBudgetWaitCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesClearTaskBudgetWaitPayloadunknown fields forbidden—

ClearTaskBudgetWaitPayload

FieldRequiredTypeConstraints/defaultDescription
expected_plan_revisionyesintegerminimum 1.0—
expected_run_generationyesintegerminimum 1.0—
expected_run_versionyesintegerminimum 1.0—
expected_task_versionyesintegerminimum 1.0—

CommandAccepted

FieldRequiredTypeConstraints/defaultDescription
aggregate_idyesstring——
aggregate_versionyesintegerminimum 1.0—
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
first_event_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
statusnoacceptedfixed value accepted; default "accepted"—

CommandId

Type: string Constraints: pattern ^cmd_[0-9a-f]{32}$

CommandRejected

FieldRequiredTypeConstraints/defaultDescription
codeyesstringpattern ^[a-z][a-z0-9_.-]+$—
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
messageyesstringminimum length 1; maximum length 500—
observed_revision_idnoBlockRevisionId | nullBlockRevisionId: pattern ^rev_[0-9a-f]{32}$—
observed_structure_versionnointeger | nullinteger: minimum 1.0—
observed_versionnointeger | nullinteger: minimum 1.0—
retry_after_msnointeger | nullinteger: minimum 0.0—
retryablenobooleandefault false—
statusnorejectedfixed value rejected; default "rejected"—

ConnectorActivation

FieldRequiredTypeConstraints/defaultDescription
allowed_target_countyesintegerminimum 0.0; maximum 100.0—
connector_idnogithubfixed value github; default "github"—
mutating_actions_require_approvalnoTruefixed value True; default true—
statusyesconfigured | unconfiguredvalues configured, unconfigured—

CreateBlockCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesCreateBlockPayloadunknown fields forbidden—

CreateBlockPayload

FieldRequiredTypeConstraints/defaultDescription
after_block_idnoBlockId | nullBlockId: pattern ^blk_[0-9a-f]{32}$—
before_block_idnoBlockId | nullBlockId: pattern ^blk_[0-9a-f]{32}$—
block_typeyesBlockTypevalues code, markdown, raw, artifact, query—
expected_structure_versionyesintegerminimum 1.0—
languagenoBlockLanguage | nullBlockLanguage: minimum length 1; maximum length 64—
metadatanoobject——
sourceyesBlockSourcemaximum length 1048576—

CreateClaimCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesCreateClaimPayloadunknown fields forbidden—

CreateClaimPayload

FieldRequiredTypeConstraints/defaultDescription
claim_typeyesClaimTypevalues text, metric, table, figure, imported—
confidence_assessmentnostring | nullstring: minimum length 1; maximum length 2000—
evidencenoarray of EvidenceAttachmentmaximum items 256; default []—
prioritynointegerminimum -1000.0; maximum 1000.0; default 0—
textyesstringminimum length 1; maximum length 65536—
titleyesstringminimum length 1; maximum length 240—

CreateDocumentCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesCreateDocumentPayloadunknown fields forbidden—

CreateDocumentPayload

FieldRequiredTypeConstraints/defaultDescription
kindyesDocumentKindvalues notebook, writeup—
metadatanoobject——
titleyesDocumentTitleminimum length 1; maximum length 240—

CreateEvidenceReferenceCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesCreateEvidenceReferencePayloadunknown fields forbidden—

CreateEvidenceReferencePayload

FieldRequiredTypeConstraints/defaultDescription
locatornoobject——
targetyesEvidenceTargetArtifactEvidenceTarget: unknown fields forbidden; BlockRevisionEvidenceTarget: unknown fields forbidden; ExecutionOutputEvidenceTarget: unknown fields forbidden; VariableValueEvidenceTarget: unknown fields forbidden; ClaimRevisionEvidenceTarget: unknown fields forbidden; HumanAssertionEvidenceTarget: unknown fields forbidden—

CreatePlanRevisionCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesCreatePlanRevisionPayloadunknown fields forbidden—

CreatePlanRevisionPayload

FieldRequiredTypeConstraints/defaultDescription
expected_plan_revisionyesintegerminimum 1.0—
expected_run_versionyesintegerminimum 1.0—
specyesPlanRevisionSpecunknown fields forbidden—

CreateProjectCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesCreateProjectPayloadunknown fields forbidden—

CreateProjectPayload

FieldRequiredTypeConstraints/defaultDescription
nameyesProjectNameminimum length 1; maximum length 200—
workspace_idnoWorkspaceId | nullWorkspaceId: pattern ^wsp_[0-9a-f]{32}$—
workspace_namenoWorkspaceName | nullWorkspaceName: minimum length 1; maximum length 200—

CreateResearchRunCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesCreateResearchRunPayloadunknown fields forbidden—

CreateResearchRunPayload

FieldRequiredTypeConstraints/defaultDescription
max_cost_microsnointegerminimum 0.0; maximum 10000000000.0; default 15512000—
objectiveyesResearchObjectiveminimum length 12; maximum length 4000—
referencesnoarray of ResearchReferencemaximum items 32; default []—
start_immediatelynobooleandefault true—

CreateScheduleCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesCreateSchedulePayloadunknown fields forbidden—

CreateSchedulePayload

FieldRequiredTypeConstraints/defaultDescription
start_pausednobooleandefault false—
templateyesScheduleRunTemplateunknown fields forbidden—
timingyesScheduleTimingunknown fields forbidden—

CreateScopedRuleCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesCreateScopedRulePayloadunknown fields forbidden—

CreateScopedRulePayload

FieldRequiredTypeConstraints/defaultDescription
enablednobooleandefault true—
instructionsyesRuleInstructionsminimum length 1; maximum length 8192—
project_idnoProjectId | nullProjectId: pattern ^prj_[0-9a-f]{32}$—
scope_kindyesRuleScopeKindvalues workspace, project—
titleyesRuleTitleminimum length 1; maximum length 200—

CreateTaskCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesCreateTaskPayloadunknown fields forbidden—

CreateTaskPayload

FieldRequiredTypeConstraints/defaultDescription
acceptance_criteriayesarray of AcceptanceCriterionminimum items 1; maximum items 20—
expected_plan_revisionyesintegerminimum 1.0—
expected_run_versionyesintegerminimum 1.0—
objectiveyesTaskObjectiveminimum length 1; maximum length 4000—
titleyesTaskTitleminimum length 1; maximum length 240—

Cursor

Type: string Constraints: pattern ^c2_[A-Za-z0-9_-]{32}$

DataClassification

Type: public | internal | confidential | restricted Constraints: values public, internal, confidential, restricted

DataRetentionPolicy

FieldRequiredTypeConstraints/defaultDescription
backup_handlingyesRetentionCodepattern ^[a-z][a-z0-9_.-]{1,127}$—
data_classyesRetentionDataClassvalues transient_stream_chunks, ordinary_project_state, immutable_evidence_artifacts, sensitive_source_data, provider_prompts_responses, audit_security_events, deleted_export_pending—
deletion_handlingyesRetentionCodepattern ^[a-z][a-z0-9_.-]{1,127}$—
descriptionyesstringminimum length 1; maximum length 1000—
encryption_handlingyesRetentionCodepattern ^[a-z][a-z0-9_.-]{1,127}$—
export_handlingyesRetentionCodepattern ^[a-z][a-z0-9_.-]{1,127}$—
model_provider_handlingyesRetentionCodepattern ^[a-z][a-z0-9_.-]{1,127}$—
policy_versionno1fixed value 1; default 1—
region_handlingyesRetentionCodepattern ^[a-z][a-z0-9_.-]{1,127}$—
retention_handlingyesRetentionCodepattern ^[a-z][a-z0-9_.-]{1,127}$—

DataRetentionPolicyCatalog

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of DataRetentionPolicyminimum items 7; maximum items 7—
policy_versionno1fixed value 1; default 1—

DeleteBlockCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesDeleteBlockPayloadunknown fields forbidden—

DeleteBlockPayload

FieldRequiredTypeConstraints/defaultDescription
expected_revision_idyesBlockRevisionIdpattern ^rev_[0-9a-f]{32}$—
expected_structure_versionyesintegerminimum 1.0—

DeleteScheduleCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesDeleteSchedulePayloadunknown fields forbidden—

DeleteSchedulePayload

FieldRequiredTypeConstraints/defaultDescription
expected_versionyesintegerminimum 1.0—
reasonyesScheduleDeletionReasonminimum length 1; maximum length 1000—

DependencyHandoff

The explicit data contract carried by one dependency edge.

FieldRequiredTypeConstraints/defaultDescription
required_outputsnoarray of HandoffRequirementmaximum items 32; default []—

DependencyReason

Type: string Constraints: minimum length 1; maximum length 1000

DesiredState

Type: running | paused | cancelled Constraints: values running, paused, cancelled

DisableExtensionToolCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesDisableExtensionToolPayloadunknown fields forbidden—

DisableExtensionToolPayload

FieldRequiredTypeConstraints/defaultDescription
expected_installation_versionyesintegerminimum 1.0—
version_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—

DocumentDetailProjection

FieldRequiredTypeConstraints/defaultDescription
documentyesDocumentProjectionunknown fields forbidden—
latest_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—

DocumentId

Type: string Constraints: pattern ^doc_[0-9a-f]{32}$

DocumentKind

Type: notebook | writeup Constraints: values notebook, writeup

DocumentPage

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of DocumentProjectionmaximum items 100—
latest_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
next_afternoDocumentId | nullDocumentId: pattern ^doc_[0-9a-f]{32}$—

DocumentProjection

FieldRequiredTypeConstraints/defaultDescription
created_atyesstringformat date-time—
document_idyesDocumentIdpattern ^doc_[0-9a-f]{32}$—
kindyesDocumentKindvalues notebook, writeup—
metadatayesobject——
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
structure_versionyesintegerminimum 1.0—
titleyesstring——
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

DocumentTitle

Type: string Constraints: minimum length 1; maximum length 240

DomainEvent

FieldRequiredTypeConstraints/defaultDescription
actoryesEventActorunknown fields forbidden—
aggregate_idyesstring——
aggregate_typeyesstring——
aggregate_versionyesintegerminimum 1.0—
causation_idyesstring——
correlation_idyesstring——
cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
event_idyesEventIdpattern ^eve_[0-9a-f]{32}$—
event_typeyesstringpattern ^[a-z][a-z0-9_.-]+$—
occurred_atyesstringformat date-time—
payloadyesobject——
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
schema_versionno1fixed value 1; default 1—
trace_idyesstring——
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

EnableExtensionToolCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesEnableExtensionToolPayloadunknown fields forbidden—

EnableExtensionToolPayload

FieldRequiredTypeConstraints/defaultDescription
approve_external_side_effectsyesTruefixed value True—
expected_installation_versionyesintegerminimum 1.0—
presented_capability_diff_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
secret_bindingsnoarray of ExtensionSecretBindingInputmaximum items 32; default []—
version_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—

EnvironmentCapability

Type: string Constraints: pattern ^[a-z][a-z0-9_.-]{0,63}$

EnvironmentManifestContent

The bounded, non-secret facts needed to identify one execution environment.

FieldRequiredTypeConstraints/defaultDescription
build_idyesstringminimum length 1; maximum length 128—
egress_policyyesfixture | block_allvalues fixture, block_all—
image_referenceyesstring | nullstring: minimum length 1; maximum length 512—
kernelyesfake | ipykernelvalues fake, ipykernel—
node_versionyesRuntimeVersion | nullRuntimeVersion: maximum length 64; pattern ^[0-9]+(?:\.[0-9]+){1,3}(?:[a-z0-9.+-]*)?$—
pi_agent_core_versionyesRuntimeVersion | nullRuntimeVersion: maximum length 64; pattern ^[0-9]+(?:\.[0-9]+){1,3}(?:[a-z0-9.+-]*)?$—
platformyeslinux/amd64 | linux/arm64 | nulllinux/amd64 | linux/arm64: values linux/amd64, linux/arm64—
provideryesfixture | local_docker | daytonavalues fixture, local_docker, daytona—
python_versionyesRuntimeVersionmaximum length 64; pattern ^[0-9]+(?:\.[0-9]+){1,3}(?:[a-z0-9.+-]*)?$—
resolved_image_idyesSha256Digest | nullSha256Digest: pattern ^sha256:[0-9a-f]{64}$—
runtime_kindyesfixture | containervalues fixture, container—
schema_versionno1fixed value 1; default 1—
security_profileyesstringpattern ^[a-z][a-z0-9._-]{0,63}$—

EnvironmentManifestProjection

Tenant-scoped immutable manifest plus its observation window.

FieldRequiredTypeConstraints/defaultDescription
contentyesEnvironmentManifestContentunknown fields forbidden—
environment_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
first_observed_atyesstringformat date-time—
last_observed_atyesstringformat date-time—
manifest_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

EnvironmentObservationState

Type: missing | observed | mixed Constraints: values missing, observed, mixed

ErrorDetail

FieldRequiredTypeConstraints/defaultDescription
codeyesstringpattern ^[a-z][a-z0-9_.-]+$—
messageyesstringminimum length 1; maximum length 500—
retry_after_msnointeger | nullinteger: minimum 0.0—
retryablenobooleandefault false—

EventActor

FieldRequiredTypeConstraints/defaultDescription
idyesstring——
typeyeshuman | system | attemptvalues human, system, attempt—

EventId

Type: string Constraints: pattern ^eve_[0-9a-f]{32}$

EvidenceAttachment

FieldRequiredTypeConstraints/defaultDescription
evidence_ref_idyesEvidenceRefIdpattern ^evr_[0-9a-f]{32}$—
live_anchor_idnoLiveAnchorId | nullLiveAnchorId: pattern ^anc_[0-9a-f]{32}$—
prioritynointegerminimum -1000.0; maximum 1000.0; default 0—
roleyesEvidenceRolevalues supports, contradicts, derives_from, replicates, contextualizes—

EvidenceDependentKind

Type: claim_revision | variable_value Constraints: values claim_revision, variable_value

EvidenceEdgeProjection

FieldRequiredTypeConstraints/defaultDescription
created_atyesstringformat date-time—
dependent_idyesClaimRevisionId | VariableValueIdClaimRevisionId: pattern ^crv_[0-9a-f]{32}$; VariableValueId: pattern ^val_[0-9a-f]{32}$—
dependent_kindyesEvidenceDependentKindvalues claim_revision, variable_value—
evidence_ref_idyesEvidenceRefIdpattern ^evr_[0-9a-f]{32}$—
live_anchor_idyesLiveAnchorId | nullLiveAnchorId: pattern ^anc_[0-9a-f]{32}$—
priorityyesintegerminimum -1000.0; maximum 1000.0—
roleyesEvidenceRolevalues supports, contradicts, derives_from, replicates, contextualizes—

EvidenceNeighborhood

FieldRequiredTypeConstraints/defaultDescription
claimyesClaimRevisionProjectionunknown fields forbidden—
edgesyesarray of EvidenceEdgeProjection——
evidenceyesarray of EvidenceReferenceProjection——
truncatedyesboolean——
validationsyesarray of ClaimValidationProjection——
variablesyesarray of VariableValueProjection——

EvidenceProjection

FieldRequiredTypeConstraints/defaultDescription
artifactyesArtifactManifestunknown fields forbidden—
content_urlyesstring——
evidence_ref_idyesEvidenceRefIdpattern ^evr_[0-9a-f]{32}$—
locatoryesobject——
target_kindyesartifactfixed value artifact—

EvidenceRefId

Type: string Constraints: pattern ^evr_[0-9a-f]{32}$

EvidenceReferenceProjection

FieldRequiredTypeConstraints/defaultDescription
created_atyesstringformat date-time—
evidence_ref_idyesEvidenceRefIdpattern ^evr_[0-9a-f]{32}$—
locatoryesobject——
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
retracted_atyesstring | nullstring: format date-time—
retraction_reasonyesstring | null——
stateyesEvidenceStatevalues active, retracted—
targetyesEvidenceTargetArtifactEvidenceTarget: unknown fields forbidden; BlockRevisionEvidenceTarget: unknown fields forbidden; ExecutionOutputEvidenceTarget: unknown fields forbidden; VariableValueEvidenceTarget: unknown fields forbidden; ClaimRevisionEvidenceTarget: unknown fields forbidden; HumanAssertionEvidenceTarget: unknown fields forbidden—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

EvidenceRole

Type: supports | contradicts | derives_from | replicates | contextualizes Constraints: values supports, contradicts, derives_from, replicates, contextualizes

EvidenceState

Type: active | retracted Constraints: values active, retracted

EvidenceTarget

Discriminator: target_kind

Type: ArtifactEvidenceTarget | BlockRevisionEvidenceTarget | ExecutionOutputEvidenceTarget | VariableValueEvidenceTarget | ClaimRevisionEvidenceTarget | HumanAssertionEvidenceTarget Constraints: ArtifactEvidenceTarget: unknown fields forbidden; BlockRevisionEvidenceTarget: unknown fields forbidden; ExecutionOutputEvidenceTarget: unknown fields forbidden; VariableValueEvidenceTarget: unknown fields forbidden; ClaimRevisionEvidenceTarget: unknown fields forbidden; HumanAssertionEvidenceTarget: unknown fields forbidden

ExecuteBlockCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesExecuteBlockPayloadunknown fields forbidden—

ExecuteBlockPayload

FieldRequiredTypeConstraints/defaultDescription
block_revision_idyesBlockRevisionIdpattern ^rev_[0-9a-f]{32}$—

ExecutionId

Type: string Constraints: pattern ^exe_[0-9a-f]{32}$

ExecutionOutputEvidenceTarget

FieldRequiredTypeConstraints/defaultDescription
execution_output_idyesExecutionOutputIdpattern ^out_[0-9a-f]{32}$—
target_kindyesexecution_outputfixed value execution_output—

ExecutionOutputId

Type: string Constraints: pattern ^out_[0-9a-f]{32}$

ExecutionOutputPage

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of ExecutionOutputProjection——
next_afternoExecutionOutputId | nullExecutionOutputId: pattern ^out_[0-9a-f]{32}$—

ExecutionOutputProjection

FieldRequiredTypeConstraints/defaultDescription
artifact_idyesArtifactId | nullArtifactId: pattern ^art_[0-9a-f]{32}$—
content_hashyesstringpattern ^sha256:[0-9a-f]{64}$—
created_atyesstringformat date-time—
display_idyesstring | null——
execution_idyesExecutionIdpattern ^exe_[0-9a-f]{32}$—
execution_output_idyesExecutionOutputIdpattern ^out_[0-9a-f]{32}$—
inline_textyesstring | null——
output_typeyesstream | display_data | update_display_data | execute_result | error | clear_outputvalues stream, display_data, update_display_data, execute_result, error, clear_output—
payloadyesobject——
sequenceyesintegerminimum 0.0—
supersedes_output_idyesExecutionOutputId | nullExecutionOutputId: pattern ^out_[0-9a-f]{32}$—

ExecutionPage

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of ExecutionProjection——
next_afternoExecutionId | nullExecutionId: pattern ^exe_[0-9a-f]{32}$—

ExecutionProjection

FieldRequiredTypeConstraints/defaultDescription
attempt_generationnointeger | nullinteger: minimum 1.0—
attempt_idnoAttemptId | nullAttemptId: pattern ^att_[0-9a-f]{32}$—
block_revision_idyesBlockRevisionIdpattern ^rev_[0-9a-f]{32}$—
completed_atyesstring | nullstring: format date-time—
created_atyesstringformat date-time—
execution_countnointeger | nullinteger: minimum 0.0—
execution_idyesExecutionIdpattern ^exe_[0-9a-f]{32}$—
originyesruntime | importvalues runtime, import—
run_idnoRunId | nullRunId: pattern ^run_[0-9a-f]{32}$—
runtime_session_generationnointeger | nullinteger: minimum 1.0—
runtime_session_idnoRuntimeSessionId | nullRuntimeSessionId: pattern ^rts_[0-9a-f]{32}$—
started_atyesstring | nullstring: format date-time—
stateyesqueued | running | succeeded | failed | cancelled | importedvalues queued, running, succeeded, failed, cancelled, imported—
versionyesintegerminimum 1.0—

ExecutionTicketRequest

FieldRequiredTypeConstraints/defaultDescription
allowed_hostyesRuntimeHostminimum length 1; maximum length 255—
allowed_operationsnoarray of objectminimum items 1; maximum items 1; default ["execute"]—
allowed_originyesRuntimeOriginminimum length 8; maximum length 255—
attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
audiencenolumen-execution-v1fixed value lumen-execution-v1; default "lumen-execution-v1"—
execution_idyesExecutionIdpattern ^exe_[0-9a-f]{32}$—
expected_attempt_generationyesintegerminimum 1.0—
expected_execution_generationyesintegerminimum 1.0—
expected_runtime_session_generationyesintegerminimum 1.0—
lifetime_secondsnointegerminimum 1.0; maximum 120.0; default 30—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
run_idyesRunIdpattern ^run_[0-9a-f]{32}$—
runtime_session_idyesRuntimeSessionIdpattern ^rts_[0-9a-f]{32}$—

ExperimentBranch

One active or terminal research run projected as an experiment branch.

FieldRequiredTypeConstraints/defaultDescription
accepted_metric_claimyesAcceptedMetricClaim | nullAcceptedMetricClaim: unknown fields forbidden—
accepted_metric_claim_countyesintegerminimum 0.0—
attempt_countyesintegerminimum 0.0—
completed_atyesstring | nullstring: format date-time—
created_atyesstringformat date-time—
desired_stateyesDesiredStatevalues running, paused, cancelled—
environment_digestyesSha256Digest | nullSha256Digest: pattern ^sha256:[0-9a-f]{64}$—
environment_stateyesEnvironmentObservationStatevalues missing, observed, mixed—
execution_countyesintegerminimum 0.0—
objectiveyesExperimentObjectiveminimum length 12; maximum length 4000—
observed_environment_digest_countyesintegerminimum 0.0—
observed_environment_execution_countyesintegerminimum 0.0—
outcomeyesWorkOutcome | nullWorkOutcome: values succeeded, failed, cancelled—
phaseyesWorkPhasevalues queued, provisioning, executing, finalizing, terminal—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
reproduction_evidenceyesReproductionEvidence | nullReproductionEvidence: unknown fields forbidden—
reproduction_stateyesReproductionStatevalues unknown, reproduced, not_reproduced, inconclusive, error—
run_countno1fixed value 1; default 1—
run_idyesRunIdpattern ^run_[0-9a-f]{32}$—
wait_reasonyesWaitReasonvalues none, approval, dependency, capacity, input, budget, operator—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

ExperimentEnvironment

Aggregate observations for one exact canonical runtime environment digest.

FieldRequiredTypeConstraints/defaultDescription
environment_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
execution_countyesintegerminimum 1.0—
first_observed_atyesstringformat date-time—
last_observed_atyesstringformat date-time—
manifestnoEnvironmentManifestProjection | nullEnvironmentManifestProjection: unknown fields forbidden—
run_countyesintegerminimum 1.0—

ExperimentEnvironmentPage

One digest-keyset page of unique observed runtime environments.

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of ExperimentEnvironmentmaximum items 100—
next_afternoSha256Digest | nullSha256Digest: pattern ^sha256:[0-9a-f]{64}$—

ExperimentObjective

Type: string Constraints: minimum length 12; maximum length 4000

ExperimentPage

One ID-keyset page of active or terminal experiment branches.

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of ExperimentBranchmaximum items 100—
next_afternoRunId | nullRunId: pattern ^run_[0-9a-f]{32}$—

ExtensionAuthor

FieldRequiredTypeConstraints/defaultDescription
nameyesstringminimum length 1; maximum length 200—
urlnostring | nullstring: maximum length 500—

ExtensionCapabilityDiff

FieldRequiredTypeConstraints/defaultDescription
added_skillsnoarray of SkillNamemaximum items 128; default []—
added_toolsnoarray of stringmaximum items 512; default []—
approval_requirednoTruefixed value True; default true—
approval_required_toolsnoarray of stringmaximum items 512; default []—
changed_skillsnoarray of SkillNamemaximum items 128; default []—
changed_toolsnoarray of stringmaximum items 512; default []—
from_version_digestnoSha256Digest | nullSha256Digest: pattern ^sha256:[0-9a-f]{64}$—
mutating_toolsnoarray of stringmaximum items 512; default []—
network_hostsnoarray of stringmaximum items 64; default []—
removed_skillsnoarray of SkillNamemaximum items 128; default []—
removed_toolsnoarray of stringmaximum items 512; default []—
secret_referencesnoarray of stringmaximum items 128; default []—
to_version_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
unsupported_surfacesnoarray of UnsupportedExtensionSurfacemaximum items 128; default []—

ExtensionCapabilityDiffPreview

FieldRequiredTypeConstraints/defaultDescription
capability_diffyesExtensionCapabilityDiffunknown fields forbidden—
capability_diff_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
current_version_digestnoSha256Digest | nullSha256Digest: pattern ^sha256:[0-9a-f]{64}$—
extension_idyesExtensionIdpattern ^ext_[0-9a-f]{32}$—
target_version_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—

ExtensionCatalogEntry

FieldRequiredTypeConstraints/defaultDescription
capability_diffyesExtensionCapabilityDiffunknown fields forbidden—
capability_diff_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
extension_idyesExtensionIdpattern ^ext_[0-9a-f]{32}$—
mcp_serversnoarray of RemoteMcpServermaximum items 32; default []—
metadatayesExtensionMetadataunknown fields forbidden—
review_stateyesExtensionReviewStatevalues review_required, quarantined—
skillsnoarray of AgentSkillVersionmaximum items 128; default []—
sourceyesExtensionSourceunknown fields forbidden—
toolsnoarray of ExtensionToolmaximum items 512; default []—
version_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—

ExtensionCatalogPage

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of ExtensionCatalogEntrymaximum items 100—
next_afternoExtensionId | nullExtensionId: pattern ^ext_[0-9a-f]{32}$—

ExtensionCommandAccepted

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
event_sequenceyesintegerminimum 1.0—
installation_idyesExtensionInstallationIdpattern ^ins_[0-9a-f]{32}$—
installation_versionyesintegerminimum 1.0—
statusnoacceptedfixed value accepted; default "accepted"—

ExtensionEcosystem

Type: agent_plugins | codex | claude_code Constraints: values agent_plugins, codex, claude_code

ExtensionId

Type: string Constraints: pattern ^ext_[0-9a-f]{32}$

ExtensionInstallationId

Type: string Constraints: pattern ^ins_[0-9a-f]{32}$

ExtensionInstallationPage

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of ExtensionInstallationProjectionmaximum items 100—
next_afternoExtensionInstallationId | nullExtensionInstallationId: pattern ^ins_[0-9a-f]{32}$—

ExtensionInstallationProjection

FieldRequiredTypeConstraints/defaultDescription
approved_capability_diffyesExtensionCapabilityDiffunknown fields forbidden—
capability_diff_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
created_atyesstringformat date-time—
extension_idyesExtensionIdpattern ^ext_[0-9a-f]{32}$—
extension_versionyesstringminimum length 1; maximum length 64—
installation_idyesExtensionInstallationIdpattern ^ins_[0-9a-f]{32}$—
secret_requirementsnoarray of ExtensionSecretRequirementProjectionmaximum items 128; default []—
toolsnoarray of InstalledExtensionToolPolicymaximum items 512; default []—
updated_atyesstringformat date-time—
versionyesintegerminimum 1.0—
version_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

ExtensionMetadata

FieldRequiredTypeConstraints/defaultDescription
authornoExtensionAuthor | nullExtensionAuthor: unknown fields forbidden—
descriptionyesstringminimum length 1; maximum length 2000—
display_nameyesstringminimum length 1; maximum length 200—
homepagenostring | nullstring: maximum length 500—
keywordsnoarray of stringmaximum items 32; default []—
licenseyesstringminimum length 1; maximum length 128—
nameyesPluginNameminimum length 1; maximum length 64; pattern ^[a-z0-9](?:[a-z0-9.-]{0,62}[a-z0-9])?$—
repositorynostring | nullstring: maximum length 500—
versionyesstringminimum length 1; maximum length 64—

ExtensionReviewState

Type: review_required | quarantined Constraints: values review_required, quarantined

ExtensionSecretBindingInput

FieldRequiredTypeConstraints/defaultDescription
reference_keyyesstringpattern ^[A-Z][A-Z0-9_]{1,127}$—
secret_reference_idyesSecretReferenceIdpattern ^srf_[0-9a-f]{32}$—
server_nameyesMcpNameminimum length 1; maximum length 64; pattern ^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$—

ExtensionSecretRequirementProjection

FieldRequiredTypeConstraints/defaultDescription
configuredyesboolean——
destinationyesstringpattern ^header:[A-Za-z0-9-]{1,100}$—
reference_keyyesstringpattern ^[A-Z][A-Z0-9_]{1,127}$—
server_nameyesMcpNameminimum length 1; maximum length 64; pattern ^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$—

ExtensionSource

FieldRequiredTypeConstraints/defaultDescription
archive_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
ecosystemyesExtensionEcosystemvalues agent_plugins, codex, claude_code—
locatoryesstringminimum length 1; maximum length 500—
revisionyesSourceRevisionpattern ^(?:git:[0-9a-f]{40}|sha256:[0-9a-f]{64})$—
source_kindyespinned_git | reviewed_localvalues pinned_git, reviewed_local—

ExtensionTool

FieldRequiredTypeConstraints/defaultDescription
approval_requirednoTruefixed value True; default true—
descriptionyesstringminimum length 1; maximum length 2000—
input_schemayesobject——
native_nameyesstringminimum length 1; maximum length 128—
policynodisabledfixed value disabled; default "disabled"—
risk_classnoexternal_side_effectfixed value external_side_effect; default "external_side_effect"—
server_nameyesMcpNameminimum length 1; maximum length 64; pattern ^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$—
titleyesstringminimum length 1; maximum length 200—
tool_idyesstringpattern ^[a-z0-9][a-z0-9_.:-]{0,127}$—

ExtensionToolPage

FieldRequiredTypeConstraints/defaultDescription
extension_idyesExtensionIdpattern ^ext_[0-9a-f]{32}$—
itemsyesarray of ExtensionToolmaximum items 512—
version_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—

FinalizeProjectDeletionCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesFinalizeProjectDeletionPayloadunknown fields forbidden—

FinalizeProjectDeletionPayload

FieldRequiredTypeConstraints/defaultDescription
cleanup_receipt_digestnoSha256Digest | nullSha256Digest: pattern ^sha256:[0-9a-f]{64}$—
deletion_generationyesintegerminimum 1.0—
expected_deletion_versionyesintegerminimum 1.0—
expected_project_versionyesintegerminimum 1.0—
object_purge_statusyescomplete | not_requiredvalues complete, not_required—
purge_plan_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—

HandoffKind

Type: artifact | variable Constraints: values artifact, variable

HandoffRequirement

One named, typed output a dependency must make available.

FieldRequiredTypeConstraints/defaultDescription
classificationyesDataClassificationvalues public, internal, confidential, restricted—
kindyesHandoffKindvalues artifact, variable—
schema_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
slotyesHandoffSlotminimum length 1; maximum length 128—

HandoffSlot

Type: string Constraints: minimum length 1; maximum length 128

HealthReport

Stable redacted report safe for health endpoints and structured logs.

FieldRequiredTypeConstraints/defaultDescription
checksyesarray of OperationalCheck——
last_successful_outbox_cursornostring | nullstring: maximum length 128—
last_successful_reconciliation_atnostring | nullstring: format date-time—
readyyesboolean——
roleyesapp | workervalues app, worker—
schema_versionno1fixed value 1; default 1—
statusyesok | degraded | unavailablevalues ok, degraded, unavailable—

HumanAssertionEvidenceTarget

FieldRequiredTypeConstraints/defaultDescription
assertionyesstringminimum length 1; maximum length 8000—
target_kindyeshuman_assertionfixed value human_assertion—

InferenceProfileSummary

FieldRequiredTypeConstraints/defaultDescription
input_micros_per_millionyesintegerminimum 0.0—
max_input_tokensyesintegerminimum 1.0—
max_output_tokensyesintegerminimum 1.0—
model_idyesstringminimum length 1; maximum length 128—
output_micros_per_millionyesintegerminimum 0.0—
profile_idyesstringminimum length 6; maximum length 128—
provideryesopenai | anthropicvalues openai, anthropic—
retentionyesprovider_default | zero_retention_verifiedvalues provider_default, zero_retention_verified—
supports_parallel_toolsyesboolean——
supports_reasoning_summariesyesboolean——
supports_toolsyesboolean——

InlineVariableValue

FieldRequiredTypeConstraints/defaultDescription
valueyesJsonValue——

InstallExtensionCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesInstallExtensionPayloadunknown fields forbidden—

InstallExtensionPayload

FieldRequiredTypeConstraints/defaultDescription
expected_installation_versionnointeger | nullinteger: minimum 1.0—
extension_idyesExtensionIdpattern ^ext_[0-9a-f]{32}$—
presented_capability_diff_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
secret_bindingsnoarray of ExtensionSecretBindingInputmaximum items 128; default []—
version_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—

InstalledExtensionToolPolicy

FieldRequiredTypeConstraints/defaultDescription
approved_atnostring | nullstring: format date-time—
approved_capability_diff_digestnoSha256Digest | nullSha256Digest: pattern ^sha256:[0-9a-f]{64}$—
stateyesdisabled | enabledvalues disabled, enabled—
toolyesExtensionToolunknown fields forbidden—
updated_atyesstringformat date-time—
versionyesintegerminimum 1.0—

InteractionRequestId

Type: string Constraints: pattern ^int_[0-9a-f]{32}$

InterruptAttemptCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesInterruptAttemptPayloadunknown fields forbidden—

InterruptAttemptPayload

FieldRequiredTypeConstraints/defaultDescription
expected_attempt_generationyesintegerminimum 1.0—
expected_attempt_versionyesintegerminimum 1.0—

JsonValue

Type: object Constraints: —

KnowledgeActor

FieldRequiredTypeConstraints/defaultDescription
actor_idyesstringminimum length 1; maximum length 128—
actor_typeyesKnowledgeAuthorTypevalues human, attempt, system, import—

KnowledgeAuthorType

Type: human | attempt | system | import Constraints: values human, attempt, system, import

LiveAnchorId

Type: string Constraints: pattern ^anc_[0-9a-f]{32}$

LiveAnchorProjection

FieldRequiredTypeConstraints/defaultDescription
anchor_typeyesLiveAnchorTypevalues variable, evidence—
created_atyesstringformat date-time—
current_evidence_ref_idyesEvidenceRefId | nullEvidenceRefId: pattern ^evr_[0-9a-f]{32}$—
descriptionyesstring——
keyyesstring——
live_anchor_idyesLiveAnchorIdpattern ^anc_[0-9a-f]{32}$—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
selected_atyesstring | nullstring: format date-time—
versionyesintegerminimum 1.0—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

LiveAnchorType

Type: variable | evidence Constraints: values variable, evidence

LocalGatewayBridgeTokenRequest

The only caller-controlled bridge fields.

FieldRequiredTypeConstraints/defaultDescription
gateway_idyesLocalGatewayIdpattern ^[A-Za-z0-9][A-Za-z0-9._:-]{7,63}$—
ttl_secondsyesintegerminimum 300.0; maximum 900.0—

LocalGatewayBridgeTokenResponse

A short-lived bearer returned once and never cached or persisted.

FieldRequiredTypeConstraints/defaultDescription
event_ingress_pathno/v1/local-gateway/eventsfixed value /v1/local-gateway/events; default "/v1/local-gateway/events"—
expires_atyesstringformat date-time—
gateway_idyesLocalGatewayIdpattern ^[A-Za-z0-9][A-Za-z0-9._:-]{7,63}$—
issued_atyesstringformat date-time—
tokenyesstringminimum length 1; maximum length 4096—

LocalGatewayId

Type: string Constraints: pattern ^[A-Za-z0-9][A-Za-z0-9._:-]{7,63}$

McpName

Type: string Constraints: minimum length 1; maximum length 64; pattern ^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$

McpSecretReference

FieldRequiredTypeConstraints/defaultDescription
destinationyesstringpattern ^header:[A-Za-z0-9-]{1,100}$—
reference_keyyesstringpattern ^[A-Z][A-Z0-9_]{1,127}$—

MessageEvent

FieldRequiredTypeConstraints/defaultDescription
attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
contentyesstring——
event_idyesEventIdpattern ^eve_[0-9a-f]{32}$—
event_typeyesmessage.started | message.delta | message.completedvalues message.started, message.delta, message.completed—
message_idyesstring——
occurred_atyesstringformat date-time—
provider_sequenceyesintegerminimum 0.0—
replayablenobooleandefault true—

MessageSearchLocator

FieldRequiredTypeConstraints/defaultDescription
attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
event_idyesEventIdpattern ^eve_[0-9a-f]{32}$—
kindyesmessagefixed value message—
provider_sequenceyesintegerminimum 0.0—
run_idyesRunIdpattern ^run_[0-9a-f]{32}$—
task_idyesTaskIdpattern ^tsk_[0-9a-f]{32}$—

MetricText

Type: string Constraints: minimum length 1; maximum length 65536

MetricTitle

Type: string Constraints: minimum length 1; maximum length 240

MoveBlockCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesMoveBlockPayloadunknown fields forbidden—

MoveBlockPayload

FieldRequiredTypeConstraints/defaultDescription
after_block_idnoBlockId | nullBlockId: pattern ^blk_[0-9a-f]{32}$—
before_block_idnoBlockId | nullBlockId: pattern ^blk_[0-9a-f]{32}$—
expected_structure_versionyesintegerminimum 1.0—

OpeningId

Type: string Constraints: pattern ^(?:blk|out|tsk|eve|clm|art)_[0-9a-f]{32}$

OperationalCheck

One bounded status without endpoints, credentials, or raw failures.

FieldRequiredTypeConstraints/defaultDescription
codeyesstringpattern ^[a-z][a-z0-9._-]{0,95}$—
modenostring | nullstring: pattern ^[a-z0-9][a-z0-9._-]{0,63}$—
nameyesstringpattern ^[a-z][a-z0-9._-]{0,63}$—
requiredyesboolean——
statusyesok | unconfigured | unavailable | stalevalues ok, unconfigured, unavailable, stale—

OutputSearchLocator

FieldRequiredTypeConstraints/defaultDescription
block_idyesBlockIdpattern ^blk_[0-9a-f]{32}$—
block_revision_idyesBlockRevisionIdpattern ^rev_[0-9a-f]{32}$—
document_idyesDocumentIdpattern ^doc_[0-9a-f]{32}$—
execution_idyesExecutionIdpattern ^exe_[0-9a-f]{32}$—
execution_output_idyesExecutionOutputIdpattern ^out_[0-9a-f]{32}$—
kindyesoutputfixed value output—

PauseReason

Type: string Constraints: minimum length 1; maximum length 1000

PauseRunCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesPauseRunPayloadunknown fields forbidden—

PauseRunPayload

FieldRequiredTypeConstraints/defaultDescription
expected_run_generationyesintegerminimum 1.0—
expected_run_versionyesintegerminimum 1.0—
reasonyesPauseReasonminimum length 1; maximum length 1000—

PauseScheduleCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesPauseSchedulePayloadunknown fields forbidden—

PauseSchedulePayload

FieldRequiredTypeConstraints/defaultDescription
expected_versionyesintegerminimum 1.0—
reasonyesPauseReasonminimum length 1; maximum length 1000—

PauseTaskCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesPauseTaskPayloadunknown fields forbidden—

PauseTaskPayload

FieldRequiredTypeConstraints/defaultDescription
expected_plan_revisionyesintegerminimum 1.0—
expected_run_generationyesintegerminimum 1.0—
expected_run_versionyesintegerminimum 1.0—
expected_task_versionyesintegerminimum 1.0—
reasonyesPauseReasonminimum length 1; maximum length 1000—

PlanEdgeSpec

FieldRequiredTypeConstraints/defaultDescription
handoffyesDependencyHandoffunknown fields forbidden—
predecessor_keyyesTaskKeypattern ^[a-z][a-z0-9_.-]{0,63}$—
reasonyesDependencyReasonminimum length 1; maximum length 1000—
successor_keyyesTaskKeypattern ^[a-z][a-z0-9_.-]{0,63}$—

PlanProjection

FieldRequiredTypeConstraints/defaultDescription
edgesyesarray of TaskEdgeProjection——
plan_version_idyesPlanVersionIdpattern ^pln_[0-9a-f]{32}$—
revisionyesintegerminimum 1.0—
statusyesdraft | approved | supersededvalues draft, approved, superseded—
summaryyesstring——
tasksyesarray of TaskProjection——

PlanRevisionAccepted

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
first_event_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
plan_version_idyesPlanVersionIdpattern ^pln_[0-9a-f]{32}$—
revisionyesintegerminimum 1.0—
run_idyesRunIdpattern ^run_[0-9a-f]{32}$—
run_versionyesintegerminimum 1.0—
statusnoacceptedfixed value accepted; default "accepted"—
task_idsyesarray of array of object——

PlanRevisionSpec

One complete, bounded DAG proposal validated before any row is written.

FieldRequiredTypeConstraints/defaultDescription
edgesnoarray of PlanEdgeSpecmaximum items 1024; default []—
summaryyesstringminimum length 1; maximum length 4000—
tasksyesarray of PlanTaskSpecminimum items 1; maximum items 256—

PlanTaskSpec

FieldRequiredTypeConstraints/defaultDescription
acceptance_criteriayesarray of AcceptanceCriterionminimum items 1; maximum items 20—
allowed_tool_idsnoarray of TaskToolIdminimum items 1; maximum items 32; default ["workspace.read_file", "workspace.write_file", "workspace.delete_file", "workspace.publish_change_set", "shell.exec", "skills.read", "references.read", "subagents.delegate", "notebook.edit_block", "notebook.execute_block", "search_web", "fetch_source", "github.read_issue", "github.create_issue_comment", "handoffs.read_artifact", "research.propose_deliverable", "tasks.list", "tasks.revise_plan", "tasks.retry", "agents.message"]Compatibility metadata only; the server owns attempt tools.
assignment_policynoTaskAssignmentPolicyvalues automatic, operator; default "automatic"—
concurrency_classnoTaskConcurrencyClassvalues parallel, exclusive; default "parallel"—
estimated_cost_microsnointegerminimum 0.0; maximum 10000000000.0; default 0—
execution_profilenoTaskExecutionProfilevalues planning, research, verification; default "research"—
hard_budget_microsnointegerminimum 0.0; maximum 10000000000.0; default 0—
keyyesTaskKeypattern ^[a-z][a-z0-9_.-]{0,63}$—
objectiveyesTaskObjectiveminimum length 1; maximum length 4000—
prioritynointegerminimum -1000.0; maximum 1000.0; default 0—
required_environment_capabilitiesnoarray of EnvironmentCapabilityminimum items 1; maximum items 8; default ["pi_agent", "python_notebook", "shell", "subagents"]Compatibility metadata only; the server owns attempt environments.
revision_actionnoTaskRevisionActionvalues new, retained, replanned; default "new"—
source_task_idnoTaskId | nullTaskId: pattern ^tsk_[0-9a-f]{32}$—
starter_contextnostringmaximum length 16384; default ""—
titleyesTaskTitleminimum length 1; maximum length 240—

PlanVersionId

Type: string Constraints: pattern ^pln_[0-9a-f]{32}$

PluginName

Type: string Constraints: minimum length 1; maximum length 64; pattern ^[a-z0-9](?:[a-z0-9.-]{0,62}[a-z0-9])?$

PolicyIdentifier

Type: string Constraints: pattern ^[a-z][a-z0-9_.:-]{0,127}$

ProductSearchHit

FieldRequiredTypeConstraints/defaultDescription
created_atyesstringformat date-time—
excerptyesstringminimum length 1; maximum length 2000—
kindyesProductSearchKindvalues block, output, task, message, attempt_event, claim, artifact—
locatoryesProductSearchLocatorBlockSearchLocator: unknown fields forbidden; OutputSearchLocator: unknown fields forbidden; TaskSearchLocator: unknown fields forbidden; MessageSearchLocator: unknown fields forbidden; AttemptEventSearchLocator: unknown fields forbidden; ClaimSearchLocator: unknown fields forbidden; ArtifactSearchLocator: unknown fields forbidden—
opening_idyesOpeningIdpattern ^(?:blk|out|tsk|eve|clm|art)_[0-9a-f]{32}$—
relevanceyesnumberminimum 0.0—
titleyesstringminimum length 1; maximum length 500—

ProductSearchKind

Type: block | output | task | message | attempt_event | claim | artifact Constraints: values block, output, task, message, attempt_event, claim, artifact

ProductSearchLocator

Discriminator: kind

Type: BlockSearchLocator | OutputSearchLocator | TaskSearchLocator | MessageSearchLocator | AttemptEventSearchLocator | ClaimSearchLocator | ArtifactSearchLocator Constraints: BlockSearchLocator: unknown fields forbidden; OutputSearchLocator: unknown fields forbidden; TaskSearchLocator: unknown fields forbidden; MessageSearchLocator: unknown fields forbidden; AttemptEventSearchLocator: unknown fields forbidden; ClaimSearchLocator: unknown fields forbidden; ArtifactSearchLocator: unknown fields forbidden

ProductSearchPage

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of ProductSearchHit——
kindsyesarray of ProductSearchKind——
queryyesstringminimum length 1; maximum length 200—
truncatedyesboolean——

ProjectDeletionProjection

FieldRequiredTypeConstraints/defaultDescription
artifact_countyesintegerminimum 0.0—
cleanup_blockersyesobject——
cleanup_resultyesobject——
deletion_generationyesintegerminimum 1.0—
deletion_versionyesintegerminimum 1.0—
export_acknowledged_atnostring | nullstring: format date-time—
export_manifest_digestnoSha256Digest | nullSha256Digest: pattern ^sha256:[0-9a-f]{64}$—
export_requiredyesboolean——
finalized_atnostring | nullstring: format date-time—
lifecycle_stateyesexport_pending | deletion_pending | tombstonedvalues export_pending, deletion_pending, tombstoned—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
project_versionyesintegerminimum 1.0—
purge_eligible_artifact_countyesintegerminimum 0.0—
purge_plan_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
referenced_artifact_countyesintegerminimum 0.0—
requested_atyesstringformat date-time—
stateyesexport_pending | deletion_pending | finalizedvalues export_pending, deletion_pending, finalized—
updated_atyesstringformat date-time—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

ProjectId

Type: string Constraints: pattern ^prj_[0-9a-f]{32}$

ProjectImportId

Type: string Constraints: pattern ^imp_[0-9a-f]{32}$

ProjectName

Type: string Constraints: minimum length 1; maximum length 200

ProjectPage

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of ProjectProjectionmaximum items 100—
next_afternoProjectId | nullProjectId: pattern ^prj_[0-9a-f]{32}$—

ProjectProjection

FieldRequiredTypeConstraints/defaultDescription
latest_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
nameyesstring——
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
settingsyesProjectSettingsunknown fields forbidden—
versionyesintegerminimum 1.0—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

ProjectSettings

FieldRequiredTypeConstraints/defaultDescription
inspector_collapsednobooleandefault false—
inspector_widthnointegerminimum 320.0; maximum 480.0; default 360—
navigator_collapsednobooleandefault false—
navigator_widthnointegerminimum 216.0; maximum 384.0; default 248—
themenosystem | light | darkvalues system, light, dark; default "system"—

ProjectWorkspaceChangeSetProjection

Verified review projection derived only from immutable artifacts and events.

FieldRequiredTypeConstraints/defaultDescription
candidate_manifestyesWorkspaceManifestunknown fields forbidden—
change_set_artifact_idyesArtifactIdpattern ^art_[0-9a-f]{32}$—
change_set_digestyesstringpattern ^sha256:[0-9a-f]{64}$—
current_workspace_digestyesstringpattern ^sha256:[0-9a-f]{64}$—
current_workspace_versionyesintegerminimum 0.0—
manifestyesWorkspaceChangeSetManifestunknown fields forbidden—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
statusyesreviewable | stale | acceptedvalues reviewable, stale, accepted—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

PtyTicketRequest

FieldRequiredTypeConstraints/defaultDescription
allowed_hostyesRuntimeHostminimum length 1; maximum length 255—
allowed_operationsyesarray of stdin | resize | signal | statusminimum items 1; maximum items 4—
allowed_originyesRuntimeOriginminimum length 8; maximum length 255—
attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
audiencenolumen-pty-v1fixed value lumen-pty-v1; default "lumen-pty-v1"—
expected_attempt_generationyesintegerminimum 1.0—
expected_runtime_session_generationyesintegerminimum 1.0—
lifetime_secondsnointegerminimum 1.0; maximum 120.0; default 30—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
run_idyesRunIdpattern ^run_[0-9a-f]{32}$—
runtime_session_idyesRuntimeSessionIdpattern ^rts_[0-9a-f]{32}$—

ReasoningSummaryEvent

FieldRequiredTypeConstraints/defaultDescription
attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
event_idyesEventIdpattern ^eve_[0-9a-f]{32}$—
event_typeyesreasoning.summaryfixed value reasoning.summary—
occurred_atyesstringformat date-time—
provider_sequenceyesintegerminimum 0.0—
replayablenobooleandefault true—
summaryyesstring——

RecordClaimValidationCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesRecordClaimValidationPayloadunknown fields forbidden—

RecordClaimValidationPayload

FieldRequiredTypeConstraints/defaultDescription
claim_revision_idyesClaimRevisionIdpattern ^crv_[0-9a-f]{32}$—
expected_claim_versionyesintegerminimum 1.0—
input_manifestyesobject——
methodyesValidationMethodvalues rerun, fresh_sandbox_replication, independent_implementation, leakage_check, perturbation, statistical_check, data_quality_check, contradiction_search, raw_metric_check—
outcomeyesValidationOutcomevalues passed, failed, inconclusive, error—
result_evidence_ref_idyesEvidenceRefIdpattern ^evr_[0-9a-f]{32}$—
summaryyesstringminimum length 1; maximum length 8000—
verifying_attempt_idnoAttemptId | nullAttemptId: pattern ^att_[0-9a-f]{32}$—
verifying_task_idnoTaskId | nullTaskId: pattern ^tsk_[0-9a-f]{32}$—

RejectWorkspaceChangeSetCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesRejectWorkspaceChangeSetPayloadunknown fields forbidden—

RejectWorkspaceChangeSetPayload

FieldRequiredTypeConstraints/defaultDescription
change_set_artifact_idyesArtifactIdpattern ^art_[0-9a-f]{32}$—
change_set_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
expected_workspace_versionyesintegerminimum 0.0—
reasonyesstringminimum length 1; maximum length 2000—

RemoteMcpServer

FieldRequiredTypeConstraints/defaultDescription
enablednoFalsefixed value False; default false—
endpointyesstringminimum length 1; maximum length 2048—
nameyesMcpNameminimum length 1; maximum length 64; pattern ^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$—
network_hostyesstringpattern ^[a-z0-9](?:[a-z0-9.-]{0,251}[a-z0-9])?$—
secret_referencesnoarray of McpSecretReferencemaximum items 32; default []—
transportnostreamable_httpfixed value streamable_http; default "streamable_http"—

RemoveTaskDependencyCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesRemoveTaskDependencyPayloadunknown fields forbidden—

RemoveTaskDependencyPayload

FieldRequiredTypeConstraints/defaultDescription
expected_plan_revisionyesintegerminimum 1.0—
expected_run_versionyesintegerminimum 1.0—
predecessor_task_idyesTaskIdpattern ^tsk_[0-9a-f]{32}$—
successor_task_idyesTaskIdpattern ^tsk_[0-9a-f]{32}$—

ReplaceScopedRuleCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesReplaceScopedRulePayloadunknown fields forbidden—

ReplaceScopedRulePayload

FieldRequiredTypeConstraints/defaultDescription
enabledyesboolean——
expected_revisionyesintegerminimum 1.0—
instructionsyesRuleInstructionsminimum length 1; maximum length 8192—
titleyesRuleTitleminimum length 1; maximum length 200—

ReproductionEvidence

The latest active rerun/replication validation for an exact metric revision.

FieldRequiredTypeConstraints/defaultDescription
claim_revision_idyesClaimRevisionIdpattern ^crv_[0-9a-f]{32}$—
claim_validation_idyesClaimValidationIdpattern ^vld_[0-9a-f]{32}$—
content_hashyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
created_atyesstringformat date-time—
methodyesReproductionMethodvalues rerun, fresh_sandbox_replication—
outcomeyesReproductionOutcomevalues passed, failed, inconclusive, error—
result_evidence_ref_idyesEvidenceRefIdpattern ^evr_[0-9a-f]{32}$—
summaryyesValidationSummaryminimum length 1; maximum length 8000—
verifying_attempt_idyesAttemptId | nullAttemptId: pattern ^att_[0-9a-f]{32}$—
verifying_task_idyesTaskId | nullTaskId: pattern ^tsk_[0-9a-f]{32}$—

ReproductionMethod

Type: rerun | fresh_sandbox_replication Constraints: values rerun, fresh_sandbox_replication

ReproductionOutcome

Type: passed | failed | inconclusive | error Constraints: values passed, failed, inconclusive, error

ReproductionState

Type: unknown | reproduced | not_reproduced | inconclusive | error Constraints: values unknown, reproduced, not_reproduced, inconclusive, error

RequestProjectDeletionCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesRequestProjectDeletionPayloadunknown fields forbidden—

RequestProjectDeletionPayload

FieldRequiredTypeConstraints/defaultDescription
expected_project_versionyesintegerminimum 1.0—
export_policyyesrequire_export | skip_exportvalues require_export, skip_export—

ResearchObjective

Type: string Constraints: minimum length 12; maximum length 4000

ResearchReference

FieldRequiredTypeConstraints/defaultDescription
kindyesResearchReferenceKindvalues project, run, task, document, claim, artifact—
labelyesstringminimum length 1; maximum length 240—
object_idyesstringminimum length 36; maximum length 36—

ResearchReferenceKind

Type: project | run | task | document | claim | artifact Constraints: values project, run, task, document, claim, artifact

ResearchResult

The summary-capable result returned by the additive result endpoint.

FieldRequiredTypeConstraints/defaultDescription
artifactyesStoryArtifactunknown fields forbidden—
attemptyesStoryAttemptunknown fields forbidden—
claimyesStoryClaim | nullStoryClaim: unknown fields forbidden—
latest_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
notebookyesStoryBlock | nullStoryBlock: unknown fields forbidden—
objectiveyesstring——
plan_version_idyesPlanVersionIdpattern ^pln_[0-9a-f]{32}$—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
run_idyesRunIdpattern ^run_[0-9a-f]{32}$—
taskyesStoryTaskunknown fields forbidden—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—
writeupyesStoryWriteup | nullStoryWriteup: unknown fields forbidden—

ResearchStory

FieldRequiredTypeConstraints/defaultDescription
artifactyesStoryArtifactunknown fields forbidden—
attemptyesStoryAttemptunknown fields forbidden—
claimyesStoryClaimunknown fields forbidden—
latest_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
notebookyesStoryBlockunknown fields forbidden—
objectiveyesstring——
plan_version_idyesPlanVersionIdpattern ^pln_[0-9a-f]{32}$—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
run_idyesRunIdpattern ^run_[0-9a-f]{32}$—
taskyesStoryTaskunknown fields forbidden—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—
writeupyesStoryWriteupunknown fields forbidden—

ResolveToolApprovalCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesResolveToolApprovalPayloadunknown fields forbidden—

ResolveToolApprovalPayload

An exact, stale-safe human decision over one immutable tool request.

FieldRequiredTypeConstraints/defaultDescription
decisionyesallow | denyvalues allow, deny—
expected_approval_idyesInteractionRequestIdpattern ^int_[0-9a-f]{32}$—
expected_argument_hashyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
expected_attempt_generationyesintegerminimum 1.0—
expected_policy_versionyesintegerminimum 1.0—
expected_request_hashyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
expected_versionyesintegerminimum 1.0—

ResumeRunCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesResumeRunPayloadunknown fields forbidden—

ResumeRunPayload

FieldRequiredTypeConstraints/defaultDescription
expected_run_generationyesintegerminimum 1.0—
expected_run_versionyesintegerminimum 1.0—

ResumeScheduleCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesResumeSchedulePayloadunknown fields forbidden—

ResumeSchedulePayload

FieldRequiredTypeConstraints/defaultDescription
expected_versionyesintegerminimum 1.0—

ResumeTaskCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesResumeTaskPayloadunknown fields forbidden—

ResumeTaskPayload

FieldRequiredTypeConstraints/defaultDescription
expected_plan_revisionyesintegerminimum 1.0—
expected_run_generationyesintegerminimum 1.0—
expected_run_versionyesintegerminimum 1.0—
expected_task_versionyesintegerminimum 1.0—

RetentionCode

Type: string Constraints: pattern ^[a-z][a-z0-9_.-]{1,127}$

RetentionDataClass

Type: transient_stream_chunks | ordinary_project_state | immutable_evidence_artifacts | sensitive_source_data | provider_prompts_responses | audit_security_events | deleted_export_pending Constraints: values transient_stream_chunks, ordinary_project_state, immutable_evidence_artifacts, sensitive_source_data, provider_prompts_responses, audit_security_events, deleted_export_pending

RetractEvidenceCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesRetractEvidencePayloadunknown fields forbidden—

RetractEvidencePayload

FieldRequiredTypeConstraints/defaultDescription
evidence_ref_idyesEvidenceRefIdpattern ^evr_[0-9a-f]{32}$—
reasonyesstringminimum length 1; maximum length 2000—

RetractVariableValueCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesRetractVariableValuePayloadunknown fields forbidden—

RetractVariableValuePayload

FieldRequiredTypeConstraints/defaultDescription
reasonyesstringminimum length 1; maximum length 2000—
variable_value_idyesVariableValueIdpattern ^val_[0-9a-f]{32}$—

RetryTaskCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesRetryTaskPayloadunknown fields forbidden—

RetryTaskPayload

FieldRequiredTypeConstraints/defaultDescription
expected_plan_revisionyesintegerminimum 1.0—
expected_run_generationyesintegerminimum 1.0—
expected_run_versionyesintegerminimum 1.0—
expected_task_versionyesintegerminimum 1.0—
reasonyesstringminimum length 1; maximum length 1000—

ReviewClaimCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesReviewClaimPayloadunknown fields forbidden—

ReviewClaimPayload

FieldRequiredTypeConstraints/defaultDescription
claim_revision_idyesClaimRevisionIdpattern ^crv_[0-9a-f]{32}$—
decisionyessubmit | accept | reject | challenge | retractvalues submit, accept, reject, challenge, retract—
expected_claim_versionyesintegerminimum 1.0—
reasonyesstringminimum length 1; maximum length 2000—

RuleCommandAccepted

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
content_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
revisionyesintegerminimum 1.0—
rule_idyesRuleIdpattern ^rul_[0-9a-f]{32}$—
statusnoacceptedfixed value accepted; default "accepted"—

RuleId

Type: string Constraints: pattern ^rul_[0-9a-f]{32}$

RuleInstructions

Type: string Constraints: minimum length 1; maximum length 8192

RuleScopeKind

Type: workspace | project Constraints: values workspace, project

RuleTitle

Type: string Constraints: minimum length 1; maximum length 200

RunAttemptHistoryItem

FieldRequiredTypeConstraints/defaultDescription
admitted_budget_microsyesintegerminimum 0.0—
attempt_generationyesintegerminimum 1.0—
attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
attempt_numberyesintegerminimum 1.0—
created_atyesstringformat date-time—
desired_stateyesDesiredStatevalues running, paused, cancelled—
finished_atyesstring | nullstring: format date-time—
is_current_generationyesboolean——
is_current_plan_revisionyesboolean——
is_latest_task_attemptyesboolean——
outcomeyesWorkOutcome | nullWorkOutcome: values succeeded, failed, cancelled—
phaseyesWorkPhasevalues queued, provisioning, executing, finalizing, terminal—
plan_revisionyesintegerminimum 1.0—
result_digestnostring | nullstring: pattern ^sha256:[0-9a-f]{64}$—
result_output_countyesintegerminimum 0.0—
started_atyesstring | nullstring: format date-time—
summaryyesstring | null——
task_idyesTaskIdpattern ^tsk_[0-9a-f]{32}$—
task_titleyesstring——
wait_reasonyesWaitReasonvalues none, approval, dependency, capacity, input, budget, operator—

RunAttemptHistoryPage

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of RunAttemptHistoryItemmaximum items 100—
latest_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
next_afternoAttemptId | nullAttemptId: pattern ^att_[0-9a-f]{32}$—
run_idyesRunIdpattern ^run_[0-9a-f]{32}$—

RunDetailProjection

FieldRequiredTypeConstraints/defaultDescription
latest_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
planyesPlanProjectionunknown fields forbidden—
runyesRunProjectionunknown fields forbidden—

RunId

Type: string Constraints: pattern ^run_[0-9a-f]{32}$

RunPage

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of RunProjection——
latest_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
next_afternoRunId | nullRunId: pattern ^run_[0-9a-f]{32}$—

RunProjection

FieldRequiredTypeConstraints/defaultDescription
completed_atyesstring | nullstring: format date-time—
created_atyesstringformat date-time—
desired_stateyesDesiredStatevalues running, paused, cancelled—
generationyesintegerminimum 1.0—
objectiveyesstring——
outcomeyesWorkOutcome | nullWorkOutcome: values succeeded, failed, cancelled—
phaseyesWorkPhasevalues queued, provisioning, executing, finalizing, terminal—
plan_revisionyesintegerminimum 1.0—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
referencesnoarray of ResearchReferencedefault []—
run_idyesRunIdpattern ^run_[0-9a-f]{32}$—
versionyesintegerminimum 1.0—
wait_reasonyesWaitReasonvalues none, approval, dependency, capacity, input, budget, operator—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

RuntimeControlTicketRequest

FieldRequiredTypeConstraints/defaultDescription
allowed_hostyesRuntimeHostminimum length 1; maximum length 255—
allowed_operationsyesarray of interrupt | statusminimum items 1; maximum items 2—
allowed_originyesRuntimeOriginminimum length 8; maximum length 255—
attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
audiencenolumen-runtime-control-v1fixed value lumen-runtime-control-v1; default "lumen-runtime-control-v1"—
execution_idyesExecutionIdpattern ^exe_[0-9a-f]{32}$—
expected_attempt_generationyesintegerminimum 1.0—
expected_execution_generationyesintegerminimum 1.0—
expected_runtime_session_generationyesintegerminimum 1.0—
lifetime_secondsnointegerminimum 1.0; maximum 120.0; default 30—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
run_idyesRunIdpattern ^run_[0-9a-f]{32}$—
runtime_session_idyesRuntimeSessionIdpattern ^rts_[0-9a-f]{32}$—

RuntimeHost

Type: string Constraints: minimum length 1; maximum length 255

RuntimeOrigin

Type: string Constraints: minimum length 8; maximum length 255

RuntimeSessionId

Type: string Constraints: pattern ^rts_[0-9a-f]{32}$

RuntimeTicketAudience

Type: lumen-execution-v1 | lumen-pty-v1 | lumen-runtime-control-v1 Constraints: values lumen-execution-v1, lumen-pty-v1, lumen-runtime-control-v1

RuntimeTicketGrant

The only browser-visible bearer copy; response caching is forbidden.

FieldRequiredTypeConstraints/defaultDescription
scopeyesRuntimeTicketScopeunknown fields forbidden—
tokenyesstringminimum length 1; maximum length 256—

RuntimeTicketOperation

Type: execute | interrupt | resize | signal | status | stdin Constraints: values execute, interrupt, resize, signal, status, stdin

RuntimeTicketScope

The exact canonical authority committed beside one opaque token hash.

FieldRequiredTypeConstraints/defaultDescription
actor_idyesstringformat uuid—
allowed_hostyesRuntimeHostminimum length 1; maximum length 255—
allowed_operationsyesarray of RuntimeTicketOperationminimum items 1; maximum items 4—
allowed_originyesRuntimeOriginminimum length 8; maximum length 255—
attempt_generationyesintegerminimum 1.0—
attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
audienceyesRuntimeTicketAudiencevalues lumen-execution-v1, lumen-pty-v1, lumen-runtime-control-v1—
block_revision_idnoBlockRevisionId | nullBlockRevisionId: pattern ^rev_[0-9a-f]{32}$—
execution_generationnointeger | nullinteger: minimum 1.0—
execution_idnoExecutionId | nullExecutionId: pattern ^exe_[0-9a-f]{32}$—
expires_atyesstringformat date-time—
input_manifest_hashnoSha256Digest | nullSha256Digest: pattern ^sha256:[0-9a-f]{64}$—
issued_atyesstringformat date-time—
policy_versionyesintegerminimum 1.0—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
revocation_versionyesintegerminimum 1.0—
run_idyesRunIdpattern ^run_[0-9a-f]{32}$—
runtime_session_generationyesintegerminimum 1.0—
runtime_session_idyesRuntimeSessionIdpattern ^rts_[0-9a-f]{32}$—
source_hashnoSha256Digest | nullSha256Digest: pattern ^sha256:[0-9a-f]{64}$—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

RuntimeVersion

Type: string Constraints: maximum length 64; pattern ^[0-9]+(?:\.[0-9]+){1,3}(?:[a-z0-9.+-]*)?$

SaveBlockRevisionCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesSaveBlockRevisionPayloadunknown fields forbidden—

SaveBlockRevisionPayload

FieldRequiredTypeConstraints/defaultDescription
base_revision_idyesBlockRevisionIdpattern ^rev_[0-9a-f]{32}$—
expected_structure_versionyesintegerminimum 1.0—
languagenoBlockLanguage | nullBlockLanguage: minimum length 1; maximum length 64—
metadatanoobject——
sourceyesBlockSourcemaximum length 1048576—

ScheduleDeletionReason

Type: string Constraints: minimum length 1; maximum length 1000

ScheduleDesiredState

Type: active | paused | deleted Constraints: values active, paused, deleted

ScheduleDetailProjection

FieldRequiredTypeConstraints/defaultDescription
latest_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
scheduleyesScheduleProjectionunknown fields forbidden—

ScheduleId

Type: string Constraints: pattern ^sch_[0-9a-f]{32}$

ScheduleOverlapPolicy

Type: skip | buffer_one Constraints: values skip, buffer_one

SchedulePage

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of ScheduleProjectionmaximum items 100—
latest_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
next_afternoScheduleId | nullScheduleId: pattern ^sch_[0-9a-f]{32}$—

ScheduleProjection

FieldRequiredTypeConstraints/defaultDescription
applied_versionnointeger | nullinteger: minimum 1.0—
created_atyesstringformat date-time—
deleted_atyesstring | nullstring: format date-time—
desired_stateyesScheduleDesiredStatevalues active, paused, deleted—
elapsedyesboolean——
last_error_codenostring | nullstring: pattern ^[a-z][a-z0-9_.:-]{0,127}$—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
schedule_idyesScheduleIdpattern ^sch_[0-9a-f]{32}$—
sync_stateyesScheduleSyncStatevalues pending, applied, rejected—
templateyesScheduleRunTemplateunknown fields forbidden—
timingyesScheduleTimingunknown fields forbidden—
updated_atyesstringformat date-time—
versionyesintegerminimum 1.0—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

ScheduleRunTemplate

Frozen, explicit inputs copied into each ordinary scheduled run.

FieldRequiredTypeConstraints/defaultDescription
dataset_artifact_idsnoarray of ArtifactIdmaximum items 32; default []—
max_cost_microsnointegerminimum 0.0; maximum 10000000000.0; default 15512000—
model_profile_idyesPolicyIdentifierpattern ^[a-z][a-z0-9_.:-]{0,127}$—
notification_policyyesnonefixed value none—
objectiveyesResearchObjectiveminimum length 12; maximum length 4000—
overlap_policyyesScheduleOverlapPolicyvalues skip, buffer_one—
titleyesScheduleTitleminimum length 1; maximum length 200—

ScheduleSyncState

Type: pending | applied | rejected Constraints: values pending, applied, rejected

ScheduleTiming

One UTC-safe deferred instant or an interval anchored to an instant.

FieldRequiredTypeConstraints/defaultDescription
ends_atnostring | nullstring: format date-time—
every_secondsnointeger | nullinteger: minimum 60.0; maximum 31536000.0—
starts_atyesstringformat date-time—

ScheduleTitle

Type: string Constraints: minimum length 1; maximum length 200

ScopedRulePage

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of ScopedRuleVersionmaximum items 100—
next_afternoRuleId | nullRuleId: pattern ^rul_[0-9a-f]{32}$—

ScopedRuleVersion

FieldRequiredTypeConstraints/defaultDescription
content_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
created_atyesstringformat date-time—
enabledyesboolean——
instructionsyesRuleInstructionsminimum length 1; maximum length 8192—
project_idnoProjectId | nullProjectId: pattern ^prj_[0-9a-f]{32}$—
revisionyesintegerminimum 1.0—
rule_idyesRuleIdpattern ^rul_[0-9a-f]{32}$—
scope_kindyesRuleScopeKindvalues workspace, project—
titleyesRuleTitleminimum length 1; maximum length 200—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

SecretReferenceId

Type: string Constraints: pattern ^srf_[0-9a-f]{32}$

SelectLiveAnchorCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesSelectLiveAnchorPayloadunknown fields forbidden—

SelectLiveAnchorPayload

FieldRequiredTypeConstraints/defaultDescription
evidence_ref_idyesEvidenceRefIdpattern ^evr_[0-9a-f]{32}$—
expected_anchor_versionyesintegerminimum 1.0—
reasonyesstringminimum length 1; maximum length 2000—

SendAgentMessageCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesSendAgentMessagePayloadunknown fields forbidden—

SendAgentMessagePayload

FieldRequiredTypeConstraints/defaultDescription
contentyesAgentMessageContentminimum length 1; maximum length 16384—
expected_source_attempt_generationyesintegerminimum 1.0—
expected_source_attempt_versionyesintegerminimum 1.0—
target_attempt_idnoAttemptId | nullAttemptId: pattern ^att_[0-9a-f]{32}$—
target_task_idyesTaskIdpattern ^tsk_[0-9a-f]{32}$—

SetVariableDefinitionCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesSetVariableDefinitionPayloadunknown fields forbidden—

SetVariableDefinitionPayload

FieldRequiredTypeConstraints/defaultDescription
descriptionyesstringminimum length 1; maximum length 2000—
expected_versionnointeger | nullinteger: minimum 1.0—
nameyesstringpattern ^[a-z][a-z0-9_.-]{0,127}$—
producer_requirementsnoobject——
sensitivitynoVariableSensitivityvalues public, internal, sensitive, restricted; default "internal"—
value_schemayesobject——
value_typeyesVariableValueTypevalues boolean, integer, number, string, json, table, artifact—

SettingsCatalog

FieldRequiredTypeConstraints/defaultDescription
artifact_storage_modeyesfilesystem | r2values filesystem, r2—
attempt_capability_signer_configuredyesboolean——
auth_modeyesdevelopment | supabasevalues development, supabase—
connectorsyesarray of ConnectorActivation——
inference_profilesyesarray of InferenceProfileSummary——
provider_checksyesarray of OperationalCheck——
schema_versionno1fixed value 1; default 1—
web_research_profilesyesarray of WebResearchProfileSummary——

Sha256Digest

Type: string Constraints: pattern ^sha256:[0-9a-f]{64}$

SkillName

Type: string Constraints: minimum length 1; maximum length 64; pattern ^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$

SkillResourceSummary

FieldRequiredTypeConstraints/defaultDescription
digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
kindyesreference | assetvalues reference, asset—
media_typeyesstringminimum length 1; maximum length 128—
pathyesstringminimum length 1; maximum length 512—
size_bytesyesintegerminimum 0.0; maximum 2097152.0—

SourceRevision

Type: string Constraints: pattern ^(?:git:[0-9a-f]{40}|sha256:[0-9a-f]{64})$

SteerAttemptCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesSteerAttemptPayloadunknown fields forbidden—

SteerAttemptPayload

FieldRequiredTypeConstraints/defaultDescription
expected_attempt_generationyesintegerminimum 1.0—
expected_attempt_versionyesintegerminimum 1.0—
instructionyesSteeringInstructionminimum length 1; maximum length 16384—

SteeringInstruction

Type: string Constraints: minimum length 1; maximum length 16384

StoryArtifact

FieldRequiredTypeConstraints/defaultDescription
content_urlyesstring——
manifestyesArtifactManifestunknown fields forbidden—

StoryAttempt

FieldRequiredTypeConstraints/defaultDescription
attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
stateyessucceededfixed value succeeded—
summaryyesstring——

StoryBlock

FieldRequiredTypeConstraints/defaultDescription
block_idyesBlockIdpattern ^blk_[0-9a-f]{32}$—
block_revision_idyesBlockRevisionIdpattern ^rev_[0-9a-f]{32}$—
document_idyesDocumentIdpattern ^doc_[0-9a-f]{32}$—
execution_idyesExecutionIdpattern ^exe_[0-9a-f]{32}$—
execution_output_idyesExecutionOutputIdpattern ^out_[0-9a-f]{32}$—
output_textyesstring——
sourceyesstring——

StoryClaim

FieldRequiredTypeConstraints/defaultDescription
claim_idyesClaimIdpattern ^clm_[0-9a-f]{32}$—
claim_revision_idyesClaimRevisionIdpattern ^crv_[0-9a-f]{32}$—
currentnessyescurrent | outdated | unknownvalues current, outdated, unknown—
evidence_ref_idyesEvidenceRefIdpattern ^evr_[0-9a-f]{32}$—
evidence_urlyesstring——
review_statusyesdraft | under_review | accepted | rejected | challenged | retractedvalues draft, under_review, accepted, rejected, challenged, retracted—
textyesstring——
validityyesuntested | valid-for-pinned-inputs | invalidated | retractedvalues untested, valid-for-pinned-inputs, invalidated, retracted—

StoryTask

FieldRequiredTypeConstraints/defaultDescription
objectiveyesstring——
phaseyescompletedfixed value completed—
task_idyesTaskIdpattern ^tsk_[0-9a-f]{32}$—
titleyesstring——

StoryWriteup

FieldRequiredTypeConstraints/defaultDescription
block_revision_idyesBlockRevisionIdpattern ^rev_[0-9a-f]{32}$—
document_idyesDocumentIdpattern ^doc_[0-9a-f]{32}$—
markdownyesstring——

TabularArtifactPage

One explicit, bounded display page from an immutable Parquet artifact.

FieldRequiredTypeConstraints/defaultDescription
artifact_idyesArtifactIdpattern ^art_[0-9a-f]{32}$—
cells_truncatedyesboolean——
columnsyesarray of stringminimum items 1; maximum items 512—
digestyesstringpattern ^sha256:[0-9a-f]{64}$—
next_offsetnointeger | nullinteger: minimum 0.0; maximum 1000000000.0—
offsetyesintegerminimum 0.0; maximum 1000000000.0—
page_byte_limitedyesboolean——
requested_limityesintegerminimum 1.0; maximum 1024.0—
rowsyesarray of array of TabularCellmaximum items 1024—
sample_null_countsyesarray of integerminimum items 1; maximum items 512—
schema_digestyesstringpattern ^sha256:[0-9a-f]{64}$—
total_rowsyesintegerminimum 0.0; maximum 1000000000.0—

TabularArtifactSchema

Bounded schema and shape proven from one immutable Parquet artifact.

FieldRequiredTypeConstraints/defaultDescription
artifact_idyesArtifactIdpattern ^art_[0-9a-f]{32}$—
digestyesstringpattern ^sha256:[0-9a-f]{64}$—
fieldsyesarray of TabularFieldProjectionminimum items 1; maximum items 512—
media_typeyesapplication/vnd.apache.parquetfixed value application/vnd.apache.parquet—
row_countyesintegerminimum 0.0; maximum 1000000000.0—
row_group_countyesintegerminimum 0.0; maximum 122071.0—
schema_digestyesstringpattern ^sha256:[0-9a-f]{64}$—
size_bytesyesintegerminimum 12.0; maximum 10737418240.0—

TabularCell

One JSON-safe display value; exact type remains in the verified schema.

FieldRequiredTypeConstraints/defaultDescription
byte_sizeyesintegerminimum 0.0; maximum 10737418240.0—
displayyesstringmaximum length 512—
kindyesTabularCellKindvalues null, boolean, integer, number, string, binary, date, time, datetime, duration, decimal—
truncatednobooleandefault false—

TabularCellKind

Type: null | boolean | integer | number | string | binary | date | time | datetime | duration | decimal Constraints: values null, boolean, integer, number, string, binary, date, time, datetime, duration, decimal

TabularFieldProjection

One verified Arrow field exposed without provider metadata.

FieldRequiredTypeConstraints/defaultDescription
arrow_typeyesstringminimum length 1; maximum length 256—
nameyesstringminimum length 1; maximum length 256—
nullableyesboolean——

TaskAssignmentPolicy

Type: automatic | operator Constraints: values automatic, operator

TaskConcurrencyClass

Type: parallel | exclusive Constraints: values parallel, exclusive

TaskControlItem

FieldRequiredTypeConstraints/defaultDescription
active_attempt_idyesAttemptId | nullAttemptId: pattern ^att_[0-9a-f]{32}$—
assignment_policyyesTaskAssignmentPolicyvalues automatic, operator—
concurrency_classyesTaskConcurrencyClassvalues parallel, exclusive—
desired_stateyesstring——
estimated_cost_microsyesintegerminimum 0.0—
execution_profileyesTaskExecutionProfilevalues planning, research, verification—
hard_budget_microsyesintegerminimum 0.0—
outcomeyesstring | null——
phaseyesstring——
priorityyesinteger——
task_idyesTaskIdpattern ^tsk_[0-9a-f]{32}$—
titleyesstring——
versionyesintegerminimum 1.0—
wait_reasonyesstring——

TaskControlSnapshot

FieldRequiredTypeConstraints/defaultDescription
plan_revisionyesintegerminimum 1.0—
run_budget_limit_microsyesintegerminimum 0.0—
run_budget_reserved_microsyesintegerminimum 0.0—
run_budget_spent_microsyesintegerminimum 0.0—
run_generationyesintegerminimum 1.0—
run_idyesRunIdpattern ^run_[0-9a-f]{32}$—
run_versionyesintegerminimum 1.0—
tasksyesarray of TaskControlItemmaximum items 256—

TaskDetailProjection

FieldRequiredTypeConstraints/defaultDescription
latest_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
taskyesTaskProjectionunknown fields forbidden—

TaskEdgeProjection

FieldRequiredTypeConstraints/defaultDescription
handoffyesobject——
handoff_digestyesstringpattern ^sha256:[0-9a-f]{64}$—
predecessor_task_idyesTaskIdpattern ^tsk_[0-9a-f]{32}$—
reasonyesstring——
successor_task_idyesTaskIdpattern ^tsk_[0-9a-f]{32}$—

TaskExecutionProfile

Type: planning | research | verification Constraints: values planning, research, verification

TaskGraphEdgeProjection

FieldRequiredTypeConstraints/defaultDescription
handoffyesDependencyHandoffunknown fields forbidden—
handoff_digestyesstringpattern ^sha256:[0-9a-f]{64}$—
predecessor_task_idyesTaskIdpattern ^tsk_[0-9a-f]{32}$—
reasonyesstring——
successor_task_idyesTaskIdpattern ^tsk_[0-9a-f]{32}$—

TaskGraphNodeProjection

FieldRequiredTypeConstraints/defaultDescription
active_attempt_idyesAttemptId | nullAttemptId: pattern ^att_[0-9a-f]{32}$—
allowed_tool_idsyesarray of stringmaximum items 32Compatibility metadata only; the server owns attempt tools.
assignment_policyyesTaskAssignmentPolicyvalues automatic, operator—
attempt_countyesintegerminimum 0.0—
concurrency_classyesTaskConcurrencyClassvalues parallel, exclusive—
desired_stateyesDesiredStatevalues running, paused, cancelled—
estimated_cost_microsyesintegerminimum 0.0—
execution_profileyesTaskExecutionProfilevalues planning, research, verification—
hard_budget_microsyesintegerminimum 0.0—
outcomeyesWorkOutcome | nullWorkOutcome: values succeeded, failed, cancelled—
phaseyesWorkPhasevalues queued, provisioning, executing, finalizing, terminal—
priorityyesintegerminimum -1000.0; maximum 1000.0—
required_environment_capabilitiesyesarray of stringmaximum items 8Compatibility metadata only; the server owns attempt environments.
revision_actionyesTaskRevisionActionvalues new, retained, replanned—
source_task_idyesTaskId | nullTaskId: pattern ^tsk_[0-9a-f]{32}$—
starter_contextyesstringmaximum length 16384—
task_idyesTaskIdpattern ^tsk_[0-9a-f]{32}$—
titleyesstring——
wait_reasonyesWaitReasonvalues none, approval, dependency, capacity, input, budget, operator—

TaskGraphPage

Node-keyset page plus every outgoing edge owned by those page nodes.

An edge appears on exactly the page containing its predecessor. Its successor may be outside the current node page, allowing a client to assemble the graph incrementally without duplicating edges across pages.

FieldRequiredTypeConstraints/defaultDescription
edgesyesarray of TaskGraphEdgeProjectionmaximum items 800—
itemsyesarray of TaskGraphNodeProjectionmaximum items 25—
latest_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
next_afternoTaskId | nullTaskId: pattern ^tsk_[0-9a-f]{32}$—
plan_revisionyesintegerminimum 1.0—
plan_version_idyesPlanVersionIdpattern ^pln_[0-9a-f]{32}$—
run_idyesRunIdpattern ^run_[0-9a-f]{32}$—

TaskId

Type: string Constraints: pattern ^tsk_[0-9a-f]{32}$

TaskKey

Type: string Constraints: pattern ^[a-z][a-z0-9_.-]{0,63}$

TaskObjective

Type: string Constraints: minimum length 1; maximum length 4000

TaskPage

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of TaskProjection——
latest_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
next_afternoTaskId | nullTaskId: pattern ^tsk_[0-9a-f]{32}$—

TaskProjection

FieldRequiredTypeConstraints/defaultDescription
acceptance_criteriayesarray of string——
allowed_tool_idsyesarray of stringmaximum items 32Compatibility metadata only; the server owns attempt tools.
assignment_policyyesautomatic | operatorvalues automatic, operator—
concurrency_classyesparallel | exclusivevalues parallel, exclusive—
created_atyesstringformat date-time—
desired_stateyesDesiredStatevalues running, paused, cancelled—
estimated_cost_microsyesintegerminimum 0.0—
execution_profileyesplanning | research | verificationvalues planning, research, verification—
generationyesintegerminimum 1.0—
hard_budget_microsyesintegerminimum 0.0—
objectiveyesstring——
outcomeyesWorkOutcome | nullWorkOutcome: values succeeded, failed, cancelled—
phaseyesWorkPhasevalues queued, provisioning, executing, finalizing, terminal—
plan_revisionyesintegerminimum 1.0—
plan_version_idyesPlanVersionIdpattern ^pln_[0-9a-f]{32}$—
priorityyesintegerminimum -1000.0; maximum 1000.0—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
required_environment_capabilitiesyesarray of stringmaximum items 8Compatibility metadata only; the server owns attempt environments.
revision_actionyesnew | retained | replannedvalues new, retained, replanned—
run_idyesRunIdpattern ^run_[0-9a-f]{32}$—
source_task_idyesTaskId | nullTaskId: pattern ^tsk_[0-9a-f]{32}$—
starter_contextyesstringmaximum length 16384—
task_idyesTaskIdpattern ^tsk_[0-9a-f]{32}$—
titleyesstring——
versionyesintegerminimum 1.0—
wait_reasonyesWaitReasonvalues none, approval, dependency, capacity, input, budget, operator—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

TaskProposedEvent

FieldRequiredTypeConstraints/defaultDescription
attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
event_idyesEventIdpattern ^eve_[0-9a-f]{32}$—
event_typeyestask.proposedfixed value task.proposed—
objectiveyesstring——
occurred_atyesstringformat date-time—
provider_sequenceyesintegerminimum 0.0—
replayablenobooleandefault true—
titleyesstring——

TaskRevisionAction

Type: new | retained | replanned Constraints: values new, retained, replanned

TaskSearchLocator

FieldRequiredTypeConstraints/defaultDescription
kindyestaskfixed value task—
run_idyesRunIdpattern ^run_[0-9a-f]{32}$—
task_idyesTaskIdpattern ^tsk_[0-9a-f]{32}$—

TaskStateGroup

FieldRequiredTypeConstraints/defaultDescription
countyesintegerminimum 1.0—
desired_stateyesDesiredStatevalues running, paused, cancelled—
outcomeyesWorkOutcome | nullWorkOutcome: values succeeded, failed, cancelled—
phaseyesWorkPhasevalues queued, provisioning, executing, finalizing, terminal—
revision_actionyesTaskRevisionActionvalues new, retained, replanned—
wait_reasonyesWaitReasonvalues none, approval, dependency, capacity, input, budget, operator—

TaskSummaryProjection

FieldRequiredTypeConstraints/defaultDescription
active_attempt_countyesintegerminimum 0.0—
attempt_countyesintegerminimum 0.0—
attempt_groupsyesarray of AttemptStateGroupmaximum items 1024—
latest_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
plan_revisionyesintegerminimum 1.0—
run_idyesRunIdpattern ^run_[0-9a-f]{32}$—
task_countyesintegerminimum 0.0—
task_groupsyesarray of TaskStateGroupmaximum items 512—

TaskTitle

Type: string Constraints: minimum length 1; maximum length 240

TaskToolId

Type: string Constraints: pattern ^[a-z][a-z0-9_.:-]{0,127}$

ToolApproval

Canonical projection of one attempt-generation approval.

FieldRequiredTypeConstraints/defaultDescription
approval_idyesInteractionRequestIdpattern ^int_[0-9a-f]{32}$—
argument_hashyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
attempt_generationyesintegerminimum 1.0—
attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
expires_atyesstringformat date-time—
permitted_decisionsyesarray of objectminimum items 2; maximum items 2—
policy_versionyesintegerminimum 1.0—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
requestyesToolApprovalRequestunknown fields forbidden—
request_hashyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
resolutionyesApprovalResolution | nullApprovalResolution: unknown fields forbidden—
resolved_atyesstring | nullstring: format date-time—
run_idyesRunIdpattern ^run_[0-9a-f]{32}$—
stateyespending | approved | denied | expired | cancelledvalues pending, approved, denied, expired, cancelled—
task_idyesTaskIdpattern ^tsk_[0-9a-f]{32}$—
versionyesintegerminimum 1.0—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

ToolApprovalActor

The trusted product identity requesting one tool action.

FieldRequiredTypeConstraints/defaultDescription
idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
kindnoattemptfixed value attempt; default "attempt"—
labelyesApprovalActorLabelminimum length 1; maximum length 120—

ToolApprovalBudgetImpact

Canonical cost and headroom snapshot captured with the request.

FieldRequiredTypeConstraints/defaultDescription
estimated_cost_microsyesintegerminimum 0.0; maximum 10000000000.0—
estimated_duration_secondsnointeger | nullinteger: minimum 0.0; maximum 86400.0—
remaining_cost_microsyesintegerminimum 0.0—
scopeyesBudgetScopevalues workspace, project, run, task, attempt—

ToolApprovalPage

A bounded page within one exact attempt lineage.

FieldRequiredTypeConstraints/defaultDescription
itemsyesarray of ToolApprovalmaximum items 100—
latest_cursoryesCursorpattern ^c2_[A-Za-z0-9_-]{32}$—
next_afternoInteractionRequestId | nullInteractionRequestId: pattern ^int_[0-9a-f]{32}$—

ToolApprovalRequest

The exact normalized tool request a person is being asked to allow.

FieldRequiredTypeConstraints/defaultDescription
actionyesApprovalActionminimum length 1; maximum length 240—
actoryesToolApprovalActorunknown fields forbidden—
argumentsyesobject——
budgetyesToolApprovalBudgetImpactunknown fields forbidden—
data_exposureyesToolDataExposureunknown fields forbidden—
risk_classyesToolRiskClassvalues read, write, execute, external_side_effect, credentialed, destructive—
summaryyesApprovalSummaryminimum length 1; maximum length 500—
targetyesApprovalTargetminimum length 1; maximum length 500—
tool_call_idyesToolCallIdentifierminimum length 1; maximum length 128—
tool_idyesPolicyIdentifierpattern ^[a-z][a-z0-9_.:-]{0,127}$—

ToolCallIdentifier

Type: string Constraints: minimum length 1; maximum length 128

ToolDataExposure

Trusted description of the data boundary crossed by one tool.

FieldRequiredTypeConstraints/defaultDescription
classificationyesDataClassificationvalues public, internal, confidential, restricted—
egressyesboolean——
labelyesstringminimum length 1; maximum length 240—

ToolEvent

FieldRequiredTypeConstraints/defaultDescription
attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
detailnostring | null——
event_idyesEventIdpattern ^eve_[0-9a-f]{32}$—
event_typeyestool.requested | tool.started | tool.delta | tool.completedvalues tool.requested, tool.started, tool.delta, tool.completed—
occurred_atyesstringformat date-time—
provider_sequenceyesintegerminimum 0.0—
replayablenobooleandefault true—
statusyesrequested | running | succeeded | failedvalues requested, running, succeeded, failed—
tool_call_idyesstring——
tool_nameyesstring——

ToolRiskClass

Type: read | write | execute | external_side_effect | credentialed | destructive Constraints: values read, write, execute, external_side_effect, credentialed, destructive

UnsupportedDisposition

Type: quarantined Constraints: fixed value quarantined

UnsupportedExtensionSurface

FieldRequiredTypeConstraints/defaultDescription
dispositionnoUnsupportedDispositionfixed value quarantined; default "quarantined"—
pathnostring | nullstring: minimum length 1; maximum length 512—
reasonyesstringminimum length 1; maximum length 1000—
surfaceyesstringpattern ^[a-z][a-z0-9_.:-]{1,127}$—

UpdateDraftTaskCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesUpdateDraftTaskPayloadunknown fields forbidden—

UpdateDraftTaskPayload

FieldRequiredTypeConstraints/defaultDescription
acceptance_criterianoarray of AcceptanceCriterion | nullarray of AcceptanceCriterion: minimum items 1; maximum items 20—
allowed_tool_idsnoarray of TaskToolId | nullarray of TaskToolId: minimum items 1; maximum items 32Compatibility metadata only; the server owns attempt tools.
assignment_policynoTaskAssignmentPolicy | nullTaskAssignmentPolicy: values automatic, operator—
concurrency_classnoTaskConcurrencyClass | nullTaskConcurrencyClass: values parallel, exclusive—
estimated_cost_microsnointeger | nullinteger: minimum 0.0; maximum 10000000000.0—
execution_profilenoTaskExecutionProfile | nullTaskExecutionProfile: values planning, research, verification—
expected_plan_revisionyesintegerminimum 1.0—
expected_run_versionyesintegerminimum 1.0—
expected_task_versionyesintegerminimum 1.0—
hard_budget_microsnointeger | nullinteger: minimum 0.0; maximum 10000000000.0—
objectivenoTaskObjective | nullTaskObjective: minimum length 1; maximum length 4000—
prioritynointeger | nullinteger: minimum -1000.0; maximum 1000.0—
required_environment_capabilitiesnoarray of EnvironmentCapability | nullarray of EnvironmentCapability: minimum items 1; maximum items 8Compatibility metadata only; the server owns attempt environments.
starter_contextnostring | nullstring: maximum length 16384—
titlenoTaskTitle | nullTaskTitle: minimum length 1; maximum length 240—

UpdateProjectSettingsCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesUpdateProjectSettingsPayloadunknown fields forbidden—

UpdateProjectSettingsPayload

FieldRequiredTypeConstraints/defaultDescription
expected_versionyesintegerminimum 1.0—
settingsyesProjectSettingsunknown fields forbidden—

UpdateScheduleCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesUpdateSchedulePayloadunknown fields forbidden—

UpdateSchedulePayload

FieldRequiredTypeConstraints/defaultDescription
expected_versionyesintegerminimum 1.0—
templateyesScheduleRunTemplateunknown fields forbidden—
timingyesScheduleTimingunknown fields forbidden—

UpdateTaskBudgetCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesUpdateTaskBudgetPayloadunknown fields forbidden—

UpdateTaskBudgetPayload

FieldRequiredTypeConstraints/defaultDescription
expected_plan_revisionyesintegerminimum 1.0—
expected_run_generationyesintegerminimum 1.0—
expected_run_versionyesintegerminimum 1.0—
expected_task_versionyesintegerminimum 1.0—
hard_budget_microsyesintegerminimum 0.0; maximum 10000000000.0—

UpdateTaskExecutionProfileCommand

FieldRequiredTypeConstraints/defaultDescription
command_idyesCommandIdpattern ^cmd_[0-9a-f]{32}$—
idempotency_keyyesstringminimum length 8; maximum length 128—
payloadyesUpdateTaskExecutionProfilePayloadunknown fields forbidden—

UpdateTaskExecutionProfilePayload

FieldRequiredTypeConstraints/defaultDescription
execution_profileyesTaskExecutionProfilevalues planning, research, verification—
expected_plan_revisionyesintegerminimum 1.0—
expected_run_generationyesintegerminimum 1.0—
expected_run_versionyesintegerminimum 1.0—
expected_task_versionyesintegerminimum 1.0—

UsageUpdatedEvent

FieldRequiredTypeConstraints/defaultDescription
attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
estimated_cost_microsyesintegerminimum 0.0—
event_idyesEventIdpattern ^eve_[0-9a-f]{32}$—
event_typeyesusage.updatedfixed value usage.updated—
input_tokensyesintegerminimum 0.0—
occurred_atyesstringformat date-time—
output_tokensyesintegerminimum 0.0—
provider_sequenceyesintegerminimum 0.0—
replayablenobooleandefault true—

ValidationMethod

Type: rerun | fresh_sandbox_replication | independent_implementation | leakage_check | perturbation | statistical_check | data_quality_check | contradiction_search | raw_metric_check Constraints: values rerun, fresh_sandbox_replication, independent_implementation, leakage_check, perturbation, statistical_check, data_quality_check, contradiction_search, raw_metric_check

ValidationOutcome

Type: passed | failed | inconclusive | error Constraints: values passed, failed, inconclusive, error

ValidationSummary

Type: string Constraints: minimum length 1; maximum length 8000

VariableDefinitionId

Type: string Constraints: pattern ^vdf_[0-9a-f]{32}$

VariableDefinitionProjection

FieldRequiredTypeConstraints/defaultDescription
created_atyesstringformat date-time—
descriptionyesstring——
live_anchor_idyesLiveAnchorIdpattern ^anc_[0-9a-f]{32}$—
nameyesstring——
producer_requirementsyesobject——
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
sensitivityyesVariableSensitivityvalues public, internal, sensitive, restricted—
value_schemayesobject——
value_typeyesVariableValueTypevalues boolean, integer, number, string, json, table, artifact—
variable_definition_idyesVariableDefinitionIdpattern ^vdf_[0-9a-f]{32}$—
versionyesintegerminimum 1.0—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

VariablePage

FieldRequiredTypeConstraints/defaultDescription
current_valuesyesarray of VariableValueProjection——
definitionsyesarray of VariableDefinitionProjection——

VariableSensitivity

Type: public | internal | sensitive | restricted Constraints: values public, internal, sensitive, restricted

VariableValueEvidenceTarget

FieldRequiredTypeConstraints/defaultDescription
target_kindyesvariable_valuefixed value variable_value—
variable_value_idyesVariableValueIdpattern ^val_[0-9a-f]{32}$—

VariableValueId

Type: string Constraints: pattern ^val_[0-9a-f]{32}$

VariableValueOrigin

Type: captured | manual | imported Constraints: values captured, manual, imported

VariableValueProjection

FieldRequiredTypeConstraints/defaultDescription
artifact_idyesArtifactId | nullArtifactId: pattern ^art_[0-9a-f]{32}$—
authoryesKnowledgeActorunknown fields forbidden—
block_revision_idyesBlockRevisionId | nullBlockRevisionId: pattern ^rev_[0-9a-f]{32}$—
content_hashyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
created_atyesstringformat date-time—
environment_digestyesSha256Digest | nullSha256Digest: pattern ^sha256:[0-9a-f]{64}$—
inlineyesInlineVariableValue | nullInlineVariableValue: unknown fields forbidden—
input_manifestyesobject——
originyesVariableValueOriginvalues captured, manual, imported—
producing_execution_idyesExecutionId | nullExecutionId: pattern ^exe_[0-9a-f]{32}$—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
retracted_atyesstring | nullstring: format date-time—
retraction_reasonyesstring | null——
revisionyesintegerminimum 1.0—
source_import_idyesProjectImportId | nullProjectImportId: pattern ^imp_[0-9a-f]{32}$—
stateyesVariableValueStatevalues active, retracted—
value_manifestyesobject——
variable_definition_idyesVariableDefinitionIdpattern ^vdf_[0-9a-f]{32}$—
variable_value_idyesVariableValueIdpattern ^val_[0-9a-f]{32}$—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

VariableValueState

Type: active | retracted Constraints: values active, retracted

VariableValueType

Type: boolean | integer | number | string | json | table | artifact Constraints: values boolean, integer, number, string, json, table, artifact

WaitReason

Type: none | approval | dependency | capacity | input | budget | operator Constraints: values none, approval, dependency, capacity, input, budget, operator

WebResearchProfileSummary

FieldRequiredTypeConstraints/defaultDescription
fetch_reservation_microsyesintegerminimum 0.0—
native_modeyesturbo | instantvalues turbo, instant—
profile_idyesstringminimum length 3; maximum length 64—
provideryesparallel | exavalues parallel, exa—
search_reservation_microsyesintegerminimum 0.0—
supported_languagesyesarray of string | null——
supports_published_beforeyesboolean——

WorkOutcome

Type: succeeded | failed | cancelled Constraints: values succeeded, failed, cancelled

WorkPhase

Type: queued | provisioning | executing | finalizing | terminal Constraints: values queued, provisioning, executing, finalizing, terminal

WorkspaceChangeKind

Type: added | modified | deleted Constraints: values added, modified, deleted

WorkspaceChangeSetManifest

Reviewable patch metadata against one pinned project snapshot.

FieldRequiredTypeConstraints/defaultDescription
base_snapshot_artifact_idnoArtifactId | nullArtifactId: pattern ^art_[0-9a-f]{32}$—
base_snapshot_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
base_workspace_versionyesintegerminimum 0.0—
candidate_snapshot_artifact_idyesArtifactIdpattern ^art_[0-9a-f]{32}$—
candidate_snapshot_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
candidate_workspace_versionyesintegerminimum 1.0—
changesyesarray of WorkspacePathChangeminimum items 1; maximum items 256—
git_statusyesWorkspaceGitStatusunknown fields forbidden—
producing_attempt_generationyesintegerminimum 1.0—
producing_attempt_idyesAttemptIdpattern ^att_[0-9a-f]{32}$—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
versionno1fixed value 1; default 1—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—

WorkspaceFileReference

One accepted path pointing at separately verified content bytes.

FieldRequiredTypeConstraints/defaultDescription
artifact_idyesArtifactIdpattern ^art_[0-9a-f]{32}$—
digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
executablenobooleandefault false—
media_typeyesstringminimum length 3; maximum length 255—
pathyesstringminimum length 1; maximum length 512—
size_bytesyesintegerminimum 0.0; maximum 8388608.0—

WorkspaceGitStatus

Bounded Git interoperability metadata; never product state.

FieldRequiredTypeConstraints/defaultDescription
branchnostring | nullstring: minimum length 1; maximum length 255—
detachednobooleandefault false—
head_commitnostring | nullstring: pattern ^[0-9a-f]{40}(?:[0-9a-f]{24})?$—
porcelain_v2nostringmaximum length 65536; default ""—

WorkspaceId

Type: string Constraints: pattern ^wsp_[0-9a-f]{32}$

WorkspaceManifest

The complete accepted content-addressed project checkout.

FieldRequiredTypeConstraints/defaultDescription
filesyesarray of WorkspaceFileReferencemaximum items 256—
versionno1fixed value 1; default 1—

WorkspaceName

Type: string Constraints: minimum length 1; maximum length 200

WorkspacePathChange

FieldRequiredTypeConstraints/defaultDescription
after_artifact_idnoArtifactId | nullArtifactId: pattern ^art_[0-9a-f]{32}$—
after_digestnoSha256Digest | nullSha256Digest: pattern ^sha256:[0-9a-f]{64}$—
before_digestnoSha256Digest | nullSha256Digest: pattern ^sha256:[0-9a-f]{64}$—
kindyesWorkspaceChangeKindvalues added, modified, deleted—
pathyesstringminimum length 1; maximum length 512—
safe_text_patchnostring | nullstring: maximum length 131072—

WorkspaceSnapshotProjection

FieldRequiredTypeConstraints/defaultDescription
manifestyesWorkspaceManifestunknown fields forbidden—
project_idyesProjectIdpattern ^prj_[0-9a-f]{32}$—
workspace_artifact_idyesArtifactId | nullArtifactId: pattern ^art_[0-9a-f]{32}$—
workspace_digestyesSha256Digestpattern ^sha256:[0-9a-f]{64}$—
workspace_idyesWorkspaceIdpattern ^wsp_[0-9a-f]{32}$—
workspace_versionyesintegerminimum 0.0—

On this page

Authentication schemesEndpointsGET /api/development-projectGET /api/extensionsGET /api/extensions/{extension_id}GET /api/extensions/{extension_id}/toolsGET /api/projectsPOST /api/projectsGET /api/projects/{project_id}GET /api/projects/{project_id}/anchors/{anchor_id}POST /api/projects/{project_id}/anchors/{anchor_id}/selectionsPOST /api/projects/{project_id}/archives/importsGET /api/projects/{project_id}/archives/latestGET /api/projects/{project_id}/artifactsGET /api/projects/{project_id}/artifacts/{artifact_id}GET /api/projects/{project_id}/artifacts/{artifact_id}/manifestGET /api/projects/{project_id}/artifacts/{artifact_id}/table/rowsGET /api/projects/{project_id}/artifacts/{artifact_id}/table/schemaGET /api/projects/{project_id}/claimsPOST /api/projects/{project_id}/claimsPOST /api/projects/{project_id}/claims/evidencePOST /api/projects/{project_id}/claims/reviewsGET /api/projects/{project_id}/claims/revisions/{claim_revision_id}/evidencePOST /api/projects/{project_id}/claims/validationsGET /api/projects/{project_id}/claims/{claim_id}/currentGET /api/projects/{project_id}/deletionPOST /api/projects/{project_id}/deletion/export-completePOST /api/projects/{project_id}/deletion/finalizePOST /api/projects/{project_id}/deletion/requestGET /api/projects/{project_id}/documentsPOST /api/projects/{project_id}/documentsPOST /api/projects/{project_id}/documents/imports/ipynbGET /api/projects/{project_id}/documents/{document_id}GET /api/projects/{project_id}/documents/{document_id}/blocksPOST /api/projects/{project_id}/documents/{document_id}/blocksPOST /api/projects/{project_id}/documents/{document_id}/blocks/{block_id}/deleteGET /api/projects/{project_id}/documents/{document_id}/blocks/{block_id}/executionsPOST /api/projects/{project_id}/documents/{document_id}/blocks/{block_id}/executionsPOST /api/projects/{project_id}/documents/{document_id}/blocks/{block_id}/movePOST /api/projects/{project_id}/documents/{document_id}/blocks/{block_id}/patches/acceptGET /api/projects/{project_id}/documents/{document_id}/blocks/{block_id}/revisionsPOST /api/projects/{project_id}/documents/{document_id}/blocks/{block_id}/revisionsGET /api/projects/{project_id}/documents/{document_id}/blocks/{block_id}/windowGET /api/projects/{project_id}/documents/{document_id}/exports/ipynbGET /api/projects/{project_id}/documents/{document_id}/searchGET /api/projects/{project_id}/eventsPOST /api/projects/{project_id}/evidencePOST /api/projects/{project_id}/evidence/retractionsGET /api/projects/{project_id}/evidence/{evidence_ref_id}GET /api/projects/{project_id}/evidence/{evidence_ref_id}/referenceGET /api/projects/{project_id}/executions/{execution_id}/outputsGET /api/projects/{project_id}/experimentsGET /api/projects/{project_id}/experiments/environmentsGET /api/projects/{project_id}/runsPOST /api/projects/{project_id}/runsGET /api/projects/{project_id}/runs/{run_id}POST /api/projects/{project_id}/runs/{run_id}/approveGET /api/projects/{project_id}/runs/{run_id}/attemptsGET /api/projects/{project_id}/runs/{run_id}/attempts/{attempt_id}POST /api/projects/{project_id}/runs/{run_id}/attempts/{attempt_id}/local-gateway-bridge-tokensPOST /api/projects/{project_id}/runs/{run_id}/cancelGET /api/projects/{project_id}/runs/{run_id}/graphPOST /api/projects/{project_id}/runs/{run_id}/pausePOST /api/projects/{project_id}/runs/{run_id}/plan-revisionsPOST /api/projects/{project_id}/runs/{run_id}/plan-revisions/approveGET /api/projects/{project_id}/runs/{run_id}/resultPOST /api/projects/{project_id}/runs/{run_id}/resumeGET /api/projects/{project_id}/runs/{run_id}/storyGET /api/projects/{project_id}/runs/{run_id}/task-controlPOST /api/projects/{project_id}/runs/{run_id}/task-dependenciesPOST /api/projects/{project_id}/runs/{run_id}/task-dependencies/removeGET /api/projects/{project_id}/runs/{run_id}/tasksPOST /api/projects/{project_id}/runs/{run_id}/tasksGET /api/projects/{project_id}/runs/{run_id}/tasks/summaryPOST /api/projects/{project_id}/runs/{run_id}/tasks/{source_task_id}/attempts/{source_attempt_id}/messagesGET /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}POST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/assignmentGET /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/attemptsGET /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/attempts/{attempt_id}GET /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/attempts/{attempt_id}/approvalsGET /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/attempts/{attempt_id}/approvals/{approval_id}POST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/attempts/{attempt_id}/approvals/{approval_id}/resolveGET /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/attempts/{attempt_id}/eventsPOST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/attempts/{attempt_id}/interruptPOST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/attempts/{attempt_id}/steerPOST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/budgetPOST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/budget-wait/clearPOST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/cancelPOST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/execution-profileGET /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/messagesPOST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/pausePOST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/resumePOST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/retryPOST /api/projects/{project_id}/runs/{run_id}/tasks/{task_id}/updateGET /api/projects/{project_id}/schedulesPOST /api/projects/{project_id}/schedulesGET /api/projects/{project_id}/schedules/{schedule_id}PUT /api/projects/{project_id}/schedules/{schedule_id}POST /api/projects/{project_id}/schedules/{schedule_id}/deletePOST /api/projects/{project_id}/schedules/{schedule_id}/pausePOST /api/projects/{project_id}/schedules/{schedule_id}/resumeGET /api/projects/{project_id}/searchPUT /api/projects/{project_id}/settingsGET /api/projects/{project_id}/variablesPOST /api/projects/{project_id}/variables/definitionsPOST /api/projects/{project_id}/variables/retractionsPOST /api/projects/{project_id}/variables/valuesGET /api/projects/{project_id}/workspacePOST /api/projects/{project_id}/workspace/change-sets/acceptancesPOST /api/projects/{project_id}/workspace/change-sets/rejectionsGET /api/projects/{project_id}/workspace/change-sets/{change_set_artifact_id}GET /api/projects/{project_id}/writeups/{document_id}/exports/{export_format}GET /api/retention-policiesPOST /api/runtime-ticketsGET /api/settings/catalogGET /api/workspaces/{workspace_id}/extension-capability-diffs/{extension_id}/{version_digest}GET /api/workspaces/{workspace_id}/extensionsPOST /api/workspaces/{workspace_id}/extensionsGET /api/workspaces/{workspace_id}/extensions/{installation_id}POST /api/workspaces/{workspace_id}/extensions/{installation_id}/tools/{tool_id}/disablePOST /api/workspaces/{workspace_id}/extensions/{installation_id}/tools/{tool_id}/enableGET /api/workspaces/{workspace_id}/rulesPOST /api/workspaces/{workspace_id}/rulesPUT /api/workspaces/{workspace_id}/rules/{rule_id}GET /health/liveGET /health/readySchemasAcceptBlockPatchCommandAcceptBlockPatchPayloadAcceptWorkspaceChangeSetCommandAcceptWorkspaceChangeSetPayloadAcceptanceCriterionAcceptedMetricClaimAcknowledgeProjectExportCommandAcknowledgeProjectExportPayloadAddTaskDependencyCommandAddTaskDependencyPayloadAgentEventUnionAgentMessageContentAgentMessagePageAgentMessageProjectionAgentSkillVersionApprovalActionApprovalActorLabelApprovalEventApprovalResolutionApprovalSummaryApprovalTargetApprovePlanCommandApprovePlanPayloadApprovePlanRevisionCommandApprovePlanRevisionPayloadArtifactEvidenceTargetArtifactIdArtifactManifestArtifactPageArtifactPublishedEventArtifactSearchLocatorAssignTaskCommandAssignTaskPayloadAttachEvidenceCommandAttachEvidencePayloadAttemptDetailProjectionAttemptEventPageAttemptEventProjectionAttemptEventSearchLocatorAttemptIdAttemptLifecycleEventAttemptPageAttemptProjectionAttemptStateGroupBlockIdBlockLanguageBlockPageBlockProjectionBlockRevisionEvidenceTargetBlockRevisionIdBlockRevisionPageBlockRevisionProjectionBlockSearchLocatorBlockSearchPageBlockSearchResultBlockSourceBlockTypeBlockWindowBudgetScopeCancelRunCommandCancelRunPayloadCancelTaskCommandCancelTaskPayloadCancellationReasonCaptureVariableValueCommandCaptureVariableValuePayloadCheckpointCreatedEventClaimCurrentnessClaimIdClaimPageClaimProposedEventClaimReviewStatusClaimRevisionEvidenceTargetClaimRevisionIdClaimRevisionProjectionClaimSearchLocatorClaimTypeClaimValidationIdClaimValidationProjectionClaimValidityClearTaskBudgetWaitCommandClearTaskBudgetWaitPayloadCommandAcceptedCommandIdCommandRejectedConnectorActivationCreateBlockCommandCreateBlockPayloadCreateClaimCommandCreateClaimPayloadCreateDocumentCommandCreateDocumentPayloadCreateEvidenceReferenceCommandCreateEvidenceReferencePayloadCreatePlanRevisionCommandCreatePlanRevisionPayloadCreateProjectCommandCreateProjectPayloadCreateResearchRunCommandCreateResearchRunPayloadCreateScheduleCommandCreateSchedulePayloadCreateScopedRuleCommandCreateScopedRulePayloadCreateTaskCommandCreateTaskPayloadCursorDataClassificationDataRetentionPolicyDataRetentionPolicyCatalogDeleteBlockCommandDeleteBlockPayloadDeleteScheduleCommandDeleteSchedulePayloadDependencyHandoffDependencyReasonDesiredStateDisableExtensionToolCommandDisableExtensionToolPayloadDocumentDetailProjectionDocumentIdDocumentKindDocumentPageDocumentProjectionDocumentTitleDomainEventEnableExtensionToolCommandEnableExtensionToolPayloadEnvironmentCapabilityEnvironmentManifestContentEnvironmentManifestProjectionEnvironmentObservationStateErrorDetailEventActorEventIdEvidenceAttachmentEvidenceDependentKindEvidenceEdgeProjectionEvidenceNeighborhoodEvidenceProjectionEvidenceRefIdEvidenceReferenceProjectionEvidenceRoleEvidenceStateEvidenceTargetExecuteBlockCommandExecuteBlockPayloadExecutionIdExecutionOutputEvidenceTargetExecutionOutputIdExecutionOutputPageExecutionOutputProjectionExecutionPageExecutionProjectionExecutionTicketRequestExperimentBranchExperimentEnvironmentExperimentEnvironmentPageExperimentObjectiveExperimentPageExtensionAuthorExtensionCapabilityDiffExtensionCapabilityDiffPreviewExtensionCatalogEntryExtensionCatalogPageExtensionCommandAcceptedExtensionEcosystemExtensionIdExtensionInstallationIdExtensionInstallationPageExtensionInstallationProjectionExtensionMetadataExtensionReviewStateExtensionSecretBindingInputExtensionSecretRequirementProjectionExtensionSourceExtensionToolExtensionToolPageFinalizeProjectDeletionCommandFinalizeProjectDeletionPayloadHandoffKindHandoffRequirementHandoffSlotHealthReportHumanAssertionEvidenceTargetInferenceProfileSummaryInlineVariableValueInstallExtensionCommandInstallExtensionPayloadInstalledExtensionToolPolicyInteractionRequestIdInterruptAttemptCommandInterruptAttemptPayloadJsonValueKnowledgeActorKnowledgeAuthorTypeLiveAnchorIdLiveAnchorProjectionLiveAnchorTypeLocalGatewayBridgeTokenRequestLocalGatewayBridgeTokenResponseLocalGatewayIdMcpNameMcpSecretReferenceMessageEventMessageSearchLocatorMetricTextMetricTitleMoveBlockCommandMoveBlockPayloadOpeningIdOperationalCheckOutputSearchLocatorPauseReasonPauseRunCommandPauseRunPayloadPauseScheduleCommandPauseSchedulePayloadPauseTaskCommandPauseTaskPayloadPlanEdgeSpecPlanProjectionPlanRevisionAcceptedPlanRevisionSpecPlanTaskSpecPlanVersionIdPluginNamePolicyIdentifierProductSearchHitProductSearchKindProductSearchLocatorProductSearchPageProjectDeletionProjectionProjectIdProjectImportIdProjectNameProjectPageProjectProjectionProjectSettingsProjectWorkspaceChangeSetProjectionPtyTicketRequestReasoningSummaryEventRecordClaimValidationCommandRecordClaimValidationPayloadRejectWorkspaceChangeSetCommandRejectWorkspaceChangeSetPayloadRemoteMcpServerRemoveTaskDependencyCommandRemoveTaskDependencyPayloadReplaceScopedRuleCommandReplaceScopedRulePayloadReproductionEvidenceReproductionMethodReproductionOutcomeReproductionStateRequestProjectDeletionCommandRequestProjectDeletionPayloadResearchObjectiveResearchReferenceResearchReferenceKindResearchResultResearchStoryResolveToolApprovalCommandResolveToolApprovalPayloadResumeRunCommandResumeRunPayloadResumeScheduleCommandResumeSchedulePayloadResumeTaskCommandResumeTaskPayloadRetentionCodeRetentionDataClassRetractEvidenceCommandRetractEvidencePayloadRetractVariableValueCommandRetractVariableValuePayloadRetryTaskCommandRetryTaskPayloadReviewClaimCommandReviewClaimPayloadRuleCommandAcceptedRuleIdRuleInstructionsRuleScopeKindRuleTitleRunAttemptHistoryItemRunAttemptHistoryPageRunDetailProjectionRunIdRunPageRunProjectionRuntimeControlTicketRequestRuntimeHostRuntimeOriginRuntimeSessionIdRuntimeTicketAudienceRuntimeTicketGrantRuntimeTicketOperationRuntimeTicketScopeRuntimeVersionSaveBlockRevisionCommandSaveBlockRevisionPayloadScheduleDeletionReasonScheduleDesiredStateScheduleDetailProjectionScheduleIdScheduleOverlapPolicySchedulePageScheduleProjectionScheduleRunTemplateScheduleSyncStateScheduleTimingScheduleTitleScopedRulePageScopedRuleVersionSecretReferenceIdSelectLiveAnchorCommandSelectLiveAnchorPayloadSendAgentMessageCommandSendAgentMessagePayloadSetVariableDefinitionCommandSetVariableDefinitionPayloadSettingsCatalogSha256DigestSkillNameSkillResourceSummarySourceRevisionSteerAttemptCommandSteerAttemptPayloadSteeringInstructionStoryArtifactStoryAttemptStoryBlockStoryClaimStoryTaskStoryWriteupTabularArtifactPageTabularArtifactSchemaTabularCellTabularCellKindTabularFieldProjectionTaskAssignmentPolicyTaskConcurrencyClassTaskControlItemTaskControlSnapshotTaskDetailProjectionTaskEdgeProjectionTaskExecutionProfileTaskGraphEdgeProjectionTaskGraphNodeProjectionTaskGraphPageTaskIdTaskKeyTaskObjectiveTaskPageTaskProjectionTaskProposedEventTaskRevisionActionTaskSearchLocatorTaskStateGroupTaskSummaryProjectionTaskTitleTaskToolIdToolApprovalToolApprovalActorToolApprovalBudgetImpactToolApprovalPageToolApprovalRequestToolCallIdentifierToolDataExposureToolEventToolRiskClassUnsupportedDispositionUnsupportedExtensionSurfaceUpdateDraftTaskCommandUpdateDraftTaskPayloadUpdateProjectSettingsCommandUpdateProjectSettingsPayloadUpdateScheduleCommandUpdateSchedulePayloadUpdateTaskBudgetCommandUpdateTaskBudgetPayloadUpdateTaskExecutionProfileCommandUpdateTaskExecutionProfilePayloadUsageUpdatedEventValidationMethodValidationOutcomeValidationSummaryVariableDefinitionIdVariableDefinitionProjectionVariablePageVariableSensitivityVariableValueEvidenceTargetVariableValueIdVariableValueOriginVariableValueProjectionVariableValueStateVariableValueTypeWaitReasonWebResearchProfileSummaryWorkOutcomeWorkPhaseWorkspaceChangeKindWorkspaceChangeSetManifestWorkspaceFileReferenceWorkspaceGitStatusWorkspaceIdWorkspaceManifestWorkspaceNameWorkspacePathChangeWorkspaceSnapshotProjection