ReferenceParceiro
Emitir/renovar tokens (token)
Endpoint server-to-server (sem sessão de usuário). Autentica o
client: apps confidential enviam client_secret; apps public usam
apenas client_id + PKCE. Suporta dois grants:
authorization_code— troca ocode(uso único, TTL 60s) recebido noredirect_uripor um par de tokens. Envie ocode_verifierdo PKCE.refresh_token— rotação rotativa: cada uso invalida o refresh anterior e emite um novo par. Reapresentar um refresh já usado revoga toda a família de tokens (detecção de reuse).
O access_token é opaco (prefixo orb_at_), válido por ~1h, e vai no
header Authorization: Bearer das chamadas /api/external/*.
Request Body
application/x-www-form-urlencoded
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/oauth/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d 'grant_type=authorization_code&client_id=cli_abc123&code_verifier=dBjftJeZ4CVP...&code=orb_ac_...&redirect_uri=https%3A%2F%2Fparceiro.com%2Foauth%2Fcallback'{ "success": true, "access_token": "orb_at_9f8e7d6c5b4a...", "token_type": "Bearer", "expires_in": 3600, "refresh_token": "orb_rt_1a2b3c4d5e6f...", "scope": "statistics:read campaigns:read"}{ "success": false, "error": "invalid_grant", "message": "Código inválido, expirado ou já usado."}{ "success": false, "error": "invalid_client", "message": "client_secret inválido."}{ "success": false, "error": "Too Many Requests", "code": "rate_limited", "message": "Muitas requisições. Tente novamente em instantes."}