MISSINdevelopersLog in

Changelog

Developer changelog

Changes to the MISSIN public API, the MCP server, the SDK and the CLI, by API version, newest first, each with release notes and upgrade steps.

Every change to the public API, by API version, newest first. A version is cut only for a breaking change; everything additive lands in the current one. Until the API is released, breaking changes also land in the current version, marked pre-release. Each version links to its release notes, with the old and new hashes and the upgrade steps. Versions and stability explains how versions are named and how long an old one works.

2026-10-09.aster

Latest Released 9 Oct 2026 · latest

Release candidate Pre-release: breaking changes may land in this version without a new one being cut, until the API is released.

No changes since this version was cut.

Release notes for 2026-10-09.aster

Before 2026-10-09.aster

2026-10-09: Outcomes, not the engine's workings

Seven reads keep their names, tools and commands but return outcomes only. The fields below are removed from the response; read the verdict, tier, trust, evidence and revenue fields that remain. Every one of these operations has a new hash, so regenerate any pinned hash.

  • MendJourney (get_mend_journey) no longer returns roundsRun, thresholds, ingress, egress, model, catalogueVersion, algorithmVersion, stateDigest, usageInputTokens, usageOutputTokens or latencyMs, and a touchpoint no longer returns guarded or timingSeconds. It now returns each touchpoint's mendTier. $filter is unchanged.
  • AttributionEngine (get_attribution_engine, missin attribution get-engine) no longer takes $sample (--sample) and no longer returns judged (the judgement sample with its egress, model, versions, rounds and latency), calibration (touchpoints grouped by evidence), versions (touchpoints grouped by algorithm version) or the month's average latency. Counts, revenue by tier, coverage (scored, unseen, channel) and this month's token cost (month, judgedThisMonth) remain.
  • AttributionConversions (get_attribution_conversions) no longer returns a touchpoint's itemised points (discountMatchPts, clickIdPts, linkMatchPts, utmMatchPts, clickPts, handleMatchPts, lastTouchPts, campaignMatchPts, firstTouchPts, channelNamedPts, openPts, deliveryPts, timingPts), combinationSignal, timingSeconds, certaintyRaw, validityFactor, postLikelihood, nominationFactor, channelMatch, algorithmVersion or guarded, nor a judgement's algorithmVersion, catalogueVersion, latencyMs, usageInputTokens or usageOutputTokens. Revenue, role, tier, trust, evidencePct, sharePct, caused, the touchpoint and the order's identity remain.
  • FormResponseDetail (get_form_response) no longer returns the judgement's egress or thresholds.
  • BillingUsageSeries (get_billing_usage_series) no longer returns byModel. Use byProduct and byFeature.
  • AttributionTouchpoints (get_attribution_touchpoints) no longer returns postLikelihood, validityFactor, nominationFactor, channelMatch or guarded. Role, tier, trust, evidencePct, sharePct, caused, creditedReported and the order, post, send or ad remain. Its filter no longer accepts algorithmVersion or valueScore.
  • PostDetail (get_post) no longer returns an attribution's validityFactor. A post's own validity says whether it is approved.

Three operations are now internal, so a key can no longer call them:

  • PlacementTargets (get_placement_targets, missin discounts get-placement-targets) is removed. Use DiscountPlacementTargets (get_discount_placement_targets, missin discounts get-discount-placement-targets), which lists the same targets by discount code and keeps its name.
  • PostCaptionFacts (get_post_caption_facts, missin posts get-caption-facts) is removed. It returned the judge's raw output. Read an order's outcome with MendJourney.
  • SetFormPlacementStepDone (set_form_placement_step_done, missin forms set-placement-step-done) is removed. It ticked the platform's install checklist and changed nothing about a placement.

2026-10-08: Attribution overrides

  • OverrideAttribution (client.attribution.override(), missin attribution override, the override_attribution tool) is removed. A judgement is the engine's answer, and there is no merchant override of it.
  • AttributionEngine no longer returns overrides, and MendJourney no longer returns attributionOverridesByJudgementId.

2026-10-06: Public API and the MCP server

  • The public GraphQL endpoint is https://api.missin.co.uk/graphql/v1. Send Authorization: Bearer sk_live_... and a persisted operation's name and hash.
  • Every public operation has a page in the API reference, grouped by toolset, with its access level, variables and a request to copy.
  • API keys carry an access level (Read, Write or Admin), and Postgres enforces it.
  • The MISSIN MCP server is live at https://api.missin.co.uk/mcp, authenticated with a secret key. See Connect Claude. OAuth is not available yet.
  • The whoami tool, and the WhoAmI operation behind it (the get_current_api_key tool), report a key's workspace, access level and creator's display name.
  • Ten more reads are open to keys: CaptureGuardrails, CaptureMetrics, CaptureQueue, CaptureUnitRate, HomeOverview, RetentionDropOffMedian, FormResponsesSurface, SearchPlacementTargets, Ga4Properties and, for Admin keys, BillingUsage. Each returns the same figures the platform shows for the key's workspace.
  • Ga4Properties access raised from read to admin. It lists a Google connection's properties with that connection's own login, so it asks for the level SetGa4Property does. No key could call it before this change.
  • Waitlists can be paused, moved back to draft and restored from archive: SetWaitlistStatus (Write) changes a waitlist's status, and WaitlistFormSnapshot (Read) returns the published form a waitlist's signup page renders. Releasing stays ReleaseWaitlist.
  • Operations that a key cannot call yet, such as creating or revoking keys and starting a top-up, have no reference page.

For AI agents: a markdown index of this site is at /llms.txt, and every page is available as markdown by adding .md to its URL.