Decisiv · Agentic Access

Decisiv Agentic Access

x-agentic-access generated

Decisiv exposes 272 API operations that an AI agent could call, of which 108 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: 164 read, 89 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.

Companycommercial-vehiclefleet-managementservice-relationship-managementtelematicsasset-managementmaintenance-and-repairheavy-duty-truckingtransportationdealer-managementjson-apiwebhooks
Operations: 272 Acting: 108 Human-in-the-loop: 0 Method: generated

By consequence

read 164 write 89 physical 19

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 /account_management/v1/accounts/{account_id}/users/{account_user_id}/relationships/roles physical conditional
DELETE /account_management/v1/accounts/{account_id}/users/{account_user_id}/relationships/roles/{id} physical conditional
PATCH /asset_management/{srm_account_id}/v1/cases/{case_id}/relationships/billing_contact physical conditional
PATCH /asset_management/{srm_account_id}/v1/cases/{case_id}/relationships/primary_contact physical conditional
POST /asset_management/{srm_account_id}/v1/cases/{case_id}/send_note_to_provider physical conditional
POST /asset_management/{srm_account_id}/v1/registered_assets/{id}/transfer physical conditional
PATCH /asset_management/{srm_account_id}/v1/registered_components/{component_id}/relationships/registered_asset physical conditional
PATCH /service_management/{srm_account_id}/v1/cases/{case_id}/line_items/{line_item_id}/parts/{part_id}/relationships/salesperson physical conditional
PATCH /service_management/{srm_account_id}/v1/cases/{case_id}/line_items/{line_item_id}/relationships/assignee physical conditional
PATCH /service_management/{srm_account_id}/v1/cases/{case_id}/relationships/billing_contact physical conditional
PATCH /service_management/{srm_account_id}/v1/cases/{case_id}/relationships/billing_customer physical conditional
PATCH /service_management/{srm_account_id}/v1/cases/{case_id}/relationships/driver physical conditional
PATCH /service_management/{srm_account_id}/v1/cases/{case_id}/relationships/primary_contact physical conditional
PATCH /service_management/{srm_account_id}/v1/cases/{case_id}/relationships/program_type physical conditional
PATCH /service_management/{srm_account_id}/v1/cases/{case_id}/relationships/shipping_customer physical conditional
POST /service_management/{srm_account_id}/v1/cases/{case_uuid}/line_items/{line_item_uuid}/additional_charges physical conditional
PATCH /service_management/{srm_account_id}/v1/cases/{case_uuid}/line_items/{line_item_uuid}/additional_charges/{id} physical conditional
DELETE /service_management/{srm_account_id}/v1/cases/{case_uuid}/line_items/{line_item_uuid}/additional_charges/{id} physical conditional
PATCH /service_management/{srm_account_id}/v1/cases/{case_uuid}/line_items/{line_item_uuid}/additional_charges/{id}/relationships/category physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-08-12'
method: generated
source: openapi/decisiv-account-management-openapi.yml, openapi/decisiv-asset-management-openapi.yml,
  openapi/decisiv-global-assets-openapi.yml, openapi/decisiv-service-management-openapi.yml,
  openapi/decisiv-service-provider-openapi.yml, openapi/decisiv-telematics-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: 272
  by_action_class:
    connected: 164
    acting: 108
  by_consequence:
    read: 164
    write: 89
    physical: 19
  human_in_the_loop_required: 0
