CoreStory · Agentic Access

CoreStory Agentic Access

x-agentic-access generated

CoreStory exposes 255 API operations that an AI agent could call, of which 127 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.

By consequence: 128 read, 117 write, 4 physical, and 6 safety-critical.

6 operations are classed safety-critical and should require human-in-the-loop approval at runtime.

Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.

CompanyAiCode IntelligenceLegacy ModernizationDeveloper ToolsCode AnalysisDocumentationMCPAgentic
Operations: 255 Acting: 127 Human-in-the-loop: 6 Method: generated

By consequence

read 128 write 117 physical 4 safety-critical 6

Highest-consequence actions

The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.

MethodPathConsequenceHuman-in-loop
DELETE /api/api-keys/{key_id} safety-critical required
POST /api/api-keys/{key_id}/revoke safety-critical required
DELETE /api/mcp-tokens/{token_id} safety-critical required
POST /api/mcp-tokens/{token_id}/revoke safety-critical required
DELETE /api/organizations/ingestion-config safety-critical required
POST /api/projects/{project_id}/documents/generate/preset safety-critical required
POST /api/billing/checkout-session physical conditional
POST /api/organizations/{org_id}/provision-enterprise physical conditional
POST /api/projects/{project_id}/transfer physical conditional
POST /api/projects/{project_id}/workflows/{workflow_id}/messages physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-07-18'
method: generated
source: openapi/corestory-openapi-original.json
description: Recommended x-agentic-access execution contracts, classified heuristically from
  the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind
  audience per deployment. See research/curity/agentic-governance/.
summary:
  operations: 255
  by_action_class:
    acting: 127
    connected: 128
  by_consequence:
    write: 117
    read: 128
    safety-critical: 6
    physical: 4
  human_in_the_loop_required: 6
operations:
- path: /api/vector-store/{project_id}/clear
  method: post
  operationId: clear_vector_store
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/vector-store/{project_id}/latest-index
  method: post
  operationId: build_latest_partial_index
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/vector-store/{project_id}/ingest
  method: post
  operationId: ingest_vector_data
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/vector-store/{project_id}/status
  method: get
  operationId: get_vector_store_status
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/vector-store/{project_id}/side-load
  method: post
  operationId: side_load_vectors
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/vector-store/{project_id}/add-documents
  method: post
  operationId: add_vector_documents
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/vector-store/{project_id}/schema
  method: get
  operationId: get_vector_table_schema
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/vector-store/{project_id}/export
  method: get
  operationId: export_vectors
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/vector-store/{project_id}/export/stream
  method: get
  operationId: export_vectors_stream
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/vector-store/{project_id}/import/stream
  method: post
  operationId: import_vectors_stream
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/vector-store/{project_id}/cancel-ingest
  method: post
  operationId: cancel_vector_ingestion
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/vector-store/{project_id}/update-metadata
  method: post
  operationId: update_vector_metadata
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/documents/{project_id}/sections/features/requirements
  method: post
  operationId: generate_tech_requirements
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/format/available-sections/{doc_type}
  method: get
  operationId: get_available_document_sections
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/format/table-of-contents
  method: post
  operationId: generate_table_of_contents
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/format/markdown-output/{project_id}/{doc_type}
  method: get
  operationId: export_document_markdown
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/format/pdf-output
  method: post
  operationId: export_pdf_from_markdown
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/format/document-async/{project_id}/{doc_type}
  method: post
  operationId: start_async_pdf_generation
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/format/pdf-stream/{job_id}
  method: get
  operationId: stream_pdf_generation_progress
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/format/pdf-output-result/{job_id}
  method: get
  operationId: download_pdf_result
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/format/docx-output
  method: post
  operationId: export_docx_from_markdown
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/documents/generate
  method: post
  operationId: generate_dynamic_document
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/documents/generate/preset
  method: post
  operationId: generate_preset_document
  x-agentic-access:
    action-class: acting
    consequence: safety-critical
    subject: required
    audience: null
    token:
      max-ttl: 120
      exchange: true
      purpose-required: true
      proof-of-possession: true
    escalation:
      human-in-the-loop: required
    audit: required
