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

> ## Agent Instructions
> Wabox é uma API não-oficial de WhatsApp (aparelho vinculado). Tudo é snake_case; a base é https://api.wabox.me/instances/{instance_id}/token/{token}.
> Envios respondem { id, message_id, wabox_id, status: "queued" } na hora; o resultado real chega no webhook delivery. Envios não são idempotentes: confira GET /queue antes de repetir.
> Sempre verifique X-Wabox-Signature (HMAC-SHA256 de "<t>.<corpo cru>") nos webhooks e deduplique por event_id.
> Botões, listas, carrossel e catálogo são best effort e não renderizam no WhatsApp Web/Desktop. Não existem: chamadas, listas de transmissão, histórico de mensagens, instância mobile.
> Não invente endpoints ou campos: use o OpenAPI em https://api.wabox.me/openapi.json.

# Alterar uma configuração de privacidade

> Body `{ "value": ... }`. Valores permitidos — `last_seen`: `all` | `contacts` | `contact_blacklist` | `none`; `online`: `all` | `match_last_seen`; `profile_picture`: `all` | `contacts` | `contact_blacklist` | `none`; `about`: `all` | `contacts` | `contact_blacklist` | `none`; `read_receipts`: `all` | `none`; `groups`: `all` | `contacts` | `contact_blacklist` | `none`; `calls`: `all` | `known`; `messages`: `all` | `contacts`; `stickers`: `contacts` | `contact_allowlist` | `none`. Valor fora da lista responde 400 `invalid_request`. A resposta é o conjunto completo de configurações após a alteração. `disappearing` define o timer padrão de mensagens temporárias para novas conversas (`value` em segundos: 0, 86400, 604800 ou 7776000) e responde `{ "updated": true }`. Imediato: exige a instância conectada (caso contrário, 409 `instance_not_connected`).



## OpenAPI

````yaml openapi.json PUT /instances/{instance_id}/token/{token}/privacy/{setting}
openapi: 3.1.0
info:
  title: Wabox API
  description: >-
    API pública do Wabox — WhatsApp via REST + webhooks.


    Base: `{server}/instances/{instance_id}/token/{token}`. Header
    `Client-Token` obrigatório quando ativado em Segurança.


    Tudo em `snake_case`. Datas ISO-8601 (UTC). Erros: `{ "error": { "code":
    "...", "message": "..." } }`.


    Envios respondem `{ id, message_id, wabox_id, status: "queued" }` na hora; o
    resultado chega no webhook `delivery`. `message_id` já é o id definitivo do
    WhatsApp.
  version: '1.0'
  contact: {}
servers:
  - url: https://api.wabox.me
security: []
tags:
  - name: Instance
    description: >-
      Conexão (QR code / código de pareamento), status, webhooks e configurações
      da instância.
    x-group: Instância
  - name: Messages
    description: >-
      Envio de texto, mídia, localização, contatos, reações, enquetes e ações
      sobre mensagens. Tudo passa pela fila; o resultado chega no webhook
      `delivery`.
    x-group: Mensagens
  - name: Interactive
    description: >-
      Botões, listas, carrossel, PIX, eventos de calendário, status (stories) e
      convite de canal. Best effort: renderizam no celular; o WhatsApp
      Web/Desktop não exibe botões, listas nem carrossel.
    x-group: Interativos
  - name: Queue
    description: Mensagens aguardando envio (pacing anti-ban ou instância desconectada).
    x-group: Fila
  - name: Chats
    description: >-
      Lista de conversas, ações (arquivar, silenciar, fixar, ler) e mensagens
      temporárias.
    x-group: Chats
  - name: Contacts
    description: Contatos, foto de perfil, verificação de números e bloqueio.
    x-group: Contatos
  - name: Profile
    description: Nome, recado e foto do número conectado.
    x-group: Perfil
  - name: Groups
    description: >-
      Criar, listar, administrar participantes, links de convite e
      configurações.
    x-group: Grupos
  - name: Communities
    description: Comunidades e vínculo de grupos.
    x-group: Comunidades
  - name: Newsletters
    description: >-
      Canais (newsletters): criar, seguir, ler e reagir a posts. Para publicar,
      use qualquer `send-*` com `phone: <id>@newsletter`.
    x-group: Canais
  - name: Privacy
    description: Configurações de privacidade da conta.
    x-group: Privacidade
  - name: Business
    description: >-
      Perfil comercial, catálogo de produtos, pedidos e envio de
      produto/catálogo/pedido. Best effort: depende do protocolo do WhatsApp
      Web.
    x-group: Business e catálogo
  - name: Labels
    description: Etiquetas (labels) de conversas — só em contas WhatsApp Business.
    x-group: Etiquetas
  - name: Partner
    description: >-
      Para integradores: criar e administrar instâncias do próprio workspace
      Partner com o header `Partner-Token` (base `/partner`, sem
      `instance_id`/`token` na URL). As instâncias criadas aqui são operadas
      pela API pública normal e não têm trial nem `402`.
    x-group: Partner
  - name: Webhooks
    description: Eventos entregues por `POST` na URL configurada em cada instância.
    x-group: Webhooks
