> ## Documentation Index
> Fetch the complete documentation index at: https://docs.whop.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Search and read these docs, and act on live Whop data, with the Whop MCP server: https://mcp.whop.com/mcp (browser sign-in, no API key in the client config). Setup: https://docs.whop.com/developer/guides/ai_and_mcp.md

# Economic Intelligence

> Economic Intelligence is Whop's recommendation engine for an account. Each recommendation is one action: a title the owner sees, a step-by-step brief Whop AI carries out, and the result it expects. Whop generates them from the account's sales, site, ads, and what its owner has said.

Use the Economic Intelligence API to list an account's recommendations, request new ones for a specific goal, and follow each one from `queued` to `ready`, then to `executed` once the owner runs it or `superseded` when a newer one replaces it or you retire it.

Read `economic_intelligence_offers` from account preferences and send one of its keys as `economic_intelligence_duration_key` to turn it on.

## Endpoints

| Endpoint | Request |
| - | - |
| [List Economic Intelligence](https://docs.whop.com/api-reference/beta/economic-intelligence/list-economic-intelligence.md) | GET `/economic_intelligence` |
| [Update Recommendation](https://docs.whop.com/api-reference/beta/economic-intelligence/update-recommendation.md) | PATCH `/economic_intelligence/{id}` |

## Attributes

**id** `string` *required*

Recommendation ID, prefixed `reca_`, or `create_business` for an unsaved setup
recommendation. Authenticate and list again before executing an unsaved
recommendation.

**account\_id** `string | null` *required*

ID of the account this recommendation is for, prefixed `biz_`, or null for
personal onboarding.

**acknowledged\_at** `string | null` *required*

When the executed run was first marked as seen, as an ISO 8601 timestamp, or
`null` if it has not been.

**action\_type** `string | null` *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 | null` *required*

The chat that ran the recommendation, shown only to the user who ran it, or
`null` otherwise.

**created\_at** `string | null` *required*

When the recommendation was created, as an ISO 8601 timestamp, or null for an
unsaved recommendation.

**executed\_at** `string | null` *required*

When the recommendation was carried out, as an ISO 8601 timestamp, or `null`
if it has not been.

**expected\_tool\_calls** `object[] | null` *required*

Expected API operations or tools, in execution order, or null when no execution plan was recorded.

> [accordion] Properties
>
> **description** `string | null` *required*
>
> Concise description of the operation and affected resource, or null for older
> recommendations.
>
> **tool\_name** `string` *required*
>
> API operation or assistant tool name.

**input** `string | null` *required*

What you requested, in your own words, or `null` for recommendations generated
without your input.

**inputs** `object[]` *required*

Decisions this recommendation leaves to you. Pick one option for each before it runs, or write your own for a `whop_ai` recommendation; empty when there is nothing to decide.

> [accordion] Properties
>
> **id** `string` *required*
>
> Identifies the input when you answer it.
>
> **answer** `string | null` *required*
>
> What the run used: one of the options, or your own text for a `whop_ai`
> recommendation. `null` until a run starts.
>
> **label** `string` *required*
>
> What you are choosing, such as the daily ad budget.
>
> **options** `string[]` *required*
>
> Three suggested values, strongest first. You can answer with one of them, or
> with your own text for a `whop_ai` recommendation.
>
> **template** `string` *required*
>
> A plan sentence with one \{answer} blank to fill with the selected answer.

**prompt** `string | null` *required*

Step-by-step instructions for Whop AI, or `null` when no instructions are
available.

**reasoning** `string | null` *required*

Evidence and metrics supporting the recommendation, or `null` when no
reasoning was provided.

**result\_url** `string | null` *required*

Where to view what the run produced, such as the published website or created
product, or `null` when the result is only in the chat.

**run\_by\_user\_id** `string | null` *required*

The user who started the run, prefixed `user_`, or `null` if it has not run or
was started without a user, such as with an API key.

**run\_ended\_at** `string | null` *required*

When the run ended, whether executed or incomplete, as an ISO 8601 timestamp,
or `null` if it has not ended.

**run\_started\_at** `string | null` *required*

When the run started, by Whop AI or the recommendation's API calls, as an ISO
8601 timestamp, or `null` if it has not run.

**sentiment** `string | null` *required*

How the user rated this recommendation, or `null` if they have not rated it

Available options: `positive`, `negative`

**status** `string` *required*

`queued` when awaiting generation; `pending` while generating; `ready` when available to run; `running` while Whop AI or the recommendation's API calls carry it out; `executed` when carried out; `incomplete` when the run ended without carrying it out; `superseded` when rejected or replaced.

Available options: `queued`, `pending`, `ready`, `running`, `executed`, `incomplete`, `superseded`

**superseded\_at** `string | null` *required*

When the recommendation was rejected or replaced, as an ISO 8601 timestamp, or
`null` if neither has occurred.

**target\_url** `string | null`

Website URL selected for pixel setup, or `null` when no website was captured
for this recommendation.

**title** `string | null` *required*

Recommended action and its expected benefit, or `null` until generated.

**user\_feedback** `string | null` *required*

The user's written feedback, or `null` if they have not provided any.

```json EconomicIntelligence theme={null}
{
	"id": "reca_xxxxxxxxxxxxxx",
	"account_id": "biz_xxxxxxxxxxxxxx",
	"status": "executed",
	"action_type": "cut_losing_ad_spend",
	"title": "Move $180 from 3 dead ad groups into BATCH#3, +1.7x return",
	"reasoning": "Three ad groups spent $180 over 14 days with no purchases, while BATCH#3 returned 2.4x on the same audience.",
	"prompt": "Pause the three ad groups with no purchases in the last 14 days and add their combined daily budget to BATCH#3.",
	"input": "more sales from ads",
	"inputs": [
		{
			"id": "audience",
			"label": "Guide audience",
			"options": ["Daily drivers", "Show cars"],
			"template": "Guide audience: {answer}",
			"answer": "Daily drivers"
		}
	],
	"expected_tool_calls": [
		{
			"tool_name": "updateAdCampaign",
			"description": "Increase the BATCH#3 campaign budget"
		}
	],
	"target_url": null,
	"result_url": null,
	"ai_chat_id": "aich_xxxxxxxxxxxxxx",
	"run_by_user_id": "user_xxxxxxxxxxxxxx",
	"created_at": "2026-09-14T09:00:00.000Z",
	"run_started_at": "2026-09-14T15:02:11.000Z",
	"run_ended_at": "2026-09-14T15:04:37.000Z",
	"executed_at": "2026-09-14T15:04:37.000Z",
	"acknowledged_at": "2026-09-14T15:10:02.000Z",
	"superseded_at": null,
	"sentiment": "positive",
	"user_feedback": null
}
```


## Related topics

- [CLI Commands](https://docs.whop.com/cli/commands.md)
- [List Economic Intelligence](https://docs.whop.com/api-reference/beta/economic-intelligence/list-economic-intelligence.md)
- [API Versions](https://docs.whop.com/developer/api/versioning.md)
