Аутентификация и scope

Ключ принадлежит ровно одной организации и может только то, что разрешают его scope.

API-ключи

Заголовок: Authorization: Bearer capi_… Ключ определяет организацию и доступ; организация зашита в ключ, а не в вызов. Ключи могут иметь срок действия и ограничение по IP-адресам.

Scope

Шаблон resource:read и resource:write (запись включает чтение), например contacts:read, invoices:write. Если scope нет, API отвечает 403 и называет требуемые scope.

http
HTTP/1.1 403 Forbidden
Content-Type: application/problem+json

{
  "type": "https://www.claritos.io/developers/errors#insufficient-scope",
  "title": "Insufficient scope",
  "status": 403,
  "code": "insufficient-scope",
  "requiredScopes": ["contacts:write"],
  "instance": "6f1c…"
}

Ротация

Ротация создаёт новый ключ с теми же правами; старый работает ещё 24 часа. Отзыв действует немедленно.

Безопасность

Мы храним только отпечаток sha256. Никогда не помещайте ключи в клиентский код, репозитории или логи. При подозрении сразу выполните ротацию или отзовите ключ.