Lev Agentic Access
Lev exposes 81 API operations that an AI agent could call, of which 40 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: 41 read, 38 write, 1 physical, and 1 safety-critical.
1 operation are classed safety-critical and should require human-in-the-loop approval at runtime.
Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.
By consequence
Highest-consequence actions
The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.
| Method | Path | Consequence | Human-in-loop |
|---|---|---|---|
| DELETE | /api/external/v2/api-keys/{key_id} | safety-critical | required |
| POST | /api/external/v2/contacts/{contact_id}/actions/unlock | physical | conditional |
Source
Agentic Access
generated: '2026-07-19'
method: generated
source: openapi/lev-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: 81
by_action_class:
connected: 41
acting: 40
by_consequence:
read: 41
write: 38
safety-critical: 1
physical: 1
human_in_the_loop_required: 1
operations:
- path: /api/external/v2/me
method: get
operationId: getMe
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/me/accounts
method: get
operationId: getMeAccounts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/me/active-account
method: patch
operationId: patchMeActiveAccount
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/account/team
method: get
operationId: getAccountTeam
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/api-keys
method: post
operationId: postApiKeys
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/api-keys
method: get
operationId: getApiKeys
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/api-keys/{key_id}
method: delete
operationId: deleteApiKeysKeyId
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: /api/external/v2/health
method: get
operationId: getHealth
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/auth/validate-api-key
method: post
operationId: postAuthValidateApiKey
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/billing/summary
method: get
operationId: getBillingSummary
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/billing/credits/balance
method: get
operationId: getBillingCreditsBalance
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/companies
method: get
operationId: getCompanies
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/companies
method: post
operationId: postCompanies
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/companies/{company_id}
method: get
operationId: getCompaniesCompanyId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/companies/{company_id}
method: patch
operationId: patchCompaniesCompanyId
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/companies/{company_id}/notes
method: get
operationId: getCompaniesCompanyIdNotes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/companies/{company_id}/notes
method: post
operationId: postCompaniesCompanyIdNotes
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/companies/{company_id}/notes/{note_id}
method: patch
operationId: patchCompaniesCompanyIdNotesNoteId
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/companies/{company_id}/notes/{note_id}
method: delete
operationId: deleteCompaniesCompanyIdNotesNoteId
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/contacts
method: get
operationId: getContacts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/contacts
method: post
operationId: postContacts
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/contacts/{contact_id}
method: get
operationId: getContactsContactId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/contacts/{contact_id}
method: patch
operationId: patchContactsContactId
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/contacts/{contact_id}/actions/unlock
method: post
operationId: postContactsContactIdActionsUnlock
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/contacts/{contact_id}/notes
method: get
operationId: getContactsContactIdNotes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/contacts/{contact_id}/notes
method: post
operationId: postContactsContactIdNotes
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/contacts/{contact_id}/notes/{note_id}
method: patch
operationId: patchContactsContactIdNotesNoteId
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/contacts/{contact_id}/notes/{note_id}
method: delete
operationId: deleteContactsContactIdNotesNoteId
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/deals/{deal_id}/financials
method: get
operationId: getDealsDealIdFinancials
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/deals/{deal_id}/properties
method: get
operationId: getDealsDealIdProperties
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/deals/{deal_id}/team
method: get
operationId: getDealsDealIdTeam
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/deals
method: get
operationId: getDeals
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/deals
method: post
operationId: postDeals
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/deals/{deal_id}
method: get
operationId: getDealsDealId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/deals/{deal_id}
method: patch
operationId: patchDealsDealId
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/deals/{deal_id}
method: delete
operationId: deleteDealsDealId
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/deals/{deal_id}/index/search
method: post
operationId: postDealsDealIdIndexSearch
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/deals/{deal_id}/index/observations
method: post
operationId: postDealsDealIdIndexObservations
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/deals/{deal_id}/index/facts
method: patch
operationId: patchDealsDealIdIndexFacts
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/deals/{deal_id}/index/facts
method: post
operationId: postDealsDealIdIndexFacts
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/deals/{deal_id}/index/metric-definitions
method: get
operationId: getDealsDealIdIndexMetricDefinitions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/deals/{deal_id}/index/entities
method: get
operationId: getDealsDealIdIndexEntities
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/deals/{deal_id}/vaults
method: get
operationId: getDealsDealIdVaults
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/deals/{deal_id}/documents
method: get
operationId: getDealsDealIdDocuments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/deals/{deal_id}/documents/{document_id}
method: get
operationId: getDealsDealIdDocumentsDocumentId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/deals/{deal_id}/documents/{document_id}/download
method: get
operationId: getDealsDealIdDocumentsDocumentIdDownload
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/deals/{deal_id}/checklists
method: get
operationId: getDealsDealIdChecklists
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/deals/{deal_id}/memos
method: get
operationId: getDealsDealIdMemos
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/deals/{deal_id}/memos/{memo_uuid}
method: get
operationId: getDealsDealIdMemosMemoUuid
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/deals/{deal_id}/notes
method: get
operationId: getDealsDealIdNotes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/deals/{deal_id}/notes
method: post
operationId: postDealsDealIdNotes
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/deals/{deal_id}/notes/{note_id}
method: patch
operationId: patchDealsDealIdNotesNoteId
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/deals/{deal_id}/notes/{note_id}
method: delete
operationId: deleteDealsDealIdNotesNoteId
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/checklist-tasks/{task_id}/notes
method: get
operationId: getChecklistTasksTaskIdNotes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/checklist-tasks/{task_id}/notes
method: post
operationId: postChecklistTasksTaskIdNotes
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/checklist-tasks/{task_id}/notes/{note_id}
method: patch
operationId: patchChecklistTasksTaskIdNotesNoteId
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/checklist-tasks/{task_id}/notes/{note_id}
method: delete
operationId: deleteChecklistTasksTaskIdNotesNoteId
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/checklist-tasks
method: post
operationId: postChecklistTasks
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/checklist-tasks/{task_id}
method: patch
operationId: patchChecklistTasksTaskId
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/checklist-tasks/{task_id}/complete
method: post
operationId: postChecklistTasksTaskIdComplete
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/lenders/directory
method: get
operationId: getLendersDirectory
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/lenders/{org_id}
method: get
operationId: getLendersOrgId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/lenders/{org_id}/programs
method: get
operationId: getLendersOrgIdPrograms
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/market/base-rates
method: get
operationId: getMarketBaseRates
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/market/asset-types
method: get
operationId: getMarketAssetTypes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/pipelines
method: get
operationId: getPipelines
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/pipelines/{pipeline_id}
method: get
operationId: getPipelinesPipelineId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/deals/{deal_id}/pipeline
method: post
operationId: postDealsDealIdPipeline
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/placements
method: get
operationId: getPlacements
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/placements
method: post
operationId: postPlacements
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/placements/{placement_id}
method: get
operationId: getPlacementsPlacementId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/placements/{placement_id}
method: patch
operationId: patchPlacementsPlacementId
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/placements/{placement_id}/notes
method: get
operationId: getPlacementsPlacementIdNotes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/placements/{placement_id}/notes
method: post
operationId: postPlacementsPlacementIdNotes
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/placements/{placement_id}/notes/{note_id}
method: patch
operationId: patchPlacementsPlacementIdNotesNoteId
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/placements/{placement_id}/notes/{note_id}
method: delete
operationId: deletePlacementsPlacementIdNotesNoteId
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/deals/{deal_id}/term-sheets
method: get
operationId: getDealsDealIdTermSheets
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/deals/{deal_id}/term-sheets
method: post
operationId: postDealsDealIdTermSheets
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/deals/{deal_id}/term-sheets/{term_sheet_id}
method: get
operationId: getDealsDealIdTermSheetsTermSheetId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/external/v2/deals/{deal_id}/term-sheets/{term_sheet_id}
method: patch
operationId: patchDealsDealIdTermSheetsTermSheetId
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/external/v2/deals/{deal_id}/term-sheets/{term_sheet_id}
method: delete
operationId: deleteDealsDealIdTermSheetsTermSheetId
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