{"_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":"imessage-api-gap-map","urls":{"read":"https://miscsubjects.com/api/articles/imessage-api-gap-map/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/imessage-api-gap-map/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/imessage-api-gap-map/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/imessage-api-gap-map/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/imessage-api-gap-map/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/imessage-api-gap-map/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/imessage-api-gap-map/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":"imessage-api-gap-map","title":"iMessage API gap map: what Blooio and its rivals sell, what this build runs today, and the twelve gaps between them","register":"reference","tags":["imessage","messaging-api","blooio","gap-map","build"],"updated_at":"2026-09-22T06:16:29.322Z","body_excerpt":"The iMessage API gap map answers one question: can this build sell what Blooio sells, plus three things Blooio does not (a customer's own number cloned and tracked, an AI model provisioned with the number, and the customer's automations managed in the same place), and what stands between today and that product. The answer, in one line: the build already runs most of Blooio's request surface and all three extras, and the one thing it cannot make is an iMessage phone number, which it must rent from Blooio or let the customer bring on their own Mac. Everything below is measured on 2026-09-21 from the vendors' published documents and from the build's own live endpoints.\n\nFour terms, defined once. An **iMessage API vendor** is a company that owns Apple devices with phone numbers registered to iMessage and lets a customer send through them by HTTP; none of them is an Apple program, and every one of them warns that an Apple ban on a number is permanent. A **directory row** is one capability in this build, callable as `POST /api/dispatch {\"key\": \"...\", \"body\": \"...\"}` and answering with a public receipt. A **build sheet** is a stored grid on miscsubjects.com whose cells can hold formulas that call rows. A **tenant** is one customer's isolated copy of the build's runtime, a Worker inside a Cloudflare Workers for Platforms dispatch namespace.\n\nFive reference pages carry the vendors, one object per page: [Blooio](/a/blooio), [Sendblue](/a/sendblue), [Linq](/a/linq), [LoopMessage](/a/loopmessage) and [myCRMSIM](/a/mycrmsim). The full inventory behind the map sits in two build sheets: [every Blooio endpoint, MCP tool, webhook event and plan, with the build's equivalent row and its measured state](https://miscsubjects.com/admin/sheets?tab=sh_feevfx8s), 246 rows, and [the vendor-by-feature matrix](https://miscsubjects.com/admin/sheets?tab=sh_mrkkvamh), 41 rows.\n\n## What the four vendors sell is the same object with different limits\n\nBlooio, Sendblue, Linq and LoopMessage sell the same object: a phone number on a Mac or iPhone the vendor owns, a send endpoint, a webhook, and a set of iMessage-native extras (reactions, typing, read receipts, polls, cards, effects). The differences are in the limits and the price.\n\nBlooio prices every plan in public: $39 a month for a shared line with 5 new contacts a day, $109 for a dedicated reply-only line, $289 for a dedicated outbound line, and $195 to $389 per line on the enterprise tier; its pricing document promises \"no per-message fees\" on all of them. Sendblue publishes one price, $100 per line per month for an inbound-first line with 1,000 inbound contacts a day, and quotes the outbound plan by sales call. Linq publishes no price at all and sells a free sandbox next to an enterprise contract. LoopMessage prices by unique daily contacts, $59.99 for 300 and $99.99 for 1,000, with $15 add-ons for a phone number and for SMS fallback. myCRMSIM is the outlier: the customer's own SIM in the customer's own handset; Blooio's comparison page prices it at $29 a month plus the hardware and the carrier plan.\n\nThe limits are the product. Blooio lets a new chat receive 3 messages before a reply and pauses a line whose new-chat reply rate falls under 40%. Sendblue allows 50 new outbound contacts a day per line and 5 messages to a contact who has not answered. Linq recommends 7,000 messages a day per line and hard-limits 30 messages per minute per pair. LoopMessage refuses cold outbound outright: \"we do not support outbound-only messaging where you do not expect any interaction or response from the recipient.\" Every vendor is metering the same scarce thing, Apple's tolerance for a number, and every vendor's safety engine is the mechanism that keeps its fleet alive.\n\nTwo facts from the vendors' own pages bear on trust. Sendblue disclosed on 2026-08-05 that a misconfiguration in its Firebase and Firestore rules \"led to unauthorized access to certain conversation records\". Linq offers a zero-day-retention mode in which ","ranking":"safety-first (interaction_risk/limitations), then quote-gated effective_weight","claims":[{"id":"c1","text":"The build already runs most of Blooio's request surface and all three extras the question named, and the one thing it cannot make is an iMessage phone number, which it rents from Blooio or lets the customer bring on their own Mac.","tier":"observational","section":"iMessage API gap map","interaction_risk":false,"status":"active","source_ids":["s6","s7","s13"],"why_material":"the verdict the whole page supports","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c2","text":"Blooio, Sendblue, Linq and LoopMessage sell the same object, a phone number on vendor-owned Apple hardware with a send endpoint, a webhook and iMessage extras, and differ in limits and price.","tier":"observational","section":"What the four vendors sell is the same object with different limits","interaction_risk":false,"status":"active","source_ids":["s1","s2","s3","s4"],"why_material":"collapses four vendors to one comparison axis","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c3","text":"Counted from the directory on 2026-09-21, 121 rows carry messaging: 67 BLOOIO rows mirroring Blooio's MCP tools, 35 IMSG rows on the owner's own Mac of which 22 are measured working and 12 broken, and the rest WhatsApp, Matrix, Telegram and gated Twilio.","tier":"observational","section":"What the build runs today, measured","interaction_risk":false,"status":"active","source_ids":["s7","s6"],"why_material":"the measured baseline the gaps are counted from","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c4","text":"The three-column model the question described is live: a REST envelope in column A, =INVOKE(A2,\"status\") in B, =INVOKE(A2) in C and =INVOKE(A2,\"verdict\") in D evaluated on 2026-09-21 in 2,140 ms for a Blooio read row.","tier":"observational","section":"The cell model the question asked for is already live","interaction_risk":false,"status":"active","source_ids":["s8","s9"],"why_material":"answers the specific mechanism the question asked about","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c5","text":"Six messages were exchanged on 2026-09-21 between the owner's Apple ID and the build's Blooio line across all four of the account's aliases, each stamped with its alias in the Mac store and receipted on the ledger.","tier":"observational","section":"Measured on 2026-09-21: four aliases of one Apple ID against the build's Blooio line","interaction_risk":false,"status":"active","source_ids":["s6","s7"],"why_material":"proves send and receive on any alias against the rented line","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c6","text":"On Blooio's side the four aliases are four contacts in four chats; on the Mac they are one chat whose outgoing alias follows the last message, and setting the chat's stored alias then restarting the messaging daemon makes the next send leave on the requested alias, proven by messages 679712, 679715 and 679716.","tier":"observational","section":"Measured on 2026-09-21: four aliases of one Apple ID against the build's Blooio line","interaction_risk":false,"status":"active","source_ids":["s6","s1"],"why_material":"answers whether the aliases appear as different senders and whether the sender can be chosen per send","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c7","text":"A phone number joins an Apple Account for iMessage only through an iPhone that activates it by carrier SMS, so ten commercial numbers on one account means ten activated iPhone lines.","tier":"regulatory","section":"Measured on 2026-09-21: four aliases of one Apple ID against the build's Blooio line","interaction_risk":false,"status":"active","source_ids":["s14"],"why_material":"the rule that bounds the own-fleet idea","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c8","text":"Blooio's Number Purchase API is the documented reseller path to mint lines: identity verification, a staff-approved access request, a card on file, 10 lines per order, plan ids shared_nc, shared_com, dedicated_com, dedicated_ent and inbound_basic.","tier":"observational","section":"The gaps, each with the layer that closes it","interaction_risk":false,"status":"active","source_ids":["s13","s1"],"why_material":"gap 1, the only gap that cannot be closed in the build's own code","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c9","text":"Sendblue disclosed on 2026-08-05 that a Firebase and Firestore rules misconfiguration led to unauthorized access to conversation records, and Linq counts 44 versioned webhook event types against Blooio's roughly 8.","tier":"observational","section":"What the four vendors sell is the same object with different limits","interaction_risk":false,"status":"active","source_ids":["s11","s12"],"why_material":"the two vendor-stated facts that bear on trust and webhook depth","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c10","text":"Workers for Platforms is live on the build's account with a production dispatch namespace and a one-command tenant clone, which is the tenancy layer the product's three doors run in.","tier":"observational","section":"What the build has that no vendor sells","interaction_risk":false,"status":"active","source_ids":["s7"],"why_material":"the isolation the resale product depends on","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c11","text":"Three of the twelve gaps are withdrawn on a second pass: replay and pagination are ledger reads, the webhook signing secret is the build's capability token bound to the sender, and contacts are objects the build already holds, the Mac address book answering a read of 410 contacts on 2026-09-21.","tier":"observational","section":"The final spec, second pass: three gaps withdrawn, five challenge items that remain","interaction_risk":false,"status":"active","source_ids":["s17","s8"],"why_material":"corrects the count the verdict rests on","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c12","text":"Apple publishes no cap on iMessage phone numbers per Apple Account; an iPhone holds two active lines under Dual SIM, and the only published per-account device cap, ten devices with no more than five computers, governs purchases rather than Messages.","tier":"regulatory","section":"The final spec, second pass: three gaps withdrawn, five challenge items that remain","interaction_risk":false,"status":"active","source_ids":["s18","s19"],"why_material":"bounds the own-number fleet idea with Apple's own words","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c13","text":"Every sender the build has today, three rented Blooio lines and the owner's Apple ID, is reached by one dispatch envelope that works identically from a sheet cell, a terminal and any HTTP client.","tier":"observational","section":"The final spec, second pass: three gaps withdrawn, five challenge items that remain","interaction_risk":false,"status":"active","source_ids":["s9","s7"],"why_material":"the deliverable the question asked for","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c14","text":"One door, POST /api/text with an action field, now sends text, images, voice notes, contact cards, tapbacks, group messages and delivery reads from the owner's own Apple ID, and polls, typing, read receipts and the rest from a rented line, each fired on 2026-09-21 with the store row or Blooio reply as evidence.","tier":"observational","section":"Every verb, delivered through one door and fired the same night","interaction_risk":false,"status":"active","source_ids":["s6","s7","s9"],"why_material":"the parity the question asked for, listed verb by verb","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c15","text":"A Blooio poll lands in the Mac store as a balloon message with the Polls plugin bundle id and a payload, a vote leaves as associated type 4000 or 4001, a tapback as type 2000 to 2005, and typing and name-and-photo shares write no row, which is why those verbs need the private API on the owner's identity while attachments do not.","tier":"observational","section":"Every verb, delivered through one door and fired the same night","interaction_risk":false,"status":"active","source_ids":["s6"],"why_material":"the measured reason for the private-API line","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false}],"sources":[{"id":"s1","url":"https://miscsubjects.com/a/blooio","title":"Blooio reference","quote":"Three gates precede the first purchase: organization identity verification through Stripe Identity, a staff-approved access request, and a card on file.","summary":"Blooio's API generations, message fields, webhooks, safety engine, plans, purchase API, routing and developer surface.","claim_ids":[],"hash":"50062fb8d9a18b553e2fa28783e9bdcebb9ec88a669c86edbba5686ba00ecaa0"},{"id":"s2","url":"https://miscsubjects.com/a/sendblue","title":"Sendblue reference","quote":"Sendblue runs on real Apple hardware — Mac Minis and iPhones — using standard Apple IDs and the native iMessage protocol.","summary":"Sendblue's endpoints, limits, plans, FaceTime, sandboxes and stated compliance.","claim_ids":[],"hash":"8bec34b8d363c9b95492dc059d4a2d75136b65495312dc5e8e504383e6577850"},{"id":"s3","url":"https://miscsubjects.com/a/linq","title":"Linq reference","quote":"Zero-day retention means message content is retained for zero days — it is never persisted past the moment it's needed","summary":"Linq's v3 API, limits, 44 webhook events, zero-day retention, pricing model.","claim_ids":[],"hash":"4a2632edf72ec8687b655a846073317da151185e9cf4d212ba57cfe9ea7089f8"},{"id":"s4","url":"https://miscsubjects.com/a/loopmessage","title":"LoopMessage reference","quote":"Unfortunately, we do not support outbound-only messaging where you do not expect any interaction or response from the recipient.","summary":"LoopMessage's send endpoint, queue semantics, contact-metered plans and send-first rules.","claim_ids":[],"hash":"6c18dd668f5468a7de670de6346b9d435ef9e81ea056a56eee02ee432db0ed45"},{"id":"s5","url":"https://miscsubjects.com/a/mycrmsim","title":"myCRMSIM reference","quote":"myCRMSIM connects your SIM card to your CRM for unlimited SMS, iMessage, WhatsApp, and RCS messaging at one flat monthly cost — no A2P registration, no per-message fees.","summary":"The bring-your-own-SIM model and what the site does and does not state.","claim_ids":[],"hash":"270d28df542ebac0471ea5f465e2f3ad6591863a3eb52aebfa1510831e45b798"},{"id":"s6","url":"https://miscsubjects.com/api/imessage","title":"Native iMessage API contract (live)","quote":"Native iMessage API. Sends and reads as the Mac Messages.app Apple ID — not Blooio.","summary":"The owner-Mac iMessage surface: chats, thread, search, send, since, max_rowid, each call receipted.","claim_ids":[],"hash":"8220d24d5acee5308bd8c11cf233a7ced515b771375f3d54b4067569fb948bd4"},{"id":"s7","url":"https://miscsubjects.com/api/directory/IMSG_SEND","title":"Directory row IMSG_SEND (live)","quote":"Send a text message from the owner's own Apple identity to a phone number or email. Returns the new message id and guid; check IMSG_SEND_STATUS for delivery.","summary":"One of the 35 IMSG rows; the directory carries every row's state, invocation and example.","claim_ids":[],"hash":"9fb28a8e54f0e433e864ecfcf0fbd65c991cf5f04751c9b71dd3578e543657f1"},{"id":"s8","url":"https://miscsubjects.com/api/sheets","title":"Build sheets contract (live)","quote":"Every cell is A1-addressable over REST; whole tabs are sheets: Directory and Ledger are projections of their own tables, user sheets store cells here.","summary":"Create, write, append, export and formula rules for build sheets.","claim_ids":[],"hash":"e303df8c6708175a8febab11d40ba18eb175a652bd7ee3613785e5a810ddac64"},{"id":"s9","url":"https://miscsubjects.com/admin/sheets?tab=sh_srsn7axk","title":"Demo sheet: send a text from a cell","quote":"{\"http\":200,\"ok\":true,\"ms\":2140,\"trace_id\":\"t_vi5pb81i\"","summary":"Column A envelopes, B status records, C payloads, D verdicts; two read rows fired live, three send rows left unfired.","claim_ids":[],"hash":"7b39665a3336f4a423f06dd72c27f60d80d0b38e58f9634f178b48ae4c8bfb93"},{"id":"s10","url":"https://blooio.com/compare/blooio-vs-mycrmsim","title":"Blooio vs myCRMSIM (Blooio's page)","quote":"myCRMSIM charges $29/mo but requires you to buy your own iPhone, pay for a phone plan, and manage everything yourself.","summary":"Blooio's price claim about myCRMSIM and its all-in cost estimate.","claim_ids":[],"hash":"716e6274173243a8b02adae7c56f3cf21d05b88d511c12bccf82a18dd4d7af8e"},{"id":"s11","url":"https://blooio.com/compare/blooio-vs-sendblue","title":"Blooio vs SendBlue (Blooio's page)","quote":"On August 5, 2026, SendBlue published an incident report stating that a vulnerability in its Firebase/Firestore security rules led to unauthorized access to certain conversation records.","summary":"Blooio's account of Sendblue's 2026 incident disclosure and its feature table.","claim_ids":[],"hash":"f9fa8fe58635139ce8f6d673d2ff3c961eff2ef91802c6cdcb2b3d46207f6cbf"},{"id":"s12","url":"https://linqapp.com/s/linq-vs-blooio","title":"Linq vs Blooio (Linq's page)","quote":"44 distinct versioned event types, managed retries, and trace IDs on every response and error.","summary":"Linq's counts of its own and Blooio's webhook events, effects, editing and group features.","claim_ids":[],"hash":"2b9965fe1107c721f36dadbfe5a5a699fd0f681fbdf437a61d82b7615c60009f"},{"id":"s13","url":"https://docs.blooio.com/guides/number-purchase-api","title":"Blooio Number Purchase API","quote":"The Number Purchase API lets you provision Blooio lines from your own code instead of clicking through the dashboard.","summary":"The gates, plan ids, per-order cap and provisioning webhooks for buying lines from code.","claim_ids":[],"hash":"aa6b8331e8b402690cbf5cca716e1b1f90653753e3b879338d02e3cb0628faa9"},{"id":"s14","url":"https://support.apple.com/en-us/HT201422","title":"Apple Support: If you can't turn on or sign in to iMessage or FaceTime on your iPhone","quote":"If you're using an iPhone, you need SMS messaging to activate your phone number with iMessage and FaceTime. Depending on your carrier, you might be charged for this SMS.","summary":"A phone number is activated for iMessage on an iPhone by carrier SMS; email addresses are chosen under Send & Receive.","claim_ids":[],"hash":"cd4168038163117d8066d2e7d33ede33331f1436c21c7ab9f15074682f1972db"},{"id":"s15","url":"https://miscsubjects.com/admin/sheets?tab=sh_feevfx8s","title":"Blooio surface sheet, 246 rows","quote":"kind,method,path or name,what it does,build equivalent (rented Blooio line)","summary":"Every v2 and v4 endpoint, MCP tool, webhook event and plan with the build's equivalent row, its measured state, and the own-number equivalent.","claim_ids":[],"hash":"f0274b2b7779a7a9eb44690ba1ff3fcba97d709b2109291e525604e4c892467f"},{"id":"s16","url":"https://www.macstadium.com/pricing","title":"MacStadium pricing","quote":"Individual MacStadium bare metal subscriptions are available on a monthly basis with pre-payment on the first day of the calendar month.","summary":"Hosted Mac mini prices from $109 a month for an M2.S on 2026-09-21.","claim_ids":[],"hash":"9c0e17dd18d30d54bd67b31d017b380187e5332dbe5c11bc43c1c6512ccc6095"},{"id":"s17","url":"https://miscsubjects.com/api/apple","title":"Apple node contract (live)","quote":"Apple node: Mac + iPhone as a total personal-world API.","summary":"Layers, inventory, data reads (contacts, mail, calendar, notes), Shortcuts, JXA; the contacts read answered 410 items on 2026-09-21 with a receipt.","claim_ids":[],"hash":"b4f1193c9ebd8224d2c1b06806c319563024a19f996bbcc194b6f441f15329ef"},{"id":"s18","url":"https://support.apple.com/en-us/HT204074","title":"Apple Support: View and remove your devices that are associated with your Apple Account for purchases","quote":"You can have ten devices (no more than five computers) associated with your Apple Account for purchases at one time.","summary":"The only published per-account device cap, and it governs purchases.","claim_ids":[],"hash":"4416efed6bd998eaef93d76db715916bc2e83e9bfaa176aa75e4ff9ca21e6a25"},{"id":"s19","url":"https://support.apple.com/en-us/HT209044","title":"Apple Support: Using Dual SIM with an eSIM","quote":"Dual SIM enables you to have two active phone numbers or SIMs to make and receive calls and text messages.","summary":"Two active lines per iPhone; both can send and receive iMessage.","claim_ids":[],"hash":"a42d69aee6960c3c8ac748d2c1ae23baa87ae20ab180097f2a0d30bf9bcb1bb8"}],"anecdotal_sources":[],"scientific_sources":[],"user_reports":[],"related_articles":[],"question_graph":{"slug":"imessage-api-gap-map","questions":[],"evidence":[],"edges":[],"counts":{"questions":0,"evidence":0,"edges":0}},"honesty":{"active_claims":15,"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":15,"claims_total":15,"sources":19,"anecdotal":0,"scientific":0,"user_reports":0,"questions":0,"evidence_ingests":0}}