8x8 · Agentic Access

8x8 Agentic Access

x-agentic-access generated

8x8 exposes 312 API operations that an AI agent could call, of which 147 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: 165 read, 119 write, 27 physical, and 1 safety-critical.

1 operation are classed safety-critical and should require human-in-the-loop approval at runtime.

Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.

TelecommunicationsUnited StatesCPaaSUCaaSCCaaSContact CenterMessagingSMSVoiceVideoIdentity VerificationWebhooksCloud Communications
Operations: 312 Acting: 147 Human-in-the-loop: 1 Method: generated

By consequence

read 165 write 119 physical 27 safety-critical 1

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
PATCH /{campaign-id} safety-critical required
POST /api/chat/v1/messages/ physical conditional
POST /api/v1/subaccounts/{subAccountId}/callflows physical conditional
POST /api/v1/subaccounts/{subAccountId}/events physical conditional
POST /api/v1/subaccounts/{subAccountId}/lon physical conditional
POST /api/v1/subaccounts/{subAccountId}/lon/batch physical conditional
POST /api/v1/subaccounts/{subAccountId}/messages physical conditional
POST /api/v1/subaccounts/{subAccountId}/messages physical conditional
POST /api/v1/subaccounts/{subAccountId}/messages/batch physical conditional
POST /api/v1/subaccounts/{subAccountId}/messages/batch physical conditional
DELETE /api/v1/subaccounts/{subAccountId}/messages/batch/{batchId} physical conditional
DELETE /api/v1/subaccounts/{subAccountId}/messages/batch/{batchId} physical conditional
DELETE /api/v1/subaccounts/{subAccountId}/messages/{umid} physical conditional
DELETE /api/v1/subaccounts/{subAccountId}/messages/{umid} physical conditional
POST /api/v1/subaccounts/{subAccountId}/messages/{umid}/feedback physical conditional
POST /api/v1/subaccounts/{subAccountId}/messages/{umid}/read physical conditional
POST /api/v1/subaccounts/{subAccountId}/surveys/{surveyId}/messages physical conditional
POST /api/v1/subaccounts/{subAccountId}/surveys/{surveyId}/messages/batch physical conditional
PUT /api/v1/tenant/{tenantId}/conversations/{conversationId}/cards/{cardId}/action-execute physical conditional
PUT /api/v1/tenant/{tenantId}/conversations/{conversationId}/cards/{cardId}/action-submit physical conditional
POST /api/v1/whatsapp/subaccounts/{subAccountId}/channels/{channelId}/directSend/sample physical conditional
POST /chat-gateway/v1/conversations/{conversationId}/messages physical conditional
POST /chat-gateway/v1/conversations/{conversationId}/read-receipt physical conditional
POST /chat-gateway/v1/conversations/{conversationId}/thinking physical conditional
POST /chat-gateway/v1/conversations/{conversationId}/typing physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-07-25'
method: generated
source: openapi/8x8-actions-events-8x8-contact-center-chat-api-v2.json, openapi/8x8-actions-events-8x8-contact-center-dynamic-campaigns.json,
  openapi/8x8-actions-events-8x8-contact-center-new-campaigns.json, openapi/8x8-actions-events-chapi---chat-api.json,
  openapi/8x8-actions-events-contact-center-agent-status-api.json, openapi/8x8-actions-events-contact-center-call-api.json,
  openapi/8x8-actions-events-contact-center-chat-gateway-v1.yml, openapi/8x8-administration-address-api-v1.yaml,
  openapi/8x8-administration-operation-api-v1.yaml, openapi/8x8-administration-phonenumber-api-v1.yaml,
  openapi/8x8-administration-ringgroup-api-v1.yaml, openapi/8x8-administration-site-api-v1.yaml,
  openapi/8x8-administration-user-api-v1.yaml, openapi/8x8-analytics-8x8-analytics-for-contact-center-historical-metrics-api.json,
  openapi/8x8-analytics-8x8-analytics-for-contact-center-real-time-metrics-api.json, openapi/8x8-analytics-audit-records-api.json,
  openapi/8x8-analytics-cloud-storage-service-public-api.json, openapi/8x8-analytics-customer-360-public-api.json,
  openapi/8x8-analytics-quality-management-and-speech-analytics-api.json, openapi/8x8-analytics-work-analytics-customer-data.json,
  openapi/8x8-analytics-work-analytics-historical.json, openapi/8x8-analytics-work-analytics.json,
  openapi/8x8-connect-automation-api.json, openapi/8x8-connect-business-messaging-api.json,
  openapi/8x8-connect-common-models.json, openapi/8x8-connect-configuration-api.json, openapi/8x8-connect-contacts-api.json,
  openapi/8x8-connect-number-lookup-api.json, openapi/8x8-connect-number-masking-api.json, openapi/8x8-connect-sms-api.json,
  openapi/8x8-connect-verification-api.json, openapi/8x8-connect-video-interaction-api.json,
  openapi/8x8-connect-voice-v1-api.json, openapi/8x8-contactcenter-8x8-contact-center-chat-api.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: 312
  by_action_class:
    acting: 147
    connected: 165
  by_consequence:
    write: 119
    read: 165
    physical: 27
    safety-critical: 1
  human_in_the_loop_required: 1
