Hanzo
OpenapiMarketing

Registers a campaign in the caller's org.

Registers a campaign in the caller's org. Name is required; channel defaults to email and status to draft, and a future scheduledAt with no explicit…

POST /v1/marketing/campaigns

Addresshttps://api.hanzo.ai/v1/marketing/campaigns
MethodPOST
Operationpost_marketing_campaigns
AuthAuthorization: Bearer $HANZO_API_KEY

Registers a campaign in the caller's org. Name is required; channel defaults to email and status to draft, and a future scheduledAt with no explicit status makes the campaign "scheduled". Budget and spend are cents and are clamped to >= 0. The id, createdAt and updatedAt of the input are ignored — the server assigns them.

Request

10 fields, body application/json (required).

FieldInTypeRequiredDescription
budgetbodyintegerBudget is what the campaign is allowed to cost, in USD cents.
channelbodystringChannel is the delivery surface: email, sms, social, meta, google or tiktok.
createdAtbodyintegerCreatedAt is unix seconds when the campaign was registered.
idbodystringID is the server-assigned campaign id ("camp_" + 128 random bits).
namebodystringName is the campaign's label.
objectivebodystringObjective is the free-text goal ("signups"), capped at 1024 bytes.
scheduledAtbodyintegerScheduledAt is the unix send time; 0 means unscheduled.
spendbodyintegerSpend is what the campaign has cost so far, in USD cents, clamped to >= 0.
statusbodystringStatus is the lifecycle: draft, scheduled, active, paused or completed.
updatedAtbodyintegerUpdatedAt is unix seconds of the last write.

Response

StatusBodyMeaning
200Campaignok

200 body — 10 fields.

FieldInTypeAlwaysDescription
budgetbodyintegerBudget is what the campaign is allowed to cost, in USD cents.
channelbodystringChannel is the delivery surface: email, sms, social, meta, google or tiktok.
createdAtbodyintegerCreatedAt is unix seconds when the campaign was registered.
idbodystringID is the server-assigned campaign id ("camp_" + 128 random bits).
namebodystringName is the campaign's label.
objectivebodystringObjective is the free-text goal ("signups"), capped at 1024 bytes.
scheduledAtbodyintegerScheduledAt is the unix send time; 0 means unscheduled.
spendbodyintegerSpend is what the campaign has cost so far, in USD cents, clamped to >= 0.
statusbodystringStatus is the lifecycle: draft, scheduled, active, paused or completed.
updatedAtbodyintegerUpdatedAt is unix seconds of the last write.

Failure carries the platform error shape — see Errors.

Examples

hanzo marketing campaigns create

Marketing API · All Hanzo APIs · Interactive reference

How is this guide?

On this page