---
title: "Generate opportunities"
method: POST
path: "/api/sites/{id}/opportunities/generate"
tags: ["Opportunities"]
---

# Generate opportunities

`POST /api/sites/{id}/opportunities/generate`

## Request

- Base URL: `https://demo.hitkeep.com`
- URL: `https://demo.hitkeep.com/api/sites/{id}/opportunities/generate`
- Auth: one of:
  - API key in cookie `hk_token`
  - HTTP bearer
  - API key in header `X-API-Key`

Runs deterministic opportunity detectors for the selected range and, when AI is configured and budget is available, asks the provider only for structured copy from cited evidence. Requires site.manage_data.

## Path parameters

- `id` string, uuid, required

## Query parameters

- `from` string, date-time
- `to` string, date-time

## Response `200`

Generated opportunities

- OpportunityGenerateResponse
  - `ai_status` string, required
  - `opportunities` Opportunity[], required
    - `action_key` string, required
    - `cited_evidence_ids` string[], required
    - `confidence` 'high' | 'medium', required
    - `copy_params` object, required
    - `created_at` string, date-time, required
    - `detector_version` string, required
    - `digest_key` string, required
    - `evidence` OpportunityEvidence[], required
      - `detail_key` string
      - `detail_params` object
      - `id` string, required
      - `label_key` string, required
      - `value` string, required
    - `generated_at` string, date-time, required
    - `id` string, uuid, required
    - `impact_label_key` string, required
    - `impact_value` string, required
    - `kind` 'conversion' | 'traffic' | 'ai' | 'search' | 'setup', required
    - `route_icon` string, required
    - `route_label_key` string, required
    - `route_params` object
    - `score` integer, required
    - `score_breakdown` OpportunityScoreBreakdown, required
      - `actionability` integer, required
      - `effort` integer, required
      - `evidence_fit` integer, required
      - `freshness` integer, required
      - `impact` integer, required
      - `sample` integer, required
      - `total` integer, required
      - `urgency` integer, required
    - `site_id` string, uuid, required
    - `status` 'new' | 'saved' | 'done' | 'dismissed', required
    - `summary_key` string, required
    - `title_key` string, required
    - `type_key` string, required
    - `updated_at` string, date-time, required

---

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