operations:
- path: /oauth/v2/token
  method: post
  operationId: createaccesstoken
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - basic
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /vcc/{region}/chat/v2/tenant/{tenant-id}/web-hooks
  method: get
  operationId: getwebhooks
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - vcc-chat.webhooks.read
    token:
      max-ttl: 3600
    audit: none
- path: /vcc/{region}/chat/v2/tenant/{tenant-id}/web-hooks
  method: post
  operationId: createwebhook
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - vcc-chat.webhooks.write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /vcc/{region}/chat/v2/tenant/{tenant-id}/web-hooks/{web-hook-id}
  method: get
  operationId: getwebhookbyid
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - vcc-chat.webhooks.read
    token:
      max-ttl: 3600
    audit: none
- path: /vcc/{region}/chat/v2/tenant/{tenant-id}/web-hooks/{web-hook-id}
  method: put
  operationId: updatewebhook
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - vcc-chat.webhooks.write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /vcc/{region}/chat/v2/tenant/{tenant-id}/web-hooks/{web-hook-id}
  method: delete
  operationId: deletewebhookbyid
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - vcc-chat.webhooks.write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /vcc/{region}/chat/v2/tenant/{tenant-id}/web-hooks/verify
  method: post
  operationId: verifywebhook
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - vcc-chat.webhooks.read
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /vcc/{region}/chat/v2/jwk/{jwk-id}/public
  method: get
  operationId: getjwkpublickey
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /vcc/{region}/chat/v2/tenant/{tenant-id}/channels
  method: get
  operationId: getchatapichannels
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - vcc-chat.channels.read
    token:
      max-ttl: 3600
    audit: none
- path: /vcc/{region}/chat/v2/tenant/{tenant-id}/channels
  method: post
  operationId: createchatapichannel
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - vcc-chat.channels.write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /vcc/{region}/chat/v2/tenant/{tenant-id}/channels/{channel-id}
  method: get
  operationId: getchatapichannel
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - vcc-chat.channels.read
    token:
      max-ttl: 3600
    audit: none
- path: /vcc/{region}/chat/v2/tenant/{tenant-id}/channels/{channel-id}
  method: put
  operationId: updatechatapichannel
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - vcc-chat.channels.write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /vcc/{region}/chat/v2/tenant/{tenant-id}/channels/{channel-id}
  method: delete
  operationId: deletechatapichannelbyid
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - vcc-chat.channels.write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /vcc/{region}/chat/v2/tenant/{tenant-id}/conversations
  method: get
  operationId: getcctransactions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - vcc-chat.conversations.read
    token:
      max-ttl: 3600
    audit: none
- path: /vcc/{region}/chat/v2/tenant/{tenant-id}/conversations
  method: post
  operationId: createcctransaction
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - vcc-chat.conversations.write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /vcc/{region}/chat/v2/tenant/{tenant-id}/conversations/{conversation-id}
  method: get
  operationId: getcctransaction
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - vcc-chat.conversations.read
    token:
      max-ttl: 3600
    audit: none
- path: /vcc/{region}/chat/v2/tenant/{tenant-id}/conversations/{conversation-id}/participants
  method: get
  operationId: getparticipantsforcctransaction
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - vcc-chat.conversations.read
    token:
      max-ttl: 3600
    audit: none
- path: /vcc/{region}/chat/v2/tenant/{tenant-id}/conversations/{conversation-id}/participants/customer
  method: delete
  operationId: customerparticipantleavecctransaction
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - vcc-chat.conversations.write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /vcc/{region}/chat/v2/tenant/{tenant-id}/conversations/{conversation-id}/messages
  method: get
  operationId: getmessagesforcctransaction
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - vcc-chat.conversations.read
    token:
      max-ttl: 3600
    audit: none
