Publish Runs
Schedule and track publishing executions.
Publish runs represent scheduled or processed publishing executions for a content item.
All endpoints use /publish-runs.
List publish runs
GET
/v1/brands/:brand_id/publish-runsReturns publish runs for a brand. Requires schedule:read.
Query parameters
| Parameter | Type | Description |
|---|---|---|
page | integer | Page number. Defaults to 1. |
limit | integer | Items per page. Defaults to 50, max 100. |
sort_by | string | Field to sort by. One of: scheduled_at, created_at. Defaults to scheduled_at. |
sort_dir | string | Sort direction. One of: asc, desc. Defaults to asc. |
curl
curl "https://api.wahlu.com/v1/brands/brand_abc123/publish-runs" \
-H "Authorization: Bearer wahlu_live_your_api_key_here"Response
{
"success": true,
"data": [
{
"id": "run_abc123",
"brand_id": "brand_abc123",
"content_item_id": "content_item_xyz789",
"scheduled_at": "2026-02-14T09:00:00Z",
"integration_ids": ["int_instagram_123", "int_linkedin_456"],
"status": "ready_for_processing",
"approval_status": "approved",
"source": "api",
"failure_reason": null,
"thumbnail_url": null,
"created_at": "2026-02-10T09:00:00Z",
"updated_at": "2026-02-10T09:00:00Z"
}
],
"pagination": {
"page": 1,
"limit": 50,
"has_more": false
}
}Create a publish run
POST
/v1/brands/:brand_id/publish-runsSchedules a content item for publishing. Requires schedule:write.
Request body
| Parameter | Type | Description |
|---|---|---|
content_item_id* | string | The content item ID to publish. Must exist in the same brand. |
scheduled_at* | string | ISO 8601 date and time for publishing. |
integration_ids* | string[] | Integration IDs to publish to. Max 20 items. |
approval_status | string | Initial approval status. |
curl
curl -X POST https://api.wahlu.com/v1/brands/brand_abc123/publish-runs \
-H "Authorization: Bearer wahlu_live_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"content_item_id": "content_item_xyz789",
"scheduled_at": "2026-02-14T09:00:00Z",
"integration_ids": ["int_instagram_123", "int_linkedin_456"]
}'Update a publish run
PATCH
/v1/brands/:brand_id/publish-runs/:publish_run_idUpdates a publish run. Only provided fields are changed. Requires schedule:write.
Request body
| Parameter | Type | Description |
|---|---|---|
content_item_id | string | Updated content item ID. |
scheduled_at | string | Updated ISO 8601 date and time. |
integration_ids | string[] | Updated integration IDs. Max 20 items. |
approval_status | string | Updated approval status. |
Delete a publish run
DELETE
/v1/brands/:brand_id/publish-runs/:publish_run_idDeletes a publish run. The underlying content item is not deleted. Requires schedule:write.