Arthur Online Agentic Access
Arthur Online exposes 317 API operations that an AI agent could call, of which 137 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: 180 read, 118 write, and 19 physical.
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 | /properties/{property_id}/workorders | physical | conditional |
| PUT | /properties/{property_id}/workorders/{workorder_id} | physical | conditional |
| POST | /tasks/{task_id}/workorders | physical | conditional |
| PUT | /tasks/{task_id}/workorders/{workorder_id} | physical | conditional |
| PUT | /tenancies/{id}/register_deposit | physical | conditional |
| POST | /tenancies/{tenancy_id}/workorders | physical | conditional |
| PUT | /tenancy/{tenancy_id}/workorders/{workorder_id} | physical | conditional |
| POST | /units/{unit_id}/workorders | physical | conditional |
| PUT | /units/{unit_id}/workorders/{workorder_id} | physical | conditional |
| PUT | /workorders/{workorder_id} | physical | conditional |
| POST | /workorders/{workorder_id}/assets | physical | conditional |
| DELETE | /workorders/{workorder_id}/contractors/{contractor_id} | physical | conditional |
| POST | /workorders/{workorder_id}/conversations | physical | conditional |
| POST | /workorders/{workorder_id}/notes | physical | conditional |
| PUT | /workorders/{workorder_id}/notes/{note_id} | physical | conditional |
| DELETE | /workorders/{workorder_id}/notes/{note_id} | physical | conditional |
| PUT | /workorders/{workorder_id}/tags | physical | conditional |
| PUT | /workorders/{workorder_id}/untag | physical | conditional |
| PUT | /workorders/{workorder_id}/untag_all | physical | conditional |
Source
Agentic Access
generated: '2026-07-26'
method: generated
source: openapi/arthur-online-applicants-openapi.yml, openapi/arthur-online-assets-openapi.yml,
openapi/arthur-online-certificates-openapi.yml, openapi/arthur-online-conversations-openapi.yml,
openapi/arthur-online-entities-openapi.yml, openapi/arthur-online-financials-openapi.yml,
openapi/arthur-online-maintenance-openapi.yml, openapi/arthur-online-notes-openapi.yml, openapi/arthur-online-properties-openapi.yml,
openapi/arthur-online-tags-openapi.yml, openapi/arthur-online-tenancies-openapi.yml, openapi/arthur-online-tenants-openapi.yml,
openapi/arthur-online-types-openapi.yml, openapi/arthur-online-units-openapi.yml, openapi/arthur-online-utilities-openapi.yml,
openapi/arthur-online-viewings-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: 317
by_action_class:
connected: 180
acting: 137
by_consequence:
read: 180
write: 118
physical: 19
human_in_the_loop_required: 0
operations:
- path: /applicants/{applicant_id}/assets
method: get
operationId: listAssetsOnApplicant
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applicants/{applicant_id}/assets
method: post
operationId: createAssetOnApplicant
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: /applicants/{applicant_id}/managers/{manager_id}
method: get
operationId: listManagersOnApplicant
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applicants/{applicant_id}/managers/{manager_id}
method: delete
operationId: deleteManagerOnApplicant
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: /applicants/{applicant_id}/managers
method: post
operationId: addManagerOnApplicant
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: /applicants/{applicant_id}/credit_checks
method: get
operationId: listCreditChecksOnApplicant
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applicants/{applicant_id}/conversation_recipients
method: get
operationId: getRecipientsForApplicant
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applicants/{applicant_id}/conversations
method: get
operationId: listConversationsOnApplicant
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applicants/{applicant_id}/conversations
method: post
operationId: createConversationOnApplicant
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: /applicants/{applicant_id}/viewings
method: get
operationId: listViewingsOnApplicant
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applicants/{applicant_id}/viewings
method: post
operationId: addViewingOnApplicant
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: /applicants/{applicant_id}/notes
method: get
operationId: listNotesOnApplicant
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applicants/{applicant_id}/notes
method: post
operationId: addNoteOnApplicant
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: /applicants/{applicant_id}/notes/{note_id}
method: get
operationId: viewNoteOnApplicant
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applicants/{applicant_id}/notes/{note_id}
method: put
operationId: updateNoteOnApplicant
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: /applicants/{applicant_id}/notes/{note_id}
method: delete
operationId: deleteNoteOnApplicant
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: /applicants/{applicant_id}/tags
method: get
operationId: listTagsOnApplicant
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applicants/{applicant_id}/tags
method: put
operationId: tagApplicant
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: /applicants/{applicant_id}/untag
method: put
operationId: untagApplicant
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: /applicants/{applicant_id}/untag_all
method: put
operationId: untagAllApplicantTags
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: /applicants
method: get
operationId: listApplicants
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applicants
method: post
operationId: addApplicant
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: /applicants/{applicant_id}
method: get
operationId: viewApplicant
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applicants/{applicant_id}
method: put
operationId: updateApplicant
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: /applicant/{applicant_id}/status
method: put
operationId: updateApplicantStatus
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: /assets
method: get
operationId: listAssets
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /assets
method: post
operationId: createAsset
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: /assets/{asset_id}
method: get
operationId: viewAsset
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /assets/{asset_id}
method: put
operationId: updateAsset
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: /assets/{asset_id}
method: delete
operationId: deleteAsset
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: /certificates
method: get
operationId: listCertificates
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /certificates/{certificate_id}
method: get
operationId: viewCertificate
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /certificates/{certificate_id}
method: put
operationId: updateCertificate
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: /certificates/{certificate_id}
method: delete
operationId: deleteCertificate
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: /conversations/{conversation_id}/assets
method: get
operationId: listAssetsOnConversation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /conversations/{conversation_id}/messages
method: get
operationId: listMessagesRelatedToConversation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /conversations/{conversation_id}/messages
method: post
operationId: addMessagesRelatedToConversation
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: /conversations/{conversation_id}/messages/{message_id}
method: get
operationId: viewMessageRelatedToConversation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /conversations/{conversation_id}
method: get
operationId: listConversations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /entities
method: get
operationId: listEntities
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /entities
method: post
operationId: createEntity
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: /entities/{entity_id}
method: get
operationId: viewEntity
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /entities/{entity_id}
method: put
operationId: updateEntity
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: /entities/{entity_id}
method: delete
operationId: deleteEntity
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: /recurrings/{recurringId}
method: get
operationId: viewRecurring
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /transactions
method: get
operationId: listTransactions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /transactions/{transaction_id}
method: get
operationId: viewTransaction
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /transactions/{transaction_id}/payoff
method: put
operationId: payoffTransaction
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: /invoices
method: get
operationId: listInvoices
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /invoices/{invoice_id}
method: get
operationId: viewInvoices
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tasks/{task_id}/subtasks
method: get
operationId: listSubtasksOnTask
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tasks/{task_id}/subtasks
method: post
operationId: createSubtaskOnTask
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: /tasks/{task_id}/subtasks/{subtask_id}
method: get
operationId: viewSubtaskOnTask
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tasks/{task_id}/subtasks/{subtask_id}
method: put
operationId: updateSubtaskOnTask
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: /tasks/{task_id}/subtasks/{subtask_id}
method: delete
operationId: deleteSubtaskOnTask
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: /tasks/{task_id}/workorders
method: get
operationId: listWorkordersOnTask
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tasks/{task_id}/workorders
method: post
operationId: createWorkorderOnTask
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: /tasks/{task_id}/workorders/{workorder_id}
method: get
operationId: viewWorkorderOnTask
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tasks/{task_id}/workorders/{workorder_id}
method: put
operationId: updateWorkorderOnTask
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: /tasks/{task_id}/tags
method: get
operationId: listTagsOnTask
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tasks/{task_id}/tags
method: put
operationId: tagTask
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: /tasks/{task_id}/untag
method: put
operationId: untagTask
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: /tasks/{task_id}/untag_all
method: put
operationId: untagAllTaskTags
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: /tasks/{task_id}/notes
method: get
operationId: listNotesOnTask
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tasks/{task_id}/notes
method: post
operationId: createNoteOnTask
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: /tasks/{task_id}/notes/{note_id}
method: get
operationId: viewNoteOnTask
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tasks/{task_id}/notes/{note_id}
method: put
operationId: updateNoteOnTask
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: /tasks/{task_id}/notes/{note_id}
method: delete
operationId: deleteNoteOnTask
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: /tasks/{task_id}/conversation_recipients
method: get
operationId: getRecipientsForTask
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tasks/{task_id}/conversations
method: get
operationId: listConversationsOnTask
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tasks/{task_id}/conversations
method: post
operationId: addConversationOnTask
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: /tasks/{task_id}/assets
method: get
operationId: listAssetsOnTask
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tasks/{task_id}/assets/{asset_id}
method: get
operationId: viewAssetOnTask
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tasks/{task_id}/tenants
method: get
operationId: listTenantsOnTask
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tasks/{task_id}/tenants/{tenant_id}
method: get
operationId: viewTenantOnTask
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tasks
method: get
operationId: listTasks
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tasks/{status}
method: get
operationId: listTasksByStatus
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tasks/{task_id}
method: get
operationId: viewTask
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tasks/{task_id}
method: put
operationId: updateTask
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: /tasks/{task_id}
method: delete
operationId: deleteTask
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: /tasks/{task_id}/status
method: put
operationId: updateStatusOnTask
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: /subtasks
method: get
operationId: listSubtasks
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /subtasks/{subtask_id}
method: get
operationId: viewSubtask
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /subtasks/{subtask_id}
method: put
operationId: updateSubtask
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: /subtasks/{subtask_id}
method: delete
operationId: deleteSubtask
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: /workorders/{workorder_id}/transactions
method: get
operationId: listTransactionsOnWorkorder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /workorders/{workorder_id}/certificates
method: get
operationId: listCertificatesOnWorkorder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /workorders/{workorder_id}/quotes
method: get
operationId: listQuotesOnWorkorder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /workorders/{workorder_id}/quotes/{quote_id}
method: get
operationId: viewQuoteOnWorkorder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /workorders/{workorder_id}/invoices
method: get
operationId: listInvoicesOnWorkorder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /workorders/{workorder_id}/invoices/{invoice_id}
method: get
operationId: viewInvoiceOnWorkorder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /workorders/{workorder_id}/assets
method: get
operationId: listAssetsOnWorkorder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /workorders/{workorder_id}/assets
method: post
operationId: createAssetOnWorkorder
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: /workorders/{workorder_id}/assets/{edge_id}
method: get
operationId: viewAssetOnWorkorder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /workorders/{workorder_id}/conversation_recipients
method: get
operationId: getRecipientsForWorkorder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /workorders/{workorder_id}/conversations
method: get
operationId: listConversationsOnWorkorder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /workorders/{workorder_id}/conversations
method: post
operationId: createConversationOnWorkorder
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: /workorders/{workorder_id}/notes
method: get
operationId: listNotesOnWorkorder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /workorders/{workorder_id}/notes
method: post
operationId: addNoteOnWorkorder
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: /workorders/{workorder_id}/notes/{edge_id}
method: get
operationId: viewNoteOnWorkorder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /workorders/{workorder_id}/notes/{note_id}
method: put
operationId: updateNoteOnWorkorder
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: /workorders/{workorder_id}/notes/{note_id}
method: delete
operationId: deleteNoteOnWorkorder
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: /workorders/{workorder_id}/tags
method: get
operationId: listTagsOnWorkorder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /workorders/{workorder_id}/tags
method: put
operationId: tagWorkorder
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: /workorders/{workorder_id}/untag
method: put
operationId: untagWorkorder
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: /workorders/{workorder_id}/untag_all
method: put
operationId: untagAllWorkorderTags
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: /workorders/{workorder_id}/contractors
method: get
operationId: listContractorsOnWorkorder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /workorders/{workorder_id}/contractors/{contractor_id}
method: get
operationId: viewContractorOnWorkorder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /workorders/{workorder_id}/contractors/{contractor_id}
method: delete
operationId: deleteContractorOnWorkorder
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-v
# --- truncated at 32 KB (88 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/arthur-online/refs/heads/main/agentic-access/arthur-online-agentic-access.yml