API: Audit
Append-only project audit viewer and bounded CSV export (admin+).
Раздел собран из спецификации OpenAPI продукта: 2 метод(ов). Поверхность — query-api (основной API, база /api/v1). Все методы требуют аутентификации.
/projects/{id}/audit-log List append-only project audit records (admin+)
Requires the draft audit_log backend entitlement. Recording mandatory security/privacy events is independent of this viewer gate. The date range is required, bounded to 366 days and interpreted as UTC instants.
Параметры
| Имя | Где | Тип | Описание |
|---|---|---|---|
id обязателен | Путь | integer (int32) | Project id. |
from обязателен | Query | string (date-time) | Inclusive UTC lower bound. |
to обязателен | Query | string (date-time) | Inclusive UTC upper bound; range is bounded server-side. |
action необязателен | Query | string | |
object_type необязателен | Query | string | |
object_id необязателен | Query | string | |
outcome необязателен | Query | enum(succeeded, failed, denied) | |
cursor необязателен | Query | string | Scope-bound opaque cursor |
limit необязателен | Query | integer | По умолчанию 50. |
Ответы
| Код | Что означает | Тело |
|---|---|---|
| 200 | Audit page; never cache Заголовки: Cache-Control.
| AuditPage |
| 401 | Missing or invalid credentials (code=unauthorized) | Error |
| 402 | Product access is not active. `code=trial_expired` means the organization's trial ended without payment; `code=subscription_required` means there is no current paid subscription or live trial. In both cases ingest, mutations and plan-gated read/write capabilities are paused until a plan is paid; details.billing_url, when present, points to the cabinet billing page. | Error |
| 403 | Authenticated but not permitted (code=forbidden) | Error |
| 404 | Resource not found (code=not_found) | Error |
| 422 | Request failed validation (code=validation_failed) | Error |
| 429 | Rate limit (code=rate_limited) or plan quota exceeded (code=quota_exceeded). On ingest operations a live trial that exhausted its total event cap answers code=trial_quota_exceeded instead of quota_exceeded. Заголовки: Retry-After.
| Error |
/projects/{id}/audit-log/export.csv Export a bounded, spreadsheet-safe audit CSV (admin+)
Uses the same scope, role and entitlement checks as the viewer. At most 1,000 rows are collected under a 15-second deadline. Client cursor and limit parameters are rejected; every cell is formula-injection safe. The file is withheld if the mandatory audit.exported record cannot commit.
Параметры
| Имя | Где | Тип | Описание |
|---|---|---|---|
id обязателен | Путь | integer (int32) | Project id. |
from обязателен | Query | string (date-time) | Inclusive UTC lower bound. |
to обязателен | Query | string (date-time) | Inclusive UTC upper bound; range is bounded server-side. |
action необязателен | Query | string | |
object_type необязателен | Query | string | |
object_id необязателен | Query | string | |
outcome необязателен | Query | enum(succeeded, failed, denied) |
Ответы
| Код | Что означает | Тело |
|---|---|---|
| 200 | UTF-8 CSV Заголовки: Cache-Control.
| string |
| 401 | Missing or invalid credentials (code=unauthorized) | Error |
| 402 | Product access is not active. `code=trial_expired` means the organization's trial ended without payment; `code=subscription_required` means there is no current paid subscription or live trial. In both cases ingest, mutations and plan-gated read/write capabilities are paused until a plan is paid; details.billing_url, when present, points to the cabinet billing page. | Error |
| 403 | Authenticated but not permitted (code=forbidden) | Error |
| 404 | Resource not found (code=not_found) | Error |
| 422 | Request failed validation (code=validation_failed) | Error |
| 429 | Rate limit (code=rate_limited) or plan quota exceeded (code=quota_exceeded). On ingest operations a live trial that exhausted its total event cap answers code=trial_quota_exceeded instead of quota_exceeded. Заголовки: Retry-After.
| Error |
Источник раздела — docs/api/openapi.yaml репозитория продукта,
версия API 1.0.0, OpenAPI 3.0.3,
снимок 095579325c2d.
Расхождение снимка со спецификацией роняет сборку документации.