Codat · Agentic Access

Codat Agentic Access

x-agentic-access generated

Codat exposes 240 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: 170 read, 68 write, and 2 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.

Unified_API
Operations: 240 Acting: 70 Human-in-the-loop: 0 Method: generated

By consequence

read 170 write 68 physical 2

Highest-consequence actions

The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.

MethodPathConsequenceHuman-in-loop
POST /companies/{companyId}/connections/{connectionId}/push/payments physical conditional
POST /companies/{companyId}/connections/{connectionId}/push/transfers physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-07-15'
method: generated
source: openapi/codat-bank-feeds-openapi.json, openapi/codat-lending-openapi.json, openapi/codat-platform-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: 240
  by_action_class:
    acting: 70
    connected: 170
  by_consequence:
    write: 68
    read: 170
    physical: 2
  human_in_the_loop_required: 0
operations:
- path: /companies
  method: post
  operationId: create-company
  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: /companies
  method: get
  operationId: list-companies
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}
  method: get
  operationId: get-company
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}
  method: delete
  operationId: delete-company
  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: /companies/{companyId}
  method: put
  operationId: replace-company
  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: /companies/{companyId}
  method: patch
  operationId: update-company
  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: /companies/{companyId}/accessToken
  method: get
  operationId: get-company-access-token
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections
  method: get
  operationId: list-connections
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections
  method: post
  operationId: create-connection
  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: /companies/{companyId}/connections/{connectionId}
  method: get
  operationId: get-connection
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}
  method: delete
  operationId: delete-connection
  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: /companies/{companyId}/connections/{connectionId}
  method: patch
  operationId: unlink-connection
  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: /companies/{companyId}/connections/{connectionId}/data/bankAccounts
  method: get
  operationId: list-bank-accounts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/options/bankAccounts
  method: get
  operationId: get-create-bankAccounts-model
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/push/bankAccounts
  method: post
  operationId: create-bank-account
  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: /companies/{companyId}/connections/{connectionId}/connectionInfo/bankFeedAccounts/batch
  method: post
  operationId: create-batch-source-account
  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: /companies/{companyId}/connections/{connectionId}/connectionInfo/bankFeedAccounts
  method: post
  operationId: create-source-account
  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: /companies/{companyId}/connections/{connectionId}/connectionInfo/bankFeedAccounts
  method: get
  operationId: list-source-accounts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/connectionInfo/bankFeedAccounts/{accountId}
  method: patch
  operationId: update-source-account
  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: /companies/{companyId}/connections/{connectionId}/connectionInfo/bankFeedAccounts/{accountId}
  method: delete
  operationId: delete-source-account
  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: /companies/{companyId}/connections/{connectionId}/connectionInfo/bankFeedAccounts/credentials
  method: post
  operationId: generate-credentials
  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: /companies/{companyId}/connections/{connectionId}/connectionInfo/bankFeedAccounts/credentials
  method: delete
  operationId: delete-bank-feed-credentials
  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: /companies/{companyId}/connections/{connectionId}/bankFeedAccounts/mapping
  method: get
  operationId: get-bank-account-mapping
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/bankFeedAccounts/mapping
  method: post
  operationId: create-bank-account-mapping
  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: /companies/{companyId}/connections/{connectionId}/bankFeeds/info
  method: get
  operationId: get-company-information
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/push/bankAccounts/{accountId}/bankTransactions
  method: post
  operationId: create-bank-transactions
  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: /companies/{companyId}/connections/{connectionId}/options/bankAccounts/{accountId}/bankTransactions
  method: get
  operationId: get-create-bank-transactions-model
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/push/{pushOperationKey}
  method: get
  operationId: get-create-operation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/push
  method: get
  operationId: list-create-operations
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/bankFeedAccounts/{sourceAccountId}/managedBankFeeds/syncs/{syncId}
  method: get
  operationId: get-managed-bank-feed-sync
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/bankFeedAccounts/{sourceAccountId}/managedBankFeeds/syncs/latest
  method: get
  operationId: get-latest-managed-bank-feed-sync
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/bankFeedAccounts/{sourceAccountId}/managedBankFeeds/syncs
  method: post
  operationId: run-managed-bank-feed-ad-hoc-sync
  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: /companies
  method: get
  operationId: list-companies
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies
  method: post
  operationId: create-company
  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: /companies/{companyId}
  method: put
  operationId: replace-company
  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: /companies/{companyId}
  method: patch
  operationId: update-company
  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: /companies/{companyId}
  method: delete
  operationId: delete-company
  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: /companies/{companyId}
  method: get
  operationId: get-company
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections
  method: get
  operationId: list-connections
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections
  method: post
  operationId: create-connection
  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: /companies/{companyId}/connections/{connectionId}
  method: get
  operationId: get-connection
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}
  method: delete
  operationId: delete-connection
  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: /companies/{companyId}/connections/{connectionId}
  method: patch
  operationId: unlink-connection
  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: /companies/{companyId}/data/all
  method: post
  operationId: refresh-all-data-types
  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: /companies/{companyId}/dataStatus
  method: get
  operationId: get-data-status
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/data/queue/{dataType}
  method: post
  operationId: refresh-data-type
  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: /companies/{companyId}/data/history
  method: get
  operationId: list-pull-operations
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/data/history/{datasetId}
  method: get
  operationId: get-pull-operation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /data/companies/{companyId}/assess/dataTypes/{dataType}/dataIntegrity/status
  method: get
  operationId: get-data-integrity-status
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /data/companies/{companyId}/assess/dataTypes/{dataType}/dataIntegrity/summaries
  method: get
  operationId: get-data-integrity-summaries
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /data/companies/{companyId}/assess/dataTypes/{dataType}/dataIntegrity/details
  method: get
  operationId: list-data-integrity-details
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/reports/enhancedProfitAndLoss/accounts
  method: get
  operationId: get-categorized-profit-and-loss-statement
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/reports/enhancedBalanceSheet/accounts
  method: get
  operationId: get-categorized-balance-sheet-statement
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/reports/enhancedCashFlow/transactions
  method: get
  operationId: get-categorized-bank-statement
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/reports/enhancedInvoices
  method: get
  operationId: list-reconciled-invoices
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/reports/liabilities/loans/transactions
  method: post
  operationId: generate-loan-transactions
  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: /companies/{companyId}/reports/liabilities/loans/transactions
  method: get
  operationId: list-loan-transactions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/reports/liabilities/loans
  method: post
  operationId: generate-loan-summary
  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: /companies/{companyId}/reports/liabilities/loans
  method: get
  operationId: get-loan-summary
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /data/companies/{companyId}/connections/{connectionId}/assess/commerceMetrics/revenue
  method: get
  operationId: get-commerce-revenue-metrics
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /data/companies/{companyId}/connections/{connectionId}/assess/commerceMetrics/orders
  method: get
  operationId: get-commerce-orders-report
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /data/companies/{companyId}/connections/{connectionId}/assess/commerceMetrics/refunds
  method: get
  operationId: get-commerce-refunds-report
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /data/companies/{companyId}/connections/{connectionId}/assess/commerceMetrics/customerRetention
  method: get
  operationId: get-commerce-customer-retention-metrics
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /data/companies/{companyId}/connections/{connectionId}/assess/commerceMetrics/lifetimeValue
  method: get
  operationId: get-commerce-lifetime-value-metrics
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /data/companies/{companyId}/assess/excel
  method: post
  operationId: generate-excel-report
  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: /data/companies/{companyId}/assess/excel
  method: get
  operationId: get-excel-report-generation-status
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /data/companies/{companyId}/assess/excel/download
  method: get
  operationId: download-excel-report
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/data/accountTransactions
  method: get
  operationId: list-accounting-account-transactions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/data/accountTransactions/{accountTransactionId}
  method: get
  operationId: get-accounting-account-transaction
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/data/accounts
  method: get
  operationId: list-accounting-accounts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/data/accounts/{accountId}
  method: get
  operationId: get-accounting-account
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/data/billCreditNotes
  method: get
  operationId: list-accounting-bill-credit-notes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/data/billCreditNotes/{billCreditNoteId}
  method: get
  operationId: get-accounting-bill-credit-note
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/data/billPayments
  method: get
  operationId: list-accounting-bill-payments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/data/billPayments/{billPaymentId}
  method: get
  operationId: get-accounting-bill-payment
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/data/bills
  method: get
  operationId: list-accounting-bills
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/data/bills/{billId}
  method: get
  operationId: get-accounting-bill
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/data/bills/{billId}/attachments
  method: get
  operationId: list-accounting-bill-attachments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/data/bills/{billId}/attachments/{attachmentId}
  method: get
  operationId: get-accounting-bill-attachment
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/data/bills/{billId}/attachments/{attachmentId}/download
  method: get
  operationId: download-accounting-bill-attachment
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/data/creditNotes
  method: get
  operationId: list-accounting-credit-notes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/data/creditNotes/{creditNoteId}
  method: get
  operationId: get-accounting-credit-note
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/data/customers
  method: get
  operationId: list-accounting-customers
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/data/customers/{customerId}
  method: get
  operationId: get-accounting-customer
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/data/customers/{customerId}/attachments
  method: get
  operationId: list-accounting-customer-attachments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/data/customers/{customerId}/attachments/{attachmentId}
  method: get
  operationId: get-accounting-customer-attachment
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/data/customers/{customerId}/attachments/{attachmentId}/download
  method: get
  operationId: download-accounting-customer-attachment
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/data/directCosts
  method: get
  operationId: list-accounting-direct-costs
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/data/directCosts/{directCostId}
  method: get
  operationId: get-accounting-direct-cost
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/data/directCosts/{directCostId}/attachments/{attachmentId}
  method: get
  operationId: get-accounting-direct-cost-attachment
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/data/directCosts/{directCostId}/attachments/{attachmentId}/download
  method: get
  operationId: download-accounting-direct-cost-attachment
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/data/directCosts/{directCostId}/attachments
  method: get
  operationId: list-accounting-direct-cost-attachments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/data/directIncomes
  method: get
  operationId: list-accounting-direct-incomes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/data/directIncomes/{directIncomeId}
  method: get
  operationId: get-accounting-direct-income
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/data/directIncomes/{directIncomeId}/attachments/{attachmentId}
  method: get
  operationId: get-accounting-direct-income-attachment
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/data/directIncomes/{directIncomeId}/attachments/{attachmentId}/download
  method: get
  operationId: download-accounting-direct-income-attachment
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/data/directIncomes/{directIncomeId}/attachments
  method: get
  operationId: list-accounting-direct-income-attachments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/data/info
  method: get
  operationId: get-accounting-profile
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/data/invoices
  method: get
  operationId: list-accounting-invoices
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/data/invoices/{invoiceId}
  method: get
  operationId: get-accounting-invoice
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/data/invoices/{invoiceId}/pdf
  method: get
  operationId: download-accounting-invoice-pdf
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/data/invoices/{invoiceId}/attachments
  method: get
  operationId: list-accounting-invoice-attachments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/data/invoices/{invoiceId}/attachments/{attachmentId}
  method: get
  operationId: get-accounting-invoice-attachment
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/connections/{connectionId}/data/invoices/{invoiceId}/attachments/{attachmentId}/download
  method: get
  operationId: download-accounting-invoice-attachment
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/data/journalEntries
  method: get
  operationId: list-accounting-journal-entries
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/data/journalEntries/{journalEntryId}
  method: get
  operationId: get-accounting-journal-entry
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/data/journals
  method: get
  operationId: list-accounting-journals
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /companies/{companyId}/data/journals/{journalId}
  method: get
  operationId: get-accounting-journal
  x-agentic-access:
    action-class: c

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