profile_id is the id or external_id of the destination. Comments and statistics move with the account; existing posts stay in their profile. An account with posts waiting to publish: 409 account_has_scheduled_posts.
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.
id*stringuuidapplication/json- body
profile_id*string1 <= length <= 128The moved account.
application/json- response
id*stringuuidprofile_id*stringuuidplatform*string"threads""instagram""facebook""tiktok""linkedin""youtube""x""telegram""discord""pinterest"username*string|nulldisplay_name*string|nullavatar_url*string|nullstatus*string"active""expired""revoked"scopes*array<string>Platform permissions granted for this account.
token_expires_at*|nullconnected_at*stringdate-timeplan_suspended*booleanOver the plan account limit: still connected, but no posting until reactivated.
expired_at*|When the account became expired; null while active.
expired_reason*|Why it became expired: the platform's message (e.g. a revoked token) or Mulaichat's reason. Null while active.
curl -X POST 'https://api.mulaichat.com/v1/accounts/497f6eca-6276-4993-bfeb-53cbbbba6f08/move' \ -H 'Content-Type: application/json' \ -d '{ "profile_id": "string"}'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "profile_id": "bfcb6779-b1f9-41fc-92d7-88f8bc1d12e8", "platform": "threads", "username": "string", "display_name": "string", "avatar_url": "string", "status": "active", "scopes": [ "string" ], "token_expires_at": "2019-08-24T14:15:22Z", "connected_at": "2019-08-24T14:15:22Z", "plan_suspended": true, "expired_at": "2019-08-24T14:15:22Z", "expired_reason": "string"}List TikTok music GET
TikTok business accounts only: up to 100 popular pre-cleared tracks of the Commercial Music Library, { data: [{ id, title, artist, duration_s, genres, preview_url, cover_url, rank }] }, for a video's options.tiktok.music.id. Filter by genre, period (1d, 7d, 30d, 90d) and country (default ID). q finds a title or artist: TikTok has no music search for organic posts, so it is matched against every genre's popular list (or genre's, if set) for that country and period, title matches first; period 90d covers the most. Cached an hour. Other TikTok accounts: 422 tiktok_music_unavailable; other platforms: 400 not_tiktok. Requires the read scope.
Create a DM automation POST
Instagram accounts; comment_reply also on Threads. trigger depends on kind: - comment_to_dm, comment_reply: { scope: post | any | next | post_target, platform_post_ids?, keywords, match: any | contains | exact, include_replies? } - dm_keyword: { keywords, match: contains | exact } - story_reply: { keywords, match } - default_reply: { cooldown_hours? (1-168, default 24) } - story_mention: {} - ice_breaker: { questions: [{ question, payload }] } (1-4) actions.message is the DM (text, up to 3 buttons); comment_reply only takes public_replies (3-5). With post_target_id, one automation per post target: asking again gives back the same one. Requires the write scope.