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

# Obter número (detalhes Meta)

> Retorna o número + todas as informações da Meta quando for um número da API oficial: bloco `meta` aninhado (phone / profile / waba, camelCase) com qualidade, tier de mensagens, status de verificação, perfil de negócio e dados da WABA, além de `health`. Servido do cache por padrão; passe `?refresh=1` para buscar ao vivo no Graph da Meta e persistir. Número não-Meta retorna `meta: null`. (A mesma rota aceita DELETE para remover; use GET /api/v1/numbers/:id/status para um poll leve só de estado.) `historyImport` informa o que aconteceu com o histórico do aparelho na conexão atual: `discarded` (`firstAt`, `lastAt`, `events`) quando o histórico chegou com `settings.historyImportEnabled` em `false` e foi descartado, e `syncRefused` (`at`, `reason: "SYNC_LIMIT_REACHED"`) quando a Meta recusou enviá-lo de novo. Os dois são definitivos: a Meta entrega o histórico de um número uma única vez. Os dois vêm `null` quando nada aconteceu. `extraChargeUnpaidSince` e `extraChargeDisconnectAt` (ISO 8601 ou `null`) informam uma cobrança de número extra sem pagamento: enquanto o primeiro está preenchido, o envio pelo número fica bloqueado (`409 NUMBER_BLOCKED`, `reason: "extra_charge_unpaid"`) até o pagamento (`POST /v1/numbers/{id}/pay`); o segundo é quando um número conectado por QR Code será desconectado se continuar sem pagamento, e é sempre `null` em número Meta. Os dois ficam no nível de cima, fora de `health` — `health.sendable` e `health.code` nunca os refletem.



## OpenAPI

````yaml openapi.pt.json GET /v1/numbers/{id}
openapi: 3.1.0
info:
  title: API Pilot Status
  version: 1.0.0
  license:
    name: Pilot Status Terms of Service
    url: https://pilotstatus.com.br/terms
  description: >-
    API REST pública do Pilot Status. Autentique com o header `x-api-key:
    ps_...` (ou `x-api-key-id`). Base URL: https://pilotstatus.com.br
servers:
  - url: https://pilotstatus.com.br
security:
  - apiKey: []
  - apiKeyId: []
paths:
  /v1/numbers/{id}:
    get:
      tags:
        - Numbers
      summary: Obter número (detalhes Meta)
      description: >-
        Retorna o número + todas as informações da Meta quando for um número da
        API oficial: bloco `meta` aninhado (phone / profile / waba, camelCase)
        com qualidade, tier de mensagens, status de verificação, perfil de
        negócio e dados da WABA, além de `health`. Servido do cache por padrão;
        passe `?refresh=1` para buscar ao vivo no Graph da Meta e persistir.
        Número não-Meta retorna `meta: null`. (A mesma rota aceita DELETE para
        remover; use GET /api/v1/numbers/:id/status para um poll leve só de
        estado.) `historyImport` informa o que aconteceu com o histórico do
        aparelho na conexão atual: `discarded` (`firstAt`, `lastAt`, `events`)
        quando o histórico chegou com `settings.historyImportEnabled` em `false`
        e foi descartado, e `syncRefused` (`at`, `reason: "SYNC_LIMIT_REACHED"`)
        quando a Meta recusou enviá-lo de novo. Os dois são definitivos: a Meta
        entrega o histórico de um número uma única vez. Os dois vêm `null`
        quando nada aconteceu. `extraChargeUnpaidSince` e
        `extraChargeDisconnectAt` (ISO 8601 ou `null`) informam uma cobrança de
        número extra sem pagamento: enquanto o primeiro está preenchido, o envio
        pelo número fica bloqueado (`409 NUMBER_BLOCKED`, `reason:
        "extra_charge_unpaid"`) até o pagamento (`POST /v1/numbers/{id}/pay`); o
        segundo é quando um número conectado por QR Code será desconectado se
        continuar sem pagamento, e é sempre `null` em número Meta. Os dois ficam
        no nível de cima, fora de `health` — `health.sendable` e `health.code`
        nunca os refletem.
      operationId: get_numbers_id
      parameters:
        - name: id
          in: path
          required: true
          description: Id do número WhatsApp.
          schema:
            type: string
          example: num_01HZX...
        - name: refresh
          in: query
          required: false
          description: >-
            Passe `1` para forçar uma busca ao vivo no Graph da Meta e atualizar
            o cache.
          schema:
            type: string
          example: '1'
      responses:
        '200':
          description: Obter número Meta
          content:
            application/json:
              example:
                id: num_01HZX...
                number: '+5511999999999'
                name: Atendimento
                provider: META
                state: OPEN
                isFullyConnected: true
                settings:
                  historyImportEnabled: false
                  webhookHistoricalMessages: false
                  ignoreNewsletters: false
                  markReadOnSend: true
                  alwaysOnline: null
                  rejectCall: null
                  msgRejectCall: null
                  readMessages: null
                  ignoreGroups: null
                  ignoreStatus: null
                  appliesTo:
                    history: all
                    advanced: none
                    sending: meta
                historyImport:
                  discarded: null
                  syncRefused: null
                health:
                  qualityRating: GREEN
                  messagingLimitTier: TIER_2K
                  metaStatus: CONNECTED
                  sendable: true
                extraChargeUnpaidSince: null
                extraChargeDisconnectAt: null
                meta:
                  fetchedAt: '2026-06-30T08:55:00.000Z'
                  phone:
                    displayPhoneNumber: +55 11 99999-9999
                    verifiedName: Minha Empresa
                    qualityRating: GREEN
                    status: CONNECTED
                    codeVerificationStatus: VERIFIED
                    nameStatus: APPROVED
                    platformType: CLOUD_API
                    isOnBizApp: false
                    throughput:
                      level: STANDARD
                    messagingLimitTier: TIER_2K
                    businessManagerMessagingLimit: TIER_2K
                    accountMode: LIVE
                  profile:
                    about: Atendimento oficial
                    email: contato@empresa.com
                    websites:
                      - https://empresa.com
                    vertical: PROF_SERVICES
                  waba:
                    id: '1234567890'
                    name: Empresa WABA
                    currency: BRL
                    businessVerificationStatus: verified
                    accountReviewStatus: APPROVED
                    ownershipType: CLIENT
                  errors: {}
                coexistence:
                  status: 'NO'
                  evidence: meta_is_on_biz_app
        '400':
          description: Payload ou parâmetros inválidos
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  code:
                    type: string
              example:
                error: Validation error
        '401':
          description: Header `x-api-key` / `x-api-key-id` ausente ou inválido
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  code:
                    type: string
              example:
                error: Unauthorized
        '429':
          description: Limite de taxa excedido
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  code:
                    type: string
              example:
                error: Too many requests
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: Sua chave de API ps_
    apiKeyId:
      type: apiKey
      in: header
      name: x-api-key-id
      description: Id da chave de API (alternativa ao x-api-key)

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.