Chatwoot Labels API

Account label management APIs

Operations 7

GET /api/v1/accounts/{account_id}/labels List all labels #
POST /api/v1/accounts/{account_id}/labels Create a label #
GET /api/v1/accounts/{account_id}/labels/{id} Get a label #
PATCH /api/v1/accounts/{account_id}/labels/{id} Update a label #
DELETE /api/v1/accounts/{account_id}/labels/{id} Delete a label #
GET /api/v1/accounts/{account_id}/conversations/{conversation_id}/labels List labels applied to a conversation. #
POST /api/v1/accounts/{account_id}/conversations/{conversation_id}/labels Set the labels applied to a conversation. #

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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/chatwoot-labels-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

chatwoot-labels-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Chatwoot Labels API
  termsOfService: https://www.chatwoot.com/terms-of-service/
  version: '1.0'
  description: 'Operations tagged Labels across 2 of this provider''s published API definitions: chatwoot-application-api-openapi.yml, chatwoot-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://app.chatwoot.com/
- url: https://app.chatwoot.com
  description: Chatwoot Cloud. For self-hosted installations, substitute your own host.
tags:
- name: Labels
  description: Account label management APIs
paths:
  /api/v1/accounts/{account_id}/labels:
    parameters:
    - $ref: '#/components/parameters/account_id'
    get:
      tags:
      - Labels
      operationId: list-all-labels
      summary: List all labels
      security:
      - userApiKey: []
      description: List all labels available in the current account
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  payload:
                    type: array
                    description: Array of labels
                    items:
                      $ref: '#/components/schemas/label'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request_error'
    post:
      tags:
      - Labels
      operationId: create-a-label
      summary: Create a label
      security:
      - userApiKey: []
      description: Create a label in the account
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/label_create_update_payload'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/label'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request_error'
    servers:
    - url: https://app.chatwoot.com/
  /api/v1/accounts/{account_id}/labels/{id}:
    parameters:
    - $ref: '#/components/parameters/account_id'
    - name: id
      in: path
      required: true
      schema:
        type: number
      description: ID of the label
    get:
      tags:
      - Labels
      operationId: get-details-of-a-single-label
      summary: Get a label
      security:
      - userApiKey: []
      description: Get the details of a label in the account
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/label'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request_error'
        '404':
          description: The given label ID does not exist in the account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request_error'
    patch:
      tags:
      - Labels
      operationId: update-a-label
      summary: Update a label
      security:
      - userApiKey: []
      description: Update a label's attributes
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/label_create_update_payload'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/label'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request_error'
    delete:
      tags:
      - Labels
      operationId: delete-a-label
      summary: Delete a label
      security:
      - userApiKey: []
      description: Delete a label from the account
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request_error'
        '404':
          description: The label does not exist in the account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request_error'
    servers:
    - url: https://app.chatwoot.com/
  /api/v1/accounts/{account_id}/conversations/{conversation_id}/labels:
    parameters:
    - $ref: '#/components/parameters/AccountId'
    - $ref: '#/components/parameters/ConversationId'
    get:
      operationId: getConversationLabels
      tags:
      - Labels
      summary: List labels applied to a conversation.
      responses:
        '200':
          description: Object with a payload array of label names.
      security:
      - userApiKey: []
    post:
      operationId: setConversationLabels
      tags:
      - Labels
      summary: Set the labels applied to a conversation.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                labels:
                  type: array
                  items:
                    type: string
      responses:
        '200':
          description: The updated label list.
      security:
      - userApiKey: []
    servers:
    - url: https://app.chatwoot.com
      description: Chatwoot Cloud. For self-hosted installations, substitute your own host.
components:
  schemas:
    label_create_update_payload:
      type: object
      properties:
        title:
          type: string
          description: The label title
          example: support
        description:
          type: string
          description: A short description for the label
          example: Conversations that need support follow-up
        color:
          type: string
          description: Hex color code for the label
          example: '#1f93ff'
        show_on_sidebar:
          type: boolean
          description: Whether the label should appear in the sidebar
          example: true
    request_error:
      type: object
      properties:
        field:
          type: string
        message:
          type: string
        code:
          type: string
    label:
      type: object
      properties:
        id:
          type: number
          description: The ID of the label
        title:
          type: string
          description: The title of the label
        description:
          type: string
          description: The description of the label
        color:
          type: string
          description: Hex color code for the label
        show_on_sidebar:
          type: boolean
          description: Whether the label should appear in the sidebar
    bad_request_error:
      title: data
      type: object
      properties:
        description:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/request_error'
    Label:
      type: object
      properties:
        id:
          type: integer
        title:
          type: string
        description:
          type: string
        color:
          type: string
        show_on_sidebar:
          type: boolean
  parameters:
    account_id:
      in: path
      name: account_id
      schema:
        type: integer
      required: true
      description: The numeric ID of the account
    ConversationId:
      name: conversation_id
      in: path
      required: true
      description: The display id of the conversation.
      schema:
        type: integer
    AccountId:
      name: account_id
      in: path
      required: true
      description: The numeric id of the account.
      schema:
        type: integer
  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-refined-from:
- chatwoot-application-api-openapi.yml
- chatwoot-openapi.yml
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