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-contacts-api-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 Contacts 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: Contacts API
description: Public contact APIs
paths:
/public/api/v1/inboxes/{inbox_identifier}/contacts:
parameters:
- $ref: '#/components/parameters/public_inbox_identifier'
post:
tags:
- Contacts API
operationId: create-a-contact
summary: Create a contact
description: Create a contact
security: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/public_contact_create_update_payload'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/public_contact'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/bad_request_error'
/public/api/v1/inboxes/{inbox_identifier}/contacts/{contact_identifier}:
parameters:
- $ref: '#/components/parameters/public_inbox_identifier'
- $ref: '#/components/parameters/public_contact_identifier'
get:
tags:
- Contacts API
operationId: get-details-of-a-contact
summary: Get a contact
description: Get the details of a contact
security: []
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/public_contact'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/bad_request_error'
'404':
description: The given contact does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/bad_request_error'
patch:
tags:
- Contacts API
operationId: update-a-contact
summary: Update a contact
description: Update a contact's attributes
security: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/public_contact_create_update_payload'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/public_contact_record'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/bad_request_error'
components:
schemas:
public_contact:
type: object
properties:
id:
type: integer
description: Id of the contact
source_id:
type: string
description: The session identifier of the contact
name:
type:
- string
- 'null'
description: Name of the contact when available
email:
type:
- string
- 'null'
description: Email of the contact
phone_number:
type:
- string
- 'null'
description: Phone number of the contact
pubsub_token:
type: string
description: The token to be used to connect to chatwoot websocket
request_error:
type: object
properties:
field:
type: string
message:
type: string
code:
type: string
public_contact_create_update_payload:
type: object
properties:
identifier:
type: string
description: External identifier of the contact
example: '1234567890'
identifier_hash:
type: string
description: Identifier hash prepared for HMAC authentication
example: e93275d4eba0e5679ad55f5360af00444e2a888df9b0afa3e8b691c3173725f9
email:
type: string
description: Email of the contact
example: alice@acme.inc
name:
type: string
description: Name of the contact
example: Alice
phone_number:
type: string
description: Phone number of the contact
example: '+123456789'
avatar:
type: string
format: binary
description: Send the form data with the avatar image binary or use the avatar_url
custom_attributes:
type: object
description: Custom attributes of the customer
example: {}
public_contact_record:
type: object
additionalProperties: true
description: Full serialized contact record returned when the public API renders a Contact model directly.
properties:
id:
type: integer
description: Id of the contact
name:
type:
- string
- 'null'
description: Name of the contact when available
email:
type:
- string
- 'null'
description: Email of the contact
phone_number:
type:
- string
- 'null'
description: Phone number of the contact
identifier:
type:
- string
- 'null'
description: Identifier of the contact
blocked:
type: boolean
description: Whether the contact is blocked
additional_attributes:
type:
- object
- 'null'
description: Additional attributes of the contact when present
custom_attributes:
type:
- object
- 'null'
description: Custom attributes of the contact when present
contact_type:
type:
- string
- 'null'
description: Contact type of the contact when available
country_code:
type:
- string
- 'null'
description: Country code of the contact
last_activity_at:
type:
- string
- 'null'
description: Last activity timestamp of the contact in ISO 8601 format
created_at:
type:
- string
- 'null'
description: Created timestamp of the contact in ISO 8601 format
updated_at:
type:
- string
- 'null'
description: Updated timestamp of the contact in ISO 8601 format
last_name:
type:
- string
- 'null'
description: Last name of the contact
middle_name:
type:
- string
- 'null'
description: Middle name of the contact
location:
type:
- string
- 'null'
description: Location of the contact
account_id:
type: integer
description: Account id of the contact
company_id:
type:
- integer
- 'null'
description: Company id of the contact
label_list:
type: array
description: Labels applied to the contact
items:
type: string
bad_request_error:
title: data
type: object
properties:
description:
type: string
errors:
type: array
items:
$ref: '#/components/schemas/request_error'
parameters:
public_contact_identifier:
in: path
name: contact_identifier
schema:
type: string
required: true
description: The source id of contact obtained on contact create
public_inbox_identifier:
in: path
name: inbox_identifier
schema:
type: string
required: true
description: The identifier obtained from API inbox channel
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