Skip to content

Publish or schedule a draft

POST
/public/v1/posts/{id}/publish
curl --request POST \
--url https://api.loomta.com/public/v1/posts/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/publish \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "mode": "now" }'

Promote a DRAFT post into the publish queue — publish it now or schedule it. The draft’s stored content_posting_method is preserved, so an inbox draft still goes to the TikTok Creator Inbox. Only works on posts in the DRAFT state.

id
required
string format: uuid

The post UUID.

Media typeapplication/json
object
mode

Optional (default now). now publishes immediately; schedule requires scheduledFor.

string
default: now
Allowed values: now schedule
scheduledFor

ISO 8601. Required when mode is schedule; ignored otherwise.

string format: date-time
Examples

Publish the draft now

{
"mode": "now"
}

The updated post group (now QUEUE).

Media typeapplication/json
object
root
required
object
id
string format: uuid
groupId
string format: uuid
parentPostId
string | null format: uuid
integrationId
string format: uuid
content
string
state
string
Allowed values: DRAFT QUEUE PUBLISHED ACTION_REQUIRED ERROR
scheduledFor
string | null format: date-time
delayInMinutes
integer | null
releaseId
string | null
releaseUrl
string | null
settings
object
key
additional properties
any
mediaIds
Array<string>
errorText
string | null
createdAt
string format: date-time
updatedAt
string format: date-time
children
required
Array<object>
object
id
string format: uuid
groupId
string format: uuid
parentPostId
string | null format: uuid
integrationId
string format: uuid
content
string
state
string
Allowed values: DRAFT QUEUE PUBLISHED ACTION_REQUIRED ERROR
scheduledFor
string | null format: date-time
delayInMinutes
integer | null
releaseId
string | null
releaseUrl
string | null
settings
object
key
additional properties
any
mediaIds
Array<string>
errorText
string | null
createdAt
string format: date-time
updatedAt
string format: date-time
Example
{
"root": {
"state": "DRAFT"
},
"children": [
{
"state": "DRAFT"
}
]
}

The request body failed validation.

Media typeapplication/json
object
code
required

A stable, machine-readable error code to branch on.

string
message
required

A human-readable description.

string
details

Optional structured detail (for example Zod validation issues).

Example
{
"code": "invalid_request",
"message": "The request payload is invalid.",
"details": [
{
"path": [
"slideCount"
],
"message": "Number must be greater than or equal to 3"
}
]
}

The API key is missing or invalid.

Media typeapplication/json
object
code
required

A stable, machine-readable error code to branch on.

string
message
required

A human-readable description.

string
details

Optional structured detail (for example Zod validation issues).

Examples
{
"code": "missing_api_key",
"message": "A Bearer API key is required."
}

The resource was not found in this workspace.

Media typeapplication/json
object
code
required

A stable, machine-readable error code to branch on.

string
message
required

A human-readable description.

string
details

Optional structured detail (for example Zod validation issues).

Example
{
"code": "invalid_api_key",
"message": "The API key is invalid."
}

The post is not a draft.

Media typeapplication/json
object
code
required

A stable, machine-readable error code to branch on.

string
message
required

A human-readable description.

string
details

Optional structured detail (for example Zod validation issues).

Example
{
"code": "not_a_draft",
"message": "Only draft posts can be published this way."
}