API reference
Endpoints, request fields, response schemas and generated examples for every Kustom API.
Every operation of every Kustom API is listed on this page, under the API it belongs to. Each has a permanent URL, linkable request and response fields, and examples generated from the OpenAPI specification.
Five things are true of all of them, whichever you pick: the credential to send, how a request and a response are written, what an error body means, what will be refused and how to make a retry safe. Read those once and they hold everywhere.
- POSTAddress update
/merchant_urls.address_update - POSTCountry change
/merchant_urls.country_change - POSTShipping option update
/merchant_urls.shipping_option_update - POSTOrder validation
/merchant_urls.validation - POSTUpsell recommendations
/merchant_urls.upsell - POSTUpsell validation
/merchant_urls.upsell_validation
Customer Tokens API
Read tokens, create orders, and manage token status/customer-token/v1/tokens
- GETGet client
/{clientId} - PUTUpdate a client
/{clientId} - DELETEDelete a client
/{clientId} - PUTAdd/modify express config
/{clientId}/express - PATCHPatch express config
/{clientId}/express - PUTUpdate allowed origins
/{clientId}/allowed-origins - GETList clients for a merchant
/ - POSTCreate a client
/ - PATCHAdd allowed origins
/{clientId}/add-allowed-origins
Shipping Service Callback API
Authentication, shipping options, and shipment reservations
6 operationsOrder Management API
Capture, refund, acknowledge, and amend orders/ordermanagement/v1/orders
- POSTAdd shipping information
/{order_id}/shipping-info - POSTRelease an authorization
/{order_id}/release-remaining-authorization - POSTExtend the authorization time
/{order_id}/extend-authorization-time - POSTCancel an order
/{order_id}/cancel - POSTAcknowledge a Kustom checkout order
/{order_id}/acknowledge - PATCHUpdate merchant references
/{order_id}/merchant-references - PATCHUpdate customer addresses
/{order_id}/customer-details - PATCHUpdate the order amount and order lines
/{order_id}/authorization - GETGet order details
/{order_id} - POSTRefund an order
/{order_id}/refunds - GETGet refund details
/{order_id}/refunds/{refund_id} - GETList all order captures
/{order_id}/captures - POSTCapture an order
/{order_id}/captures - POSTAdd shipping information
/{order_id}/captures/{capture_id}/shipping-info - GETGet capture details
/{order_id}/captures/{capture_id}
- PUTCancel session
/sessions/{session_id}/cancel - POSTCreate session
/sessions - GETGet session
/sessions/{session_id} - PUTUpdate device
/devices/{id} - DELETEDeregister device
/devices/{id} - GETList devices
/devices - GETList enrollments
/enrollments - POSTCreate enrollment
/enrollments - DELETEDelete enrollment
/enrollments/{enrollment_id} - POSTSimulate card tap
/dev/sessions/{sessionId}/simulate-tap - POSTCreate simulated device
/dev/devices - GETList locations
/locations - GETGet location
/locations/{id}
- GETPayout summary
/payouts/summary - GETPayout details
/payouts/{payment_reference} - GETList all payouts
/payouts - GETGet a payouts summary (CSV)
/reports/payout-with-transactions - GETGet a payouts summary (PDF)
/reports/payout - GETList transactions in a payout
/transactions - GETGet a payouts summary with transactions (CSV)
/reports/payouts-summary-with-transactions - GETGet a payouts summary with transactions (PDF)
/reports/payouts-summary
Partner APIs
Section titled “Partner APIs”- GETList all active upsell configuration rows for a merchant
/upsell - PUTUpsert upsell configuration for a merchant and one or more countries
/upsell - DELETESoft-delete upsell configuration for a merchant and optional country
/upsell - GETGet resolved upsell configuration for a merchant and country
/country/{country}/upsell - GETList all active sign in with rows for a merchant
/signInWith - PUTUpsert sign in with for a merchant and one or more countries
/signInWith - DELETESoft-delete sign in with for a merchant and optional country
/signInWith - GETGet resolved sign in with for a merchant and country
/country/{country}/signInWith - GETList all active express checkout payment methods rows for a merchant
/expressCheckoutPaymentMethods - PUTUpsert express checkout payment methods for a merchant and one or more countries
/expressCheckoutPaymentMethods - DELETESoft-delete express checkout payment methods for a merchant and optional country
/expressCheckoutPaymentMethods - GETGet resolved express checkout payment methods for a merchant and country
/country/{country}/expressCheckoutPaymentMethods - GETList all active checkout styling rows for a merchant
/checkoutStyling - PUTUpsert checkout styling for a merchant and one or more countries
/checkoutStyling - DELETESoft-delete checkout styling for a merchant and optional country
/checkoutStyling - GETGet resolved checkout styling for a merchant and country
/country/{country}/checkoutStyling - GETList all active analytics rows for a merchant
/analytics - PUTUpsert analytics configuration for a merchant and one or more countries
/analytics - DELETESoft-delete analytics configuration for a merchant and optional country
/analytics - GETGet resolved analytics configuration for a merchant and country
/country/{country}/analytics
- GETGet client
/{clientId} - PUTUpdate a client
/{clientId} - DELETEDelete a client
/{clientId} - PUTAdd/modify express config
/{clientId}/express - PATCHPatch express config
/{clientId}/express - PUTUpdate allowed origins
/{clientId}/allowed-origins - GETList clients for a merchant
/ - POSTCreate a client
/ - PATCHAdd allowed origins
/{clientId}/add-allowed-origins
Native Partner Onboarding API
Onboard merchants and request credentials/accountmanagement/v1/merchants
Hosts and base paths
Section titled “Hosts and base paths”Every API is served from one host per environment, and the path decides which API you reach.
| Environment | Host |
|---|---|
| Playground (testing) | https://api.playground.kustom.co |
| Production | https://api.kustom.co |
| API | Base path |
|---|---|
| Checkout | /checkout/v3/orders |
| Checkout callback | your own URLs |
| Order Management | /ordermanagement/v1/orders |
| Settlements | /settlements/v1 |
| Hosted Payment Page | /hpp/v1/sessions |
| Customer Token | /customer-token/v1/tokens |
| In-Person Payments | /ipp/v1 |
| Elements | /elements/v1/clients |
| Shipping Service Callback | your own URLs |
| Native partner onboarding | /accountmanagement/v1/merchants |
| Checkout configuration | /config/checkout/v1/config |
Credentials are environment-specific and never interchangeable. See Authentication and environments for how to get them. Every API in the first table takes the same API credentials, sent as HTTP Basic auth. The partner APIs are the exception: onboarding uses an OAuth 2.0 bearer token from Kustom’s authorization server (getting one), and checkout configuration takes partner credentials rather than a merchant’s.
Give each system its own credentials. One pair works everywhere, but a Merchant ID can carry several, and separate ones cost nothing: your store’s checkout, the job that imports settlements and a support tool each get their own. Then you can rotate or revoke one without breaking the others, and a leak exposes only what that one system does.
Related
Section titled “Related”- Getting a credential and picking an environment — before any call in this reference will work
- What an order is — the object nearly every one of these APIs acts on
- Webhooks — how Kustom calls you, rather than the other way round
This page is also available as Markdown — append .md to its URL — and is indexed in llms.txt.