mulaichatDocs
GuidesDeveloperAPI ReferenceChangelog
Posts
POST
/v1/posts

Publishes now, schedules (scheduled_at), or saves a draft. Each target can have its own content, media_ids, and platform options (targets[].options, see the *Options schemas). Validated against every target platform before anything is saved.

Requires the write scope.

Authorization

bearer
headerAuthorizationBearer <token>

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

Header Parameters

Idempotency-Key?string

1-128 characters of [A-Za-z0-9_-]. The same key and body returns the first response (200, Idempotent-Replayed: true); a different body returns 409 idempotency_conflict.

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
Default[]
media_urls?array<>
Items1 <= items <= 20
targets*array<>
Items1 <= items <= 10
scheduled_at?string
Formatdate-time
idea_id?string
Formatuuid

Response Body

Replayed by Idempotency-Key.

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 POST 'https://api.mulaichat.com/v1/posts' \  -H 'Content-Type: application/json' \  -d '{  "targets": [    {      "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65"    }  ]}'
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