An external_id already in use returns that profile with 200, so the request is safe to repeat. Free plan: 403 plan_required; more than 1,000 profiles: 422 profile_limit.
Requires the write scope. Owner key or session only: a profile key gets 403 owner_key_required.
bearerAuthorizationBearer <token>An API key (tb_live_...) from the dashboard, or an OAuth access token.
application/json- body
name*string1 <= length <= 100external_id?string1 <= length <= 128The existing profile.
application/json- response
id*stringuuidname*stringexternal_id*|The client's id in your own system.
is_default*booleancreated_at*stringdate-timecurl -X POST 'https://api.mulaichat.com/v1/profiles' \ -H 'Content-Type: application/json' \ -d '{ "name": "string"}'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "external_id": "string", "is_default": true, "created_at": "2019-08-24T14:15:22Z"}Update a post PATCH
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.
Delete a profile DELETE
The profile disappears right away; its keys, MCP tokens, and connect links stop working, its accounts are disconnected, and waiting posts are canceled. The rest is removed in the background, then a profile.deleted webhook is sent. The default profile cannot be deleted. Requires the write scope. Owner key or session only: a profile key gets 403 owner_key_required.