> ## Documentation Index
> Fetch the complete documentation index at: https://www.text.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Start chat

> Starts a chat.

Authors (except the requester) of all initial events must be listed in the `users` field. Default visibility of events and users is `all` and cannot be changed. The method updates the requester's `events_seen_up_to` as if they've seen all chat events.

**Required scopes:** <Tooltip tip="To start a chat in any group.">`chats--all:rw`</Tooltip> or <Tooltip tip="To start a chat in groups that the requester (related to the token) is a member of.">`chats--access:rw`</Tooltip>


## OpenAPI

````yaml /api/agent-chat/v3.7/openapi.json post /action/start_chat
openapi: 3.0.0
info:
  title: Agent Chat API
  description: >-
    The Agent Chat API allows you to manage chats, threads, events, and agent
    state.
  version: '3.7'
servers:
  - url: https://api.livechatinc.com/v3.7/agent
    description: Production server
security: []
paths:
  /action/start_chat:
    post:
      tags:
        - Chats
      summary: Start chat
      description: >-
        Starts a chat.


        Authors (except the requester) of all initial events must be listed in
        the `users` field. Default visibility of events and users is `all` and
        cannot be changed. The method updates the requester's
        `events_seen_up_to` as if they've seen all chat events.
      operationId: start-chat
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartChatRequest'
            example: {}
      responses:
        '200':
          description: Chat started.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartChatResponse'
              example:
                chat_id: PJ0MRSHTDG
                thread_id: PGDGHT5G
      security:
        - PersonalAccessToken: []
        - OAuth2BearerToken:
            - chats--all:rw
components:
  schemas:
    StartChatRequest:
      type: object
      properties:
        chat:
          type: object
          description: Initial chat configuration.
          properties:
            properties:
              $ref: '#/components/schemas/Properties'
            access:
              $ref: '#/components/schemas/Access'
            users:
              type: array
              description: >-
                Users to add to the chat. Up to 4 additional agents (other than
                the requester) and 1 customer allowed.
              items:
                type: object
                required:
                  - id
                  - type
                properties:
                  id:
                    type: string
                    description: User ID.
                  type:
                    type: string
                    enum:
                      - agent
                      - customer
                    description: User type.
            thread:
              type: object
              description: Initial thread configuration.
              properties:
                events:
                  type: array
                  items:
                    $ref: '#/components/schemas/Event'
                  description: >-
                    Initial events for the thread. Does not support `form` type
                    in the Text app.
                properties:
                  $ref: '#/components/schemas/Properties'
        active:
          type: boolean
          default: true
          description: 'If `false`: creates an inactive thread.'
        continuous:
          type: boolean
          default: false
          description: 'If `true`: starts chat as continuous (online group not required).'
    StartChatResponse:
      type: object
      properties:
        chat_id:
          type: string
          description: The ID of the created chat.
        thread_id:
          type: string
          description: The ID of the created thread.
        event_ids:
          type: array
          items:
            type: string
          description: >-
            IDs of user-generated events. Returned only when the chat was
            started with initial events. Server-side generated events are
            excluded.
    Properties:
      type: object
      description: Custom properties organized by namespace, then property name.
      additionalProperties:
        type: object
        additionalProperties: true
    Access:
      type: object
      description: >-
        [Access object](/api/agent-chat/v3.7/data-structures#access) defining
        which groups can access the chat or thread.
      properties:
        group_ids:
          type: array
          items:
            type: integer
          description: Array of group IDs with access. `0` means all groups.
    Event:
      type: object
      description: >-
        Event object. Event types include `message`, `file`, `form`,
        `filled_form`, `rich_message`, `custom`, `system_message`, and `system`.
        For full field details per type, see the [Agent Chat API data structures
        reference](/api/agent-chat/v3.7/data-structures).
      properties:
        id:
          type: string
          description: Event ID.
        type:
          type: string
          description: Event type.
        created_at:
          type: string
          format: date-time
          description: Event creation timestamp (RFC3339 with microseconds).
        author_id:
          type: string
          description: ID of the event author.
        visibility:
          type: string
          enum:
            - all
            - agents
          description: Event visibility.
        properties:
          $ref: '#/components/schemas/Properties'
  securitySchemes:
    PersonalAccessToken:
      description: >-
        Use your `account ID` as the username and your personal access token
        (PAT) as the password, or pass a Base64-encoded value directly in the
        Authorization header. For more information, see the <a
        href="/authentication/personal-access-tokens">personal access tokens
        guide</a>.
      type: http
      scheme: basic
    OAuth2BearerToken:
      description: >-
        This API uses OAuth2 with the implicit grant flow. <a
        href="/authentication/oauth-authorization#implicit-grant">Learn about
        the implicit grant flow.</a>
      type: oauth2
      flows:
        implicit:
          authorizationUrl: https://accounts.livechat.com
          scopes:
            chats--all:ro: Read all chats
            chats--all:rw: Read and write all chats
            chats--access:ro: Read chats from groups the agent is a member of
            chats--access:rw: Read and write chats from groups the agent is a member of
        authorizationCode:
          authorizationUrl: https://accounts.livechat.com
          tokenUrl: https://accounts.livechat.com/token
          scopes:
            chats--all:ro: Read all chats
            chats--all:rw: Read and write all chats
            chats--access:ro: Read chats from groups the agent is a member of
            chats--access:rw: Read and write chats from groups the agent is a member of

````