Hanzo
OpenapiMarketing

Replaces a post's editable fields.

Replaces a post's editable fields. It is a full write, not a patch, and it RESETS the lifecycle from the schedule: a scheduledAt makes the post…

PUT /v1/marketing/calendar/{id}

Addresshttps://api.hanzo.ai/v1/marketing/calendar/{id}
MethodPUT
Operationput_marketing_calendar_by_id
AuthAuthorization: Bearer $HANZO_API_KEY

Replaces a post's editable fields. It is a full write, not a patch, and it RESETS the lifecycle from the schedule: a scheduledAt makes the post "scheduled" again and none makes it a draft — so editing a failed post requeues it rather than leaving it stuck.

Request

11 fields, body application/json (required).

FieldInTypeRequiredDescription
idpathstringyesID is the server-assigned post id ("cal_" + 128 random bits).
bodybodystringBody is the post text.
channelbodystringChannel is the target network: x, facebook, instagram, linkedin, tiktok, youtube or threads.
createdAtbodyintegerCreatedAt is unix seconds when the post was added, server-assigned and never rewritten.
errorbodystringError is the exact reason the last publish attempt failed — the honest record behind a "failed" status, never a faked success.
idbodystringID is the server-assigned post id ("cal_" + 128 random bits).
publishedAtbodyintegerPublishedAt is when the publish succeeded; 0 until it does.
scheduledAtbodyintegerScheduledAt is the unix publish time; 0 leaves the post a draft, and any value makes it "scheduled" for the durable sweep to pick up.
statusbodystringStatus is draft, scheduled, published, failed or canceled.
titlebodystringTitle is the post's internal label, capped at 1024 bytes.
updatedAtbodyintegerUpdatedAt is unix seconds of the last write, server-assigned.

Response

StatusBodyMeaning
200CalendarPostok

200 body — 10 fields.

FieldInTypeAlwaysDescription
bodybodystringBody is the post text.
channelbodystringChannel is the target network: x, facebook, instagram, linkedin, tiktok, youtube or threads.
createdAtbodyintegerCreatedAt is unix seconds when the post was added, server-assigned and never rewritten.
errorbodystringError is the exact reason the last publish attempt failed — the honest record behind a "failed" status, never a faked success.
idbodystringID is the server-assigned post id ("cal_" + 128 random bits).
publishedAtbodyintegerPublishedAt is when the publish succeeded; 0 until it does.
scheduledAtbodyintegerScheduledAt is the unix publish time; 0 leaves the post a draft, and any value makes it "scheduled" for the durable sweep to pick up.
statusbodystringStatus is draft, scheduled, published, failed or canceled.
titlebodystringTitle is the post's internal label, capped at 1024 bytes.
updatedAtbodyintegerUpdatedAt is unix seconds of the last write, server-assigned.

Failure carries the platform error shape — see Errors.

Examples

hanzo marketing calendar set <id>

Marketing API · All Hanzo APIs · Interactive reference

How is this guide?

On this page