Socket Agentic Access
Socket exposes 96 API operations that an AI agent could call, of which 44 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: 52 read, 43 write, and 1 safety-critical.
1 operation 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 | /orgs/{org_slug}/api-tokens/revoke | safety-critical | required |
Source
Agentic Access
generated: '2026-07-21'
method: generated
source: openapi/socket-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: 96
by_action_class:
acting: 44
connected: 52
by_consequence:
write: 43
read: 52
safety-critical: 1
human_in_the_loop_required: 1
operations:
- path: /purl
method: post
operationId: batchPackageFetch
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- packages:list
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /dependencies/search
method: post
operationId: searchDependencies
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: /dependencies/upload
method: post
operationId: createDependenciesSnapshot
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- report:write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/full-scans
method: get
operationId: getOrgFullScanList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- full-scans:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/full-scans
method: post
operationId: CreateOrgFullScan
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- full-scans:create
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/full-scans/{full_scan_id}
method: get
operationId: getOrgFullScan
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- full-scans:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/full-scans/{full_scan_id}
method: delete
operationId: deleteOrgFullScan
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- full-scans:delete
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/full-scans/{full_scan_id}/metadata
method: get
operationId: getOrgFullScanMetadata
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- full-scans:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/full-scans/diff
method: get
operationId: GetOrgDiffScan
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- full-scans:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/full-scans/diff/gfm
method: get
operationId: GetOrgFullScanDiffGfm
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- full-scans:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/full-scans/{full_scan_id}/files/tar
method: get
operationId: downloadOrgFullScanFilesAsTar
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- full-scans:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/full-scans/archive
method: post
operationId: CreateOrgFullScanArchive
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- full-scans:create
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/full-scans/{full_scan_id}/rescan
method: post
operationId: rescanOrgFullScan
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- full-scans:create
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/full-scans/{full_scan_id}/format/csv
method: post
operationId: getOrgFullScanCsv
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- full-scans:list
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/full-scans/{full_scan_id}/format/pdf
method: post
operationId: getOrgFullScanPdf
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- full-scans:list
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/export/cdx/{id}
method: get
operationId: exportCDX
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- report:read
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/export/openvex/{id}
method: get
operationId: exportOpenVEX
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- report:read
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/export/spdx/{id}
method: get
operationId: exportSPDX
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- report:read
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/diff-scans
method: get
operationId: listOrgDiffScans
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- diff-scans:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/diff-scans/{diff_scan_id}
method: get
operationId: getDiffScanById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- diff-scans:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/diff-scans/{diff_scan_id}
method: delete
operationId: deleteOrgDiffScan
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- diff-scans:delete
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/diff-scans/{diff_scan_id}/gfm
method: get
operationId: GetDiffScanGfm
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- diff-scans:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/diff-scans/from-repo/{repo_slug}
method: post
operationId: createOrgRepoDiff
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- diff-scans:create
- full-scans:create
- repo:list
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/diff-scans/from-ids
method: post
operationId: createOrgDiffScanFromIds
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- diff-scans:create
- full-scans:list
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/triage/alerts
method: get
operationId: getOrgTriage
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- triage:alerts-list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/triage/alerts
method: post
operationId: updateOrgAlertTriage
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- triage:alerts-update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/triage/alerts/{uuid}
method: delete
operationId: deleteOrgAlertTriage
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- triage:alerts-update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/alerts/resolutions
method: get
operationId: getOrgAlertResolutions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- alert-resolution:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/alerts/resolutions/{uuid}
method: get
operationId: getOrgAlertResolution
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- alert-resolution:read
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/alerts/resolutions/{uuid}
method: delete
operationId: deleteOrgAlertResolution
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- alert-resolution:delete
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/repos
method: get
operationId: getOrgRepoList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- repo:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/repos
method: post
operationId: createOrgRepo
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- repo:create
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/repos/{repo_slug}
method: get
operationId: getOrgRepo
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- repo:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/repos/{repo_slug}
method: post
operationId: updateOrgRepo
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- repo:update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/repos/{repo_slug}
method: delete
operationId: deleteOrgRepo
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- repo:delete
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/repos/labels/{label_id}/associate
method: post
operationId: associateOrgRepoLabel
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- repo-label:update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/repos/labels
method: post
operationId: createOrgRepoLabel
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- repo-label:create
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/repos/labels
method: get
operationId: getOrgRepoLabelList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- repo-label:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/repos/labels/{label_id}
method: delete
operationId: deleteOrgRepoLabel
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- repo-label:delete
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/repos/labels/{label_id}
method: get
operationId: getOrgRepoLabel
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- repo-label:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/repos/labels/{label_id}
method: put
operationId: updateOrgRepoLabel
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- repo-label:update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/repos/labels/{label_id}/label-setting
method: delete
operationId: deleteOrgRepoLabelSetting
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- repo-label:update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/repos/labels/{label_id}/label-setting
method: get
operationId: getOrgRepoLabelSetting
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- repo-label:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/repos/labels/{label_id}/label-setting
method: put
operationId: updateOrgRepoLabelSetting
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- repo-label:update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/repos/labels/{label_id}/disassociate
method: post
operationId: disassociateOrgRepoLabel
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- repo-label:update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/settings/integrations/{integration_id}/events
method: get
operationId: getIntegrationEvents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- integration:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/settings/security-policy
method: get
operationId: getOrgSecurityPolicy
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- security-policy:read
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/settings/security-policy
method: post
operationId: updateOrgSecurityPolicy
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- security-policy:update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/settings/license-policy
method: get
operationId: getOrgLicensePolicy
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- license-policy:read
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/settings/license-policy
method: post
operationId: updateOrgLicensePolicy
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- license-policy:update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/settings/license-policy/view
method: get
operationId: viewLicensePolicy
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- license-policy:read
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/settings/socket-basics
method: get
operationId: getSocketBasicsConfig
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- socket-basics:read
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/historical/alerts
method: get
operationId: historicalAlertsList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- historical:alerts-list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/historical/alerts/trend
method: get
operationId: historicalAlertsTrend
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- historical:alerts-trend
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/historical/dependencies/trend
method: get
operationId: historicalDependenciesTrend
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- historical:dependencies-trend
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/historical/snapshots
method: get
operationId: historicalSnapshotsList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- historical:snapshots-list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/historical/snapshots
method: post
operationId: historicalSnapshotsStart
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- historical:snapshots-start
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/audit-log
method: get
operationId: getAuditLogEvents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- audit-log:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/api-tokens
method: post
operationId: postAPIToken
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- api-tokens:create
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/api-tokens
method: get
operationId: getAPITokens
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- api-tokens:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/api-tokens/update
method: post
operationId: postAPITokenUpdate
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- api-tokens:create
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/api-tokens/rotate
method: post
operationId: postAPITokensRotate
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- api-tokens:rotate
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/api-tokens/revoke
method: post
operationId: postAPITokensRevoke
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
scope:
- api-tokens:revoke
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /orgs/{org_slug}/supported-files
method: get
operationId: getSupportedFiles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /threat-feed
method: get
operationId: getThreatFeedItems
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- threat-feed:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/threat-feed
method: get
operationId: getOrgThreatFeedItems
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- threat-feed:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/purl
method: post
operationId: batchPackageFetchByOrg
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- packages:list
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/fixes
method: get
operationId: fetch-fixes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- fixes:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/telemetry/config
method: get
operationId: getOrgTelemetryConfig
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/telemetry/config
method: put
operationId: updateOrgTelemetryConfig
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- telemetry-policy:update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/webhooks
method: get
operationId: getOrgWebhooksList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- webhooks:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/webhooks
method: post
operationId: createOrgWebhook
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- webhooks:create
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/webhooks/{webhook_id}
method: get
operationId: getOrgWebhook
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- webhooks:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/webhooks/{webhook_id}
method: put
operationId: updateOrgWebhook
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- webhooks:update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/webhooks/{webhook_id}
method: delete
operationId: deleteOrgWebhook
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- webhooks:delete
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /orgs/{org_slug}/alerts
method: get
operationId: alertsList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- alerts:list
token:
max-ttl: 3600
audit: none
- path: /orgs/{org_slug}/alert-full-scan-search
method: get
operationId: alertFullScans
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- alerts:list
token:
max-ttl: 3600
audit: none
- path: /license-policy
method: post
operationId: licensePolicy
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- license-policy:read
- packages:list
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /saturate-license-policy
method: post
operationId: saturateLicensePolicy
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- packages:list
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /license-metadata
method: post
operationId: licenseMetadata
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: /alert-types
method: post
operationId: alertTypes
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: /openapi
method: get
operationId: getOpenAPI
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /openapi.json
method: get
operationId: getOpenAPIJSON
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /quota
method: get
operationId: getQuota
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations
method: get
operationId: getOrganizations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /settings
method: post
operationId: postSettings
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: /report/supported
method: get
operationId: getReportSupportedFiles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /report/delete/{id}
method: delete
operationId: deleteReport
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- report:write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /report/list
method: get
operationId: getReportList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- report:list
token:
max-ttl: 3600
audit: none
- path: /report/upload
method: put
operationId: createReport
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- report:write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /report/view/{id}
method: get
operationId: getReport
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- report:read
token:
max-ttl: 3600
audit: none
- path: /repo/list
method: get
operationId: getRepoList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- repo:list
token:
max-ttl: 3600
audit: none
- path: /npm/{package}/{version}/issues
method: get
operationId: getIssuesByNPMPackage
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /npm/{package}/{version}/score
method: get
operationId: getScoreByNPMPackage
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /analytics/org/{filter}
method: get
operationId: getOrgAnalytics
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- report:write
token:
max-ttl: 3600
audit: none
- path: /analytics/repo/{name}/{filter}
method: get
operationId: getRepoAnalytics
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- report:write
token:
max-ttl: 3600
audit: none