---
title: "Audience Build Intake"
method: POST
path: "/campaigns/audience-builds/intake"
tags: ["campaigns"]
---

# Audience Build Intake

`POST /campaigns/audience-builds/intake`

Pre-build intake: safety verdict + campaign-objective triage.
An unclear objective hard-blocks the build until the operator answers.

## Request body

- AudienceIntakeRequest
  - `description` string, required

## Response `200`

Successful Response

- AudienceIntakeResponse
  - `allowed` boolean, required
  - `intake_id` string, nullable
  - `rejection_message` string, nullable
  - `objective` string
  - `objective_clear` boolean
  - `clarifying_question` string
  - `suggested_goal_met_label` string

## Other responses

- `404` — Not found
- `422` — Validation Error

## Changes

- **2026-09-12** `a89ec63b4428` — 1 info
  - added the optional property `intake_id` to the response with the `200` status

[Change history](https://skmtc.dev/noso/apis/crucible-backend-api/changes/campaigns/audience-builds/intake/post.md)

---

[API](https://skmtc.dev/noso/apis/crucible-backend-api.md) · [All operations](https://skmtc.dev/noso/apis/crucible-backend-api/llms.txt) · [OpenAPI document](https://skmtc.dev/noso/apis/crucible-backend-api/revisions/d1993647e543?raw)
