Skip to content

Publish now

POST
/projects/{id}/publications/{publicationId}/publish
curl --request POST \
--url https://api.warmup.social/projects/00000000-0000-0000-0000-000000000000/publications/00000000-0000-0000-0000-000000000000/publish \
--header 'Authorization: Bearer <token>'

Sends a draft or scheduled publication right away, ignoring its scheduledAt. Counts towards the publishing rate limit.

id
required
string format: uuid

Example

00000000-0000-0000-0000-000000000000

Project UUID.

publicationId
required
string format: uuid

Example

00000000-0000-0000-0000-000000000000

Publication UUID.

Publication queued.

Media typeapplication/json
object
id
required
string format: uuid
kind
required
string
Allowed values: text photo story
state
required

draft and scheduled — not sent yet. After sending: publishing while any network is still in progress, published when every network succeeded, otherwise failed (see targets[] for the per-network outcome).

string
Allowed values: draft scheduled publishing published failed
platforms
required
Array<string>
Allowed values: facebook instagram threads
text
required
string
nullable
media
required
object
id
required
string format: uuid
url
required
string format: uri
width
required
integer
height
required
integer
scheduledAt
required

When the publication goes (or went) out. null only for a draft without a date.

string format: date-time
nullable
timezone
required
string
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
targets
required

Per-network outcome. Empty until the publication is sent.

Array<object>
object
platform
required
string
Allowed values: facebook instagram threads
status
required
string
Allowed values: queued publishing published failed
externalPostId
required
string
nullable
permalink
required
string
nullable
errorCode
required

Why the target failed. published_unconfirmed — Meta published the post but did not return its id; the post most likely went out.

string
nullable
Allowed values: connection_missing connection_not_ready media_not_found media_aspect_ratio needs_reauth rate_limit meta_unavailable media_rejected published_unconfirmed
publishedAt
required
string format: date-time
nullable

Example

{
"kind": "text",
"state": "draft",
"platforms": [
"facebook"
],
"media": {
"width": 1080,
"height": 1350
},
"timezone": "Europe/Kyiv",
"targets": [
{
"platform": "facebook",
"status": "queued",
"errorCode": "connection_missing"
}
]
}

Invalid request.

Media typeapplication/json
object
statusCode
required
integer
message
required
One of:
string
error
string
key
additional properties
any

Example

{
"statusCode": 400,
"message": "Invalid request",
"error": "Bad Request"
}

The Bearer token is missing or invalid.

Media typeapplication/json
object
statusCode
required
integer
message
required
One of:
string
error
string
key
additional properties
any

Example

{
"statusCode": 400,
"message": "Invalid request",
"error": "Bad Request"
}

The requested resource was not found.

Media typeapplication/json
object
statusCode
required
integer
message
required
One of:
string
error
string
key
additional properties
any

Example

{
"statusCode": 400,
"message": "Invalid request",
"error": "Bad Request"
}

The publication was already sent (publication_dispatched), the network is not connected (connection_missing) or the connection is not active (connection_not_ready).

Media typeapplication/json

Error with a machine-readable code. Body validation errors come as formErrors / fieldErrors; business errors carry a code.

object
code
string
platform
string
Allowed values: facebook instagram threads
formErrors
Array<string>
fieldErrors
object
key
additional properties
Array<string>

Example

{
"code": "connection_missing",
"platform": "facebook",
"fieldErrors": {
"mediaId": [
"media_required"
]
}
}

The publishing rate limit was exceeded.

Media typeapplication/json
object
statusCode
required
integer
message
required
One of:
string
error
string
key
additional properties
any

Example

{
"statusCode": 400,
"message": "Invalid request",
"error": "Bad Request"
}