OpsMill · Agentic Access

OpsMill Agentic Access

x-agentic-access generated

OpsMill exposes 34 API operations that an AI agent could call, of which 10 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: 24 read and 10 write.

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.

CompanyInfrastructure SaasNetwork AutomationSource Of TruthData ManagementGraphQLDevOpsConfiguration ManagementAIOpsOpen Source
Operations: 34 Acting: 10 Human-in-the-loop: 0 Method: generated

By consequence

read 24 write 10

Source

Agentic Access

Raw ↑
generated: '2026-07-20'
method: generated
source: openapi/opsmill-infrahub-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: 34
  by_action_class:
    connected: 24
    acting: 10
  by_consequence:
    read: 24
    write: 10
  human_in_the_loop_required: 0
operations:
- path: /api/artifact/{artifact_id}
  method: get
  operationId: get_artifact_api_artifact__artifact_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/artifact/generate/{artifact_definition_id}
  method: post
  operationId: generate_artifact_api_artifact_generate__artifact_definition_id__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: /api/auth/login
  method: post
  operationId: login_user_api_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: /api/auth/refresh
  method: post
  operationId: refresh_jwt_token_api_auth_refresh_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: /api/auth/logout
  method: post
  operationId: logout_api_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: /api/auth/ldap/login
  method: post
  operationId: login_ldap_api_auth_ldap_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: /api/diff/files
  method: get
  operationId: get_diff_files_api_diff_files_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/diff/artifacts
  method: get
  operationId: get_diff_artifacts_api_diff_artifacts_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/file/{repository_id}/{file_path}
  method: get
  operationId: get_file_api_file__repository_id___file_path__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/config
  method: get
  operationId: get_config_api_config_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/info
  method: get
  operationId: get_info_api_info_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/menu
  method: get
  operationId: get_menu_api_menu_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/oauth2/{provider_name}/authorize
  method: get
  operationId: authorize_api_oauth2__provider_name__authorize_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/oauth2/{provider_name}/token
  method: get
  operationId: token_api_oauth2__provider_name__token_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/oidc/{provider_name}/authorize
  method: get
  operationId: authorize_api_oidc__provider_name__authorize_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/oidc/{provider_name}/token
  method: get
  operationId: token_api_oidc__provider_name__token_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/query/{query_id}
  method: post
  operationId: graphql_query_post_api_query__query_id__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: /api/query/{query_id}
  method: get
  operationId: graphql_query_get_api_query__query_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/schema
  method: get
  operationId: get_schema_api_schema_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/schema/summary
  method: get
  operationId: get_schema_summary_api_schema_summary_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/schema/{schema_kind}
  method: get
  operationId: get_schema_by_kind_api_schema__schema_kind__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/schema/json_schema/{schema_kind}
  method: get
  operationId: get_json_schema_by_kind_api_schema_json_schema__schema_kind__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/schema/load
  method: post
  operationId: load_schema_api_schema_load_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: /api/schema/check
  method: post
  operationId: check_schema_api_schema_check_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: /api/storage/files/by-hfid/{kind}
  method: get
  operationId: download_file_object_by_hfid_api_storage_files_by_hfid__kind__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/storage/files/by-storage-id/{storage_id}
  method: get
  operationId: download_file_object_by_storage_id_api_storage_files_by_storage_id__storage_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/storage/files/{node_id}
  method: get
  operationId: download_file_object_api_storage_files__node_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/storage/object/{identifier}
  method: get
  operationId: get_file_api_storage_object__identifier__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/storage/upload/content
  method: post
  operationId: upload_content_api_storage_upload_content_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: /api/storage/upload/file
  method: post
  operationId: upload_file_api_storage_upload_file_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: /api/telemetry/snapshots
  method: get
  operationId: get_telemetry_snapshots_api_telemetry_snapshots_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/transform/python/{transform_id}
  method: get
  operationId: transform_python_api_transform_python__transform_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/transform/jinja2/{transform_id}
  method: get
  operationId: transform_jinja2_api_transform_jinja2__transform_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /schema.graphql
  method: get
  operationId: get_graphql_schema_schema_graphql_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none