Alasco Agentic Access
Alasco exposes 178 API operations that an AI agent could call, of which 70 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: 108 read, 44 write, and 26 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 | /assets/{id}/submit-invoice/ | physical | conditional |
| POST | /change_orders/{change_order_id}/documents/ | physical | conditional |
| POST | /change_orders/{change_order_id}/documents/ | physical | conditional |
| POST | /invoices/add-paid-invoice/ | physical | conditional |
| POST | /invoices/add-paid-invoice/ | physical | conditional |
| DELETE | /invoices/{id}/ | physical | conditional |
| DELETE | /invoices/{id}/ | physical | conditional |
| POST | /invoices/{id}/register-payment/ | physical | conditional |
| POST | /invoices/{id}/register-payment/ | physical | conditional |
| POST | /invoices/{id}/update-new/ | physical | conditional |
| POST | /invoices/{id}/update-new/ | physical | conditional |
| POST | /invoices/{id}/update-paid-invoice/ | physical | conditional |
| POST | /invoices/{id}/update-paid-invoice/ | physical | conditional |
| POST | /invoices/{invoice_id}/documents/ | physical | conditional |
| POST | /invoices/{invoice_id}/documents/ | physical | conditional |
| POST | /invoices/{invoice_id}/tags/assign/ | physical | conditional |
| POST | /invoices/{invoice_id}/tags/assign/ | physical | conditional |
| POST | /invoices/{invoice_id}/tags/unassign/ | physical | conditional |
| POST | /invoices/{invoice_id}/tags/unassign/ | physical | conditional |
| POST | /projects/{id}/submit-invoice/ | physical | conditional |
| POST | /tags/ | physical | conditional |
| POST | /tags/ | physical | conditional |
| DELETE | /tags/{id}/ | physical | conditional |
| PATCH | /tags/{id}/ | physical | conditional |
| DELETE | /tags/{id}/ | physical | conditional |
Source
Agentic Access
generated: '2026-07-17'
method: generated
source: openapi/alasco-capex-openapi.json, openapi/alasco-esg-openapi.json, openapi/alasco-fincon-openapi.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: 178
by_action_class:
connected: 108
acting: 70
by_consequence:
read: 108
physical: 26
write: 44
human_in_the_loop_required: 0
operations:
- path: /assets/
method: get
operationId: get_assets_assets__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /assets/{id}/
method: get
operationId: get_asset_details_assets__id___get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /assets/{id}/submit-invoice/
method: post
operationId: submit_invoice_assets__id__submit_invoice__post
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /change_orders/
method: get
operationId: get_change_orders_change_orders__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /change_orders/{change_order_id}/documents/
method: get
operationId: get_change_order_documents_change_orders__change_order_id__documents__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /change_orders/{change_order_id}/documents/
method: post
operationId: create_change_order_document_change_orders__change_order_id__documents__post
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /change_orders/{change_order_id}/documents/{document_id}/
method: get
operationId: get_change_order_document_change_orders__change_order_id__documents__document_id___get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /change_orders/{change_order_id}/documents/{document_id}/download-annotated/
method: get
operationId: download_annotated_change_order_document_change_orders__change_order_id__documents__document_id__download_annotated__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /change_orders/{change_order_id}/documents/{document_id}/download/
method: get
operationId: download_change_order_document_change_orders__change_order_id__documents__document_id__download__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /change_orders/{id}/
method: get
operationId: get_change_order_details_change_orders__id___get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contracting_entities/
method: get
operationId: get_contracting_entities_contracting_entities__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contracting_entities/
method: post
operationId: create_contracting_entity_contracting_entities__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /contracting_entities/{contracting_entity_id}/contracts/
method: get
operationId: get_contracts_by_contracting_entity_contracting_entities__contracting_entity_id__contracts__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contracting_entities/{id}/
method: get
operationId: get_contracting_entity_details_contracting_entities__id___get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contracting_entities/{id}/
method: patch
operationId: update_contracting_entity_contracting_entities__id___patch
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /contractors/
method: get
operationId: get_contractors_contractors__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contractors/
method: post
operationId: create_contractor_contractors__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /contractors/{contractor_id}/contracts/
method: get
operationId: get_contracts_by_contractor_contractors__contractor_id__contracts__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contractors/{id}/
method: get
operationId: get_contractor_details_contractors__id___get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contractors/{id}/
method: patch
operationId: update_contractor_contractors__id___patch
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /contractors/{id}/download-tax-waiver/
method: get
operationId: download_tax_waiver_contractors__id__download_tax_waiver__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contractors/{id}/upload-tax-waiver/
method: post
operationId: upload_tax_waiver_contractors__id__upload_tax_waiver__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /contracts/
method: get
operationId: get_contracts_contracts__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contracts/
method: post
operationId: create_contract_contracts__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /contracts/{contract_id}/change_orders/
method: get
operationId: get_change_orders_by_contract_contracts__contract_id__change_orders__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contracts/{contract_id}/contract_terms/
method: get
operationId: get_contract_terms_contracts__contract_id__contract_terms__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contracts/{contract_id}/custom_fields/
method: get
operationId: get_custom_fields_by_contract_contracts__contract_id__custom_fields__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contracts/{contract_id}/documents/
method: get
operationId: get_contract_documents_contracts__contract_id__documents__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contracts/{contract_id}/documents/
method: post
operationId: create_contract_document_contracts__contract_id__documents__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /contracts/{contract_id}/documents/{document_id}/
method: get
operationId: get_contract_document_contracts__contract_id__documents__document_id___get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contracts/{contract_id}/documents/{document_id}/download/
method: get
operationId: download_contract_document_contracts__contract_id__documents__document_id__download__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contracts/{contract_id}/invoices/
method: get
operationId: get_invoices_by_contract_contracts__contract_id__invoices__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contracts/{id}/
method: get
operationId: get_contract_details_contracts__id___get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contracts/{id}/
method: patch
operationId: update_contract_contracts__id___patch
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /invoices/
method: get
operationId: get_invoices_invoices__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /invoices/add-paid-invoice/
method: post
operationId: add_paid_invoice_invoices_add_paid_invoice__post
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /invoices/{id}/
method: delete
operationId: delete_paid_invoice_invoices__id___delete
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: /invoices/{id}/
method: get
operationId: get_invoice_details_invoices__id___get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /invoices/{id}/register-payment/
method: post
operationId: register_payment_invoices__id__register_payment__post
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /invoices/{id}/update-new/
method: post
operationId: update_new_invoices__id__update_new__post
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /invoices/{id}/update-paid-invoice/
method: post
operationId: update_paid_invoice_invoices__id__update_paid_invoice__post
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /invoices/{invoice_id}/documents/
method: get
operationId: get_invoice_documents_invoices__invoice_id__documents__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /invoices/{invoice_id}/documents/
method: post
operationId: create_invoice_document_invoices__invoice_id__documents__post
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /invoices/{invoice_id}/documents/{document_id}/
method: get
operationId: get_invoice_document_invoices__invoice_id__documents__document_id___get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /invoices/{invoice_id}/documents/{document_id}/download-annotated/
method: get
operationId: download_annotated_invoice_document_invoices__invoice_id__documents__document_id__download_annotated__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /invoices/{invoice_id}/documents/{document_id}/download/
method: get
operationId: download_invoice_document_invoices__invoice_id__documents__document_id__download__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /invoices/{invoice_id}/tags/
method: get
operationId: get_tags_by_invoice_invoices__invoice_id__tags__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /invoices/{invoice_id}/tags/assign/
method: post
operationId: assign_tag_invoices__invoice_id__tags_assign__post
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /invoices/{invoice_id}/tags/unassign/
method: post
operationId: unassign_tag_invoices__invoice_id__tags_unassign__post
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /measures/
method: get
operationId: get_measures_measures__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /measures/{id}/
method: get
operationId: get_measure_measures__id___get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /measures/{id}/contracts/
method: get
operationId: get_contracts_by_measure_measures__id__contracts__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tags/
method: get
operationId: get_tags_tags__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tags/
method: post
operationId: create_tag_tags__post
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /tags/{id}/
method: delete
operationId: delete_tag_tags__id___delete
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: /tags/{id}/
method: patch
operationId: update_tag_tags__id___patch
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: /buildings/
method: get
operationId: get_buildings_buildings__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /buildings/{building_uuid}/analysis-result/
method: get
operationId: get_analysis_result_buildings__building_uuid__analysis_result__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /buildings/{building_uuid}/custom-data/
method: get
operationId: get_custom_data_buildings__building_uuid__custom_data__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /buildings/{building_uuid}/utility-meters/
method: get
operationId: get_utility_meters_buildings__building_uuid__utility_meters__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /buildings/{building_uuid}/utility-meters/{meter_uuid}/readings/
method: post
operationId: create_utility_meter_reading_buildings__building_uuid__utility_meters__meter_uuid__readings__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /consumption-intervals/
method: post
operationId: create_consumption_interval_consumption_intervals__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /consumption-intervals/bulk-partial/
method: post
operationId: bulk_create_consumption_intervals_partial_consumption_intervals_bulk_partial__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /consumption-intervals/bulk/
method: post
operationId: bulk_create_consumption_intervals_consumption_intervals_bulk__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /consumption/annual/
method: get
operationId: get_annual_consumption_consumption_annual__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /consumption/annual/{annual_consumption_id}/
method: patch
operationId: update_annual_consumption_consumption_annual__annual_consumption_id___patch
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /file-events/
method: get
operationId: get_file_events_file_events__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /files/
method: delete
operationId: delete_file_files__delete
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /files/
method: post
operationId: upload_file_files__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /files/metadata/
method: get
operationId: get_file_metadata_files_metadata__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /files/metadata/
method: patch
operationId: patch_file_metadata_files_metadata__patch
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /files/{file_id}/
method: get
operationId: get_file_files__file_id___get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /files/{file_id}/external-id/
method: post
operationId: create_file_external_id_files__file_id__external_id__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /meter-readings/
method: post
operationId: create_utility_meter_reading_with_external_id_meter_readings__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /meter-readings/bulk/
method: post
operationId: bulk_create_utility_meter_readings_meter_readings_bulk__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /raw-audit/
method: get
operationId: get_events_raw_audit__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /raw-user-audit/
method: get
operationId: get_user_events_raw_user_audit__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /tenant-consumption-links/
method: delete
operationId: delete_tenant_consumption_link_tenant_consumption_links__delete
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /tenant-consumption-links/
method: post
operationId: create_tenant_consumption_link_tenant_consumption_links__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /tenants/
method: post
operationId: upsert_tenant_tenants__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /tenants/{external_tenant_id}/attachments/
method: post
operationId: create_tenant_attachment_tenants__external_tenant_id__attachments__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /utility-data-batch-info/
method: post
operationId: add_utility_data_batch_info_utility_data_batch_info__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /utility-meters/
method: post
operationId: add_utility_meter_utility_meters__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /utility-meters/bulk-import-partial/
method: post
operationId: bulk_add_utility_meter_import_partial_utility_meters_bulk_import_partial__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /utility-meters/import/
method: post
operationId: add_utility_meter_import_utility_meters_import__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /utility-meters/{meter_external_id}/
method: patch
operationId: update_utility_meter_utility_meters__meter_external_id___patch
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /budget_shifts/
method: get
operationId: get_budget_shifts_budget_shifts__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /change_orders/
method: get
operationId: get_change_orders_change_orders__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /change_orders/{change_order_id}/documents/
method: get
operationId: get_change_order_documents_change_orders__change_order_id__documents__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /change_orders/{change_order_id}/documents/
method: post
operationId: create_change_order_document_change_orders__change_order_id__documents__post
x-agentic-access:
action-class: acting
consequence: physical
subject: required
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /change_orders/{change_order_id}/documents/{document_id}/
method: get
operationId: get_change_order_document_change_orders__change_order_id__documents__document_id___get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /change_orders/{change_order_id}/documents/{document_id}/download-annotated/
method: get
operationId: download_annotated_change_order_document_change_orders__change_order_id__documents__document_id__download_annotated__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /change_orders/{change_order_id}/documents/{document_id}/download/
method: get
operationId: download_change_order_document_change_orders__change_order_id__documents__document_id__download__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /change_orders/{id}/
method: get
operationId: get_change_order_details_change_orders__id___get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contacts/
method: get
operationId: get_contacts_contacts__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contacts/
method: post
operationId: create_contact_contacts__post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /contacts/{id}/
method: get
operationId: get_contact_details_contacts__id___get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contacts/{id}/
method: patch
operationId: update_contact_contacts__id___patch
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /contract_units/
method: get
operationId: get_contract_units_contract_units__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contract_units/
method: post
operationId: create_contract_unit
# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/alasco/refs/heads/main/agentic-access/alasco-agentic-access.yml