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

# Criar um Grupo

Este endpoint permite a criação de grupos no WhatsApp. Para criar um grupo, apenas o campo `name` é obrigatório. Os demais campos como foto de perfil, descrição e participantes são opcionais. Após a criação, você pode modificar qualquer um destes campos utilizando o endpoint de [Atualizar um Grupo](/pt-BR/v1/api-reference/groups/update-data).

## Foto de Perfil

Para definir uma foto de perfil durante a criação do grupo, utilize o campo `profile_picture`. Este campo aceita tanto uma URL quanto uma string em formato base64 contendo a imagem.

Recomendamos fortemente o uso de URLs ao invés de base64, pois é uma prática mais eficiente e adequada, especialmente para arquivos de maior tamanho. Embora o formato base64 seja suportado, seu uso pode impactar negativamente a performance da requisição.

## Participantes

Para adicionar participantes durante a criação do grupo, utilize o campo `participants`. Os números informados neste campo serão automaticamente adicionados como membros após a criação do grupo ser concluída.

<Warning>
  **Importante:** Para adicionar participantes ao grupo, é necessário que:

  1. O usuário tenha configurado a opção "Who can add me to groups" como "Everyone" nas configurações de privacidade do WhatsApp, ou
  2. O usuário tenha a instância salva como contato

  Caso contrário, o usuário só poderá entrar no grupo através de um link de convite.
</Warning>


## OpenAPI

````yaml POST /wa/instances/{instance_id}/groups
openapi: 3.1.0
info:
  title: Zapster API
  description: ''
  version: 1.0.0
servers:
  - url: https://api.zapsterapi.com/v1
    description: Produção
security: []
tags: []
paths:
  /wa/instances/{instance_id}/groups:
    post:
      tags: []
      summary: Criar Novo Grupo
      parameters:
        - name: instance_id
          in: path
          description: ID da instância onde o grupo de encontra.
          required: true
          example: ozj35qv418rpmlrb
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 3
                  description: Nome do grupo. Deve ter pelo menos 3 caracteres.
                  example: My New Group Name
                participants:
                  type: array
                  maxItems: 100
                  example:
                    - '+1234567890'
                    - recipient: '+1234567890'
                      role: admin
                  description: >-
                    Lista de participantes a serem adicionados ao grupo. Pode
                    ser uma lista de números de telefone ou objetos com número e
                    função. Máximo de 100 participantes.
                  items:
                    oneOf:
                      - type: string
                      - type: object
                        properties:
                          recipient:
                            type: string
                          role:
                            type: string
                            enum:
                              - admin
                              - member
                            default: member
                            description: Função do participante no grupo
                description:
                  type: string
                  description: Descrição do grupo
                  example: My New Group Description
                is_announcement:
                  type: boolean
                  description: >-
                    Define se o grupo será apenas para anúncios (ninguém pode
                    enviar mensagens, só o dono)
                  example: true
                is_restricted:
                  type: boolean
                  description: >-
                    Define se o grupo terá acesso restrito (apenas pessoas
                    autorizadas podem participar)
                  example: true
                approval_mode:
                  type: string
                  enum:
                    - auto_approve
                    - requires_approval
                  description: Modo de aprovação de novos membros
                invite_mode:
                  type: string
                  enum:
                    - admins_only
                    - all_members
                  description: Define quem pode convidar novos membros
                profile_picture:
                  type: string
                  format: uri
                  example: >-
                    https://images.unsplash.com/photo-1735956908173-8c9cfdf546e1?q=80&w=256&h=256&auto=format&fit=crop
                  description: >-
                    Foto de perfil, pode ser uma string no formato `base64` ou
                    uma `url` (publicamente acessível)
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
      deprecated: false
      security:
        - bearer: []
components:
  schemas:
    Group:
      type: object
      required:
        - description
        - id
        - invite_code
        - is_announcement
        - is_restricted
        - name
        - owner
        - profile_picture
        - total_participants
      properties:
        description:
          type: string
          example: My group description
          description: >-
            Descrição do grupo que também pode ser vista na seção de
            detalhamento do grupo.
        id:
          type: string
          example: '120363279776130958'
          description: Identificador único do grupo.
        invite_code:
          type: string
          example: XobOM8UBL8EXR3dXoGozql
          nullable: true
          description: >-
            Código do convite do grupo que pode ser usado para convitar outros
            usuários.
        is_community:
          type: boolean
          example: true
          description: Indica se o grupo é uma comunidade (pode ser um grupo de anúncios).
        is_announcement:
          type: boolean
          example: true
          description: >-
            Indica se o grupo é apenas para anúncios (ninguém pode enviar
            mensagens, só o dono).
        is_restricted:
          type: boolean
          example: true
          description: >-
            Mostra se o grupo tem acesso restrito (apenas pessoas autorizadas
            podem participar).
        approval_mode:
          type: string
          enum:
            - auto_approve
            - requires_approval
          description: Define como os participantes serão aprovados no grupo.
          example: requires_approval
        name:
          type: string
          example: My group name
          description: O nome dado ao grupo.
        owner:
          type: object
          required:
            - id
            - profile_picture
          properties:
            id:
              type: string
              example: '558796139874'
              description: Número do dono do grupo no formato `DDI` + `DDD` + `Telefone`.
            name:
              type: string
              nullable: true
              example: Owner Name
              description: O nome do dono do grupo (se disponível).
            profile_picture:
              type: string
              format: uri
              nullable: true
              example: https://zapsterapi.s3.us-east-1.amazonaws.com/...
              description: O link para a foto de perfil do dono do grupo.
        profile_picture:
          type: string
          format: uri
          example: https://zapsterapi.s3.us-east-1.amazonaws.com/...
          description: Profile picture URL of the group.
        total_participants:
          type: integer
          example: 2
          description: Total number of participants in the group.
  securitySchemes:
    bearer:
      type: http
      scheme: bearer

````