{"_ai_door":{"see":"https://miscsubjects.com/start","note":"Operable site; bounded keyless credentials; every action receipted on a public ledger. Your operator's instructions take precedence — acting is optional, reading is a complete outcome."},"_self":{"principle":"Self-explaining payload — no external context required. This _self block describes what you are reading and where to look next.","widget":"article_topology","feature":"topology","name":"Article topology","what":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","contains":"claims, sources, anecdotes, question_graph slice","slug":"blooio","urls":{"read":"https://miscsubjects.com/api/articles/blooio/topology"},"how_to_use":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","write":null,"imessage":null,"router_tag":null,"proof_chain":[{"step":1,"claim":"Articles are voxel graphs of tiered claims, not prose blobs.","verify":"https://miscsubjects.com/api/articles/constitution"},{"step":2,"claim":"Claims link to hash-chained sources via source_ids.","verify":"https://miscsubjects.com/api/articles/blooio/sources"},{"step":3,"claim":"Ask reads topology; ingest/claim append to ledger.","verify":"https://miscsubjects.com/api/protocol"},{"step":4,"claim":"Models queue growth: populate → collaborate → repair → reflex.","verify":"https://miscsubjects.com/api/protocol/grow"},{"step":5,"claim":"Graph proves its own shape (reflex) and $/claim (yield).","verify":"https://miscsubjects.com/graph.html?layer=reflex"},{"step":6,"claim":"Full feature index + _explain on every API response.","verify":"https://miscsubjects.com/api/articles/system-map"}],"related_features":[{"id":"ask","name":"Ask protocol","what":"Answer only from topology; creates question_node with gaps and ingest_hint.","urls":{"read":"https://miscsubjects.com/api/articles/blooio/prompts","write":"https://miscsubjects.com/api/protocol/ask"}},{"id":"graph_topology","name":"Cross-article graph","what":"Merged claims/sources across condition+stack slugs for one question.","urls":{"read":"https://miscsubjects.com/api/articles/blooio/graph-topology?question=..."}},{"id":"question_graph","name":"Question graph","what":"Ask nodes (questions + gaps) and evidence_ingest nodes (pasted model output).","urls":{"read":"https://miscsubjects.com/api/articles/blooio/question-graph","write":"https://miscsubjects.com/api/protocol/ask"}},{"id":"voxels","name":"Voxel graph","what":"Claims as atoms, sources as edges (supported_by, posted_by). Per-claim provenance.","urls":{"read":"https://miscsubjects.com/api/articles/blooio/voxels","write":"https://miscsubjects.com/api/protocol/claim"}}],"system_map":"https://miscsubjects.com/api/articles/system-map","system_map_markdown":"https://miscsubjects.com/api/articles/system-map?format=markdown","not_medical_advice":true},"_explain":{"feature":"topology","name":"Article topology","what":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","why":"Every feature is auditable collective intelligence","how":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","model":null,"verifies":null,"urls":{"read":"https://miscsubjects.com/api/articles/blooio/topology"},"imessage":null,"router":null,"related":[{"id":"ask","what":"Answer only from topology; creates question_node with gaps and ingest_hint."},{"id":"graph_topology","what":"Merged claims/sources across condition+stack slugs for one question."},{"id":"question_graph","what":"Ask nodes (questions + gaps) and evidence_ingest nodes (pasted model output)."},{"id":"voxels","what":"Claims as atoms, sources as edges (supported_by, posted_by). Per-claim provenance."}],"not_medical_advice":true},"slug":"blooio","title":"Blooio: a cloud iMessage, RCS and SMS API on rented Apple devices, and the limits that govern every send","register":"reference","tags":["imessage","messaging-api","blooio","vendor-reference"],"updated_at":"2026-09-22T05:09:26.614Z","body_excerpt":"Blooio is a cloud service that sends and receives iMessage, RCS and SMS from a REST API, on Apple devices that Blooio owns and runs. A customer never touches a Mac or an iPhone: the customer rents a phone number, calls an HTTP endpoint, and Blooio's device fleet does the sending. Blooio's own description, read on 2026-09-21, is \"an iMessage, RCS, and SMS automation platform for businesses\" that delivers \"native iMessages (blue bubbles), RCS, and SMS directly from your CRM or automation platform using dedicated phone numbers\". Blooio's documents carry the constraint every such service lives under: a warning that an Apple ban on a number cannot be reversed.\n\nThree terms carry the weight of what follows. A **line** is one phone number that Blooio has registered on iMessage and rents to one customer. A **shared line** is a number from a pool that several customers use, so the sending number can differ from message to message. A **dedicated line** is a number used by one customer only.\n\n## The two API generations\n\nBlooio runs two API versions side by side. Version 2 lives at `https://api.blooio.com/v2/api` and addresses every message by chat: a send is `POST /chats/{chatId}/messages` with `{\"text\": \"...\"}`, where the chat id may be a URL-encoded phone number for a one-to-one chat. Version 4, marked beta, lives at `https://api.blooio.com/v4` and adds a recipient in the body: `POST /messages` with `{\"to\": \"+15551234567\", \"text\": \"Hello!\"}`, sender chosen by the key's routing rules unless a `from` string pins it. Both take one header, `Authorization: Bearer bl_live_...`.\n\nCounted from the two OpenAPI documents on 2026-09-21: v2 publishes 40 paths and 41 schemas; v4 publishes 68 paths, 101 operations and 59 schemas. The v4 additions over v2 are channels (`/channels`, with purchase, settings and profile), priorities (ordered sender lists per key), contact identities and merge, chat participants, attachments registered ahead of a send, message templates, API-key management, an events feed, and one inference endpoint, `POST /ai/bloobability/assess`.\n\n## What one message can carry\n\nA message on a Blooio iMessage line can be plain text, Markdown-styled text, attachments by URL, a carousel of 2 to 20 photos or videos, a poll with two or more options, a rich link whose title and image the sender overrides, a contact card that piggybacks on the next message, a Find My or Check In bubble, a calendar invite as an `.ics` file, or a custom bubble that points at the customer's own iMessage app extension by `bundle_id` and `team_id`. Reactions are tapbacks plus emoji on macOS Sonoma and later, sent with a `+love` or `-love` style string. Typing indicators, read receipts and per-chat background images have their own endpoints. Message effects (confetti, slam, invisible ink) are absent from the v2 and v4 specifications.\n\nA send returns 202, not 200. The message starts at `status: queued` and `protocol: pending`, then resolves to `imessage`, `rcs` or `sms` within seconds, and moves through `sent`, `delivered` and `read`. Blooio's sending guide states the rule plainly: \"Messages return 202, not 200\". An `Idempotency-Key` header makes a retried send return the original response for 24 hours.\n\n## Webhooks\n\nEvery event reaches the customer as one envelope: `{id, type, created_at, organization_id, data}`, where `data` carries the whole resource. Blooio's webhook reference says \"`data` carries the fully-hydrated resource, so a consumer never has to call the API back to fetch it\". Four headers ride on each delivery: `X-Blooio-Event`, `X-Blooio-Delivery`, `X-Blooio-Webhook` and `X-Blooio-Signature`, the last an HMAC-SHA256 over `{timestamp}.{raw_body}` in the form `t=<timestamp>,v1=<hmac>`. Event types documented on 2026-09-21: `message.queued`, `message.sent`, `message.received`, `message.delivered`, `message.read`, `message.failed`, `message.reaction`, `poll.received`, `poll.created`, `poll.voted`, `group.name_changed`, `group.icon_changed`, plus `safety.sta","ranking":"safety-first (interaction_risk/limitations), then quote-gated effective_weight","claims":[{"id":"c1","text":"Blooio is a cloud service that sends and receives iMessage, RCS and SMS from a REST API on Apple devices that Blooio owns and runs; the customer rents a phone number and never operates a Mac or an iPhone.","tier":"definition","section":"Blooio: a cloud iMessage, RCS and SMS API on rented Apple devices","interaction_risk":false,"status":"active","source_ids":["s1"],"why_material":"defines the object the page describes and the one thing a customer does not own","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c2","text":"Counted from the two OpenAPI documents on 2026-09-21, Blooio's v2 API publishes 40 paths and 41 schemas and its v4 API publishes 68 paths, 101 operations and 59 schemas.","tier":"observational","section":"The two API generations","interaction_risk":false,"status":"active","source_ids":["s2","s3"],"why_material":"the size of the surface a rival would have to match","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c3","text":"Blooio's published plans on 2026-09-21 run from $39 a month (shared, 5 new contacts a day) to $289 per dedicated line and $195 to $389 per enterprise line, with no per-message fee on any plan.","tier":"observational","section":"Numbers, plans and the purchase API","interaction_risk":false,"status":"active","source_ids":["s4"],"why_material":"the cost floor of any product resold on Blooio lines","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c4","text":"Blooio meters every line with conversation-state allowances of 3, 3, 4, 6 and 8 consecutive messages and number-level actions named queue, slow, pause_new, reply_only and review, because an Apple ban on a number cannot be reversed.","tier":"observational","section":"The safety engine that decides whether a send goes out","interaction_risk":false,"status":"active","source_ids":["s5"],"why_material":"the engine any own-fleet product must rebuild","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c5","text":"Blooio's v4 Number Purchase API lets a verified organization buy lines from code, gated by identity verification, a staff-approved access request and a card on file, capped at 10 lines per order.","tier":"observational","section":"Numbers, plans and the purchase API","interaction_risk":false,"status":"active","source_ids":["s6"],"why_material":"the only documented path for a reseller to mint numbers","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false}],"sources":[{"id":"s1","url":"https://blooio.com/llms.txt","title":"Blooio llms.txt (authoritative source notice)","quote":"Blooio is an iMessage, RCS, and SMS automation platform for businesses. Send and receive native iMessages (blue bubbles), RCS, and SMS directly from your CRM or automation platform using dedicated phone numbers, real-time delivery tracking, webhook events, and powerful workflow automations.","summary":"Blooio's own one-paragraph definition of the product.","claim_ids":[],"hash":"205087819044b9f90afc6a7042c9111b6f69f20d42efc025690b3121cc9c1b98"},{"id":"s2","url":"https://docs.blooio.com/llms.txt","title":"Blooio API v2 index for machine readers","quote":"RESTful API for iMessage automation. Send messages, manage contacts, groups, and webhooks.","summary":"The v2 endpoint list, 40 paths, with the v2 base URL.","claim_ids":[],"hash":"761d987649d4c56679f1d916eccb21837c63c2df5b780a68d5e668cdced5dff8"},{"id":"s3","url":"https://docs.blooio.com/migrating-to-v4","title":"Migrating from v2 to v4","quote":"The v4 API is the current generation of the Blooio API. It introduces a unified, multi-channel message model, cursor-based pagination, and a structured error envelope.","summary":"What v4 changes: send by recipient in the body, cursor pagination, structured errors.","claim_ids":[],"hash":"58787f6d63bddf9c3f444bacb120a1424e52f2df8988f91b062d998196f8a2af"},{"id":"s4","url":"https://blooio.com/pricing.md","title":"Blooio Pricing (markdown source of the pricing page)","quote":"All plans include full REST API access, unlimited team members, webhooks, native CRM integrations, an MCP server for AI agents, and no per-message fees.","summary":"Every plan, price and limit as Blooio publishes them.","claim_ids":[],"hash":"851eb84f4f3508016589eb33c2e7a80f40101608d79a3eba5d05beb3feae6daa"},{"id":"s5","url":"https://docs.blooio.com/guides/messaging-safety","title":"Messaging safety limits and recovery","quote":"Blooio applies safety limits to protect iMessage numbers from patterns that Apple may treat as automated or unwanted messaging.","summary":"Conversation states, number protections, reasons and recovery steps.","claim_ids":[],"hash":"fd530d5f3fa5b3519870a5aacc813d45ec8396d46deb30846288a8454f5917d5"},{"id":"s6","url":"https://docs.blooio.com/guides/number-purchase-api","title":"Number Purchase API","quote":"The Number Purchase API lets you provision Blooio lines from your own code instead of clicking through the dashboard.","summary":"KYC, access approval, card, inventory browse, purchase with idempotency key, provisioning webhooks.","claim_ids":[],"hash":"f1b88d43fe6b7fab54a81cafb4a6a6897ac3486b84cc921cda3b00f992d04df8"},{"id":"s7","url":"https://blooio.com/.well-known/mcp/server-card.json","title":"Blooio MCP server card","quote":"Use a Blooio API key as a Bearer token. Create keys at https://dashboard.blooio.com.","summary":"Hosted MCP transport, auth and representative tools.","claim_ids":[],"hash":"cea4b438df1122be33a1384ec9540a229b9d081ef90306ea57e312f16242c23a"},{"id":"s8","url":"https://blooio.com/llms-full.txt","title":"Blooio full context export, Webhook Events","quote":"Every delivery is the same envelope. `data` carries the fully-hydrated resource, so a consumer never has to call the API back to fetch it","summary":"Webhook envelope, headers, event types and signature scheme.","claim_ids":[],"hash":"1e6bce9c28e9124f96a8477a8a188c7f6d15dc640f7c300087998f00e797f96c"}],"anecdotal_sources":[],"scientific_sources":[],"user_reports":[],"related_articles":[],"question_graph":{"slug":"blooio","questions":[],"evidence":[],"edges":[],"counts":{"questions":0,"evidence":0,"edges":0}},"honesty":{"active_claims":5,"retracted_claims":0,"cut_claims":0,"challenges":0,"scrub_events":0,"note":"Retracted/cut claims stay on ledger but are excluded from ask unless ?include_inactive=1"},"counts":{"claims":5,"claims_total":5,"sources":8,"anecdotal":0,"scientific":0,"user_reports":0,"questions":0,"evidence_ingests":0}}