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

# Create Group

> This endpoint creates a new group.
 - Note that creating a new 1-1 chat does not require any explicit API. Sending a message will automatically create the chat



## OpenAPI

````yaml POST /chats/create
openapi: 3.0.3
info:
  title: API - Local
  description: >-
    #### Welcome to the official Postman collection of Periskope API


    Periskope APIs enable you automate actions on your WhatsApp phone, and the
    Periskope platform


    - Read more about the APIs & webhooks here -
    [https://docs.periskope.app/api-reference/introduction](https://docs.periskope.app/api-reference/introduction)
        
    - We encourage responsible usage of the APIs. Follow these best practices
    and recommendations for safe actions on WhatsApp -
    [https://docs.periskope.app/get-started/best-practices](https://docs.periskope.app/get-started/best-practices)
        

    #### Getting Started


    ##### Pre-requisites:


    1. **Sign up for a free account on Periskope:** To use the Periskope API,
    you need to have an active Periskope account. If you don’t have one, you can
    sign up for a 7-day free trial [here](https://console.periskope.app).
        
    2. **Scan the QR code from WhatsApp to connect your phone:** A connected
    phone is required to use the APIs
        
    3. **Go to** [Settings &gt;
    API](https://console.periskope.app/settings/api), and generate an API key
    for your organization - The API key is used to authenticate every request.
    Please keep this secure
        

    ##### Using Postman:


    1. **Fork the collection so you can edit values and test the APIs in your
    own postman environment:** To fork the collection, click on the three dots
    next to v1. Then click on create a fork (_shortcut: Ctrl + Alt + F)._
        
    2. **Update the value of the variables in the collection:**  
        \- Update the API key with the key generated in Step 3  
        \- Update the phone number with your connected number. This number will be added to the `x-phone` header across requests
        
        It must be in the format of country code+number, with no special characters or spaces _e.g. +91 98745 32456 becomes 919874532456_
        

    For any help or feedback, please contact us at
    [support@periskope.app](https://mailto:support@periskope.app), or ping us on
    [WhatsApp](https://what.sapp.link/periskope)
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.periskope.app/v1
security:
  - bearerAuth: []
tags:
  - name: contacts
  - name: tickets
  - name: tasks
  - name: phones
  - name: message
  - name: queue
  - name: chats
  - name: group
  - name: members
  - name: webhooks
paths:
  /chats/create:
    post:
      tags:
        - chats
        - group
      summary: Create Group
      description: |-
        This endpoint creates a new group.
         - Note that creating a new 1-1 chat does not require any explicit API. Sending a message will automatically create the chat
      operationId: createGroup
      parameters:
        - name: x-phone
          in: header
          schema:
            type: string
            example: '{{orgPhone}}'
          description: >-
            Please provide the number of the phone you want to call with this
            API in the header. The number must be in country code + number
            format without any characters or spaces, e.g. 919876543210;
            Alternatively, provide the phone_id (phone-xxxxxxxxxxxx) in the
            header
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - group_name
                - participants
              properties:
                group_name:
                  type: string
                  example: Test New 1040
                  description: '- Provide the name of the group to be created'
                participants:
                  type: array
                  items:
                    type: string
                  description: >
                    - Provide a list of participants to be added to the group
                    (in country_code + number format).

                    - Participants will be directly added to the group if they
                    are in your phone contacts and their privacy settings allow
                    it. If not, participants will receive an invite to join the
                    group
                options:
                  type: object
                  description: |
                    - Provide additional options while creating a group
                  properties:
                    addMembersAdminsOnly:
                      type: boolean
                      example: ''
                      description: >
                        - When set to true, only admins can add other
                        participants to the group 

                        - Default false
                    description:
                      type: string
                      example: ''
                      description: >
                        - Provide an optional text input to set the group
                        description
                    image:
                      type: string
                      example: ''
                      description: |
                        - Provide a public image URL to set the group image
                    infoAdminsOnly:
                      type: boolean
                      example: ''
                      description: >-
                        - When set to true, only admins can edit group
                        description or info

                        - Default false
                    messagesAdminsOnly:
                      type: boolean
                      example: ''
                      description: >-
                        - When set to true, only admins can send messages to the
                        group.

                        - Default false
                    force_add_participants:
                      type: boolean
                      example: ''
                      description: >-
                        - When set to true, all participants will be attempted
                        to be added directly to group.

                        - Default false
            examples:
              Create Group:
                value:
                  group_name: Test New 1040
                  options:
                    addMembersAdminsOnly: ''
                    description: ''
                    image: ''
                    infoAdminsOnly: ''
                    messagesAdminsOnly: ''
                  participants:
                    - '919537851844'
      responses:
        '200':
          description: 200 OK
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
                example: '*'
            Connection:
              schema:
                type: string
                example: keep-alive
            Content-Length:
              schema:
                type: string
                example: '626'
            Date:
              schema:
                type: string
                example: Mon, 27 Jan 2025 11:07:52 GMT
            ETag:
              schema:
                type: string
                example: W/"272-AQyJPVdKFR/ueu+RdQgUvSj4r7I"
            Keep-Alive:
              schema:
                type: string
                example: timeout=5
            X-Powered-By:
              schema:
                type: string
                example: Express
            X-RateLimit-Limit:
              schema:
                type: string
                example: '10'
            X-RateLimit-Remaining:
              schema:
                type: string
                example: '9'
            X-RateLimit-Reset:
              schema:
                type: string
                example: '1737976074'
            x-periskope-org-id:
              schema:
                type: string
                example: 2997dd64-89bf-48d3-9a22-b314fca017e5
            x-periskope-phone-id:
              schema:
                type: string
                example: phone-bqzvyibhmwkaergr
            x-periskope-trace-id:
              schema:
                type: string
                example: f3da7ae0-dc9e-11ef-92d0-dfa7145a6112
          content:
            application/json:
              schema:
                type: object
                description: >-
                  The response is a chat object for the new created group. Refer
                  to [the chat object
                  here](/api-reference/objects/the-chat-object)
              examples:
                200 OK:
                  value:
                    assigned_to: null
                    chat_access:
                      bharat@hashlabs.dev: true
                    chat_id: 120363392071406466@g.us
                    chat_image: null
                    chat_name: Test New 1040
                    chat_type: group
                    closed_at: null
                    created_at: '2025-01-27T11:07:52+00:00'
                    custom_properties: {}
                    group_description: null
                    info_admins_only: false
                    invite_link: https://chat.whatsapp.com/invite/DsDQQZB3AhpLPhBTx0w6SO
                    is_exited: false
                    is_muted: false
                    label_ids: {}
                    labels: []
                    latest_message: null
                    member_count: 1
                    messages_admins_only: false
                    org_id: 2997dd64-89bf-48d3-9a22-b314fca017e5
                    org_phone: 918527184400@c.us
                    updated_at: '2025-01-27T11:07:56.025233+00:00'
                    is_archived: null
                    parent_community_id: null
      x-codeSamples:
        - lang: TypeScript
          label: Node.js
          source: |-
            import { PeriskopeApi } from '@periskope/periskope-client';

            const client = new PeriskopeApi({
              authToken: 'YOUR_API_KEY',
              phone: 'YOUR_PHONE_NUMBER', // e.g., '919876543210'
            });

            async function createGroup() {
              const response = await client.group.create({
                group_name: 'Test New 1040',
                participants: ['919876543210', '918527184400']
              });

              console.log(response);
            }

            createGroup();
        - lang: cURL
          label: cURL
          source: |-
            curl -X POST \
              https://api.periskope.app/v1/chats/create \
              -H 'Authorization: Bearer <token>' \
              -H 'Content-Type: application/json' \
              -H 'x-phone: YOUR_PHONE_NUMBER' \
             -d '{
                "group_name": "Test New 1040" 
                "participants": ['919876543210', '918527184400'] 
               }'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````