- path: /vcc/{region}/chat/v2/tenant/{tenant-id}/conversations/{conversation-id}/messages
  method: post
  operationId: sendmessagetocctransaction
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - vcc-chat.conversations.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: /{campaign-id}
  method: patch
  operationId: changecampaignstatus
  x-agentic-access:
    action-class: acting
    consequence: safety-critical
    subject: required
    audience: null
    token:
      max-ttl: 120
      exchange: true
      purpose-required: true
      proof-of-possession: true
    escalation:
      human-in-the-loop: required
    audit: required
- path: /{campaign-id}/customers
  method: post
  operationId: addcustomer
  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: /{campaign-id}/customers/{customer-id}
  method: delete
  operationId: deletecustomer
  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: /{campaignId}/records
  method: post
  operationId: addRecords
  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: /{campaignId}
  method: patch
  operationId: modifyCampaign
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/chat/v1/messages/
  method: post
  operationId: sendmessageusingpost
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/chat/v1/messages
  method: get
  operationId: getmessagesusingget_1
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /tenants/{tenantId}/agentstatus/agents
  method: get
  operationId: getagentsstatus
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /tenants/{tenantId}/agentstatus/agents/bulk
  method: post
  operationId: setagentsstatuses
  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/{tenantId}/agentstatus/agents/{agentId}
  method: get
  operationId: getagentstatus
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /tenants/{tenantId}/agentstatus/agents/{agentId}
  method: put
  operationId: setagentstatus
  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/{tenantId}/calls
  method: post
  operationId: placePhoneCall
  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/{tenantId}/calls/{interactionId}/agent/{agentId}/transaction-codes
  method: put
  operationId: addTransactionCodes
  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/{tenantId}/calls/{interactionId}
  method: delete
  operationId: deletePhoneInteraction
  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/{tenantId}/calls/{interactionId}/agent/{agentId}
  method: delete
  operationId: hangupAgentHandlingInteraction
  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: /tenants/{tenantId}/agents/{agentId}/calls
  method: delete
  operationId: hangupAgentLines
  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/{tenantId}/agents/{agentId}/calls/line/{lineNo}
  method: delete
  operationId: hangupAgentLine
  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: /chat-gateway/v1/webhooks
  method: get
  operationId: getwebhooks-1
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - Contact Center Chat Gateway
    token:
      max-ttl: 3600
    audit: none
- path: /chat-gateway/v1/webhooks
  method: post
  operationId: createwebhook-1
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - Contact Center Chat Gateway
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /chat-gateway/v1/webhooks/{webhookId}
  method: get
  operationId: getwebhookbyid-1
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - Contact Center Chat Gateway
    token:
      max-ttl: 3600
    audit: none
- path: /chat-gateway/v1/webhooks/{webhookId}
  method: put
  operationId: updatewebhook-1
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - Contact Center Chat Gateway
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /chat-gateway/v1/webhooks/{webhookId}
  method: delete
  operationId: deletewebhookbyid-1
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - Contact Center Chat Gateway
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /chat-gateway/v1/webhooks/verify
  method: post
  operationId: verifywebhook-1
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - Contact Center Chat Gateway
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /chat-gateway/v1/jwk/{jwkId}/public
  method: get
  operationId: getjwkpublickey-1
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /chat-gateway/v1/channels
  method: get
  operationId: getchatapichannels-1
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - Contact Center Chat Gateway
    token:
      max-ttl: 3600
    audit: none
- path: /chat-gateway/v1/channels
  method: post
  operationId: createchatapichannel-1
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - Contact Center Chat Gateway
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /chat-gateway/v1/channels/{channelId}
  method: get
  operationId: getchatapichannel-1
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - Contact Center Chat Gateway
    token:
      max-ttl: 3600
    audit: none
- path: /chat-gateway/v1/channels/{channelId}
  method: put
  operationId: updatechatapichannel-1
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - Contact Center Chat Gateway
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /chat-gateway/v1/channels/{channelId}
  method: delete
  operationId: deletechatapichannelbyid-1
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - Contact Center Chat Gateway
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /chat-gateway/v1/conversations
  method: get
  operationId: getcctransactions-1
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - Contact Center Chat Gateway
    token:
      max-ttl: 3600
    audit: none
- path: /chat-gateway/v1/conversations
  method: post
  operationId: createcctransaction-1
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - Contact Center Chat Gateway
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /chat-gateway/v1/conversations/{conversationId}
  method: put
  operationId: putcctransaction
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - Contact Center Chat Gateway
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /chat-gateway/v1/conversations/{conversationId}
  method: patch
  operationId: patchcctransaction
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - Contact Center Chat Gateway
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /chat-gateway/v1/conversations/{conversationId}
  method: get
  operationId: getcctransaction-1
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - Contact Center Chat Gateway
    token:
      max-ttl: 3600
    audit: none
