# Escopo da chave

## Restrição de projeto

O campo Projeto (Project) limita uma chave de API a um projeto específico:

* **Qualquer (Any)** — a chave tem acesso a todos os projetos da conta
* **Um projeto específico** — a chave funciona somente com os dados do projeto selecionado

A restrição se comporta de forma diferente conforme o método. Nos métodos de listagem, ela é um filtro: a resposta é bem-sucedida, mas contém somente os dados do projeto. Nos métodos que se referem a uma cobrança ou carteira específica, uma requisição para o objeto de outro projeto é rejeitada com `Restricted project`.

| Método                 | Chave restrita a um projeto                                                 |
| ---------------------- | --------------------------------------------------------------------------- |
| `billing/balances`     | Dados no nível da conta; a restrição não se aplica                          |
| `billing/history`      | As operações do projeto mais as operações no nível da conta — recargas e bônus |
| `billing/tariffs`      | Taxa e faturamento somente do projeto da chave                              |
| `invoices/list`        | Resultados somente do projeto da chave                                      |
| `payments/list`        | Resultados somente do projeto da chave                                      |
| `statistics/invoices`  | Calculadas somente para o projeto da chave                                  |
| `statistics/payments`  | Calculadas somente sobre as cobranças do projeto da chave                   |
| `invoices/create`      | O `projectId` da requisição deve corresponder ao projeto da chave           |
| `invoices/cancel`      | A cobrança de outro projeto fica inacessível                                |
| `invoices/bindPayment` | A cobrança de outro projeto fica inacessível                                |

## Restrição de escopo

O escopo define quais métodos da API a chave pode usar. É um campo obrigatório, de seleção múltipla.

Uma chamada a um método fora do escopo da chave é rejeitada com `Restricted scope`.

## Combinação das restrições

As restrições de projeto e de escopo funcionam juntas. Por exemplo, se uma chave está limitada aos métodos de cobranças e vinculada a um projeto específico, então:

* Somente os métodos de cobranças estão disponíveis
* Os dados são filtrados somente para o projeto especificado
* Requisições de pagamentos ou estatísticas são rejeitadas
* Requisições de dados de outros projetos são rejeitadas
