Dates are when the change landed on the lab environment
(
middleware.bso-projects.com). Production follows in a later promotion — ask your kurnl
contact if you need to know whether a change is live in production yet.2026-09-17 — Partners can change a subscription’s plan directly
New endpoints:POST /partner/subscriptions/{subscription_id}/change-plan and GET .../change-plan/preview. Previously, changing a subscriber’s plan required a dashboard
session — the partner API only covered checkout and suspend/restore. Now your own dashboard
or billing system can change the plan on any of your ACTIVE subscriptions directly, once per
calendar day (UTC). The change is immediate; there is no scheduled option. Call the preview
first to check eligibility and disable your own control instead of failing on submit.
Billing follows the subscription: if kurnl doesn’t invoice it (true for CKO-03 subscriptions),
kurnl issues no invoice line or credit note — your billing is authoritative. bandwidth_updated: false in the response means the plan change applied but the port needs an operator to confirm
it; it is not a reason to retry.
Check your integration: this is new — nothing existing breaks. If you were waiting on
plan-change support to build a self-serve upgrade/downgrade flow, you can build it now.
Pages: plan change,
Subscriber Management.
2026-09-17 — A first-line building can be ordered by suite
POST /partner/external-checkout/complete used to reject a session that carried a building
and a suite when the building was classified first-line, with:
422 fires only when a session carries neither a port nor a unit_id, and
its text changed to:
PENDING_INSTALL shape (200 without job_id). If
you match on error text anywhere, match on the status code and your own logic instead.
Pages: complete,
CKO-03 direct, CKO-03 home-drop.
2026-09-16 — Customers book their own installation
Where an order takes the install path, the customer receives a booking link and picks their own appointment slot, rather than an operator scheduling it. The booking invitation is held until the move-in date is inside the region’s booking window. Check your integration: nothing to change. Your thank-you page can tell the customer to expect a booking e-mail. Pages: CKO-03 home-drop, CKO-03 anonymous, anonymous complete.2026-09-15 — Per-provider Stripe connection
Providers who use kurnl’s checkout now connect their own Stripe account, and the plan payload carries whether they have done so. Check your integration: nothing to change for external checkout (CKO-03) — you take payment yourself and kurnl is not involved in it. Pages: plans, subscribers.2026-09-05 — Calendar-month billing
Subscription billing moved to calendar months across the partner surface, and the subscriber and reporting payloads reflect it. Check your integration: only relevant if you read kurnl’s billing fields. Partners who bill their own customers (the CKO-03 anonymous variant) are unaffected. Pages: subscribers, CKO-04 provider-initiated.2026-08-25 — External checkout starts on the marketplace (correction)
Between 19 and 25 August the CKO-03 guides described a store-originated flow with a “step 0” address check: your storefront would call the serviceability endpoints, then create a checkout session. That was never how CKO-03 works, and the guides were reverted. The actual contract: external checkout always starts on the kurnl marketplace. The shopper picks your plan there, the marketplace resolves the address, picks the building and suite, creates the session, and redirects to your checkout page with?session_id=. A
CKO-03 partner therefore never checks addresses, never picks a building or unit, and
never creates sessions. Your page reads the session and posts the completion.
The serviceability endpoints are real, but they are for CKO-04 — a storefront that runs
its own funnel end to end and never touches the marketplace.
Check your integration: if you built an address check or a session-creation call into
your checkout page, remove it. A session your store creates bypasses the marketplace’s
serviceability gate and will not route correctly.
Also in this change: the suspend/restore state guards were documented. suspend applies
only to an ACTIVE subscription and restore only reverses a suspend; anything else
returns 409 with an explicit message.
Pages: overview, CKO-03 direct,
CKO-03 anonymous,
subscription-status,
serviceability.