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