---
title: "Save a signal campaign's audience, signals and terms idempotently. Does not start a build"
method: POST
path: "/campaigns/builder/drafts"
tags: ["campaigns"]
---

# Save a signal campaign's audience, signals and terms idempotently. Does not start a build

`POST /campaigns/builder/drafts`

## Request

- Base URL: `https://www.dench.com/api/v1`
- URL: `https://www.dench.com/api/v1/campaigns/builder/drafts`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Save a signal campaign's audience, signals and terms idempotently. Does not start a build.

## Request body

- object
  - `clientRequestId` string, required: Your stable id for this request, 8-64 characters. Retrying with the same id returns the same draft instead of creating another.
  - `targeting` object, required
    - `titles` string[], required
    - `locations` string[], required
    - `companySizes` string[], required
    - `industries` string[], required
    - `excludes` string[], required
    - `companies` string[]
    - `companyTypes` string[]
  - `signals` string[], required
  - `signalTerms` object
    - `post_engagement` string[]: Post topics, phrased as what the buyer does ("using AI for outbound"), not bare product names.
    - `keyword` string[]
    - `hiring` string[]: Roles being hired for.
    - `voice_engagement` string[]: LinkedIn profile URLs of market voices whose posts to watch.
    - `company_engagement` string[]: LinkedIn company page URLs of companies and competitors.
    - `brand_engagement` string[]: The sender's own LinkedIn company page URL.
    - `exact` string[]: Topic signals searched by their exact keywords only (no drafted phrases).
  - `findMoreMatching` boolean: Also add people who match the audience without a signal.
  - `name` string
  - `source` 'signals' | 'lookalike' | 'existing' | 'crm' | 'search': How people come in: buying signals, people like one best lead, a pasted list or CSV, CRM records, or a people search.
  - `screen` 'source' | 'signals' | 'lookalike' | 'target' | 'messages' | 'outreach' | 'review'
  - `lookalike` object: For source lookalike: the edited result of builder lookalike, with signals ["lookalike"].
    - `seed` object, required
      - `name` string, required
      - `linkedinUrl` string, required
      - `title` string
      - `companyName` string
      - `companyDomain` string
      - `avatarUrl` string
    - `title` string, required
    - `similarRoles` boolean, required
    - `roles` string[], required
    - `location` string
    - `industry` string
    - `relatedIndustries` boolean, required
    - `industries` string[], required
    - `companySizes` string[], required
    - `companies` object[], required
      - `name` string, required
      - `domain` string, required

## Response `200`

Successful response

- object
  - `draftId` string, required

## Other responses

- `400`: Invalid request
- `401`: Missing or invalid authentication
- `404`: Operation or resource not found
- `500`: Server error

---

[API](https://skmtc.dev/dench/apis/dench-api.md) - [All operations](https://skmtc.dev/dench/apis/dench-api/llms.txt) - [OpenAPI document](https://skmtc.dev/dench/apis/dench-api/revisions/4a145b38f19c?raw)