operations:
- path: /account_management/v1/accounts
  method: get
  operationId: getAccounts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account_management/v1/accounts/{account_id}
  method: get
  operationId: getAccountsById
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account_management/v1/accounts/{account_id}/ecosystem_users
  method: get
  operationId: listEcosystemUsers
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account_management/v1/accounts/{account_id}/ecosystem_users
  method: post
  operationId: createEcosystemUser
  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: /account_management/v1/accounts/{account_id}/ecosystem_users/{id}
  method: get
  operationId: getEcosystemUser
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account_management/v1/accounts/{account_id}/users
  method: get
  operationId: listAccountUsers
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account_management/v1/accounts/{account_id}/users
  method: post
  operationId: createAccountUser
  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: /account_management/v1/accounts/{account_id}/users/{id}
  method: get
  operationId: getAccountUser
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account_management/v1/accounts/{account_id}/users/{id}
  method: patch
  operationId: updateAccountUser
  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: /account_management/v1/accounts/{account_id}/users/{id}
  method: delete
  operationId: deleteAccountUser
  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: /account_management/v1/accounts/{account_id}/users/{account_user_id}/relationships/roles
  method: post
  operationId: addAccountUserRoles
  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: /account_management/v1/accounts/{account_id}/users/{account_user_id}/relationships/roles/{id}
  method: delete
  operationId: deleteAccountUserRole
  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: /account_management/v1/accounts/{account_id}/roles
  method: get
  operationId: listAccountRoles
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account_management/v1/accounts/{account_id}/roles/{id}
  method: get
  operationId: getAccountRole
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account_management/v1/accounts/{account_id}/webhooks
  method: get
  operationId: getWebhooks
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account_management/v1/accounts/{account_id}/webhooks
  method: post
  operationId: createWebhookByAccountId
  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: /account_management/v1/accounts/{account_id}/webhooks/{id}
  method: get
  operationId: getWebhooksById
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /account_management/v1/accounts/{account_id}/webhooks/{id}
  method: patch
  operationId: updateWebhookbyId
  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: /account_management/v1/accounts/{account_id}/webhooks/{id}
  method: delete
  operationId: deleteWebhooksbyId
  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: /account_management/v1/accounts/{account_id}/webhooks/{id}/refresh_signing_key
  method: post
  operationId: refreshSigningKeyWebhooksbyId
  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: /account_management/v1/accounts/{account_id}/webhook_events
  method: get
  operationId: getWebhooksEventsbyAccountId
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/case_summaries
  method: get
  operationId: listCaseSummaries
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/cases
  method: get
  operationId: listCases
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/cases/{id}
  method: get
  operationId: getCase
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/cases/{id}
  method: patch
  operationId: updateCase
  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: /asset_management/{srm_account_id}/v1/cases/{case_id}/attachments
  method: get
  operationId: listCaseAttachments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/cases/{case_id}/attachments
  method: post
  operationId: createCaseAttachment
  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: /asset_management/{srm_account_id}/v1/cases/{case_id}/attachments/{id}
  method: get
  operationId: getCaseAttachment
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/cases/{case_id}/attachments/{id}
  method: delete
  operationId: deleteCaseAttachment
  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: /asset_management/{srm_account_id}/v1/contacts
  method: get
  operationId: listContacts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/contacts
  method: post
  operationId: createContact
  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: /asset_management/{srm_account_id}/v1/contacts/{id}
  method: get
  operationId: getContact
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/contacts/{id}
  method: patch
  operationId: updateContact
  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: /asset_management/{srm_account_id}/v1/contacts/{id}
  method: delete
  operationId: deleteContact
  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: /asset_management/{srm_account_id}/v1/cases/{case_id}/notes
  method: get
  operationId: listCaseNotes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/cases/{case_id}/notes
  method: post
  operationId: createCaseNote
  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: /asset_management/{srm_account_id}/v1/cases/{case_id}/notes/{id}
  method: get
  operationId: getCaseNote
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/cases/{case_id}/send_note_to_provider
  method: post
  operationId: sendNoteToProvider
  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: /asset_management/{srm_account_id}/v1/cases/{case_id}/participants
  method: get
  operationId: listCaseParticipants
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/cases/{case_id}/participants/{id}
  method: get
  operationId: getCaseParticipant
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/cases/{case_id}/participants/{participant_id}/recipients
  method: get
  operationId: listCaseParticipantRecipients
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/cases/{case_id}/participants/{participant_id}/recipients/{id}
  method: get
  operationId: getCaseParticipantRecipient
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/cases/{case_id}/recipients
  method: get
  operationId: listCaseRecipients
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/cases/{case_id}/recipients/{id}
  method: get
  operationId: getCaseRecipient
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/cases/{case_id}/relationships/primary_contact
  method: patch
  operationId: updateCasePrimaryContact
  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: /asset_management/{srm_account_id}/v1/cases/{case_id}/relationships/billing_contact
  method: patch
  operationId: updateCaseBillingContact
  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: /asset_management/{srm_account_id}/v1/deactivated_assets
  method: get
  operationId: listDeactivatedAssets
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/deactivated_assets/{id}
  method: get
  operationId: getDeactivatedAsset
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/deactivated_depots
  method: get
  operationId: listDeactivatedDepots
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/deactivated_depots/{id}
  method: get
  operationId: getDeactivatedDepot
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/deactivated_depots/{id}/activate
  method: post
  operationId: activateDeactivatedDepot
  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: /asset_management/{srm_account_id}/v1/depots
  method: get
  operationId: listDepots
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/depots
  method: post
  operationId: createDepot
  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: /asset_management/{srm_account_id}/v1/depots/{id}
  method: get
  operationId: getDepot
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/depots/{id}
  method: patch
  operationId: updateDepot
  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: /asset_management/{srm_account_id}/v1/depots/{id}/deactivate
  method: post
  operationId: deactivateDepot
  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: /asset_management/{srm_account_id}/v1/estimates
  method: get
  operationId: listEstimates
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/estimates/{id}
  method: get
  operationId: getEstimate
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/estimates/{id}/respond
  method: post
  operationId: respondToEstimate
  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: /asset_management/{srm_account_id}/v1/deactivated_assets/{id}/activate
  method: post
  operationId: activateDeactivatedAsset
  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: /asset_management/{srm_account_id}/v1/extended_attributes
  method: get
  operationId: listExtendedAttributes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/extended_attributes/{id}
  method: get
  operationId: getExtendedAttribute
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/extended_asset_attributes
  method: get
  operationId: listExtendedAssetAttributes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/extended_asset_attributes
  method: post
  operationId: createExtendedAssetAttribute
  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: /asset_management/{srm_account_id}/v1/extended_asset_attributes/{id}
  method: get
  operationId: getExtendedAssetAttribute
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/extended_asset_attributes/{id}
  method: patch
  operationId: updateExtendedAssetAttribute
  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: /asset_management/{srm_account_id}/v1/extended_asset_attributes/{id}
  method: delete
  operationId: deleteExtendedAssetAttribute
  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: /asset_management/{srm_account_id}/v1/internal_users
  method: get
  operationId: listInternalUsers
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/internal_users/{id}
  method: get
  operationId: getInternalUser
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/registered_assets
  method: get
  operationId: listRegisteredAssets
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/registered_assets
  method: post
  operationId: createRegisteredAsset
  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: /asset_management/{srm_account_id}/v1/registered_assets/{id}
  method: get
  operationId: getRegisteredAsset
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/registered_assets/{id}
  method: patch
  operationId: updateRegisteredAsset
  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: /asset_management/{srm_account_id}/v1/registered_assets/{id}/deactivate
  method: post
  operationId: deactivateRegisteredAsset
  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: /asset_management/{srm_account_id}/v1/registered_assets/{id}/metadata
  method: delete
  operationId: deleteRegisteredAssetMetadata
  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: /asset_management/{srm_account_id}/v1/registered_assets/{id}/metadata/{metadata_key}
  method: delete
  operationId: deleteRegisteredAssetMetadataKey
  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: /asset_management/{srm_account_id}/v1/registered_assets/{id}/update_meter_data
  method: post
  operationId: asset_management_ra_update_meter_data
  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: /asset_management/{srm_account_id}/v1/registered_assets/{id}/meter_data_history
  method: get
  operationId: asset_management_ra_meter_data_history
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/registered_assets/{id}/transfer
  method: post
  operationId: transferRegisteredAsset
  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: /asset_management/{srm_account_id}/v1/registered_assets/{id}/build_information
  method: get
  operationId: getBuildInformation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/registered_assets/{registered_asset_id}/attachments
  method: get
  operationId: listRegisteredAssetAttachments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/registered_assets/{registered_asset_id}/attachments
  method: post
  operationId: createRegisteredAssetAttachment
  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: /asset_management/{srm_account_id}/v1/registered_assets/{registered_asset_id}/attachments/{id}
  method: get
  operationId: getRegisteredAssetAttachment
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/registered_assets/{registered_asset_id}/attachments/{id}
  method: delete
  operationId: deleteRegisteredAssetAttachment
  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: /asset_management/{srm_account_id}/v1/registered_components
  method: get
  operationId: listRegisteredComponents
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/registered_components
  method: post
  operationId: createRegisteredComponent
  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: /asset_management/{srm_account_id}/v1/registered_components/{id}
  method: get
  operationId: getRegisteredComponent
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/registered_components/{id}
  method: patch
  operationId: updateRegisteredComponent
  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: /asset_management/{srm_account_id}/v1/registered_components/{id}
  method: delete
  operationId: deleteRegisteredComponent
  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: /asset_management/{srm_account_id}/v1/registered_components/{component_id}/relationships/registered_asset
  method: patch
  operationId: updateRegisteredComponentRelationship
  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: /asset_management/{srm_account_id}/v1/service_providers
  method: get
  operationId: listServiceProviders
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/service_providers/{id}
  method: get
  operationId: getServiceProvider
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/service_requests
  method: get
  operationId: listServiceRequests
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/service_requests
  method: post
  operationId: createServiceRequest
  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: /asset_management/{srm_account_id}/v1/service_requests/{id}
  method: get
  operationId: getServiceRequest
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/service_requests/{id}
  method: put
  operationId: updateServiceRequest
  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: /asset_management/{srm_account_id}/v1/service_requests/{id}/cancel
  method: post
  operationId: cancelServiceRequest
  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: /asset_management/{srm_account_id}/v1/vmrs/asset_types
  method: get
  operationId: listVmrsAssetTypes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/vmrs/reasons_for_repair
  method: get
  operationId: listVmrsReasonsForRepair
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /asset_management/{srm_account_id}/v1/vmrs/repair_priorities
  method: get
  operationId: listVmrsRepairPriorities
  x-agen

# --- truncated at 32 KB (80 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/decisiv/refs/heads/main/agentic-access/decisiv-agentic-access.yml