Socotra Agentic Access
Socotra exposes 722 API operations that an AI agent could call, of which 419 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: 303 read, 368 write, 39 physical, and 12 safety-critical.
12 operations are classed safety-critical and should require human-in-the-loop approval at runtime.
Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.
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 |
|---|---|---|---|
| PATCH | /auth/users/{locator}/passwordreset | safety-critical | required |
| POST | /auth/users/{locator}/revoke | safety-critical | required |
| PATCH | /billing/{tenantLocator}/creditDistributions/{locator}/reset | safety-critical | required |
| PATCH | /billing/{tenantLocator}/disbursements/{locator}/reset | safety-critical | required |
| PATCH | /billing/{tenantLocator}/holds/{locator}/reset | safety-critical | required |
| PATCH | /billing/{tenantLocator}/payments/{locator}/reset | safety-critical | required |
| PATCH | /claim/{tenantLocator}/fnols/{fnolLocator}/losses/{lossLocator}/reset | safety-critical | required |
| PATCH | /policy/{tenantLocator}/deserializeJobs/{locator}/terminate | safety-critical | required |
| PATCH | /policy/{tenantLocator}/quickquotes/{locator}/reset | safety-critical | required |
| PATCH | /policy/{tenantLocator}/quotes/{locator}/reset | safety-critical | required |
| PUT | /policy/{tenantLocator}/transactions/{locator}/elements | safety-critical | required |
| PATCH | /policy/{tenantLocator}/transactions/{locator}/reset | safety-critical | required |
| POST | /billing/{tenantLocator}/accounts/{accountLocator}/charges | physical | conditional |
| POST | /billing/{tenantLocator}/accounts/{accountLocator}/charges/reverse | physical | conditional |
| POST | /billing/{tenantLocator}/invoices | physical | conditional |
| POST | /billing/{tenantLocator}/invoices/earlyInvoicing | physical | conditional |
| PATCH | /billing/{tenantLocator}/invoices/{locator} | physical | conditional |
| PATCH | /billing/{tenantLocator}/invoices/{locator}/aggregated | physical | conditional |
| POST | /billing/{tenantLocator}/invoices/{locator}/number/generate | physical | conditional |
| POST | /billing/{tenantLocator}/invoices/{locator}/number/set | physical | conditional |
| POST | /billing/{tenantLocator}/invoices/{locator}/settle | physical | conditional |
| POST | /billing/{tenantLocator}/invoices/{locator}/transfer | physical | conditional |
| PATCH | /billing/{tenantLocator}/invoices/{locator}/writeOff | physical | conditional |
| POST | /billing/{tenantLocator}/payments | physical | conditional |
| PUT | /billing/{tenantLocator}/payments/{locator} | physical | conditional |
Source
Agentic Access
generated: '2026-07-21'
method: generated
source: openapi/socotra-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: 722
by_action_class:
connected: 303
acting: 419
by_consequence:
read: 303
write: 368
safety-critical: 12
physical: 39
human_in_the_loop_required: 12
operations:
- path: /auth/identity/passwordPolicy
method: get
operationId: fetchPasswordPolicy
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/identity/passwordPolicy
method: put
operationId: updatePasswordPolicy
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/users
method: post
operationId: createUser
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/users/{locator}/tokens
method: get
operationId: fetchAuthTokensForUser
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/users/{locator}/tokens
method: post
operationId: createServiceAccountAuthToken
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/users/{locator}/revoke
method: post
operationId: revokeUserOauthTokens
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: /auth/users/tokens
method: get
operationId: fetchAuthTokens
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/users/tokens
method: post
operationId: createAuthToken
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/users/tokens/permissions
method: post
operationId: getGroupedTokenPermissions
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/roles
method: post
operationId: createRole
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/roles/tenant/{tenantLocator}/{roleLocator}
method: get
operationId: getTenantRole
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/roles/tenant/{tenantLocator}/{roleLocator}
method: post
operationId: createTenantRole
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/roles/tenant/{tenantLocator}/{roleLocator}
method: patch
operationId: updateTenantRole
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/roles/tenant/{tenantLocator}/{roleLocator}
method: delete
operationId: deleteTenantRole
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/identity
method: post
operationId: createIdentityProvider
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/identity/saml
method: post
operationId: addSAMLIdentityProvider
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/identity/oidc
method: post
operationId: addOIDCIdentityProvider
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/users/{locator}
method: get
operationId: fetchUserByLocator
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/users/{locator}
method: patch
operationId: updateUser
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/users/{locator}
method: delete
operationId: deleteUser
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/users/{locator}/tenants
method: patch
operationId: updateUserTenantAssignments
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/users/{locator}/roles
method: patch
operationId: updateUserRoles
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/users/{locator}/passwordreset
method: patch
operationId: resetUserPassword
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: /auth/users/{locator}/enable
method: patch
operationId: enableUser
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/users/{locator}/dataaccess/{tenantLocator}
method: get
operationId: fetchUserDataAccessForTenant
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/users/{locator}/dataaccess/{tenantLocator}
method: patch
operationId: addUserDataAccess
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/users/{locator}/dataaccess/{tenantLocator}
method: delete
operationId: deleteUserDataAccess
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/users/{locator}/accessmask
method: get
operationId: fetchUserMasks
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/users/{locator}/accessmask
method: patch
operationId: addDataSecurityMask
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/tenants/{locator}
method: get
operationId: fetchTenant
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/tenants/{locator}
method: patch
operationId: updateTenant
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/tenants/{locator}/retire
method: patch
operationId: retireTenant
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/roles/{locator}
method: get
operationId: getRole
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/roles/{locator}
method: patch
operationId: updateRole
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/roles/{locator}
method: delete
operationId: deleteRole
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/users/{userLocator}/tenant/{tenantLocator}/permissions
method: get
operationId: fetchUserTenantPermissions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/users/{locator}/permissions
method: get
operationId: fetchUserPermissions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/users/{locator}/dataaccess
method: get
operationId: fetchUserDataAccess
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/users/{locator}/credentialStatus
method: get
operationId: fetchCredentialStatus
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/users/{locator}/accessmask/{tenantLocator}
method: get
operationId: fetchUserMasksForTenant
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/users/{locator}/accessmask/{tenantLocator}
method: delete
operationId: deleteUserMasks
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/users/{locator}/accessmask/{tenantLocator}/{type}
method: get
operationId: fetchUserMask
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/users/whoami
method: get
operationId: fetchMyUserDetails
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/users/username/{username}
method: get
operationId: fetchUserByName
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/users/list
method: get
operationId: fetchMultipleUsers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/users/basic/list
method: get
operationId: fetchMultipleBasicUsers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/tenants/mytenants/list
method: get
operationId: fetchMyTenants
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/tenants/list
method: get
operationId: fetchTenants
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/roles/tenant/{tenantLocator}/list
method: get
operationId: listTenantRoles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/roles/permissions
method: get
operationId: fetchAvailablePermissions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/roles/list
method: get
operationId: fetchMultipleRoles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/identity/instances
method: get
operationId: fetchIdentityProviders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/identity/instances/{name}
method: get
operationId: fetchIdentityProviderByName
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/identity/instances/{name}
method: delete
operationId: deleteIdentityServerInstance
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/users/{locator}/tokens/{tokenOrName}
method: delete
operationId: deleteAuthTokenForUser
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/users/{locator}/credentials
method: delete
operationId: removeCredentials
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/users/tokens/{tokenOrName}
method: delete
operationId: deleteAuthToken
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: /auxdata/{tenantLocator}/auxdata/{locator}
method: get
operationId: getAuxDataKeys
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auxdata/{tenantLocator}/auxdata/{locator}
method: put
operationId: putAuxData
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: /auxdata/{tenantLocator}/mediadata
method: post
operationId: createMediaData
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: /auxdata/{tenantLocator}/diary/{referenceType}/{referenceLocator}
method: get
operationId: fetchLatestDiaryEntriesByReference
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auxdata/{tenantLocator}/diary/{referenceType}/{referenceLocator}
method: post
operationId: createDiary
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: /auxdata/{tenantLocator}/diary/segments/{segmentLocator}/element/{staticElementLocator}
method: post
operationId: createDiaryForSegmentElement
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: /auxdata/{tenantLocator}/diary/quotes/{quoteLocator}/element/{staticElementLocator}
method: post
operationId: createDiaryForQuoteElement
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: /auxdata/{tenantLocator}/mediadata/{locator}
method: get
operationId: fetchLatestMediaData
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auxdata/{tenantLocator}/mediadata/{locator}
method: patch
operationId: updateMediaData
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: /auxdata/{tenantLocator}/mediadata/{locator}
method: delete
operationId: deleteMediaData
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: /auxdata/{tenantLocator}/diary/{locator}
method: get
operationId: fetchAllDiaryEntriesByLocator
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auxdata/{tenantLocator}/diary/{locator}
method: patch
operationId: updateDiary
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: /auxdata/{tenantLocator}/diary/{locator}/discard
method: patch
operationId: discardDiary
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: /auxdata/{tenantLocator}/mediadata/{locator}/versions/{versionLocator}
method: get
operationId: fetchMediaData
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auxdata/{tenantLocator}/mediadata/{locator}/versions/{versionLocator}/file
method: get
operationId: fetchFile
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auxdata/{tenantLocator}/mediadata/{locator}/list
method: get
operationId: fetchAllMediaDataByLocator
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auxdata/{tenantLocator}/mediadata/{locator}/file
method: get
operationId: fetchLatestFile
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auxdata/{tenantLocator}/mediadata/search/{referenceType}/{referenceLocator}/list
method: get
operationId: fetchLatestMediaDataByReference
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auxdata/{tenantLocator}/diary/{locator}/latest
method: get
operationId: fetchLatestDiaryEntryByLocator
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auxdata/{tenantLocator}/auxdata/{locator}/{key}
method: get
operationId: getAuxData
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auxdata/{tenantLocator}/auxdata/{locator}/{key}
method: delete
operationId: deleteAuxData
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: /auxdata/{tenantLocator}/auxdata/size
method: get
operationId: getAuxDataSize
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /billing/{tenantLocator}/payments/{locator}
method: get
operationId: fetchPayment
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /billing/{tenantLocator}/payments/{locator}
method: put
operationId: updatePaymentOverwriteData
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: /billing/{tenantLocator}/payments/{locator}
method: patch
operationId: updatePayment
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: /billing/{tenantLocator}/disbursements/{locator}
method: get
operationId: fetchDisbursement
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /billing/{tenantLocator}/disbursements/{locator}
method: put
operationId: updateDisbursementReplaceData
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: /billing/{tenantLocator}/disbursements/{locator}
method: patch
operationId: updateDisbursement
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: /billing/{tenantLocator}/creditDistributions/{locator}
method: get
operationId: fetchCreditDistribution
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /billing/{tenantLocator}/creditDistributions/{locator}
method: put
operationId: createOrReplaceCreditDistribution
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: /billing/{tenantLocator}/creditDistributions/{locator}
method: patch
operationId: updateCreditDistribution
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: /billing/{tenantLocator}/writeOffs
method: post
operationId: writeOff
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: /billing/{tenantLocator}/retryJobs/{policyLocator}/retryFailedTransactions
method: post
operationId: retryFailedTransactions
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: /billing/{tenantLocator}/payments
method: post
operationId: createPayment
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: /billing/{tenantLocator}/payments/{locator}/number/set
method: post
operationId: setPaymentNumber
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: /billing/{tenantLocator}/payments/{locator}/number/generate
method: post
operationId: generatePaymentNumber
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: /billing/{tenantLocator}/jobs/delinquencies/moratoriums
method: post
operationId: runDelinquencyMoratoriumsWorkflow
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: /billing/{tenantLocator}/invoices
method: post
operationId: createAggregatedInvoice
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: /billing/{tenantLocator}/invoices/{locator}/transfer
method: post
operationId: transferInvoicesBetweenAggregatedInvoices
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: /billing/{tenantLocator}/invoices/{locator}/settle
method: post
operationId: settleNegativeOrZeroInvoice
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: /billing/{tenantLocator}/invoices/{locator}/number/set
method: post
operationId: setInvoiceNumber
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: /billing/{tenantLocator}/invoices/{locator}/number/generate
method: post
operationId: generateInvoiceNumber
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: /billing/{tenantLocator}/invoices/earlyInvoicing
method: post
operationId: initiateEarlyInvoicing
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: /billing/{tenantLocator}/holds
method: post
operationId: createHold
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: /billing/{tenantLocator}/financialInstruments
method: post
operationId: createFinancialInstrument
x-agentic-acc
# --- truncated at 32 KB (232 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/socotra/refs/heads/main/agentic-access/socotra-agentic-access.yml