REST API для программного доступа к **вашим** проектам и ошибкам. Каждый запрос авторизуется личным API-ключом — доступ только к данным владельца ключа.
Базовый URL: https://dev-logs.ru/api/v1
Ingest событий (от SDK) — отдельный endpoint, см. INGEST API.
**Ответ 410** — проект с этим collectorKey был удалён пользователем; повторное auto-provision запрещено (collector_key_revoked). Коллектор должен прекратить ingest для этого ключа.
После восстановления агент снова может вызвать POST /api/v1/projects/ensure. Если ключ уже записан в локальный revoked-keys.json на хосте коллектора, удалите его оттуда или перезапустите агент.
**Ответ 200** — объект { "project": { … } } (та же структура, что при GET).
**Ответ 400 / 404** — как при создании и GET.
Удалить проект
DELETE/api/v1/projects/{projectId}
Ответ 200
json
{
"ok": true
}
Удаляются все связанные issues, events и source maps.
**Ответ 404** — проект не найден или чужой.
Source maps
Загрузка .map файлов для символизации stack trace в кабинете. Требуется настроенный S3 (platform на сервере или в настройках проекта). Подробнее: SOURCE_MAPS.md.
DSN проекта возвращается в поле dsn при GET /api/v1/projects и GET /api/v1/projects/{id}.
Provisioning API (server-to-server)
Для интеграции внешних продуктов (например cloud-ide): **1 пользователь IDE → 1 пользователь DevLogs**, **1 проект IDE → 1 проект DevLogs + per-project API-токен**.
Сервисный ключ
Префикс: dl_svc_… (отличается от пользовательского dl_live_…)
Выпуск: **Настройки организации → Сервисные ключи (provisioning)**
Передача: Authorization: Bearer dl_svc_… или заголовок X-DevLogs-Service-Key: dl_svc_…
Audience: принимается **только** на /api/v1/provisioning/*; на пользовательских эндпоинтах — 401