Spaces

What your agent can do on Instagram

Connect your Instagram account once and your AI agent can use 69 tools on it, through one MCP server or the REST API. Every action stays inside the Instagram limits that keep the account safe.

In plain words

Every tool

Some tools work on every channel where the platform supports them. If Instagram does not support an action, Spaces returns an error and nothing is sent. Writes need an Idempotency-Key, so a retry never sends twice.

Conversations

What it doesMCP toolREST
Your conversations, newest first, with their tags and owner. Filter to unread, unanswered, a tag or an owner.list_messaging_chatsGET …/chats
The messages in one conversation.list_messaging_messagesGET …/chats/{chat_id}/messages
An image, file, voice note or video from a message.get_messaging_attachmentGET …/chats/{chat_id}/messages/{message_id}/attachments/{attachment_id}
Reply in a conversation, with text or attachments.reply_in_chatPOST …/chats/{chat_id}/messages
Start a new conversation with someone who expects to hear from you.start_chatPOST …/chats
The tags and the owner of a conversation.get_chat_tagsGET …/chats/{chat_id}/tags
Tag a conversation, such as lead, order or follow up. Sends nothing.set_chat_tagsPUT …/chats/{chat_id}/tags
Give a conversation to someone on your team. Sends nothing.set_chat_ownerPUT …/chats/{chat_id}/owner

Messages

What it doesMCP toolREST
People in a chat.list_chat_attendeesGET …/chats/{chat_id}/attendees
Mark a chat read, mute it, or take another chat action.update_chatPATCH …/chats/{chat_id}
Sync a chat from the start, or read the sync status.sync_chatGET …/chats/{chat_id}/sync
Messages across all conversations, with filters.list_messagesGET …/messages
People the account can message.list_attendeesGET …/attendees
One person you can message.get_attendeeGET …/attendees/{attendee_id}
A person’s profile picture.get_attendee_pictureGET …/attendees/{attendee_id}/picture
1:1 chats with an attendee.list_attendee_chatsGET …/attendees/{attendee_id}/chats
Messages with an attendee.list_attendee_messagesGET …/attendees/{attendee_id}/messages
React to a message.add_message_reactionPOST …/messages/{message_id}/reaction
Remove your reaction from a message.remove_message_reactionDELETE …/messages/{message_id}/reaction
Sync chats for an attendee.sync_attendeeGET …/attendees/{attendee_id}/sync

People

What it doesMCP toolREST
A person’s profile.get_profileGET …/users/{identifier}
The connected account profile.get_own_profileGET …/profile
Edit the connected profile. Only fields the channel allows are applied.edit_own_profilePATCH …/profile
Relations of the account. Paced like profile views.list_relationsGET …/relations
Accounts this account follows.list_followingGET …/following
Followers of this account.list_followersGET …/followers
Comments written by a person.list_user_commentsGET …/users/{identifier}/comments
Reactions by a person.list_user_reactionsGET …/users/{identifier}/reactions

Posts and comments

What it doesMCP toolREST
Your own posts with their numbers: likes or reactions, comments, reposts, impressions, and on LinkedIn clicks, engagement and reach.list_own_postsGET …/posts
Publish a post: text, images or video and a link preview on LinkedIn, where you can also reshare a post or post as a company page you manage; a feed post or story with a caption and location on Instagram.create_postPOST …/posts
Publish a post at a set local time, once or every week or month, with an optional first comment.schedule_postPOST …/scheduled-posts
Posts waiting to be published, and the ones already out.list_scheduled_postsGET /v1/messaging/scheduled-posts
Change a scheduled post, its time or how often it repeats.update_scheduled_postPATCH /v1/messaging/scheduled-posts/{scheduled_post_id}
Cancel a scheduled post.cancel_scheduled_postDELETE /v1/messaging/scheduled-posts/{scheduled_post_id}
Comments on a post.list_commentsGET …/posts/{post_id}/comments
Comment on a post, or answer a comment.comment_on_postPOST …/posts/{post_id}/comments
Delete one of your comments.delete_commentDELETE …/posts/{post_id}/comments/{comment_id}
React to a comment.react_to_commentPOST …/posts/{post_id}/comments/{comment_id}/reactions
Answer a comment with a private message, when the platform allows it.private_replyPOST …/posts/{post_id}/comments/{comment_id}/private-reply
Reactions on a post or, with comment_id, a comment.list_post_reactionsGET …/posts/{post_id}/reactions

