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

# Autenticação

> Autenticação da API.

A API da Chargefy usa API keys server-side. Envie a chave no header
`Authorization` usando o esquema `Bearer`.

<RequestExample>
  ```bash cURL theme={}
  curl https://api.chargefy.io/v1/customers \
    -H "Authorization: Bearer {{API_KEY}}"
  ```
</RequestExample>

<Warning>
  Nunca exponha API keys no browser, em apps mobile ou em código versionado. Faça
  requisições para a API pública a partir do seu servidor.
</Warning>

## Chaves de API

Cada organização cria e gerencia suas próprias chaves no dashboard. O token é
mostrado uma única vez no momento da criação.

As chaves podem ter escopos diferentes:

| Scope   | Uso                                                                         |
| ------- | --------------------------------------------------------------------------- |
| `read`  | Listar e consultar recursos.                                                |
| `write` | Criar, atualizar, confirmar, cancelar ou desativar recursos. Inclui `read`. |
| `admin` | Operações administrativas reservadas. Inclui `read` e `write`.              |

Use o menor escopo possível para cada integração.

## Request IDs

Toda resposta da API inclui o header `Request-Id` com um identificador `req_*`.
Use esse ID para consultar o request no dashboard ou para falar com suporte.

## Plataformas e organizações conectadas

Se você opera como plataforma, sua API key pertence à organização plataforma.
Para atuar em uma organização conectada, envie o header `Organization` com o ID
da organização filha.

<RequestExample>
  ```bash cURL theme={}
  curl https://api.chargefy.io/v1/payment-intents \
    -H "Authorization: Bearer {{PLATFORM_API_KEY}}" \
    -H "Organization: org_123"
  ```
</RequestExample>

Esse header só funciona para organizações conectadas ativas e em endpoints que
suportam operação em nome da organização conectada.

## Respostas comuns

Credencial ausente ou inválida:

<ResponseExample>
  ```json theme={}
  {
    "error": {
      "code": "unauthorized",
      "message": "Missing or invalid API key.",
      "type": "authentication_error"
    }
  }
  ```
</ResponseExample>

Escopo insuficiente:

<ResponseExample>
  ```json theme={}
  {
    "error": {
      "code": "permission_denied",
      "message": "The API key does not have the required scope.",
      "type": "invalid_request_error"
    }
  }
  ```
</ResponseExample>

## Próximos passos

* [Gerenciar API keys](/integrate/api-keys)
* [Errors](/api-reference/errors)
* [Plataformas](/api-reference/organizations/list)
