Precog Agentic Access
Precog exposes 62 API operations that an AI agent could call, of which 35 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: 27 read, 31 write, and 4 safety-critical.
4 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.
By consequence
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.
| Method | Path | Consequence | Human-in-loop |
|---|---|---|---|
| POST | /admin/overrides | safety-critical | required |
| PUT | /admin/overrides/{id} | safety-critical | required |
| DELETE | /admin/overrides/{id} | safety-critical | required |
| POST | /admin/overrides/{id}/applies-to | safety-critical | required |
Source
Agentic Access
generated: '2026-07-20'
method: generated
source: openapi/precog-admin-http-api-openapi.yaml, openapi/precog-metadata-http-api-openapi.yaml,
openapi/precog-public-http-api-openapi.yaml
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: 62
by_action_class:
acting: 35
connected: 27
by_consequence:
safety-critical: 4
read: 27
write: 31
human_in_the_loop_required: 4
operations:
- path: /admin/overrides
method: post
operationId: create-job-overrides
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: /admin/overrides/{id}
method: get
operationId: get-job-overrides
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /admin/overrides/{id}
method: put
operationId: replace-job-overrides
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: /admin/overrides/{id}
method: delete
operationId: delete-job-overrides
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: /admin/overrides/{id}/applies-to
method: post
operationId: append-applies-to
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: /admin/overrides/domain/{domain}
method: get
operationId: list-job-overrides-for-domain
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /pipelines/{pipeline-id}/metadata
method: get
operationId: get-pipelines-pipeline-id-metadata
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /pipelines/{pipeline-id}/dataset-properties
method: get
operationId: get-pipeline-id-dataset-properties
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /sources
method: get
operationId: get-sources
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /sources
method: post
operationId: post-sources
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: /sources/{source-id}/refresh
method: post
operationId: refresh-source-by-id
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: /sources/{source-id}/auth
method: put
operationId: auth-source-by-id
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: /sources/{source-id}
method: get
operationId: get-sources-source-id
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /sources/{source-id}
method: put
operationId: put-sources-source-id
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: /sources/{source-id}
method: delete
operationId: delete-sources-source-id
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: /sources/{source-id}/pipelines/{pipeline-id}
method: delete
operationId: delete-sources-source-id-pipelines-pipeline-id
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: /sources/{source-id}/datasets
method: get
operationId: get-sources-source-id-datasets
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /datasets/{dataset-id}/abort-loading
method: post
operationId: abort-loading-for-dataset
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: /destinations
method: get
operationId: get-destinations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /destinations
method: post
operationId: post-destinations
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: /destinations/{destination-id}
method: get
operationId: get-destinations-destination-id
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /destinations/{destination-id}
method: put
operationId: put-destinations-destination-id
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: /kinds/{kind-id}
method: get
operationId: get-kinds-kind-id
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kinds/source
method: get
operationId: get-kinds-source
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /kinds/destination
method: get
operationId: get-kinds-destination
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /pipelines
method: get
operationId: get-pipelines
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /pipelines
method: post
operationId: post-pipelines
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: /pipelines/status
method: get
operationId: get-pipelines-status
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /pipelines/{pipeline-id}
method: get
operationId: get-pipelines-pipeline-id
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /pipelines/{pipeline-id}
method: delete
operationId: delete-pipelines-pipeline-id
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: /pipelines/{pipeline-id}/metrics
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /pipelines/{pipeline-id}/datasets
method: get
operationId: get-pipelines-pipeline-id-datasets
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /pipelines/{pipeline-id}/datasets
method: patch
operationId: patch-pipelines-pipeline-id-datasets
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: /pipelines/{pipeline-id}/details
method: get
operationId: get-pipelines-pipeline-id-details
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /pipelines/{pipeline-id}/status
method: get
operationId: get-pipelines-pipeline-id-status
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /pipelines/{pipeline-id}/loads
method: post
operationId: post-pipelines-pipeline-id-loads
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: /pipelines/{pipeline-id}/rename
method: put
operationId: put-pipelines-pipeline-id-rename
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: /pipelines/{pipeline-id}/pii-config
method: put
operationId: put-pipelines-pipeline-id-pii-config
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: /pipelines/{pipeline-id}/vectorize
method: put
operationId: put-pipelines-pipeline-id-vectorize
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: /pipelines/{pipeline-id}/encode
method: post
operationId: post-pipelines-pipeline-id-encode
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: /pipelines/{pipeline-id}/semantic-contexts
method: get
operationId: get-pipelines-pipeline-id-semantic-contexts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /pipelines/{pipeline-id}/semantic-contexts
method: post
operationId: post-pipelines-pipeline-id-semantic-contexts
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: /pipelines/{pipeline-id}/semantic-contexts/{semantic-context-id}
method: get
operationId: get-pipelines-pipeline-id-semantic-contexts-semantic-context-id
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /pipelines/{pipeline-id}/semantic-contexts/{semantic-context-id}
method: put
operationId: put-pipelines-pipeline-id-semantic-contexts-semantic-context-id
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: /pipelines/{pipeline-id}/semantic-contexts/{semantic-context-id}
method: delete
operationId: delete-pipelines-pipeline-id-semantic-contexts-semantic-context-id
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: /semantic-model/generation-jobs
method: post
operationId: post-semantic-model-generation-jobs
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: /semantic-model/generation-jobs
method: get
operationId: get-semantic-model-generation-jobs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /semantic-model/generation-jobs/{job-id}
method: get
operationId: get-semantic-model-generation-jobs-job-id
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /semantic-model/generation-jobs/{job-id}/cancel
method: post
operationId: post-semantic-model-generation-jobs-job-id-cancel
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: /data-model/relationship-candidates
method: get
operationId: get-data-model-relationship-candidates
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /pipelines/{pipeline-id}/schedule
method: put
operationId: put-pipelines-pipeline-id-schedule
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: /pipelines/{pipeline-id}/schedule
method: get
operationId: get-pipelines-pipeline-id-schedule
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /pipelines/{pipeline-id}/notification
method: put
operationId: put-pipelines-pipeline-id-notification
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: /pipelines/{pipeline-id}/notification
method: get
operationId: get-pipelines-pipeline-id-notification
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /loads/{load-id}/metrics
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /log
method: post
operationId: post-log
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: /stripe/check
method: post
operationId: post-stripe-check
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: /stripe/session
method: post
operationId: post-stripe-session
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: /issues/
method: post
operationId: post-issues
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: /issues/{issue-id}/assets
method: post
operationId: post-issues-issue-id-assets
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: /issues/{issue-id}/respond
method: put
operationId: put-issues-issue-id-respond
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: /issues/{issue-id}/approve
method: put
operationId: put-issues-issue-id-approve
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