OpenAPI Specification
openapi: 3.0.3
info:
title: Chatwoot Account AgentBots 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:
parameters:
platform_user_id:
in: path
name: id
schema:
type: integer
required: true
description: The numeric ID of the user on the platform
schemas:
bad_request_error:
title: data
type: object
properties:
description:
type: string
errors:
type: array
items:
$ref: '#/components/schemas/request_error'
request_error:
type: object
properties:
field:
type: string
message:
type: string
code:
type: string
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:
nullable: true
type: string
message_signature:
nullable: true
type: string
email:
type: string
hmac_identifier:
type: string
inviter_id:
nullable: true
type: number
name:
type: string
provider:
type: string
pubsub_token:
type: string
role:
type: string
enum:
- agent
- administrator
ui_settings:
type: object
uid:
type: string
type:
nullable: true
type: string
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:
nullable: true
type: string
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:
nullable: true
type: number
custom_role:
nullable: true
type: object
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: {}
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