paths:
  /instances/{instance_id}/token/{token}/privacy/{setting}:
    put:
      tags:
        - Privacy
      summary: Alterar uma configuração de privacidade
      description: >-
        Body `{ "value": ... }`. Valores permitidos — `last_seen`: `all` |
        `contacts` | `contact_blacklist` | `none`; `online`: `all` |
        `match_last_seen`; `profile_picture`: `all` | `contacts` |
        `contact_blacklist` | `none`; `about`: `all` | `contacts` |
        `contact_blacklist` | `none`; `read_receipts`: `all` | `none`; `groups`:
        `all` | `contacts` | `contact_blacklist` | `none`; `calls`: `all` |
        `known`; `messages`: `all` | `contacts`; `stickers`: `contacts` |
        `contact_allowlist` | `none`. Valor fora da lista responde 400
        `invalid_request`. A resposta é o conjunto completo de configurações
        após a alteração. `disappearing` define o timer padrão de mensagens
        temporárias para novas conversas (`value` em segundos: 0, 86400, 604800
        ou 7776000) e responde `{ "updated": true }`. Imediato: exige a
        instância conectada (caso contrário, 409 `instance_not_connected`).
      operationId: privacy.set
      parameters:
        - name: instance_id
          required: true
          in: path
          description: Id da instância (dashboard › instância › Credenciais).
          schema:
            type: string
          example: 8f2a3c1e-6b7d-4e5f-9a0b-1c2d3e4f5a6b
        - name: token
          required: true
          in: path
          description: Token da instância. Trate como senha.
          schema:
            type: string
          example: 3A1F5C7E9B2D4F6A8C0E1B3D5F7A9C2E
        - name: setting
          required: true
          in: path
          description: >-
            Configuração a alterar, ou `disappearing` para o timer padrão de
            mensagens temporárias.
          schema:
            enum:
              - last_seen
              - online
              - profile_picture
              - about
              - read_receipts
              - groups
              - calls
              - messages
              - stickers
              - disappearing
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                value:
                  anyOf:
                    - type: string
                      enum:
                        - all
                        - contacts
                        - contact_blacklist
                        - contact_allowlist
                        - match_last_seen
                        - known
                        - none
                        - on_standard
                        - 'off'
                    - anyOf:
                        - type: number
                          enum:
                            - 0
                        - type: number
                          enum:
                            - 86400
                        - type: number
                          enum:
                            - 604800
                        - type: number
                          enum:
                            - 7776000
              required:
                - value
            examples:
              basico:
                summary: Visto por último só para contatos
                value:
                  value: contacts
              disappearing:
                summary: Timer padrão de 24h (`setting` = `disappearing`)
                value:
                  value: 86400
      responses:
        '200':
          description: >-
            Configurações após a alteração (ou `{ "updated": true }` para
            `disappearing`).
          content:
            application/json:
              example:
                last_seen: contacts
                online: match_last_seen
                profile_picture: all
                about: contacts
                read_receipts: all
                groups: contacts
                calls: all
                messages: all
                stickers: contacts
              examples:
                configuracao:
                  summary: Configuração de privacidade
                  value:
                    last_seen: contacts
                    online: match_last_seen
                    profile_picture: all
                    about: contacts
                    read_receipts: all
                    groups: contacts
                    calls: all
                    messages: all
                    stickers: contacts
                disappearing:
                  summary: '`disappearing`'
                  value:
                    updated: true
        '400':
          description: '`value` inválido para a configuração.'
          content:
            application/json:
              example:
                error:
                  code: invalid_request
                  message: >-
                    value for last_seen must be one of: all, contacts,
                    contact_blacklist, none
        '401':
          description: Instância/token inválidos ou `Client-Token` ausente.
          content:
            application/json:
              example:
                error:
                  code: instance_not_found
                  message: Instance not found or invalid token
        '402':
          description: Workspace sem assinatura ativa.
          content:
            application/json:
              example:
                error:
                  code: subscription_required
                  message: Active subscription required
        '409':
          description: Instância não está conectada.
          content:
            application/json:
              example:
                error:
                  code: instance_not_connected
                  message: Instance is not connected

````