Skip to main content
POST
Find the best promotion for a cart

Authorizations

Authorization
string
header
required

API Key Authentication

Use your API key in the Authorization header:

Key Types:

Secret Keys (Server-Side Only):

  • Format: tybrite_sk_live_* (production) or tybrite_sk_test_* (sandbox)
  • Full read/write access to all endpoints
  • ⚠️ NEVER expose in client-side code or public repositories
  • Required for: every write a shopper does not make for themselves, authentication, payment verification, AI recommendations

Publishable Keys (Client-Safe):

  • Format: tybrite_pk_live_* (production) or tybrite_pk_test_* (sandbox)
  • Catalogue reads, plus the actions a shopper takes for themselves
  • ✅ Safe for client-side JavaScript, mobile apps, and public code
  • Allowed for: browsing products, search, CMS content, pricing queries, cart and wishlist, reviews, storefront events, and the Agent API's quotes, cart drafts and checkout intents

Endpoint-Specific Requirements:

  • Authentication endpoints (/v1/auth/*): Secret key required
  • Payment verification (POST /v1/payments/verify): Secret key required
  • AI Recommendations (POST /v1/recommendations): Secret key required
  • Semantic Search (POST /v1/search): Both key types allowed (read-only operation)
  • Shopper actions (cart, wishlist, reviews, storefront events, Agent API quotes, cart drafts and checkout intents): Both key types allowed
  • All other write operations: Secret key required
  • All read operations: Both key types allowed

Using a publishable key for restricted operations returns 403 Forbidden.

Query Parameters

store_id
string<uuid>

The merchant whose promotions to evaluate. Required for marketplace storefronts — pass the merchant_store_id you received with the promotion or collection. Ignored for single-store keys.

Body

application/json
cart
object[]
required

The cart lines to evaluate promotions against. Also accepted under the name items, which behaves identically; send whichever matches your storefront's own cart shape, and cart when both are present.

country
string

The shopper's country as an ISO 3166-1 alpha-2 code, used to decide whether a market-targeted promotion applies. Optional: when omitted the country is taken from the request's own network origin, so a storefront served through Galactic Core needs to send nothing. Pass it explicitly when your storefront resolves the destination itself, or to preview another market.

Required string length: 2
Example:

"US"

region
string

The shopper's region or state, for a promotion narrowed within a market. Optional, and taken from the request's origin when omitted.

Example:

"California"

items
object[]

Alias of cart. Send one or the other, not both.

Response

Success

The single highest-value eligible promotion for a cart — what to auto-apply at checkout.

promotion
object | null

The winning promotion, or null when no promotion applies to the cart.

discount
number

The discount amount for the winning promotion. 0 when none applies.