FastDOL Agentic Access
FastDOL exposes 48 API operations that an AI agent could call, of which 17 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: 31 read, 15 write, and 2 safety-critical.
2 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 | /auth/reset-password | safety-critical | required |
| DELETE | /dashboard/keys/{key_id} | safety-critical | required |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/fastdol-openapi.yml
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: 48
by_action_class:
connected: 31
acting: 17
by_consequence:
read: 31
write: 15
safety-critical: 2
human_in_the_loop_required: 2
operations:
- path: /v1/employers
method: get
operationId: search_employers_v1_employers_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/employers/parent
method: get
operationId: get_parent_company_v1_employers_parent_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/employers/ein/{ein}
method: get
operationId: get_employer_by_ein_v1_employers_ein__ein__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/employers/{employer_id}
method: get
operationId: get_employer_v1_employers__employer_id__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/employers/{employer_id}/inspections
method: get
operationId: get_inspections_v1_employers__employer_id__inspections_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/employers/{employer_id}/severe-injuries
method: get
operationId: get_severe_injuries_v1_employers__employer_id__severe_injuries_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/employers/{employer_id}/whd-cases
method: get
operationId: get_whd_cases_v1_employers__employer_id__whd_cases_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/employers/{employer_id}/osha-accidents
method: get
operationId: get_osha_accidents_v1_employers__employer_id__osha_accidents_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/employers/{employer_id}/sec-enforcement
method: get
operationId: get_sec_enforcement_v1_employers__employer_id__sec_enforcement_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/employers/{employer_id}/peers
method: get
operationId: get_peers_v1_employers__employer_id__peers_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/inspections/{activity_nr}/violations
method: get
operationId: get_violations_v1_inspections__activity_nr__violations_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/employers/batch
method: post
operationId: batch_lookup_v1_employers_batch_post
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: /v1/employers/{employer_id}/risk-history
method: get
operationId: get_risk_history_v1_employers__employer_id__risk_history_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/employers/{employer_id}/feedback
method: post
operationId: submit_feedback_v1_employers__employer_id__feedback_post
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: /v1/industries/naics-codes
method: get
operationId: list_naics_codes_v1_industries_naics_codes_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/industries/{naics4}
method: get
operationId: get_industry_v1_industries__naics4__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/sitemap/employers
method: get
operationId: sitemap_employers_v1_sitemap_employers_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/signup
method: post
operationId: signup_auth_signup_post
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: /auth/verify
method: post
operationId: verify_email_auth_verify_post
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: /auth/login
method: post
operationId: login_auth_login_post
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: /auth/logout
method: post
operationId: logout_auth_logout_post
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: /auth/me
method: get
operationId: get_me_auth_me_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/forgot-password
method: post
operationId: forgot_password_auth_forgot_password_post
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: /auth/reset-password
method: post
operationId: reset_password_auth_reset_password_post
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: /dashboard/plan
method: get
operationId: get_plan_dashboard_plan_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dashboard/keys
method: get
operationId: list_keys_dashboard_keys_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dashboard/keys
method: post
operationId: create_key_dashboard_keys_post
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: /dashboard/keys/{key_id}/rotate
method: post
operationId: rotate_key_dashboard_keys__key_id__rotate_post
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: /dashboard/keys/{key_id}
method: delete
operationId: revoke_key_dashboard_keys__key_id__delete
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: /dashboard/account
method: delete
operationId: delete_account_dashboard_account_delete
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: /webhooks/stripe
method: post
operationId: stripe_webhook_tombstone_webhooks_stripe_post
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: /v1/employers/upload-csv
method: post
operationId: upload_csv_v1_employers_upload_csv_post
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: /v1/stats/state/{code}
method: get
operationId: state_stats_v1_stats_state__code__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/stats/industry/{naics}
method: get
operationId: industry_stats_v1_stats_industry__naics__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/stats/industries
method: get
operationId: industries_index_v1_stats_industries_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/stats/nursing-home/{ccn}
method: get
operationId: nursing_home_detail_v1_stats_nursing_home__ccn__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/stats/nursing-homes/{state_code}
method: get
operationId: nursing_homes_by_state_v1_stats_nursing_homes__state_code__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/stats/nursing-homes
method: get
operationId: nursing_homes_index_v1_stats_nursing_homes_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/stats/states
method: get
operationId: states_index_v1_stats_states_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/export
method: post
operationId: create_export_v1_export_post
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: /v1/export/{job_id}
method: get
operationId: get_export_v1_export__job_id__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/export/{job_id}/download
method: get
operationId: download_export_v1_export__job_id__download_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/usage/lookup
method: post
operationId: log_lookup_v1_usage_lookup_post
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: /v1/usage/pdf-report-claim
method: post
operationId: claim_pdf_report_v1_usage_pdf_report_claim_post
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: /v1/usage
method: get
operationId: get_usage_v1_usage_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/health
method: get
operationId: health_v1_health_head
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/health
method: head
operationId: health_v1_health_head
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/health/detail
method: get
operationId: health_detail_v1_health_detail_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none