Wahlu API

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-runs

Returns publish runs for a brand. Requires schedule:read.

Query parameters

ParameterTypeDescription
pageintegerPage number. Defaults to 1.
limitintegerItems per page. Defaults to 50, max 100.
sort_bystringField to sort by. One of: scheduled_at, created_at. Defaults to scheduled_at.
sort_dirstringSort 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-runs

Schedules a content item for publishing. Requires schedule:write.

Request body

ParameterTypeDescription
content_item_id*stringThe content item ID to publish. Must exist in the same brand.
scheduled_at*stringISO 8601 date and time for publishing.
integration_ids*string[]Integration IDs to publish to. Max 20 items.
approval_statusstringInitial 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_id

Updates a publish run. Only provided fields are changed. Requires schedule:write.

Request body

ParameterTypeDescription
content_item_idstringUpdated content item ID.
scheduled_atstringUpdated ISO 8601 date and time.
integration_idsstring[]Updated integration IDs. Max 20 items.
approval_statusstringUpdated approval status.

Delete a publish run

DELETE/v1/brands/:brand_id/publish-runs/:publish_run_id

Deletes a publish run. The underlying content item is not deleted. Requires schedule:write.