- path: /chat-gateway/v1/conversations/{conversationId}/interactions
  method: get
  operationId: getccinteractions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - Contact Center Chat Gateway
    token:
      max-ttl: 3600
    audit: none
- path: /chat-gateway/v1/conversations/{conversationId}/post-agent-assignment
  method: post
  operationId: createpostagentassignment
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - Contact Center Chat Gateway
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /chat-gateway/v1/conversations/{conversationId}/typing
  method: post
  operationId: sendtypingindicator
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - Contact Center Chat Gateway
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /chat-gateway/v1/conversations/{conversationId}/thinking
  method: post
  operationId: sendthinkingindicator
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - Contact Center Chat Gateway
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /chat-gateway/v1/conversations/{conversationId}/read-receipt
  method: post
  operationId: sendreadreceipt
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - Contact Center Chat Gateway
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /chat-gateway/v1/conversations/{conversationId}/participants
  method: get
  operationId: getparticipantsforcctransaction-1
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - Contact Center Chat Gateway
    token:
      max-ttl: 3600
    audit: none
- path: /chat-gateway/v1/conversations/{conversationId}/participants/user
  method: patch
  operationId: userparticipantleavecctransaction
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - Contact Center Chat Gateway
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /chat-gateway/v1/conversations/{conversationId}/messages
  method: get
  operationId: getmessagesforcctransaction-1
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - Contact Center Chat Gateway
    token:
      max-ttl: 3600
    audit: none
- path: /chat-gateway/v1/conversations/{conversationId}/messages
  method: post
  operationId: sendmessagetocctransaction-1
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - Contact Center Chat Gateway
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /chat-gateway/v1/conversations/{conversationId}/messages/{messageId}
  method: get
  operationId: getmessagebyidforcctransaction
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - Contact Center Chat Gateway
    token:
      max-ttl: 3600
    audit: none
- path: /chat-gateway/v1/conversations/{conversationId}/attachments
  method: get
  operationId: getconversationattachments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - Contact Center Chat Gateway
    token:
      max-ttl: 3600
    audit: none
- path: /chat-gateway/v1/conversations/{conversationId}/attachments
  method: post
  operationId: addconversationattachments
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - Contact Center Chat Gateway
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /chat-gateway/v1/conversations/{conversationId}/attachments/{attachmentId}
  method: get
  operationId: getconversationattachment
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - Contact Center Chat Gateway
    token:
      max-ttl: 3600
    audit: none
- path: /chat-gateway/v1/conversations/{conversationId}/attachments/{attachmentId}/content
  method: get
  operationId: downloadattachmentforchatapiconversation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - Contact Center Chat Gateway
    token:
      max-ttl: 3600
    audit: none
- path: /chat-gateway/v1/conversations/{conversationId}/messages/{messageId}/cards
  method: get
  operationId: getcardsforcctransaction
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - Contact Center Chat Gateway
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/tenant/{tenantId}/conversations/{conversationId}/cards/{cardId}/action-submit
  method: put
  operationId: updatecardactionsubmit
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - Contact Center Chat Gateway
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/tenant/{tenantId}/conversations/{conversationId}/cards/{cardId}/action-execute
  method: put
  operationId: updatecardactionexecute
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - Contact Center Chat Gateway
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /addresses
  method: get
  operationId: listAddresses
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /addresses
  method: post
  operationId: createAddress
  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: /addresses/{addressId}
  method: get
  operationId: getAddress
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /addresses/{addressId}
  method: delete
  operationId: deleteAddress
  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: /operations/{operationId}
  method: get
  operationId: getOperation
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /phone-numbers
  method: get
  operationId: listPhoneNumbers
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /phone-numbers/{phoneNumber}
  method: get
  operationId: getPhoneNumber
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /ring-groups
  method: get
  operationId: listRingGroups
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /ring-groups
  method: post
  operationId: createRingGroup
  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: /ring-groups/{ringGroupId}
  method: get
  operationId: getRingGroup
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /ring-groups/{ringGroupId}
  method: put
  operationId: updateRingGroup
  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: /ring-groups/{ringGroupId}
  method: delete
  operationId: deleteRingGroup
  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: /ring-groups/{ringGroupId}/update-members
  method: post
  operationId: updateRingGroupMembers
  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: /sites
  method: post
  operationId: createSite
  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: /sites
  method: get
  operationId: listSites
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /sites/{siteId}
  method: get
  operationId: getSite
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /sites/{siteId}
  method: put
  operationId: updateSite
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
  

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