Schedules and routines

What it doesMCP toolREST
Send a message at a set local time, inside working hours you choose.schedule_messagePOST /v1/messaging/schedules
Messages waiting to be sent.list_schedulesGET /v1/messaging/schedules
Change a scheduled message.update_schedulePATCH /v1/messaging/schedules/{schedule_id}
Cancel a scheduled message.cancel_scheduleDELETE /v1/messaging/schedules/{schedule_id}
An automation: answer from your notes, reply to comments and message the commenter once, tag chats, call a webhook or email a summary, on a schedule or when a message or comment arrives.create_routinePOST /v1/messaging/routines
Your automations.list_routinesGET /v1/messaging/routines
Change or pause an automation.update_routinePATCH /v1/messaging/routines/{routine_id}
Delete an automation.delete_routineDELETE /v1/messaging/routines/{routine_id}
What an automation did, and when.list_routine_runsGET /v1/messaging/routines/{routine_id}/runs

Pause and approvals

What it doesMCP toolREST
Stop every message, post, comment, invitation, scheduled message and routine at once. Reading keeps working.pause_all_sendingPOST /v1/messaging/pause
Start sending again after a pause. Waiting scheduled messages and routines carry on.resume_all_sendingPOST /v1/messaging/resume
Replies, new chats, posts and comments waiting for you to approve them.list_approvalsGET /v1/messaging/approvals
Send a waiting message or post as it is, or after you edit the text.approvePOST /v1/messaging/approvals/{approval_id}/approve
Turn down a waiting message or post, so it is never sent.rejectPOST /v1/messaging/approvals/{approval_id}/reject

Accounts

What it doesMCP toolREST
The accounts you have connected, with their status and when each last had activity. Search by name, filter by channel or status, sort and page.list_messaging_accountsGET /v1/messaging/accounts
Whether an account is working, what to do if not, and how much room it has left today.get_account_healthGET …/health
A link to connect a new account, or to reconnect one.create_messaging_connect_linkPOST /v1/messaging/accounts/connect-link
Disconnect an account.disconnect_messaging_accountDELETE …
Status of one connected account.get_connected_accountGET …
Start reconnecting an account that needs a sign-in.reconnect_accountPOST …/reconnect
Enter a sign-in or verification code the platform asked for. The code is not stored.solve_checkpointPOST …/checkpoint
Ask the platform to send the verification code again.resend_checkpointPOST …/checkpoint/resend
Restart an account that has stopped syncing.restart_accountPOST …/restart
Fetch an account’s messages again from the platform.resync_accountPOST …/sync

Usage and billing

What it doesMCP toolREST
Report a bug, a missing feature or a docs gap to the Spaces team.send_feedbackPOST /v1/feedback
Messages sent today and this week, and how much room is left on each account.get_messaging_usageGET /v1/messaging/usage
Usage by day for each account, as a spreadsheet or JSON: messages sent, new conversations and other actions. No message text.export_messaging_usageGET /v1/messaging/usage/export
Your plan and billing status.get_messaging_billingGET /v1/messaging/billing
A checkout link to choose a plan.create_messaging_billing_checkoutPOST /v1/messaging/billing/checkout

Connect it

Use https://api.spacesos.com/mcp/instagram for an MCP server with only the Instagram tools, or https://api.spacesos.com/mcp for every channel. Setup steps for each AI client. An overview for Instagram: Instagram API for AI agents.

Other channels: WhatsApp, LinkedIn, Messenger, X, Email.