---
title: "Create Recommendations"
method: POST
path: "/economic_intelligence"
tags: ["Economic Intelligence"]
---

# Create Recommendations

`POST /economic_intelligence`

Generates a recommendation based on your input. Returns immediately; poll the list endpoint until its `status` is `ready`.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `account_id` string — Account ID, prefixed `biz_`. Defaults to the API key's own account.
  - `input` string, required — What the owner wants, in their own words. Up to 1000 characters.

## Response `202`

recommendation queued

- EconomicIntelligence
  - `account_id` string, nullable, required — ID of the account this recommendation is for, prefixed `biz_`, or null for personal onboarding.
  - `action_type` string, nullable, required — Type of action recommended, or `null` when no type is assigned. New values may be added; handle unknown types gracefully.
  - `ai_chat_id` string, nullable, required — The chat to resume after its initial message is accepted, or null before a chat is ready.
  - `created_at` string, nullable, required — When the recommendation was created, as an ISO 8601 timestamp, or null for an unsaved recommendation.
  - `executed_at` string, nullable, required — When the recommendation was approved, as an ISO 8601 timestamp, or `null` if it has not been approved.
  - `expected_tool_calls` EconomicIntelligenceOperation[], nullable, required
    - `description` string, nullable, required — Concise description of the operation and affected resource, or null for older recommendations.
    - `tool_name` string, required — API operation or assistant tool name.
  - `id` string, required — Recommendation ID, prefixed `reca_`, or `create_business` for an unsaved setup recommendation. Authenticate and list again before executing an unsaved recommendation.
  - `input` string, nullable, required — What you requested, in your own words, or `null` for recommendations generated without your input.
  - `prompt` string, nullable, required — Step-by-step instructions for Whop AI, or `null` when no instructions are available.
  - `reasoning` string, nullable, required — Evidence and metrics supporting the recommendation, or `null` when no reasoning was provided.
  - `sentiment` 'positive' | 'negative' | 'null', nullable, required — How the user rated this recommendation, or `null` if they have not rated it
  - `status` 'queued' | 'pending' | 'ready' | 'executed' | 'superseded', required — `queued` when awaiting generation; `pending` while generating; `ready` when available for approval; `executed` when approved; `superseded` when rejected or replaced.
  - `superseded_at` string, nullable, required — When the recommendation was rejected or replaced, as an ISO 8601 timestamp, or `null` if neither has occurred.
  - `target_url` string, nullable — Website URL selected for pixel setup, or `null` when no website was captured for this recommendation.
  - `title` string, nullable, required — Recommended action and its expected benefit, or `null` until generated.
  - `user_feedback` string, nullable, required — The user's written feedback, or `null` if they have not provided any.

## Other responses

- `400` — Invalid Parameters
- `403` — Forbidden
- `409` — Conflict

## Changes

> 69 revisions in range; 1 not diffed.

- **2026-09-23** `140d015b9966` — 1 info
  - added the required property `expected_tool_calls` to the response with the `202` status
- **2026-09-17** `076176906e3f` — 2 info
  - added the required property `sentiment` to the response with the `202` status
  - added the required property `user_feedback` to the response with the `202` status
- **2026-09-17** `ef86d14ef691` — 1 info
  - added the optional property `target_url` to the response with the `202` status
- **2026-09-16** `ff3a76573563` — 2 breaking, 1 info
  - the response property `account_id` became nullable for the status `202`
  - the response property `created_at` became nullable for the status `202`
  - added the required property `ai_chat_id` to the response with the `202` status
- **2026-09-15** `c19acf2e2548` — 2 info
  - api operation id `runEconomicIntelligence` removed and replaced with `createEconomicIntelligence`
  - removed the `failed` enum value from the `status` response property for the response status `202`

[Full history](https://skmtc.dev/whop/apis/whop-api/changes/economic_intelligence/post.md)

---

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