API: Attribution
Bounded first/last-touch UTM source attribution reports.
Раздел собран из спецификации OpenAPI продукта: 1 метод(ов). Поверхность — query-api (основной API, база /api/v1). Все методы требуют аутентификации.
Методы раздела
/projects/{id}/attribution Calculate first- or last-touch attribution by UTM source (viewer+)
The conversion event and up to 50 filters are compiled separately from the core query engine. Touch selection uses the first/last non-empty utm_source before conversion. The inclusive project-timezone range is limited to 400 days. `meta.estimate` is always true. The active catalog protects the whole report with the exact `attribution` capability (Start, Growth and Scale in cloud, exact signed key on-prem). For an admitted request, `include_revenue=true` adds exact signed revenue to each channel and `meta.revenue_available` is true.
Параметры
| Имя | Где | Тип | Описание |
|---|---|---|---|
id обязателен | Путь | integer (int32) | Project id. |
Тело запроса application/json , обязательно
| Поле | Тип | Описание |
|---|---|---|
conversion_event обязательно | string | |
date_from обязательно | string (date) | |
date_to обязательно | string (date) | |
touch обязательно | enum(first, last) | |
group_by необязательно | enum(utm_source) | По умолчанию "utm_source". |
filters необязательно | array<Filter> | Exact row filters; saved segment references are not accepted by this P1 compiler. |
include_revenue необязательно | boolean | Include exact signed revenue aggregates after the endpoint's exact attribution entitlement check. По умолчанию false. |
cursor необязательно | string | |
limit необязательно | integer | По умолчанию 50. |
Ответы
| Код | Что означает | Тело |
|---|---|---|
| 200 | Cursor-paginated channel attribution. | AttributionResponse |
| 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 |
| 408 | Query exceeded the endpoint-specific timeout (code=query_timeout) | Error |
| 422 | Request failed validation (code=validation_failed) | Error |
Источник раздела — docs/api/openapi.yaml репозитория продукта,
версия API 1.0.0, OpenAPI 3.0.3,
снимок 095579325c2d.
Расхождение снимка со спецификацией роняет сборку документации.