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

# Audience Build Intake

`POST /campaigns/audience-builds/intake`

## Request

- Base URL: `https://api.noso.so` (the document declares no server; this is the origin it was published from)
- URL: `https://api.noso.so/campaigns/audience-builds/intake`
- Auth: HTTP bearer

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

[Operation 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/c714e58b5156?raw)
