---
title: "Execute Recommendation Endpoint"
method: POST
path: "/api/recommendations/{rec_id}/execute"
tags: ["recommendations"]
---

# Execute Recommendation Endpoint

`POST /api/recommendations/{rec_id}/execute`

## Request

- Base URL: `https://api.advisorppc.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.advisorppc.com/api/recommendations/{rec_id}/execute`
- Auth: HTTP bearer

Run the executor on one APPROVED recommendation. Human-triggered only
in this phase — no scheduler path executes. All hard gates live in
app/executor.py, fail-closed; refusals map to 403 (writes disabled),
409 (state), 429 (daily cap), 422 (guardrail/allowlist/advice-only).

## Path parameters

- `rec_id` integer, required

## Headers

- `X-Tenant-Id` integer, nullable

## Response `200`

Successful Response

- ExecuteOut
  - `id` integer, required
  - `status` string, required
  - `executed_action_id` integer, nullable, required
  - `result` object, required

## Other responses

- `422`: Validation Error

---

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