← Documentação BRPix API

Autenticação

Token flow OAuth-style com chaves de API, refresh e revogação.

Fluxo de autenticação

Merchant BRPix API | | |-- POST /v1/auth/token (key_id+secret) -->| | |-- verifica bcrypt hash | |-- valida IP whitelist |<-- 200 access_token (15 min) ----------| | + refresh_token (7 dias) | | | |-- GET /v1/balance | | Authorization: Bearer access_token -->| |<-- 200 saldo -------------------------------| | | |-- POST /v1/auth/refresh (refresh_token) -->| |<-- 200 novo access_token (15 min) ---------|

POST /v1/auth/token

Troca credenciais (key_id + key_secret) por um par de tokens.

# Requisição
curl -s -X POST https://api.brpix.app/v1/auth/token \
  -H "Content-Type: application/json" \
  -d '{
    "key_id": "bk_live_abc123",
    "key_secret": "sk_live_xxxxxxxxxxxxx"
  }'

# Resposta 200
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "bearer",
  "expires_in": 900,
  "refresh_token": "d2f4a8b1-1234-5678-abcd-ef0123456789"
}

POST /v1/auth/refresh

Renova o access_token usando o refresh_token sem precisar das credenciais originais.

# Requisição
curl -s -X POST https://api.brpix.app/v1/auth/refresh \
  -H "Content-Type: application/json" \
  -d '{"refresh_token": "d2f4a8b1-1234-5678-abcd-ef0123456789"}'

# Resposta 200
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "bearer",
  "expires_in": 900
}

DELETE /v1/auth/revoke

Invalida um refresh_token antes de seu vencimento (7 dias). Use ao deslogar ou rotacionar credenciais.

# Requisição (exige Bearer token válido)
curl -s -X DELETE https://api.brpix.app/v1/auth/revoke \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -d '{"refresh_token": "d2f4a8b1-1234-5678-abcd-ef0123456789"}'

# Resposta 204 No Content

Scopes disponíveis

ScopeDescrição
balance:readConsultar saldo disponível, a receber e bloqueado
statement:readConsultar extrato (ledger entries paginado)
pix_in:createGerar cobranças Pix In e cancelar cobranças pendentes
pix_in:readConsultar cobranças Pix In e chaves Pix cadastradas
pix_out:createIniciar transferências Pix Out ⚠ Requer IPs autorizados
pix_out:readConsultar status de transferências Pix Out
Scopes são cumulativos. Uma chave pode ter vários scopes. Definidos no painel BRPix em Configurações → API Keys ao criar ou editar uma chave.

IP Whitelist

Se a chave de API tiver IPs autorizados configurados, requisições de IPs não autorizados recebem 403 com código IP_NOT_AUTHORIZED. Para chaves sem IP whitelist, qualquer IP é aceito.

Recomendação para pix_out:create: configure sempre uma lista de IPs autorizados para chaves com scope de cashout, para mitigar uso indevido em caso de vazamento do key_secret.

mTLS

Autenticação mútua TLS (mTLS) está planejada para versões futuras. Quando disponível, o certificado do cliente será validado junto ao Bearer token.