Documentation menu

Post actions

Schedule, queue, publish, and retry posts.

POST /posts/{id}/schedule

Requires Authorization: Bearer <token>.

Path parameters

FieldTypeNotes
idrequiredstring

Request body

FieldTypeNotes
scheduled_atstringnullableformat: date-time

Example request

curl -X POST 'https://app.shoutrrr.com/api/v1/posts/{id}/schedule' \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{
  "scheduled_at": "2026-01-01T09:00:00Z"
}'
const res = await fetch('https://app.shoutrrr.com/api/v1/posts/{id}/schedule', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer <token>',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
  "scheduled_at": "2026-01-01T09:00:00Z"
}),
});
const data = await res.json();
import requests

res = requests.post(
    'https://app.shoutrrr.com/api/v1/posts/{id}/schedule',
    headers={'Authorization': 'Bearer <token>'},
    json={
        'scheduled_at': '2026-01-01T09:00:00Z'
    },
)
data = res.json()
<?php
$ch = curl_init('https://app.shoutrrr.com/api/v1/posts/{id}/schedule');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => '{
  "scheduled_at": "2026-01-01T09:00:00Z"
}',
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer <token>',
        'Content-Type: application/json',
    ],
]);
$data = json_decode(curl_exec($ch), true);

Responses

200

FieldTypeNotes
postrequiredobject
idrequiredstring
base_textrequiredstring
segmentsrequiredany[]nullable
mentionsrequiredany[]
statusrequiredstring
scheduled_atrequiredstringnullable
published_atrequiredstringnullable
updated_atrequiredstring
destinationrequired"all" | "accounts" | "account" | "set"
targetsrequiredobject[]
idrequiredstring
connected_account_idrequiredstring
platformrequiredstring
handlerequiredstring
display_namerequiredstringnullable
avatar_urlrequiredstringnullable
sectionsrequiredany[]
content_overriderequiredany[]nullable
auto_splitrequiredboolean
statusrequiredstring
error_kindrequiredstringnullable
error_messagerequiredstringnullable
attemptsrequiredinteger
remote_idrequiredstringnullable
issuesrequiredstring
mediarequiredobject[]
idrequiredstring
urlrequiredstring
mimerequiredstring
kindrequiredstring
duration_secondsrequiredintegernullable
alt_textrequiredstringnullable
positionrequiredinteger
edit_settingsrequiredany[]nullable
source_urlrequiredstringnullable

401 Unauthenticated

FieldTypeNotes
messagerequiredError overview.string

422 Validation error

FieldTypeNotes
messagerequiredErrors overview.string
errorsrequiredA detailed description of each field that failed validation.object

POST /posts/{id}/queue

Requires Authorization: Bearer <token>.

Path parameters

FieldTypeNotes
idrequiredstring

Example request

curl -X POST 'https://app.shoutrrr.com/api/v1/posts/{id}/queue' \
  -H 'Authorization: Bearer <token>'
const res = await fetch('https://app.shoutrrr.com/api/v1/posts/{id}/queue', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer <token>',
  },
});
const data = await res.json();
import requests

res = requests.post(
    'https://app.shoutrrr.com/api/v1/posts/{id}/queue',
    headers={'Authorization': 'Bearer <token>'},
)
data = res.json()
<?php
$ch = curl_init('https://app.shoutrrr.com/api/v1/posts/{id}/queue');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer <token>',
    ],
]);
$data = json_decode(curl_exec($ch), true);

Responses

200

FieldTypeNotes
postrequiredobject
idrequiredstring
base_textrequiredstring
segmentsrequiredany[]nullable
mentionsrequiredany[]
statusrequiredstring
scheduled_atrequiredstringnullable
published_atrequiredstringnullable
updated_atrequiredstring
destinationrequired"all" | "accounts" | "account" | "set"
targetsrequiredobject[]
idrequiredstring
connected_account_idrequiredstring
platformrequiredstring
handlerequiredstring
display_namerequiredstringnullable
avatar_urlrequiredstringnullable
sectionsrequiredany[]
content_overriderequiredany[]nullable
auto_splitrequiredboolean
statusrequiredstring
error_kindrequiredstringnullable
error_messagerequiredstringnullable
attemptsrequiredinteger
remote_idrequiredstringnullable
issuesrequiredstring
mediarequiredobject[]
idrequiredstring
urlrequiredstring
mimerequiredstring
kindrequiredstring
duration_secondsrequiredintegernullable
alt_textrequiredstringnullable
positionrequiredinteger
edit_settingsrequiredany[]nullable
source_urlrequiredstringnullable

401 Unauthenticated

FieldTypeNotes
messagerequiredError overview.string

422 An error

