---
title: "Discogen Process Personas"
method: POST
path: "/discogen/process-personas"
---

# Discogen Process Personas

`POST /discogen/process-personas`

Run an LLM prompt against each contact record. Returns an async task for status polling.

## Request body

- DiscoGenPersonaProcessRequest — Request body for POST /discogen/process-personas.
  - `query` string, required — Prompt to run against each record
  - `integration_id` string, nullable — LLM provider integration UUID (omit for org default)
  - `web_search` boolean
  - `include_x_search` boolean
  - `search_provider_id` string, nullable — Search provider integration UUID (omit for org default)
  - `search_context_size` 'low' | 'medium' | 'high'
  - `persona_ids` integer[], required — Contact record IDs to process
  - `context_mode` 'name_only' | 'profile' | 'profile_summary' | 'company' | 'full'
  - `previous_discogen_data` object, nullable

## Response `200`

Successful Response

- DiscoGenPersonaTaskResponse — Initial response from /discogen/process-personas endpoint.
  - `task_id` string, required — Unique task identifier for polling status
  - `column_name` union, required — AI-generated or user-provided column name(s) for results
    - string
    - string[]
  - `status` 'in_progress', required — Task status: in_progress
  - `total_personas` integer, required — Total number of personas to process

## Other responses

- `422` — Validation Error

## Changes

- **2026-08-30** `11d1e74d88c7` — 2 breaking
  - the `persona_ids` request property's minItems was increased to `1`
  - the `query` request property's minLength was increased from `0` to `1`

[Change history](https://skmtc.dev/discolike/apis/discolike-api/changes/discogen/process-personas/post.md)

---

[API](https://skmtc.dev/discolike/apis/discolike-api.md) · [All operations](https://skmtc.dev/discolike/apis/discolike-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/discolike/discolike-api/revisions/11d1e74d88c7/schema)
