> ## 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.

# Add Participant to Group

> This endpoint adds a participant to a group

_Note that adding unknown numbers is a spammy action and can result in a ban_

_Per Meta's policies, a user will be added to a group directly only if they have enabled it in their privacy settings, and they are a member of your phone contacts_

_For all other cases, this will send an invite to them to join the group_




## OpenAPI

````yaml POST /chats/{chat_id}/add
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/{chat_id}/add:
    parameters:
      - name: chat_id
        in: path
        required: true
        schema:
          type: string
          example: 120363371308389685@g.us
    post:
      tags:
        - chats
        - group
      summary: Add Participant to Group
      description: >
        This endpoint adds a participant to a group


        _Note that adding unknown numbers is a spammy action and can result in a
        ban_


        _Per Meta's policies, a user will be added to a group directly only if
        they have enabled it in their privacy settings, and they are a member of
        your phone contacts_


        _For all other cases, this will send an invite to them to join the
        group_
      operationId: addParticipantToGroup
      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:
                - participants
              properties:
                participants:
                  type: array
                  items:
                    type: string
                    example: '919537851844'
                  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
                  example:
                    - '919537851844'
                force_add_participants:
                  type: boolean
                  description: >-
                    - When set to true, all participants will be attempted to be
                    added directly to group.

                    - Default false
                  example: true
            examples:
              Add Participant to Group:
                value:
                  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: '80'
            Date:
              schema:
                type: string
                example: Sun, 26 Jan 2025 17:14:27 GMT
            ETag:
              schema:
                type: string
                example: W/"50-oXCBoRtHjEOQ4jWu33g9MlIs8mM"
            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: '1737911669'
            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: ff85c2a0-dc08-11ef-b2dd-f36c1b4f3634
          content:
            application/json:
              schema:
                type: object
                description: >-
                  The response is an object with `is_success` value for each
                  participant
              examples:
                200 OK:
                  value:
                    919537851844@c.us:
                      is_success: true
                      message: Invite sent to participant
      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 addParticipant() {
              const response = await client.group.addParticipant({
                chat_id: '120363371308389685@g.us',
                participants: ['919537851844']
              });

              console.log(response);
            }

            addParticipant();
        - lang: cURL
          label: cURL
          source: |-
            curl -X POST \
              https://api.periskope.app/v1/chats/{chat_id}/add \
              -H 'Authorization: Bearer <token>' \
              -H 'Content-Type: application/json' \
              -H 'x-phone: YOUR_PHONE_NUMBER' \
             -d '{
                "participants": ['919537851844'] 
               }'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````