FieldTypeNotes
messagerequiredError overview.string

POST /posts/{id}/publish

Requires Authorization: Bearer <token>.

Path parameters

FieldTypeNotes
idrequiredstring

Example request

curl -X POST 'https://app.shoutrrr.com/api/v1/posts/{id}/publish' \
  -H 'Authorization: Bearer <token>'
const res = await fetch('https://app.shoutrrr.com/api/v1/posts/{id}/publish', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer <token>',
  },
});
const data = await res.json();
import requests

res = requests.post(
    'https://app.shoutrrr.com/api/v1/posts/{id}/publish',
    headers={'Authorization': 'Bearer <token>'},
)
data = res.json()
<?php
$ch = curl_init('https://app.shoutrrr.com/api/v1/posts/{id}/publish');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer <token>',
    ],
]);
$data = json_decode(curl_exec($ch), true);

Responses

202

FieldTypeNotes
statusrequired"queued"
messagerequired"Publishing started. Poll GET /posts/{id} for per-target status."
postrequiredobject
idrequiredstring
base_textrequiredstring
segmentsrequiredany[]nullable
mentionsrequiredany[]
statusrequiredstring
scheduled_atrequiredstringnullable
published_atrequiredstringnullable
updated_atrequiredstring
destinationrequired"all" | "accounts" | "account" | "set"
targetsrequiredobject[]
idrequiredstring
connected_account_idrequiredstring
platformrequiredstring
handlerequiredstring
display_namerequiredstringnullable
avatar_urlrequiredstringnullable
sectionsrequiredany[]
content_overriderequiredany[]nullable
auto_splitrequiredboolean
statusrequiredstring
error_kindrequiredstringnullable
error_messagerequiredstringnullable
attemptsrequiredinteger
remote_idrequiredstringnullable
issuesrequiredstring
mediarequiredobject[]
idrequiredstring
urlrequiredstring
mimerequiredstring
kindrequiredstring
duration_secondsrequiredintegernullable
alt_textrequiredstringnullable
positionrequiredinteger
edit_settingsrequiredany[]nullable
source_urlrequiredstringnullable

401 Unauthenticated

FieldTypeNotes
messagerequiredError overview.string

403 Authorization error

FieldTypeNotes
messagerequiredError overview.string

POST /posts/{id}/targets/{targetId}/retry

Requires Authorization: Bearer <token>.

Path parameters

FieldTypeNotes
idrequiredstring
targetIdrequiredstring

Example request

curl -X POST 'https://app.shoutrrr.com/api/v1/posts/{id}/targets/{targetId}/retry' \
  -H 'Authorization: Bearer <token>'
const res = await fetch('https://app.shoutrrr.com/api/v1/posts/{id}/targets/{targetId}/retry', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer <token>',
  },
});
const data = await res.json();
import requests

res = requests.post(
    'https://app.shoutrrr.com/api/v1/posts/{id}/targets/{targetId}/retry',
    headers={'Authorization': 'Bearer <token>'},
)
data = res.json()
<?php
$ch = curl_init('https://app.shoutrrr.com/api/v1/posts/{id}/targets/{targetId}/retry');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer <token>',
    ],
]);
$data = json_decode(curl_exec($ch), true);

Responses

202

FieldTypeNotes
statusrequired"queued"
postrequiredobject
idrequiredstring
base_textrequiredstring
segmentsrequiredany[]nullable
mentionsrequiredany[]
statusrequiredstring
scheduled_atrequiredstringnullable
published_atrequiredstringnullable
updated_atrequiredstring
destinationrequired"all" | "accounts" | "account" | "set"
targetsrequiredobject[]
idrequiredstring
connected_account_idrequiredstring
platformrequiredstring
handlerequiredstring
display_namerequiredstringnullable
avatar_urlrequiredstringnullable
sectionsrequiredany[]
content_overriderequiredany[]nullable
auto_splitrequiredboolean
statusrequiredstring
error_kindrequiredstringnullable
error_messagerequiredstringnullable
attemptsrequiredinteger
remote_idrequiredstringnullable
issuesrequiredstring
mediarequiredobject[]
idrequiredstring
urlrequiredstring
mimerequiredstring
kindrequiredstring
duration_secondsrequiredintegernullable
alt_textrequiredstringnullable
positionrequiredinteger
edit_settingsrequiredany[]nullable
source_urlrequiredstringnullable

401 Unauthenticated

FieldTypeNotes
messagerequiredError overview.string

403 Authorization error

FieldTypeNotes
messagerequiredError overview.string

404 Not found

FieldTypeNotes
messagerequiredError overview.string

422 An error

FieldTypeNotes
messagerequiredError overview.string