Update a draft
Partial update: an omitted field is left as is, null clears it. attachments replaces the whole list ({id} keeps an existing file, a base64 object adds one, anything left out is deleted). account_id moves the Draft to another of your accounts. Editing a failed Draft clears its failure.
Request
- Base URL: https://api.curviate.com
- URL: https://api.curviate.com/v1/drafts/{id}
- Auth: HTTP bearer
Path parameters
Draft id (drf_...).
Request body
Response
The updated Draft. scheduled_at schedules, reschedules or (null) unschedules; changing it or the account cancels a pending publish and its retries. Unscheduling alone needs no active seat. With scheduled_at, the response carries safety_warning (reason activity_window) when the time is outside the account's activity window and its posture is warn; under enforce the request is refused instead (429 BUDGET_EXHAUSTED, reason activity_window) and nothing is saved.
Example response
{
"safety_warning": {
"row": "profile_views",
"reset_at": "2026-09-05T00:00:00.000Z",
"hint": {
"parameter": "profile_views.ceiling",
"message": "This account is at its ceiling for profile_views. This action went through because profile_views.posture is warn, and it counted: 101 of 100 this window. Raise profile_views.ceiling, or wait for the window to reset at 2026-09-05T00:00:00.000Z."
},
"reason": "ceiling",
"blocked": false
}
}Changes
No recorded changes to this operation across all 1 revision of this API.