mulaichatDocs
GuidesDeveloperAPI ReferenceChangelog
Posts
PATCH
/v1/posts/{id}

Drafts and scheduled posts, and failed ones (409 post_not_editable otherwise). A failed post, or the failed accounts of a partial one, is sent again after the change: now, or at a future scheduled_at (failed posts only; 400 schedule_not_allowed for a partial one). Only failed accounts can be changed there; the accounts already published keep their text and media. 409 post_partly_published: part of that account's post already went out (a thread), so it is continued with POST /v1/posts/{id}/retry instead. targets[] changes the accounts already in the post: a field sent replaces that account’s (options as a whole), content or media_ids null makes it follow the post again, a field left out stays. Accounts cannot be added or removed (400 account_not_in_post).

Requires the write scope.

Authorization

bearer
headerAuthorizationBearer <token>

An API key (tb_live_...) from the dashboard, or an OAuth access token.

Path Parameters

id*string
Formatuuid

Header Parameters

mulaichat-workspace?string

Limits an owner key to one profile (id or external_id). Unknown: 404 profile_not_found.

Request Body

application/json
  1. body
content?string
Lengthlength <= 5000
media_ids?array<>
Itemsitems <= 20
media_urls?array<>
Items1 <= items <= 20
scheduled_at?string
Formatdate-time
targets?array<>
Itemsitems <= 10

Response Body

The post.

application/json
  1. response
id*string
Formatuuid
profile_id*string
Formatuuid
content*string|null
type*string
Value in"text""image""video""carousel"
status*string
Value in"draft""scheduled""publishing""published""partial""failed""canceled"
source*string
Value in"dashboard""api""mcp"
idea_id*|null
scheduled_at*|null
created_at*string
Formatdate-time
media*array<>
targets*array<>
Example Request
curl -X PATCH 'https://api.mulaichat.com/v1/posts/497f6eca-6276-4993-bfeb-53cbbbba6f08' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "profile_id": "bfcb6779-b1f9-41fc-92d7-88f8bc1d12e8",  "content": "string",  "type": "text",  "status": "draft",  "source": "dashboard",  "idea_id": "513dcbd6-3206-4305-8a7e-8651161eebfb",  "scheduled_at": "2019-08-24T14:15:22Z",  "created_at": "2019-08-24T14:15:22Z",  "media": [    {      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "type": "image",      "expired": true,      "public_url": "string",      "poster_url": "string",      "alt_text": "string",      "original_name": "string"    }  ],  "targets": [    {      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",      "platform": "threads",      "username": "string",      "display_name": "string",      "status": "pending",      "options": {        "property1": null,        "property2": null      },      "content": "string",      "media": [        {          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",          "type": "image",          "expired": true,          "public_url": "string",          "poster_url": "string",          "alt_text": "string",          "original_name": "string"        }      ],      "cover": {        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "type": "image",        "expired": true,        "public_url": "string",        "poster_url": "string",        "alt_text": "string",        "original_name": "string"      },      "platform_post_id": "string",      "permalink": "string",      "error_code": "string",      "error_message": "string",      "retry_after": "2019-08-24T14:15:22Z",      "published_at": "2019-08-24T14:15:22Z",      "first_comment": {        "status": "pending",        "comment_id": "string",        "error_code": "string",        "error_message": "string"      }    }  ]}

On this page