Standard flow
The Standard flow is Firmly’s single-merchant checkout — bootstrap a session, build a cart against one known merchant, add an address, and place the order. It runs on /api/v1 and is the right fit for most integrations.
Authentication, catalog, and discovery are shared by both flows — the Standard flow differs only in its cart, checkout, and order calls.
The flow
- Bootstrap a session — Browser Session exchanges your App ID for an
access_token. - Find a product — Catalog: list, search, or fetch product detail (with a
variant_id). - Build the cart — Standard cart: add items, change quantities, apply promo codes.
- Add addresses — Standard checkout: shipping address, shipping method, billing address, consents.
- Place the order — Standard order: one call, or complete an existing cart.
Endpoints
All cart and checkout calls are on https://api.firmly.work; order calls are on https://cc.firmly.work. Every call is authenticated with x-firmly-authorization (the token from Browser Session).
| Stage | Operation | Method · Path |
|---|---|---|
| Cart | Get cart | GET /api/v1/domains/{domain}/cart |
| Cart | Add line item | POST /api/v1/domains/{domain}/cart/line-items |
| Cart | Update quantity | PUT /api/v1/domains/{domain}/cart/line-items/{productId} |
| Cart | Clear cart | DELETE /api/v1/domains/{domain}/cart/line-items |
| Cart | Apply promo codes | POST /api/v1/domains/{domain}/cart/promo-codes |
| Cart | Clear promo codes | DELETE /api/v1/domains/{domain}/cart/promo-codes |
| Cart | Set attribution | PUT /api/v1/domains/{domain}/cart/attribution |
| Checkout | Set shipping address | POST /api/v1/domains/{domain}/cart/shipping-info |
| Checkout | Get shipping rates | GET /api/v1/domains/{domain}/cart/shipping-rates |
| Checkout | Set shipping method | POST /api/v1/domains/{domain}/cart/shipping-method |
| Checkout | Set billing address | POST /api/v1/domains/{domain}/cart/billing-info |
| Checkout | Get required consents | POST /api/v1/domains/{domain}/cart/consents |
| Checkout | Record consents | PUT /api/v1/domains/{domain}/cart/consents |
| Order | Place order (one-shot) | POST /api/v1/payment/domains/{domain}/place-order |
| Order | Complete order | POST /api/v1/payment/domains/{domain}/complete-order |