{"_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."},"slug":"linq","title":"Linq: an iMessage, RCS, SMS and voice API for AI agents, with its limits, webhooks and retention modes","body":"Linq is an iMessage, RCS, SMS and voice API sold to teams that build AI agents, run on Apple hardware that Linq operates. Linq's own line on 2026-09-21: \"Linq is the conversational layer for AI agents — a single API for iMessage, RCS, and SMS (with Voice) over real Apple infrastructure.\" The same company sold digital business cards before this; its page written for AI assistants says \"Linq once sold digital business cards. Linq has pivoted.\" Everything below concerns the messaging API, reached at `https://api.linqapp.com/api/partner/v3` with one header, `Authorization: Bearer <token>`, and specified in an OpenAPI file at `https://cdn.linqapp.com/openapi/linq-api-v3.yaml`.\n\nThree terms carry the rest. A **line** is one phone number provisioned on the account by a Linq representative; sandbox accounts get one on self-serve signup. A **handle** is a phone number in E.164 form or an email address. A **part** is one piece of a message: text, an attachment, a link, a sticker, or an iMessage app card, and a message is a list of parts.\n\n## What the API sends\n\nLinq's capability table names unified sending across iMessage, RCS and SMS with automatic or explicit protocol selection; attachments up to 100 MB; group chats with participant add, remove and leave; threaded replies; tapbacks plus any Unicode emoji as reactions; message effects; typing indicators sent and received; polls; chat backgrounds in color, animated or photo form; and webhooks. Its documentation, read in full on 2026-09-21, adds voice memos through a dedicated endpoint, stickers in three forms (peeled onto a message, sent alone, or placed inline in text), mentions of one participant in a group, message editing by `PATCH` with a `message.edited` event, rich link previews, iMessage app messages, \"experiences\" that render as native cards inside Linq's own iMessage app, location sharing, contact cards, blocked handles, capability checks for iMessage and RCS, and payment links plus an \"Agentcard\" flow in which an agent pays on a customer's behalf with a one-time card.\n\nEffects are an object, `\"effect\": { \"type\": \"screen\", \"name\": \"confetti\" }`, with 11 screen effects and 4 bubble effects listed. Chat health is scored per chat as HEALTHY, AT_RISK, CRITICAL or OPTED_OUT, and a beta phone-reputation score exists per line.\n\n## Limits\n\nLinq's rate-limit page states: \"We recommend limiting message volume to a combined total of up to **7,000 inbound and outbound messages per day per line**.\" There is no hard daily cap outside sandbox accounts, which get 100 messages a day. A hard limit applies per pair: 30 messages per 60-second window for each sender–recipient pair, returning 429 with error code 1007 and a `Retry-After` header. Capability checks run at most once per 10 seconds. Every error body carries a numeric `code`, a `message`, the HTTP `status`, a `doc_url` and a `trace_id`; the code list on 2026-09-21 runs from 1001 (missing field) through 2031 (no active location share) into 3xxx server and 4xxx delivery errors.\n\n## Webhooks\n\nAn envelope carries `api_version`, `webhook_version` (`2025-01-01` or `2026-02-03`), `event_type`, `event_id`, `created_at`, `trace_id`, `partner_id` and `data`. Message events are `message.sent`, `message.received`, `message.delivered`, `message.read`, `message.failed` and `message.edited`; Linq's comparison page counts 44 event types in all, across messages, chats, groups, reactions, typing, payments and location. Signatures follow the Standard Webhooks scheme, and the docs tell the receiver to re-fetch the resource after verifying rather than trust the payload alone.\n\n## Zero-day retention\n\nLinq offers a mode in which message content is never written to its database. Its definition: \"Zero-day retention means message content is retained for zero days — it is never persisted past the moment it's needed\". Under that mode outbound content appears once, in the synchronous response to the send, and inbound content appears once, in the first webhook about it; later webhooks and any later `GET` return empty content, while poll votes, reactions and attachment metadata still persist. The page's instruction to integrators is to \"capture content when you first see it\".\n\n## Plans and prices\n\nLinq publishes no price. Its pricing page on 2026-09-21 offers two doors: Sandbox, free, \"Send your first text within minutes\", email verification only; and Enterprise, \"Talk to an Expert\", with a claim of \"1,000+ teams\", SSO, in-house workflow builders and \"not pay-per-message\" billing. Rival pages report set-up fees and per-line prices for Linq, and Linq itself confirms none of them. Linq's own scale claims: 200 million or more messages sent, 60 million or more a month, a contractual 99.95% uptime commitment, and median latency under 120 ms.\n\n## Compliance as Linq states it\n\nLinq describes itself as \"the only SOC 2 Type II iMessage API\" and publishes a trust center listing 70 monitored controls, audit and penetration-test reports on request, and its subprocessors. Message content is described as encrypted and inaccessible to Linq. Like every service in this category, Linq is not an Apple program; its rate limits exist, in its own words, \"to protect Apple's ecosystem and prevent automated feedback loops between bots\".\n\n## Developer packaging\n\nSDKs for TypeScript, Python and Go; a command-line tool; a plugin for Claude Code and Cursor that gives the agent a `search_docs` tool and an `execute` tool against the account; a Model Context Protocol package, `@linqapp/sdk-mcp`, that lets Claude send and receive iMessages, react, edit, and send files; an `llms.txt` index and a 2.4 MB `llms-full.txt`; and a Vercel Chat SDK adapter. Idempotency is a body field, `idempotency_key`, rather than a header.","register":"reference","hero":null,"hero_brief":"","editorial_review":{"headline_subject":"Linq, the AI-agent iMessage API, with its limits, webhooks and retention","hero_subject":"none; reference page without a hero","writing_pass":["1 first four hundred words: yes, line, handle and part are defined before the capability list","2 metric before its name: no","3 every section a category: yes, sends, limits, webhooks, retention, plans, compliance, packaging","4 sentence carrying no load: cut one from the packaging list","5 number not read from a source: none","6 quotation verbatim: yes, checked against the fetched pages","7 verdict before its steps: no"],"hero_brief":""},"tags":["imessage","messaging-api","linq","vendor-reference"],"category":"reference","style":{},"claims":[{"id":"c1","text":"Linq is an iMessage, RCS, SMS and voice API for teams building AI agents, run on Apple hardware Linq operates, reached at api.linqapp.com/api/partner/v3 with a bearer token.","section":"Linq: an iMessage, RCS, SMS and voice API for AI agents","tier":"definition","source_ids":["s1"],"why_material":"defines the object and its audience"},{"id":"c2","text":"Linq recommends at most 7,000 combined inbound and outbound messages per line per day, enforces 30 messages per 60 seconds per sender-recipient pair, and caps sandbox accounts at 100 messages a day.","section":"Limits","tier":"observational","source_ids":["s2"],"why_material":"the ceilings a product built on Linq lines inherits"},{"id":"c3","text":"Linq's zero-day retention mode never writes message content to its database; outbound content appears once in the send response and inbound content once in the first webhook.","section":"Zero-day retention","tier":"observational","source_ids":["s3"],"why_material":"the only retention mode of its kind among the four vendors"},{"id":"c4","text":"Linq publishes no price: its pricing page offers a free sandbox and an enterprise contract by sales conversation, and Linq confirms none of the per-line figures rival pages report.","section":"Plans and prices","tier":"observational","source_ids":["s5"],"why_material":"why a cost comparison with Linq cannot be made from primary sources"}],"sources":[{"id":"s1","url":"https://linqapp.com/llms.txt","title":"Linq llms.txt","quote":"Linq is the conversational layer for AI agents — a single API for iMessage,","summary":"API root, OpenAPI location, docs map and the pointer to the AI-instructions page."},{"id":"s2","url":"https://docs.linqapp.com/channel/imessage/guides/platform/rate-limits/","title":"Linq Rate Limits","quote":"We recommend limiting message volume to a combined total of up to **7,000 inbound and outbound messages per day per line**.","summary":"Daily recommendation, per-pair hard limit, sandbox cap, capability-check limit, 429 body."},{"id":"s3","url":"https://docs.linqapp.com/channel/imessage/guides/platform/zero-day-retention/","title":"Linq Zero-Day Retention","quote":"Zero-day retention means message content is retained for zero days — it is never persisted past the moment it’s needed, rather than being stored and later deleted or expired on a schedule.","summary":"What is never stored, what still persists, and the capture-on-first-sight instruction."},{"id":"s4","url":"https://linqapp.com/s/ai-instructions.md","title":"Linq AI context page","quote":"Linq is not a digital business card company. Linq once sold digital business cards. Linq has pivoted.","summary":"How Linq asks to be described, its category and its differentiators."},{"id":"s5","url":"https://linqapp.com/s/pricing","title":"Linq pricing","quote":"Stop paying-per-message. iMessage and RCS unlock cost-effective messaging enabling you to create better customer experiences.","summary":"Sandbox free; Enterprise by sales conversation; no published figures."},{"id":"s6","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 own count of its webhook event types and its claims about rivals."}],"prov":{"model":"unattributed","action":"write"}}