05 · RESOURCES
Changelog
Everything that changed in the API, the MCP server and the console, newest first. Price changes are announced here and by email; they apply to requests made after the change, never to settled ones.
15 September 2026v1.8 Layrcake
NewThe product is now Layrcake — hosts, keys, envelope and headers renamed
- Canonical hosts are api.layrcake.dev, mcp.layrcake.dev/mcp, app.layrcake.dev and docs.layrcake.dev. The former API and MCP hostnames keep working as direct aliases of the same service; they are never redirected, so POST bodies are safe.
- API keys now begin cake_sk_live_ / cake_sk_test_. Keys issued under the former prefix were revoked at the rename and are rejected everywhere, including on the former hostnames — create a new key in the console.
- The metering envelope on every response is layrcake (was the former product name) and the streaming identity headers are X-Layrcake-Request-Id and X-Layrcake-Credits-Reserved. The /v1 path and every verb contract are unchanged.
- MCP OAuth issuer moved to https://api.layrcake.dev. Connectors registered against the former issuer must be removed and added again; discovery on the new host advertises the new issuer.
- Sign-in email now comes from auth@layrcake.dev. Console sessions are host-bound, so sign in again on the new console.
14 September 2026v1.7 reply sending
Newreply_to_thread — answer a reply in its thread
- Your agent can now answer an inbound reply in the same email thread, from the mailbox that received it. A real email is sent, so it works like a launch: the first call returns a preview and a confirmation, a signed-in human approves it in the console, and the second call sends.
- It needs the new reply:send scope, which is never granted by default. Tick "Allow in-thread replies" when creating a key, or request the scope in an OAuth connection; the consent screen says exactly what it grants.
- One reply per inbound message. Suppressed contacts are refused, checked again immediately before sending. A workspace daily cap and a per-mailbox cap apply. Sender and subject are derived from the thread and cannot be chosen.
- If the provider's answer is lost mid-send you get operation_unknown_state; Layrcake reconciles against the provider's sent folder and settles once. Never retry a send yourself.
- get_reply lists your sent replies under our_replies.
12 September 2026v1.6 reply loop
Newget_reply and set_lead_status — read a reply in full, record what it meant
- set_lead_status records interested, meeting_booked, won, not_interested, out_of_office or neutral on the campaign lead. not_interested is enforced: the contact is suppressed workspace-wide and removed from active campaigns. The status is mirrored to the sending provider in the background and the mirror's state is reported.
- One free verb returns the complete plain-text and HTML body of an inbound reply, the mailbox of yours that received it, a thread id, and the campaign lead's state. get_replies stays the list; get_reply is the read.
- Bodies arrive with the reply and are served from Layrcake; the provider is consulted only when a body is missing, and the answer is cached either way. body_status says whether the body is available, gone, or temporarily unavailable.
- Replies and their bodies are kept for as long as the workspace exists, so an agent can always go back to what a prospect actually said.
- Every response marks the body as external, untrusted text (content_trust), so agent frameworks can keep prospect-written content out of their instruction channel.
- reply_to_thread shipped dark on the same day; see 14 September for its release.
9 September 2026v1.5 reliability
FixCampaign timezone validation and UTC fidelity
- create_campaign.sending_window.timezone now validates against the supported IANA enum before metering or provider work.
- The default Etc/UTC window remains UTC at the sending engine instead of being silently substituted with a US timezone; Europe/Madrid is mapped to an equivalent civil-time zone.
- Signed-out human-approval links now preserve their complete destination through login, including the approval identifier.
- Suppression removal retries clear resolved diagnostics after a successful provider update, while durable retry state still records and recovers transient failures.
- Campaign completion and pause state are reconciled from the sending provider every two minutes as a backstop to webhooks; a locally paused campaign is never automatically resumed.
8 September 2026v1.5 beta foundation
NewCompany discovery, company intelligence and social contracts
- find_companies, enrich_company and find_posts now share the REST, MCP and OpenAPI contract. Each provider mode/platform remains disabled until its published sample, economics and licensing gate passes.
- Company datasets report hit, empty or unavailable independently; briefs use bounded same-domain scraping and an internal extraction call.
- Social billing uses deterministic literal-v1 relevance. Known-author/company calls add a 1-credit resolution/retrieval base; unresolved names return candidates rather than a guess.
- Fix Provider-operation retries now claim execution atomically; timeouts and crashes stay visible as provisional COGS until reconciliation.
8 September 2026v1.4
NewCanonical company domains and smarter retries
- find_leads accepts company_domains (1–100): only people at those companies are returned or charged, so "the VP Sales at each of these 40 accounts" is one call. Chains directly from company lists. Same 0.2 credits per lead.
- Every company_domain field now accepts a bare domain or a full URL (https://www.acme.com/about) and resolves it to the registrable domain. Subdomains, capitalisation, trailing dots and www. no longer create different identities; IP addresses, ports, credentials and reserved names are rejected with a clear message.
- List inputs (company_domains, titles, industries, locations, signals, want) are deduplicated and treated as sets, so a retry that reorders or repeats values replays the original result under the same Idempotency-Key instead of paying twice.
- Replayed responses now include credits_available, matching fresh responses. The success envelope { result, layrcake } is documented once in the OpenAPI spec for every verb.
- Fix Provider cost accounting is recorded before each provider call rather than after, so an interrupted request can never hide its cost. No customer-facing prices changed.
3 September 2026v1.3
NewOAuth 2.1 for connector marketplaces
- The MCP server now supports OAuth 2.1 with PKCE and dynamic client registration, so Layrcake can be added to Claude, ChatGPT and other assistant directories with a sign-in flow instead of a pasted key. The token you approve is an API key in your workspace, scoped to what you approved, revocable from the console.
- Pricing find_intent is now two-part: 10 credits per signal-bearing company plus 0.5 credits per company scanned. Misses on every other verb stay free.
- Pricing LLM passthrough repriced to cost-plus: sonnet-5 0.5, haiku-4.5 0.25, gpt-5-mini 0.1 credits per 1k tokens.
- Pricing Sending capacity: domains 1,500 credits one-time (at cost), five mailboxes per domain, 750 credits per mailbox per month.
- Minimum top-up is now $20 (2,000 credits). Credits still never expire.
- Credits land within seconds of a successful payment; the console shows the new balance without a refresh.
- The console and the docs are fully usable on phones.
2 September 2026v1.2
NewProduction, live billing, docs
- Layrcake is on production infrastructure with live card payments. Keys minted from today are cake_sk_live_.
- Documentation live at docs.layrcake.dev, including llms.txt for agents and the OpenAPI spec.
- Passwordless sign-in: a one-time link or 6-digit code by email, or Google. No passwords anywhere.
- Suppression events from the sending layer (replies, bounces, unsubscribes) now propagate to live campaigns within a minute.
- Fix Marketing site and docs render correctly at phone widths.
1 September 2026v1.0
NewLayrcake API v1 and MCP server
- Nine verbs behind one key: find_leads, enrich, verify_email, find_intent, setup_sending, create_campaign, launch_campaign, get_replies and llm.
- Hosted MCP server at mcp.layrcake.dev exposing the same verbs as tools, with one-prompt setup for Claude Code, Cursor and Codex.
- Prepaid credits with the exact charge disclosed in every response envelope. Misses are free. 300 free credits on signup, no card.
- Human confirmation, enforced at the server, for every purchase of sending capacity and every campaign launch.
- Permanent, workspace-wide suppression applied at draft, re-checked at launch.
- Idempotency keys on every mutating verb: retries replay the original result without re-charging.