KanalKanal API
API reference

Overview

Conventions shared by every commerce endpoint.

The commerce API has 7 endpoints across 4 resources. They all share the same conventions below.

Base URL & path

https://api.getkanal.com/api/v1/stores/{store_id}/{resource}

{store_id} is the numeric id issued with your API key. Every request is scoped to that store.

Endpoints at a glance

MethodPathResource
POST/ordersCreate or update an order
PATCH/orders/{external_id}Update order status
POST/checkoutsCreate or update a checkout
PATCH/checkouts/{external_id}Update checkout status
POST/customersCreate or update a customer
DELETE/customers/{external_id}Delete a customer (GDPR)
POST/shipmentsCreate or update a shipment

Conventions

  • AuthAuthorization: Bearer <key>, scoped per store. See Authentication.
  • Content typeapplication/json on every request with a body.
  • IdempotencyPOST upserts on (store_id, external_id). 201 = created, 200 = updated. See Idempotency.
  • Errors — JSON body, 422 for validation. See Errors.
  • Rate limit — 60 requests / minute / store.

Type notation

NotationMeaning
requiredMust be present and non-null
optionalMay be omitted or null
string(3)String with exact/max length
ISO 8601e.g. 2026-05-18T10:00:00Z
numberDecimal, ≥ 0 for prices

Messaging & templates — sending WhatsApp messages and templates uses a separate, older API (/api/v1/messages/send, /api/v1/templates, /api/v1/me). It is not part of the commerce ingestion API documented here; ask your Kanal contact for its reference.

On this page