FastDOL · Agentic Access

FastDOL Agentic Access

x-agentic-access generated

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.

OSHAComplianceWorkplace SafetyPublic RecordsFederal EnforcementLabor
Operations: 48 Acting: 17 Human-in-the-loop: 2 Method: generated

By consequence

read 31 write 15 safety-critical 2

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
POST /auth/reset-password safety-critical required
DELETE /dashboard/keys/{key_id} safety-critical required

Source

Agentic Access

Raw ↑
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