---
title: "Generate a Deep Research audit for a project"
method: POST
path: "/observability/v1/deep-research-insights/generate/"
tags: ["observability"]
---

# Generate a Deep Research audit for a project

`POST /observability/v1/deep-research-insights/generate/`

## Request

- Base URL: `https://api.cekura.ai`
- URL: `https://api.cekura.ai/observability/v1/deep-research-insights/generate/`
- Auth: one of:
  - API key in header `X-CEKURA-API-KEY`
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer

Queue a project-level Deep Research audit over recent calls and return the new row in `pending`. Scope with `project`; audit an exact window with `date_from` / `date_to`, or a rolling lookback with `window_days`, and cap the sample with `max_calls`. While an audit is already running for the project, the running row is returned as-is and the requested window is ignored — wait for it to finish before asking for a different window. Poll the returned row's `status` until it reaches `succeeded`. ⚠ Consumes credits per audit — see the pricing endpoint.

## Request body

- DeepResearchInsightGenerate: Request body for ``POST /deep-research-insights/generate/``.
  - `project` integer, required: Project ID to generate Deep Research for.
  - `window_days` integer: Lookback in days, counted back from now. Ignored when date_from / date_to are supplied.
  - `date_from` string, date-time, nullable: Start of the window to audit (ISO datetime). Must be sent together with date_to and takes precedence over window_days.
  - `date_to` string, date-time, nullable: End of the window to audit (ISO datetime). Sent with date_from.
  - `max_calls` integer
  - `focus` string: Optional research focus, stored and passed to the audit verbatim. If it cannot be understood, the audit falls back to a full audit.

## Response `200`

- DeepResearchInsightGenerate: Request body for ``POST /deep-research-insights/generate/``.
  - `project` integer, required: Project ID to generate Deep Research for.
  - `window_days` integer: Lookback in days, counted back from now. Ignored when date_from / date_to are supplied.
  - `date_from` string, date-time, nullable: Start of the window to audit (ISO datetime). Must be sent together with date_to and takes precedence over window_days.
  - `date_to` string, date-time, nullable: End of the window to audit (ISO datetime). Sent with date_from.
  - `max_calls` integer
  - `focus` string: Optional research focus, stored and passed to the audit verbatim. If it cannot be understood, the audit falls back to a full audit.

## Changes

- **2026-11-03** `a6fb6a739212`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/cekura/apis/cekura-api/changes/observability/v1/deep-research-insights/generate/post.md)

---

[API](https://skmtc.dev/cekura/apis/cekura-api.md) - [All operations](https://skmtc.dev/cekura/apis/cekura-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cekura/apis/cekura-api/revisions/a6fb6a739212?raw)
