Who this is for. These endpoints serve storefronts that run their own checkout
funnel and provision through the provider-initiated API
— the shopper types an address on your site and you need to know whether, and what, you
can sell there. Marketplace-originated external checkout (CKO-03)
never uses them: the shopper’s address, building and unit are resolved on the kurnl
marketplace, and the checkout session your page reads already carries them.
Endpoints
building_id and the plans you can
sell there, and units turns that building_id into the premises inside it —
the suite a customer picks, which is what
provider-initiated provisioning needs when the
premise has no live port yet.
Auth: X-API-Key: krnl_... on both. Results are automatically scoped to
your provider — there is no parameter to query another provider’s
coverage, and none is accepted.
Rate limits: autocomplete 300 / minute, check 120 / minute, units 300 / minute
(per API key).
Serviceability answers are advisory: they come from a coverage index
that the kurnl operator refreshes after footprint or plan changes. Checkout
and provisioning re-validate every order fail-closed, so a stale index can
never place an order at an unserved address — but a very recent footprint
change may take until the next index refresh to appear here.
GET /serviceability/autocomplete
Address suggestions for a storefront search box.
House-number suffixes may be written fused or separated —
68a and 68 a
both match.
Response — 200 OK
At most 15 suggestions, deduplicated by display string:orderable: true means connected and orderable now; false means the
building is in your coverage but still in build-out (pre-order territory).
POST /serviceability/check
Availability verdict for one concrete address.Request body
Send free text, or structured fields (structured wins when both are present; one ofaddress / street is required, otherwise 422):
A1A 1A1) postal formats are recognized.
Response — 200 OK
No match returns
200 with serviceable: false, match: null, plans: [].
GET /serviceability/units
The premises inside one building in your coverage — the suite picker for your checkout page.Response — 200 OK
Render unavailable units disabled rather than hiding them: a customer who knows
their own suite number is in the building reads a gap in the list as your site
being broken.
A building that is not in your coverage returns
404, exactly as an
unknown id does. The response never confirms that a building you cannot serve
exists.