For AI agents.
Spaces is a messaging API and an MCP server. Follow this page in order.
Machine-readable copy: /llms.txt, /llms-full.txt, /openapi.json, /.well-known/mcp.json. The same files are on https://api.spacesos.com/llms.txt.
Plans
Quickstart
- POST https://api.spacesos.com/v1/signup with the person's email.
- POST https://api.spacesos.com/v1/signup/verify with the 6-digit code. Store the spc_live_ key. It is shown once.
- If connect returns BILLING_REQUIRED, POST https://api.spacesos.com/v1/messaging/billing/checkout and give the person the url.
- POST https://api.spacesos.com/v1/messaging/accounts/connect-link with a channel. WhatsApp and Telegram use a QR code. Other channels are a sign-in, including a second factor when the platform asks. A workspace can connect more than one WhatsApp number.
- GET https://api.spacesos.com/v1/messaging/accounts.
- Add MCP:
claude mcp add --transport http spaces https://api.spacesos.com/mcp --header "Authorization: Bearer KEY"
Channels
Instagram DMs, comments, and a private reply from a comment into a DM when the platform allows it. WhatsApp with multiple numbers. LinkedIn. Messenger. Telegram. Gmail, Outlook, and IMAP as one-to-one email. Workflows are paced steps on LinkedIn, Instagram, WhatsApp, and Telegram that stop when the person replies.
Read, reply, and media
list_messaging_chats, list_messaging_messages, and get_messaging_attachment. Attachments include voice, video, GIFs, images, and files. reply_in_chat and start_chat need messages:send and an Idempotency-Key. A 429 means nothing was sent. Wait retry_after_seconds and retry with the same key.
Clients
- Claude Code and Claude Desktop: MCP url https://api.spacesos.com/mcp and Authorization Bearer.
- ChatGPT: custom MCP connector, same url and header.
- Cursor: server name spaces, same url and header.
- Grok: same url and header.
- Onboarding, no key: https://api.spacesos.com/mcp/start
Schedules and routines
POST /v1/messaging/schedules with account_id, text, send_at (2026-11-03T09:00) and timezone. PATCH or DELETE to edit or cancel. POST /v1/messaging/routines with a trigger (daily, interval, cron, or event) and an action (send_message, knowledge_reply, tag_chat, webhook, email_summary). Pause with PATCH status paused. GET /routines/:id/runs for history. MCP tools: schedule_message, list_schedules, update_schedule, cancel_schedule, create_routine, list_routines, update_routine, delete_routine, list_routine_runs. The same send limits apply. A 429 delays the job. A paused account stops it.
Safety
Spaces reduces ban risk with enforced limits, warm-up, pacing and an automatic pause. It cannot guarantee the platform will not restrict the account. Do not work around a limit. On 429, wait retry_after_seconds and retry with the same Idempotency-Key. If the account is paused, stop. Check GET /v1/messaging/usage or the MCP tool get_messaging_usage before bulk work. A send returns account_safety with remaining today, remaining this week, paused and the reason. The ceilings are in /llms.txt.