{"apiVersion":"v1","generatedAt":"2026-11-08T07:51:55.642Z","data":{"title":"Context Canvas Agent API","version":"1.0.0","readOnly":true,"auth":{"required":true,"schemes":["bearer","session"],"appliesTo":["/api/v1/blueprints*","/api/v1/packs/{id}/*","/api/v1/policy","/api/v1/audit"],"scopes":{"blueprints:read":"Blueprints, graphs, validation, versions and export previews","audit:read":"The audit log"},"notes":"Send an organization API key as Authorization: Bearer cck_... (create one under Settings > API keys), or call with a signed-in session. Results are limited to the key's or user's organization; other blueprints return 404. Invalid, revoked and expired keys return 401 (INVALID_API_KEY, API_KEY_REVOKED, API_KEY_EXPIRED); a key without the endpoint's scope returns 403 INSUFFICIENT_SCOPE. Index, docs, OpenAPI and template endpoints stay public."},"basePath":"/api/v1","docs":{"bundle":"/api/v1/docs","markdown":"/api/v1/docs/markdown","openapi":"/api/v1/openapi"},"redactionPolicy":["SETTING metadata with settingType=environment always redacts environment values.","SETTING metadata with settingType=mcp redacts mcpServers[*].env values.","SETTING metadata with settingType=mcp also redacts mcpServers[*].headers values.","Export preview redacts every env and headers value in every JSON file; unparseable JSON files are withheld.","Version IR and source snapshots redact every env and headers value at any depth, plus the SETTING metadata rules above."],"endpoints":[{"method":"GET","path":"/api/v1","summary":"API index with version, docs pointers, and endpoint list"},{"method":"GET","path":"/api/v1/openapi","summary":"OpenAPI 3.1 spec for the read-only API"},{"method":"GET","path":"/api/v1/docs","summary":"Complete docs bundle for external agent clients"},{"method":"GET","path":"/api/v1/docs/markdown","summary":"Markdown quick-reference for API consumers"},{"method":"GET","path":"/api/v1/templates","summary":"List the blueprint templates with summary metadata"},{"method":"GET","path":"/api/v1/blueprints","summary":"List blueprints in the caller's organization, newest first, with node count and latest version","notes":"Cursor paging: ?limit=1-100 (default 50) and ?cursor=<nextCursor>."},{"method":"GET","path":"/api/v1/blueprints/{id}","summary":"Read one blueprint: counts, latest version, and links to its graph, validation, versions and export preview"},{"method":"GET","path":"/api/v1/blueprints/{id}/graph","summary":"Read a blueprint's graph (nodes and edges) with sensitive setting values redacted","notes":"Setting env values are always redacted in this endpoint."},{"method":"GET","path":"/api/v1/blueprints/{id}/validate","summary":"Run graph validation plus Claude export compliance checks"},{"method":"GET","path":"/api/v1/blueprints/{id}/export/preview","summary":"Read export manifest with env and headers values redacted in every JSON file","notes":"Optional ?targets=claude-code,agents-md, ?version=<number|latest|staging|production> (default: the live draft), ?layout=plugin (an installable Claude Code plugin), ?marketplace=1, and ?otel=<OTLP endpoint> (telemetry settings tagged with the blueprint)."},{"method":"GET","path":"/api/v1/blueprints/{id}/versions","summary":"List published blueprint versions, newest first (number, content hash, message, time)"},{"method":"GET","path":"/api/v1/blueprints/{id}/versions/{versionId}","summary":"Read one immutable version (by number, id, latest, staging or production): its compiled IR and source snapshot, secrets redacted"},{"method":"GET","path":"/api/v1/policy","summary":"Read the organization policy the build gate applies to every blueprint"},{"method":"GET","path":"/api/v1/audit","summary":"Read the organization's audit log, newest first (needs the audit:read scope)","notes":"Filters: ?category, ?targetId, ?from and ?to (ISO 8601), ?limit=1-200, ?cursor=<nextCursor>."}],"aliases":{"note":"A \"pack\" is the earlier name for a blueprint. Each /api/v1/packs path answers the same requests as its /api/v1/blueprints (or /api/v1/templates) path and is deprecated.","paths":{"/packs/templates":"/templates","/packs/{id}/graph":"/blueprints/{id}/graph","/packs/{id}/validate":"/blueprints/{id}/validate","/packs/{id}/versions":"/blueprints/{id}/versions","/packs/{id}/versions/{versionId}":"/blueprints/{id}/versions/{versionId}","/packs/{id}/export/preview":"/blueprints/{id}/export/preview"}}}}