Quantum Art Agentic Access
Quantum Art exposes 55 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: 38 read, 15 write, 1 physical, 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 | /admin/services/{service_name}/maintenance/disable | safety-critical | required |
| POST | /auth/login/resend-mfa | physical | conditional |
Source
Agentic Access
generated: '2026-07-20'
method: generated
source: openapi/quantum-art-qaas-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: 55
by_action_class:
connected: 38
acting: 17
by_consequence:
read: 38
write: 15
physical: 1
safety-critical: 1
human_in_the_loop_required: 1
operations:
- path: /provider/backends
method: get
operationId: list_backends_provider_backends_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /provider/backends/{backend_name}
method: get
operationId: get_backend_details_provider_backends__backend_name__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /provider/jobs
method: post
operationId: submit_job_provider_jobs_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: /provider/jobs/{job_id}
method: get
operationId: get_job_status_provider_jobs__job_id__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /provider/jobs/{job_id}
method: delete
operationId: cancel_job_provider_jobs__job_id__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: /provider/jobs/{job_id}/result
method: get
operationId: get_job_result_provider_jobs__job_id__result_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/register
method: post
operationId: register_auth_register_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-email/{token}
method: get
operationId: verify_email_auth_verify_email__token__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /
method: get
operationId: root_redirect__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /favicon.png
method: get
operationId: favicon_favicon_png_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /apple-touch-icon.png
method: get
operationId: apple_touch_icon_apple_touch_icon_png_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /health
method: get
operationId: health_check_health_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dashboard/{path}
method: get
operationId: serve_dashboard_dashboard__path__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /user/{path}
method: get
operationId: serve_user_user__path__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /documentation
method: get
operationId: serve_documentation_documentation_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /docs/end-user-agreement
method: get
operationId: serve_end_user_agreement_docs_end_user_agreement_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /legal/{filename}
method: get
operationId: serve_legal_document_legal__filename__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /login
method: get
operationId: serve_login_login_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /register
method: get
operationId: serve_register_register_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /logo-wide.png
method: get
operationId: serve_logo_wide_logo_wide_png_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /logo-wide-dark.png
method: get
operationId: serve_logo_wide_dark_logo_wide_dark_png_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /logo-square.png
method: get
operationId: serve_logo_square_logo_square_png_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /logo-square-light.png
method: get
operationId: serve_logo_square_light_logo_square_light_png_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /orb.mp4
method: get
operationId: serve_orb_video_orb_mp4_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /orb-poster.jpg
method: get
operationId: serve_orb_poster_orb_poster_jpg_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/profile/api-key
method: get
operationId: get_api_key_api_profile_api_key_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/profile/api-key/regenerate
method: post
operationId: regenerate_api_key_api_profile_api_key_regenerate_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/profile/password
method: post
operationId: change_password_api_profile_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: /api/profile
method: patch
operationId: update_profile_api_profile_patch
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/login/verify-mfa
method: post
operationId: verify_mfa_auth_login_verify_mfa_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/resend-mfa
method: post
operationId: resend_mfa_auth_login_resend_mfa_post
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/tasks
method: post
operationId: create_task_api_tasks_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/tasks
method: get
operationId: list_tasks_api_tasks_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/tasks/{task_id}
method: get
operationId: get_task_api_tasks__task_id__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/tasks/{task_id}
method: delete
operationId: cancel_task_endpoint_api_tasks__task_id__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: /api/artifacts/download
method: get
operationId: download_artifact_api_artifacts_download_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/tasks/{task_id}/result
method: get
operationId: download_task_result_api_tasks__task_id__result_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/tasks/{task_id}/result/view
method: get
operationId: view_task_result_api_tasks__task_id__result_view_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/tasks/{task_id}/input
method: get
operationId: download_task_input_api_tasks__task_id__input_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/tasks/{task_id}/input/view
method: get
operationId: view_task_input_api_tasks__task_id__input_view_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/artifacts/view
method: get
operationId: view_artifact_api_artifacts_view_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /admin/config
method: get
operationId: admin_observability_config_admin_config_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /admin/grafana-session
method: post
operationId: admin_grafana_session_admin_grafana_session_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: /admin/health
method: get
operationId: health_check_details_admin_health_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /admin/metrics
method: get
operationId: get_metrics_admin_metrics_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /admin/debug/publish-webserver-metric
method: get
operationId: debug_publish_webserver_metric_admin_debug_publish_webserver_metric_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /admin/services/{service_name}/maintenance
method: get
operationId: get_service_maintenance_status_admin_services__service_name__maintenance_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /admin/services/{service_name}/maintenance/enable
method: post
operationId: enable_service_maintenance_admin_services__service_name__maintenance_enable_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: /admin/services/{service_name}/maintenance/disable
method: post
operationId: disable_service_maintenance_admin_services__service_name__maintenance_disable_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: /admin/users
method: get
operationId: list_users_admin_users_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /admin/users/{user_id}
method: put
operationId: update_user_admin_users__user_id__put
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: /admin/users/{user_id}
method: delete
operationId: delete_user_admin_users__user_id__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: /admin/registration-requests
method: get
operationId: list_registration_requests_admin_registration_requests_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /admin/registration-requests/{req_id}/confirm
method: post
operationId: confirm_registration_request_admin_registration_requests__req_id__confirm_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