# Anahtar kapsamı

## Proje kısıtlaması

Proje (Project) alanı, API anahtarını belirli bir projeyle sınırlar:

* **Herhangi biri (Any)** — anahtar, hesaptaki tüm projelere erişebilir
* **Belirli bir proje** — anahtar, yalnızca seçilen projenin verileriyle çalışır

Kısıtlama, metoda göre farklı davranır. Listeleme metotlarında bir filtredir: yanıt başarılıdır ama yalnızca projenin verilerini içerir. Belirli bir faturaya veya cüzdana yönelen metotlarda, başka bir projenin nesnesi için yapılan istek `Restricted project` ile reddedilir.

| Metot | Projeyle sınırlanmış anahtar |
| --- | --- |
| `billing/balances` | Hesap düzeyinde veriler; kısıtlama uygulanmaz |
| `billing/history` | Projenin işlemleri artı hesap düzeyindeki işlemler — bakiye yüklemeleri ve bonuslar |
| `billing/tariffs` | Yalnızca anahtarın projesi için ücret oranı ve ciro |
| `invoices/list` | Yalnızca anahtarın projesi için sonuçlar |
| `payments/list` | Yalnızca anahtarın projesi için sonuçlar |
| `statistics/invoices` | Yalnızca anahtarın projesi için hesaplanır |
| `statistics/payments` | Yalnızca anahtarın projesinin faturaları üzerinden hesaplanır |
| `invoices/create` | İstekteki `projectId`, anahtarın projesiyle eşleşmelidir |
| `invoices/cancel` | Başka bir projenin faturasına erişilemez |
| `invoices/bindPayment` | Başka bir projenin faturasına erişilemez |

## Kapsam kısıtlaması

Kapsam, anahtarın hangi API metotlarını kullanabileceğini tanımlar. Zorunlu, çoklu seçimli bir alandır.

Anahtarın kapsamı dışındaki bir metodun çağrısı `Restricted scope` ile reddedilir.

## Kısıtlamaları birleştirme

Proje ve kapsam kısıtlamaları birlikte çalışır. Örneğin bir anahtar, fatura metotlarıyla sınırlanmış ve belirli bir projeye bağlanmışsa:

* Yalnızca fatura metotları kullanılabilir
* Veriler yalnızca belirtilen projeye göre filtrelenir
* Ödeme veya istatistik istekleri reddedilir
* Başka projelerin verileri için istekler reddedilir
