---
title: "Generate Action"
method: POST
path: "/ai/generate-action"
tags: ["agent"]
---

# Generate Action

`POST /ai/generate-action`

## Request

- Base URL: `https://api.dialogbrain.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.dialogbrain.com/ai/generate-action`
- Auth: none declared

Generate draft action with RAG search and guard checks.

Pipeline:
1. rag.search(strict) - Search for relevant evidence
2. guard.outbound.check - Safety checks
3. Return DraftCard preview

SECURITY: user_id is extracted from JWT token (cannot be spoofed).

Args:
    request: Action generation request
    user: Current user (from JWT)

Returns:
    DraftCard with preview, evidence, and guard results

## Request body

- GenerateActionRequest: Request to generate action draft.
  - `thread_id` string, required
  - `messages` object[], required
  - `goal` string, nullable
  - `instructions` string, nullable
  - `strict_rag` boolean
  - `channel` string, nullable
  - `account_id` integer, nullable
  - `recipient_name` string, nullable

## Response `200`

Successful Response

- DraftCard: Complete draft card with preview, evidence, and guard checks.
  - `action_id` string, required
  - `thread_id` string, required
  - `preview` DraftPreview, required: Draft message preview.
    - `title` string, required
    - `content` string, required
    - `recipients` string[], required
    - `evidence_used` boolean
    - `evidence_count` integer
  - `evidence` RAGEvidence[]
    - `text` string, required
    - `source_desc` string, required
    - `relevance` number, required
    - `source_type` string, required
    - `uri` string, nullable
    - `metadata` object
    - `chunk_id` integer, nullable
  - `guard` GuardCheck, required: Guard check result.
    - `status` 'pass' | 'warning' | 'block', required: Guard check status.
    - `issues` GuardIssue[]
      - `type` string, required
      - `severity` string, required
      - `description` string, required
      - `suggestion` string, nullable
    - `analysis` string, nullable
    - `timestamp` string, date-time
  - `created_at` string, date-time
  - `metadata` object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/dialogbrain/apis/dialogbrain-v2-api-gateway.md) · [All operations](https://skmtc.dev/dialogbrain/apis/dialogbrain-v2-api-gateway/llms.txt) · [OpenAPI document](https://skmtc.dev/dialogbrain/apis/dialogbrain-v2-api-gateway/revisions/77bef09a9209?raw)
