Campaign imports#

Turn campaign source files into source-cited review drafts before creating live records.

Authentication required

All endpoints require a Bearer token in the Authorization header. See the Authentication guide for setup instructions.

POST /v1/campaign-imports#

Create a workspace for importing source documents, either as a new campaign or as added sources for an existing campaign (targetCampaignId).

bash
POST /v1/campaign-imports
Authorization: Bearer {token}
Content-Type: application/json

{
  "organization_id": "1c7743a8-6410-4a9e-9f3b-2c1d5e8a4b01"
}

Parameters#

NameTypeRequiredDescription
organizationIdstring (UUID)RequiredOrganization identifier.
targetCampaignIdstring (UUID) | null

Response#

Returns { data, _meta } with the result.

GET /v1/campaign-imports/:id#

Get a campaign import with durable processing status, artifacts, evidence claims, review draft, conflicts, source coverage, and confirmation readiness.

bash
GET /v1/campaign-imports/:id
Authorization: Bearer {token}

Parameters#

NameTypeRequiredDescription
idstring (UUID)RequiredUnique identifier (UUID v4).

Response#

Returns { data, _meta } with the result.

POST /v1/campaign-imports/:id/start#

Start durable conversion, OCR, extraction, reconciliation, and matching.

bash
POST /v1/campaign-imports/:id/start
Authorization: Bearer {token}

Parameters#

NameTypeRequiredDescription
idstring (UUID)RequiredUnique identifier (UUID v4).

Response#

Returns { data, _meta } with the result.

PATCH /v1/campaign-imports/:id/draft#

Update included candidates, corrected values, match decisions, and conflict resolutions before confirmation.

bash
PATCH /v1/campaign-imports/:id/draft
Authorization: Bearer {token}
Content-Type: application/json

{
  "draft": "..."
}

Parameters#

NameTypeRequiredDescription
idstring (UUID)RequiredUnique identifier (UUID v4).
draftobjectRequired

Response#

Returns { data, _meta } with the result.

POST /v1/campaign-imports/:id/preview#

Retrieve exact create counts, source coverage, unresolved review issues, and confirmation readiness without writing live records.

bash
POST /v1/campaign-imports/:id/preview
Authorization: Bearer {token}

Parameters#

NameTypeRequiredDescription
idstring (UUID)RequiredUnique identifier (UUID v4).

Response#

Returns { data, _meta } with the result.

POST /v1/campaign-imports/:id/confirm#

Create one campaign and every approved activity, spend, creator link, context entry, reported outcome, source artifact, and confirmed evidence claim atomically.

bash
POST /v1/campaign-imports/:id/confirm
Authorization: Bearer {token}

Parameters#

NameTypeRequiredDescription
idstring (UUID)RequiredUnique identifier (UUID v4).

Response#

Returns { data, mutation, _meta } with the result and a customer-facing mutation receipt.

POST /v1/campaign-imports/:id/cancel#

Update an uncommitted campaign import to cancelled while preserving it for retention cleanup.

bash
POST /v1/campaign-imports/:id/cancel
Authorization: Bearer {token}

Parameters#

NameTypeRequiredDescription
idstring (UUID)RequiredUnique identifier (UUID v4).

Response#

Returns { data, _meta } with the result.