Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/chatwoot-webhooks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Chatwoot Webhooks API
description: This is the API documentation for Chatwoot server.
version: 1.1.0
termsOfService: https://www.chatwoot.com/terms-of-service/
contact:
email: hello@chatwoot.com
license:
name: MIT License
url: https://opensource.org/licenses/MIT
servers:
- url: https://app.chatwoot.com/
tags:
- name: Webhooks
description: Event notification webhooks
paths:
/api/v1/accounts/{account_id}/webhooks:
parameters:
- $ref: '#/components/parameters/account_id'
get:
tags:
- Webhooks
operationId: list-all-webhooks
summary: List all webhooks
security:
- userApiKey: []
description: List all webhooks in the account
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
description: Array of webhook objects
items:
$ref: '#/components/schemas/webhook'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/bad_request_error'
post:
tags:
- Webhooks
operationId: create-a-webhook
summary: Add a webhook
security:
- userApiKey: []
description: Add a webhook subscription to the account
parameters:
- $ref: '#/components/parameters/account_id'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/webhook_create_update_payload'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/webhook'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/bad_request_error'
/api/v1/accounts/{account_id}/webhooks/{webhook_id}:
parameters:
- $ref: '#/components/parameters/account_id'
- $ref: '#/components/parameters/webhook_id'
patch:
tags:
- Webhooks
operationId: update-a-webhook
summary: Update a webhook object
security:
- userApiKey: []
description: Update a webhook object in the account
parameters:
- $ref: '#/components/parameters/account_id'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/webhook_create_update_payload'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/webhook'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/bad_request_error'
delete:
tags:
- Webhooks
operationId: delete-a-webhook
summary: Delete a webhook
security:
- userApiKey: []
description: Delete a webhook from the account
responses:
'200':
description: Success
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
'404':
description: The webhook does not exist in the account
content:
application/json:
schema:
$ref: '#/components/schemas/bad_request_error'
components:
parameters:
webhook_id:
in: path
name: webhook_id
schema:
type: integer
required: true
description: The numeric ID of the webhook
account_id:
in: path
name: account_id
schema:
type: integer
required: true
description: The numeric ID of the account
schemas:
webhook:
type: object
properties:
id:
type: number
description: The ID of the webhook
url:
type: string
description: The url to which the events will be send
name:
type: string
description: The name of the webhook
subscriptions:
type: array
items:
type: string
enum:
- conversation_created
- conversation_status_changed
- conversation_updated
- contact_created
- contact_updated
- message_created
- message_updated
- webwidget_triggered
- conversation_typing_on
- conversation_typing_off
description: The list of subscribed events
secret:
type:
- string
- 'null'
description: Secret used to sign webhook requests. Signed webhook deliveries include `X-Chatwoot-Timestamp` and `X-Chatwoot-Signature`; the signature is `sha256=` followed by the HMAC-SHA256 of `{timestamp}.{raw_request_body}` using this secret. Deliveries also include `X-Chatwoot-Delivery` when a delivery id is available.
account_id:
type: number
description: The id of the account which the webhook object belongs to
webhook_create_update_payload:
type: object
properties:
url:
type: string
description: The url where the events should be sent
example: https://example.com/webhook
name:
type: string
description: The name of the webhook
subscriptions:
type: array
items:
type: string
enum:
- conversation_created
- conversation_status_changed
- conversation_updated
- message_created
- message_updated
- contact_created
- contact_updated
- webwidget_triggered
- conversation_typing_on
- conversation_typing_off
description: The events you want to subscribe to.
example:
- conversation_created
- conversation_status_changed
request_error:
type: object
properties:
field:
type: string
message:
type: string
code:
type: string
bad_request_error:
title: data
type: object
properties:
description:
type: string
errors:
type: array
items:
$ref: '#/components/schemas/request_error'
securitySchemes:
userApiKey:
type: apiKey
in: header
name: api_access_token
description: This token can be obtained by visiting the profile page or via rails console. Provides access to endpoints based on the user permissions levels. This token can be saved by an external system when user is created via API, to perform activities on behalf of the user.
agentBotApiKey:
type: apiKey
in: header
name: api_access_token
description: This token should be provided by system admin or obtained via rails console. This token can be used to build bot integrations and can only access limited apis.
platformAppApiKey:
type: apiKey
in: header
name: api_access_token
description: This token can be obtained by the system admin after creating a platformApp. This token should be used to provision agent bots, accounts, users and their roles.
x-tagGroups:
- name: Platform
tags:
- Accounts
- Account Users
- AgentBots
- Users
- name: Application
tags:
- Account AgentBots
- Account
- Agents
- Audit Logs
- Canned Responses
- Contacts
- Contact Labels
- Conversation Assignments
- Conversation Labels
- Conversations
- Custom Attributes
- Custom Filters
- Inboxes
- Integrations
- Labels
- Messages
- Profile
- Reports
- Teams
- Webhooks
- Automation Rule
- Help Center
- name: Client
tags:
- Contacts API
- Conversations API
- Messages API
- name: Others
tags:
- CSAT Survey Page