Vantage Agentic Access
Vantage exposes 193 API operations that an AI agent could call, of which 101 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: 92 read, 96 write, and 5 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 | /invoices | physical | conditional |
| POST | /invoices/{invoice_token}/download | physical | conditional |
| POST | /invoices/{invoice_token}/regenerate | physical | conditional |
| POST | /invoices/{invoice_token}/send | physical | conditional |
| POST | /invoices/{invoice_token}/send_and_approve | physical | conditional |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/vantage-sh-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: 193
by_action_class:
connected: 92
acting: 101
by_consequence:
read: 92
write: 96
physical: 5
human_in_the_loop_required: 0
operations:
- path: /access_grants
method: get
operationId: getAccessGrants
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /access_grants
method: post
operationId: createAccessGrant
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /access_grants/{access_grant_token}
method: get
operationId: getAccessGrant
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /access_grants/{access_grant_token}
method: put
operationId: updateAccessGrant
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /access_grants/{access_grant_token}
method: delete
operationId: deleteAccessGrant
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /anomaly_alerts
method: get
operationId: getAnomalyAlerts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /anomaly_alerts/{anomaly_alert_token}
method: get
operationId: getAnomalyAlert
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /anomaly_alerts/{anomaly_alert_token}
method: put
operationId: updateAnomalyAlert
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /anomaly_notifications
method: get
operationId: getAnomalyNotifications
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /anomaly_notifications
method: post
operationId: createAnomalyNotification
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /anomaly_notifications/{anomaly_notification_token}
method: get
operationId: getAnomalyNotification
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /anomaly_notifications/{anomaly_notification_token}
method: put
operationId: updateAnomalyNotification
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /anomaly_notifications/{anomaly_notification_token}
method: delete
operationId: deleteAnomalyNotification
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /audit_logs
method: get
operationId: getAuditLogs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /audit_logs/{audit_log_token}
method: get
operationId: getAuditLog
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /billing_profiles
method: get
operationId: getBillingProfiles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /billing_profiles
method: post
operationId: createBillingProfile
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /billing_profiles/{billing_profile_token}
method: get
operationId: getBillingProfile
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /billing_profiles/{billing_profile_token}
method: put
operationId: updateBillingProfile
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /billing_profiles/{billing_profile_token}
method: delete
operationId: deleteBillingProfile
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /billing_rules
method: get
operationId: getBillingRules
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /billing_rules
method: post
operationId: createBillingRule
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /billing_rules/{billing_rule_token}
method: get
operationId: getBillingRule
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /billing_rules/{billing_rule_token}
method: put
operationId: updateBillingRule
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /billing_rules/{billing_rule_token}
method: delete
operationId: deleteBillingRule
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /budget_alerts
method: get
operationId: getBudgetAlerts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /budget_alerts
method: post
operationId: createBudgetAlert
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /budget_alerts/{budget_alert_token}
method: get
operationId: getBudgetAlert
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /budget_alerts/{budget_alert_token}
method: put
operationId: updateBudgetAlert
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /budget_alerts/{budget_alert_token}
method: delete
operationId: deleteBudgetAlert
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /budgets
method: get
operationId: getBudgets
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /budgets
method: post
operationId: createBudget
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /budgets/{budget_token}
method: get
operationId: getBudget
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /budgets/{budget_token}
method: put
operationId: updateBudget
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /budgets/{budget_token}
method: delete
operationId: deleteBudget
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /business_metrics
method: get
operationId: getBusinessMetrics
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /business_metrics
method: post
operationId: createBusinessMetric
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /business_metrics/{business_metric_token}
method: get
operationId: getBusinessMetric
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /business_metrics/{business_metric_token}
method: put
operationId: updateBusinessMetric
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /business_metrics/{business_metric_token}
method: delete
operationId: deleteBusinessMetric
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /business_metrics/{business_metric_token}/values
method: get
operationId: getBusinessMetricValues
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /business_metrics/{business_metric_token}/values
method: delete
operationId: deleteBusinessMetricValues
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /business_metrics/{business_metric_token}/forecasted_values
method: get
operationId: getBusinessMetricForecastedValues
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /business_metrics/{business_metric_token}/values.csv
method: put
operationId: updateBusinessMetricValuesCSV
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /canvases
method: get
operationId: getCanvases
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /canvases
method: post
operationId: createCanvas
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /canvases/{canvas_token}
method: get
operationId: getCanvas
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /canvases/{canvas_token}
method: put
operationId: updateCanvas
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /canvases/{canvas_token}
method: delete
operationId: deleteCanvas
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /cost_alerts/{cost_alert_token}/events
method: get
operationId: getCostAlertEvents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /cost_alerts/{cost_alert_token}/events/{event_token}
method: get
operationId: getCostAlertEvent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /cost_alerts
method: get
operationId: getCostAlerts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /cost_alerts
method: post
operationId: createCostAlert
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /cost_alerts/{cost_alert_token}
method: get
operationId: getCostAlert
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /cost_alerts/{cost_alert_token}
method: put
operationId: updateCostAlert
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /cost_alerts/{cost_alert_token}
method: delete
operationId: deleteCostAlert
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /cost_providers
method: get
operationId: getCostProviders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /cost_provider_accounts
method: get
operationId: getCostProviderAccounts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /cost_reports
method: get
operationId: getCostReports
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /cost_reports
method: post
operationId: createCostReport
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /cost_reports/{cost_report_token}
method: get
operationId: getCostReport
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /cost_reports/{cost_report_token}
method: put
operationId: updateCostReport
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /cost_reports/{cost_report_token}
method: delete
operationId: deleteCostReport
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /cost_reports/{cost_report_token}/forecasted_costs
method: get
operationId: getForecastedCosts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /costs/data_exports
method: post
operationId: createCostExport
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- read
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /costs
method: get
operationId: getCosts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /cost_services
method: get
operationId: getCostServices
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /dashboards
method: get
operationId: getDashboards
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /dashboards
method: post
operationId: createDashboard
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /dashboards/{dashboard_token}
method: get
operationId: getDashboard
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /dashboards/{dashboard_token}
method: put
operationId: updateDashboard
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /dashboards/{dashboard_token}
method: delete
operationId: deleteDashboard
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /data_exports/{data_export_token}
method: get
operationId: getDataExport
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /exchange_rates
method: get
operationId: getExchangeRates
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /exchange_rates/csv
method: post
operationId: createExchangeRatesViaCsv
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /financial_commitment_reports
method: get
operationId: getFinancialCommitmentReports
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /financial_commitment_reports
method: post
operationId: createFinancialCommitmentReport
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /financial_commitment_reports/{financial_commitment_report_token}
method: get
operationId: getFinancialCommitmentReport
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /financial_commitment_reports/{financial_commitment_report_token}
method: put
operationId: updateFinancialCommitmentReport
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /financial_commitment_reports/{financial_commitment_report_token}
method: delete
operationId: deleteFinancialCommitmentReport
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /financial_commitments
method: get
operationId: getFinancialCommitments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /folders
method: get
operationId: getFolders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /folders
method: post
operationId: createFolder
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /folders/{folder_token}
method: get
operationId: getFolder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /folders/{folder_token}
method: put
operationId: updateFolder
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /folders/{folder_token}
method: delete
operationId: deleteFolder
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /integrations
method: get
operationId: getIntegrations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /integrations/{integration_token}
method: get
operationId: getIntegration
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /integrations/{integration_token}
method: put
operationId: updateIntegration
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /integrations/{integration_token}
method: delete
operationId: deleteIntegration
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /integrations/custom_provider
method: post
operationId: createCustomProviderIntegration
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /integrations/{integration_token}/costs.csv
method: post
operationId: createUserCostsUploadViaCsv
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /integrations/{integration_token}/costs/{user_costs_upload_token}
method: delete
operationId: deleteUserCostsUpload
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /integrations/{integration_token}/costs
method: get
operationId: getUserCostsUploads
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /integrations/gcp
method: post
operationId: createGCPIntegration
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /integrations/azure
method: post
operationId: createAzureIntegration
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- write
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /invoices
method: get
operationId: getInvoices
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /invoices
method: post
operationId: createInvoice
x-agentic-access:
action-class: acting
consequence: physical
subject: required
scope:
- write
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_token}
method: get
operationId: getInvoice
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- read
token:
max-ttl: 3600
audit: none
- path: /invoices/{invoice_token}/download
method: post
operationId: downloadInvoice
x-agentic-access:
action-class: acting
consequence: physical
subject: required
scope:
- read
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_token}/send
method: post
operationId: sendInvoice
x-agentic-access:
action-class: acting
consequence: physical
subject: required
scope:
- write
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_token}/send_and_approve
method: post
operationId: sendAndApproveInvoice
x-agentic-access:
action-class: acting
consequence: physical
subject: required
scope:
- write
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
aud
# --- truncated at 32 KB (59 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vantage-sh/refs/heads/main/agentic-access/vantage-sh-agentic-access.yml