Submit an async intelligence job
Submit a job for async execution. Request body is { kind, input } discriminated by kind.
Response shapes:
- 200 + { fromCache: true, result, charged } — identical recent job within the per-kind freshness window; cached result returned synchronously and charged at full rate (no cache discount).
- 202 + { dedup: true } — identical job currently queued/running; reuses the in-flight jobId.
- 202 + { estimated_cost } — new job accepted; the credits were reserved at the estimate. Poll GET /intelligence/jobs/{id}.
- 402 — insufficient credits; body recommends how to fit your budget.
For records / insights, window (in input) is REQUIRED — it drives the credit price (fresher windows cost more). estimated_cost is an upper bound; the final charge is computed from the records actually returned.
Input validation is strict: any undeclared field, type mismatch, or out-of-enum value is rejected with 400 (nothing is silently stripped or coerced).
post/intelligence/jobs
Request body
Response
Successful response