Chatwoot · Agentic Access
Chatwoot Agentic Access
x-agentic-access
generated
Chatwoot exposes 144 API operations that an AI agent could call, of which 82 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: 62 read and 82 write.
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.
Customer SupportMessagingLive ChatOmni-channelConversationsContactsAgentsOpen Source
Operations: 144
Acting: 82
Human-in-the-loop: 0
Method: generated
By consequence
read 62
write 82
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/chatwoot-application-api-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: 144
by_action_class:
acting: 82
connected: 62
by_consequence:
write: 82
read: 62
human_in_the_loop_required: 0
operations:
- path: /platform/api/v1/accounts
method: post
operationId: create-an-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: /platform/api/v1/accounts/{account_id}
method: get
operationId: get-details-of-an-account
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /platform/api/v1/accounts/{account_id}
method: patch
operationId: update-an-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: /platform/api/v1/accounts/{account_id}
method: delete
operationId: delete-an-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: /platform/api/v1/accounts/{account_id}/account_users
method: get
operationId: list-all-account-users
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /platform/api/v1/accounts/{account_id}/account_users
method: post
operationId: create-an-account-user
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: /platform/api/v1/accounts/{account_id}/account_users
method: delete
operationId: delete-an-account-user
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: /platform/api/v1/agent_bots
method: get
operationId: list-all-agent-bots
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /platform/api/v1/agent_bots
method: post
operationId: create-an-agent-bot
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: /platform/api/v1/agent_bots/{id}
method: get
operationId: get-details-of-a-single-agent-bot
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /platform/api/v1/agent_bots/{id}
method: patch
operationId: update-an-agent-bot
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: /platform/api/v1/agent_bots/{id}
method: delete
operationId: delete-an-agent-bot
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: /platform/api/v1/users
method: post
operationId: create-a-user
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: /platform/api/v1/users/{id}
method: get
operationId: get-details-of-a-user
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /platform/api/v1/users/{id}
method: patch
operationId: update-a-user
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: /platform/api/v1/users/{id}
method: delete
operationId: delete-a-user
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: /platform/api/v1/users/{id}/login
method: get
operationId: get-sso-url-of-a-user
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /public/api/v1/inboxes/{inbox_identifier}
method: get
operationId: get-details-of-a-inbox
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /public/api/v1/inboxes/{inbox_identifier}/contacts
method: post
operationId: create-a-contact
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: /public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier}
method: get
operationId: get-details-of-a-contact
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier}
method: patch
operationId: update-a-contact
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: /public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier}/conversations
method: post
operationId: create-a-conversation
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: /public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier}/conversations
method: get
operationId: list-all-contact-conversations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier}/conversations/{conversation_id}
method: get
operationId: get-single-conversation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier}/conversations/{conversation_id}/toggle_status
method: post
operationId: resolve-conversation
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: /public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier}/conversations/{conversation_id}/toggle_typing
method: post
operationId: toggle-typing-status
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: /public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier}/conversations/{conversation_id}/update_last_seen
method: post
operationId: update-last-seen
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: /public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier}/conversations/{conversation_id}/messages
method: post
operationId: create-a-message
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: /public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier}/conversations/{conversation_id}/messages
method: get
operationId: list-all-conversation-messages
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier}/conversations/{conversation_id}/messages/{message_id}
method: patch
operationId: update-a-message
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: /survey/responses/{conversation_uuid}
method: get
operationId: get-csat-survey-page
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}
method: get
operationId: get-account-details
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}
method: patch
operationId: update-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: /api/v1/accounts/{account_id}/audit_logs
method: get
operationId: get-account-audit-logs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/agent_bots
method: get
operationId: list-all-account-agent-bots
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/agent_bots
method: post
operationId: create-an-account-agent-bot
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/v1/accounts/{account_id}/agent_bots/{id}
method: get
operationId: get-details-of-a-single-account-agent-bot
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/agent_bots/{id}
method: patch
operationId: update-an-account-agent-bot
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/v1/accounts/{account_id}/agent_bots/{id}
method: delete
operationId: delete-an-account-agent-bot
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/v1/accounts/{account_id}/agents
method: get
operationId: get-account-agents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/agents
method: post
operationId: add-new-agent-to-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: /api/v1/accounts/{account_id}/agents/{id}
method: patch
operationId: update-agent-in-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: /api/v1/accounts/{account_id}/agents/{id}
method: delete
operationId: delete-agent-from-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: /api/v1/accounts/{account_id}/canned_responses
method: get
operationId: get-account-canned-response
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/canned_responses
method: post
operationId: add-new-canned-response-to-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: /api/v1/accounts/{account_id}/canned_responses/{id}
method: patch
operationId: update-canned-response-in-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: /api/v1/accounts/{account_id}/canned_responses/{id}
method: delete
operationId: delete-canned-response-from-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: /api/v1/accounts/{account_id}/custom_attribute_definitions
method: get
operationId: get-account-custom-attribute
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/custom_attribute_definitions
method: post
operationId: add-new-custom-attribute-to-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: /api/v1/accounts/{account_id}/custom_attribute_definitions/{id}
method: get
operationId: get-details-of-a-single-custom-attribute
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/custom_attribute_definitions/{id}
method: patch
operationId: update-custom-attribute-in-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: /api/v1/accounts/{account_id}/custom_attribute_definitions/{id}
method: delete
operationId: delete-custom-attribute-from-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: /api/v1/accounts/{account_id}/contacts
method: get
operationId: contactList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/contacts
method: post
operationId: contactCreate
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/v1/accounts/{account_id}/contacts/{id}
method: get
operationId: contactDetails
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/contacts/{id}
method: put
operationId: contactUpdate
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/v1/accounts/{account_id}/contacts/{id}
method: delete
operationId: contactDelete
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/v1/accounts/{account_id}/contacts/{id}/conversations
method: get
operationId: contactConversations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/contacts/{id}/labels
method: get
operationId: list-all-labels-of-a-contact
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/contacts/{id}/labels
method: post
operationId: contact-add-labels
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/v1/accounts/{account_id}/contacts/search
method: get
operationId: contactSearch
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/contacts/filter
method: post
operationId: contactFilter
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/v1/accounts/{account_id}/contacts/{id}/contact_inboxes
method: post
operationId: contactInboxCreation
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/v1/accounts/{account_id}/contacts/{id}/contactable_inboxes
method: get
operationId: contactableInboxesGet
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/actions/contact_merge
method: post
operationId: contactMerge
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/v1/accounts/{account_id}/automation_rules
method: get
operationId: get-account-automation-rule
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/automation_rules
method: post
operationId: add-new-automation-rule-to-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: /api/v1/accounts/{account_id}/automation_rules/{id}
method: get
operationId: get-details-of-a-single-automation-rule
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/automation_rules/{id}
method: patch
operationId: update-automation-rule-in-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: /api/v1/accounts/{account_id}/automation_rules/{id}
method: delete
operationId: delete-automation-rule-from-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: /api/v1/accounts/{account_id}/portals
method: post
operationId: add-new-portal-to-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: /api/v1/accounts/{account_id}/portals
method: get
operationId: get-portal
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/portals/{id}
method: patch
operationId: update-portal-to-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: /api/v1/accounts/{account_id}/portals/{id}/categories
method: post
operationId: add-new-category-to-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: /api/v1/accounts/{account_id}/portals/{id}/articles
method: post
operationId: add-new-article-to-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: /api/v1/accounts/{account_id}/conversations/meta
method: get
operationId: conversationListMeta
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/conversations
method: get
operationId: conversationList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/conversations
method: post
operationId: newConversation
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/v1/accounts/{account_id}/conversations/filter
method: post
operationId: conversationFilter
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/v1/accounts/{account_id}/conversations/{conversation_id}
method: get
operationId: get-details-of-a-conversation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/conversations/{conversation_id}
method: patch
operationId: update-conversation
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/v1/accounts/{account_id}/conversations/{conversation_id}/toggle_status
method: post
operationId: toggle-status-of-a-conversation
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/v1/accounts/{account_id}/conversations/{conversation_id}/toggle_priority
method: post
operationId: toggle-priority-of-a-conversation
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/v1/accounts/{account_id}/conversations/{conversation_id}/toggle_typing_status
method: post
operationId: toggle-typing-status-of-a-conversation
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/v1/accounts/{account_id}/conversations/{conversation_id}/custom_attributes
method: post
operationId: update-custom-attributes-of-a-conversation
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/v1/accounts/{account_id}/conversations/{conversation_id}/assignments
method: post
operationId: assign-a-conversation
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/v1/accounts/{account_id}/conversations/{conversation_id}/labels
method: get
operationId: list-all-labels-of-a-conversation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/conversations/{conversation_id}/labels
method: post
operationId: conversation-add-labels
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/v1/accounts/{account_id}/conversations/{conversation_id}/reporting_events
method: get
operationId: get-conversation-reporting-events
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/inboxes
method: get
operationId: listAllInboxes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/inboxes
method: post
operationId: inboxCreation
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/v1/accounts/{account_id}/inboxes/{id}
method: get
operationId: GetInbox
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/inboxes/{id}
method: patch
operationId: updateInbox
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/v1/accounts/{account_id}/inboxes/{id}/agent_bot
method: get
operationId: getInboxAgentBot
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/inboxes/{id}/set_agent_bot
method: post
operationId: updateAgentBot
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/v1/accounts/{account_id}/inbox_members/{inbox_id}
method: get
operationId: get-inbox-members
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/accounts/{account_id}/inbox_members
method: post
operationId: add-new-agent-to-inbox
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/v1/accounts/{account_id}/inbox_members
method: patch
operationId: update-agents-in-inbox
x-agentic-access:
action-class: acting
consequence:
# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/chatwoot/refs/heads/main/agentic-access/chatwoot-agentic-access.yml