- path: /api/projects/{project_id}/documents
  method: get
  operationId: list_generated_documents
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/documents/{document_id}
  method: get
  operationId: get_generated_document
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/documents/{document_id}/download
  method: get
  operationId: download_generated_document
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/documents/{document_id}/sections/{section_name}/regenerate
  method: post
  operationId: regenerate_document_section
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/prompts/{project_id}/prd/{prd_id}
  method: get
  operationId: get_project_prompts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/prompts/{project_id}/prd/{prd_id}/{prompt_id}
  method: get
  operationId: get_project_prompt
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/prompts/list
  method: get
  operationId: list_prompts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/prompts/{prompt_id}
  method: get
  operationId: get_prompt
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/discovery/{prd_id}/identify-core-features
  method: get
  operationId: get_core_features
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/discovery/{prd_id}/questions
  method: get
  operationId: get_discovery_questions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/graph/cache/stats
  method: get
  operationId: get_cache_stats
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/graph/cache
  method: delete
  operationId: clear_cache
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/graph/cache/ttl
  method: put
  operationId: update_cache_ttl
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/graph/cache/entry/{cache_key}
  method: get
  operationId: get_cache_entry
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/graph/cache/dump
  method: get
  operationId: dump_cache
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/graph/cache/set
  method: post
  operationId: set_cache_entries
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/prd/versions
  method: get
  operationId: list_prd_versions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/prd/import-steps
  method: post
  operationId: import_prd_steps
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/prd/versions/create-from-latest
  method: post
  operationId: create_prd_version_from_latest
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/prd/versions/{version_uid}
  method: delete
  operationId: delete_prd_version
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/prd/versions/{version_uid}
  method: patch
  operationId: update_prd_version
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/prd/versions/diff
  method: get
  operationId: diff_prd_versions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/prd/versions/{version_uid}/promote
  method: post
  operationId: promote_prd_version
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/prd/versions/{version_uid}/{section_name}/promote
  method: post
  operationId: promote_prd_section
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/tech-spec/versions/{version_uid}/{section_name}/promote
  method: post
  operationId: promote_tech_spec_section
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/prd/{section_name}/versions
  method: get
  operationId: list_prd_section_versions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/tech-spec/{section_name}/versions
  method: get
  operationId: list_tech_spec_section_versions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/samples
  method: get
  operationId: list_sample_projects
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/samples
  method: post
  operationId: create_sample_project
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/samples/{sample_project_id}
  method: get
  operationId: get_sample_project
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/samples/{sample_project_id}
  method: patch
  operationId: update_sample_project
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/samples/{sample_project_id}
  method: delete
  operationId: delete_sample_project
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/samples/clone
  method: post
  operationId: clone_sample_project
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/sections/{section_name}/generate
  method: post
  operationId: generate_section
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/sections/generate-all
  method: post
  operationId: generate_all_sections
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/sections/tech-user-stories/catalog
  method: get
  operationId: get_tech_user_stories_section_catalog
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/sections/user-stories/catalog
  method: get
  operationId: get_user_stories_section_catalog
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/sections
  method: get
  operationId: get_all_sections
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/sections/{section_name}
  method: get
  operationId: get_section
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/sections/{section_name}
  method: patch
  operationId: update_section
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/sections/catalog
  method: get
  operationId: get_section_catalog
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects
  method: post
  operationId: create_project
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects
  method: get
  operationId: list_projects
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/create-and-generate
  method: post
  operationId: create_project_and_generate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}
  method: patch
  operationId: update_project
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}
  method: get
  operationId: get_project
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/transfer
  method: post
  operationId: transfer_project
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/status
  method: get
  operationId: get_project_status
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/pending-commits
  method: get
  operationId: get_pending_commits
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/health
  method: get
  operationId: get_project_health
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/tech-spec
  method: get
  operationId: get_tech_spec
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/prd/status
  method: get
  operationId: get_prd_status
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/tech-spec/status
  method: get
  operationId: get_tech_spec_status
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/prd
  method: get
  operationId: get_prd
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/delete
  method: delete
  operationId: delete_project
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/metrics/processing/summary
  method: get
  operationId: get_project_metrics_summary
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/upload-repository
  method: post
  operationId: upload_repository
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/upload-repository-from-pre-ingestion
  method: post
  operationId: upload_repository_from_pre_ingestion
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/prd/generate
  method: post
  operationId: generate_prd
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/tech-spec/generate
  method: post
  operationId: generate_tech_spec
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/prd/generate-all
  method: post
  operationId: generate_all_prd_sections
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/prd/context
  method: get
  operationId: get_prd_context
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/prd/context
  method: post
  operationId: set_prd_context
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/prd/user-stories/catalog
  method: get
  operationId: get_user_stories_catalog
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/tech-spec/tech-user-stories/catalog
  method: get
  operationId: get_tech_user_stories_catalog
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/reingestion/analyze
  method: post
  operationId: start_reingestion_analysis
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/reingestion/analyze/{job_id}/status
  method: get
  operationId: get_reingestion_status
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/reingestion/analyze/{job_id}/coverage
  method: get
  operationId: get_reingestion_coverage
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/reingestion/analyze/{job_id}/excluded-files
  method: get
  operationId: get_reingestion_excluded_files
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/reingestion/analyze/{job_id}/included-files
  method: get
  operationId: get_reingestion_included_files
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/reingestion/analyze/{job_id}
  method: delete
  operationId: delete_reingestion_job
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/reingestion/trigger
  method: post
  operationId: trigger_reingestion
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/ingestion-events
  method: get
  operationId: list_ingestion_events
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/ingestion-events/{event_id}/doc-impact
  method: get
  operationId: get_ingestion_event_doc_impact
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/clone
  method: post
  operationId: clone_project
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/prd/{section_name}/generate
  method: post
  operationId: generate_prd_section
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/tech-spec/{section_name}/generate
  method: post
  operationId: generate_tech_spec_section
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/prd/{section_name}
  method: patch
  operationId: update_prd_section
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/prd/{section_name}
  method: get
  operationId: get_prd_section
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/tech-spec/{section_name}
  method: patch
  operationId: update_tech_spec_section
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/projects/{project_id}/tech-spec/{section_name}
  method: get
  operationId: get_tech_spec_section
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/file-manifest
  method: get
  operationId: get_project_file_manifest
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/projects/{project_id}/file-content
  method: get
  operationId: get_file_content
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: non

# --- truncated at 32 KB (76 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/corestory/refs/heads/main/agentic-access/corestory-agentic-access.yml