Skip to main content
Tokens de API permitem que sistemas externos chamem a API Pontua em nome da sua unidade de negócio, sem necessidade de login interativo de usuário. Esta seção cobre o ciclo de vida do token via API.
Recomendação: gerencie tokens prioritariamente pelo dashboard (Configurações → API). A interface web é mais segura para gestão diária — mostra o token uma única vez no momento da criação e tem trilha de auditoria visual.Use estes endpoints quando precisar automatizar rotação de tokens ou inventariar tokens em um sistema de gerenciamento centralizado.

Endpoints

MétodoRotaDescrição
POST/api-keyCria uma nova API Key
GET/api-keyLista todas as API Keys da unidade
PATCH/api-key/{apiKeyId}Atualiza status ou nome de uma API Key
Detalhes completos com schema de request/response e try-it interativo estão em Referência da API.

Quando usar a API vs. o dashboard

SituaçãoRecomendado
Setup inicial da integraçãoDashboard (uma vez)
Rotação trimestral automáticaAPI
Auditoria de tokens existentesAPI (GET /api-key) ou dashboard
Revogar token comprometido (urgência)Dashboard (mais rápido)
Inventário multi-tenant para contadoresAPI

Padrão de rotação zero-downtime

async function rotacionarTokenPontua() {
  // 1. Cria novo token
  const respostaCriacao = await fetch('https://api.pontua.com.br/api-key', {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${TOKEN_ATUAL}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      // Veja a Referência da API para os campos exatos do body
      nome: `[PROD] erp-${new Date().toISOString().slice(0, 10)}`,
    }),
  })
  const novaChave = await respostaCriacao.json()
  const novoToken = novaChave.token  // valor aparece UMA vez

  // 2. Atualiza secret do sistema (sem deletar o antigo ainda)
  await secretManager.updateSecret('PONTUA_API_TOKEN', novoToken)

  // 3. Aguarda 24h pra todos os processos pegarem o novo
  // (deploys progressivos, caches de secret, etc.)

  // 4. Após validar que o novo está sendo usado, revoga o antigo
  await fetch(`https://api.pontua.com.br/api-key/${TOKEN_ATUAL_ID}`, {
    method: 'PATCH',
    headers: {
      Authorization: `Bearer ${novoToken}`, // já usa o novo
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ status: 'INATIVO' }),
  })
}
O valor do token só aparece na resposta de criação. Salve imediatamente em cofre — não há endpoint para recuperá-lo depois.

Veja também