Chatwoot Users API

User management APIs

Operations 5

POST /platform/api/v1/users Create a User #
GET /platform/api/v1/users/{id} Get an user details #
PATCH /platform/api/v1/users/{id} Update a user #
DELETE /platform/api/v1/users/{id} Delete a User #
GET /platform/api/v1/users/{id}/login Get User SSO Link #

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-users-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-users-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Chatwoot Users 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: Users
  description: User management APIs
paths:
  /platform/api/v1/users:
    post:
      tags:
      - Users
      operationId: create-a-user
      summary: Create a User
      description: Create a User
      security:
      - platformAppApiKey: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/user_create_update_payload'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/user'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request_error'
  /platform/api/v1/users/{id}:
    parameters:
    - $ref: '#/components/parameters/platform_user_id'
    get:
      tags:
      - Users
      operationId: get-details-of-a-user
      summary: Get an user details
      description: Get the details of an user
      security:
      - platformAppApiKey: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/user'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request_error'
        '404':
          description: The given user does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request_error'
    patch:
      tags:
      - Users
      operationId: update-a-user
      summary: Update a user
      description: Update a user's attributes
      security:
      - platformAppApiKey: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/user_create_update_payload'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/user'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request_error'
    delete:
      tags:
      - Users
      operationId: delete-a-user
      summary: Delete a User
      description: Delete a User
      security:
      - platformAppApiKey: []
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request_error'
        '404':
          description: The user does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request_error'
  /platform/api/v1/users/{id}/login:
    parameters:
    - $ref: '#/components/parameters/platform_user_id'
    get:
      tags:
      - Users
      operationId: get-sso-url-of-a-user
      summary: Get User SSO Link
      description: Get the sso link of a user
      security:
      - platformAppApiKey: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  url:
                    type: string
                    description: SSO url to autenticate the user
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request_error'
        '404':
          description: The given user does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request_error'
components:
  schemas:
    user:
      type: object
      properties:
        id:
          type: number
        access_token:
          type: string
        account_id:
          type: number
        available_name:
          type: string
        avatar_url:
          type: string
        confirmed:
          type: boolean
        display_name:
          type:
          - string
          - 'null'
        message_signature:
          type:
          - string
          - 'null'
        email:
          type: string
        hmac_identifier:
          type: string
        inviter_id:
          type:
          - number
          - 'null'
        name:
          type: string
        provider:
          type: string
        pubsub_token:
          type: string
        role:
          type: string
          enum:
          - agent
          - administrator
        ui_settings:
          type: object
        uid:
          type: string
        type:
          type:
          - string
          - 'null'
        custom_attributes:
          type: object
          description: Available for users who are created through platform APIs and has custom attributes associated.
        accounts:
          type: array
          items:
            type: object
            properties:
              id:
                type: number
              name:
                type: string
              status:
                type: string
              active_at:
                type:
                - string
                - 'null'
                format: date-time
              role:
                type: string
                enum:
                - administrator
                - agent
              permissions:
                type: array
                items:
                  type: string
              availability:
                type: string
              availability_status:
                type: string
              auto_offline:
                type: boolean
              custom_role_id:
                type:
                - number
                - 'null'
              custom_role:
                type:
                - object
                - 'null'
    request_error:
      type: object
      properties:
        field:
          type: string
        message:
          type: string
        code:
          type: string
    user_create_update_payload:
      type: object
      properties:
        name:
          type: string
          description: Name of the user
          example: Daniel
        display_name:
          type: string
          description: Display name of the user
          example: Dan
        email:
          type: string
          description: Email of the user
          example: daniel@acme.inc
        password:
          type: string
          description: Password must contain uppercase, lowercase letters, number and a special character
          example: Password2!
        custom_attributes:
          type: object
          description: Custom attributes you want to associate with the user
          example: {}
    bad_request_error:
      title: data
      type: object
      properties:
        description:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/request_error'
  parameters:
    platform_user_id:
      in: path
      name: id
      schema:
        type: integer
      required: true
      description: The numeric ID of the user on the platform
  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