# Cart, checkout and orders

> Carts, checkout, orders, discounts, loyalty, referrals, affiliates and tax.

Source: https://docs.dashfordevs.com/v1/api-reference/cart-checkout-orders · Topic: Storefront API reference · Updated: 2026-11-07

Generated from the gateway's route table. Base URL `https://papi.dashfordevs.com`. Send your key in `X-API-Key`.

| Method | Path | Key | Status | Notes |
| --- | --- | --- | --- | --- |
| `POST` | `/api/storefront/auth/merge-cart` | Public or secret key | Live (customer data)\* |  |
| `GET` | `/api/storefront/auth/orders` | Public or secret key | Live (customer data)\* |  |
| `GET` | `/api/storefront/auth/orders/{order_id}` | Public or secret key | Live (customer data)\* |  |
| `GET` | `/api/storefront/auth/discounts` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/cart/add` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/cart/locations` | Public or secret key | Live (customer data)\* |  |
| `GET` | `/api/storefront/cart/user` | Public or secret key | Live (customer data)\* |  |
| `GET` | `/api/storefront/cart/{cart_id}` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/cart/{cart_id}/update` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/cart/{cart_id}/change` | Public or secret key | Live (customer data)\* |  |
| `DELETE` | `/api/storefront/cart/{cart_id}/remove/{size_id}` | Public or secret key | Live (customer data)\* |  |
| `DELETE` | `/api/storefront/cart/{cart_id}/clear` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/cart/{cart_id}/contact` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/cart/{cart_id}/migrate` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/discount/validate` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/cart/{cart_id}/apply-discount` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/cart/{cart_id}/remove-discount` | Public or secret key | Live (customer data)\* |  |
| `GET` | `/api/storefront/cart/{cart_id}/upsells` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/cart/{cart_id}/upsells/start` | Public or secret key | Live (customer data)\* |  |
| `GET` | `/api/storefront/cart/{cart_id}/upsells/status` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/cart/{cart_id}/upsells/add` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/checkout/start` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/checkout/progress` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/checkout/complete` | Public or secret key | Live (payments)\* |  |
| `POST` | `/api/storefront/wholesale/place-request` | Public or secret key | Live (customer data)\* |  |
| `GET` | `/api/storefront/checkout/resume` | Public or secret key | Live (customer data)\* |  |
| `GET, POST` | `/api/storefront/checkout/repayment` | Public or secret key | Live (payments)\* |  |
| `POST` | `/api/storefront/checkout/repayment/cancel` | Public or secret key | Live (payments)\* |  |
| `POST` | `/api/storefront/tax/calculate` | Public or secret key | Live | state, zip and size ids only - no person |
| `POST` | `/api/webhooks/klaviyo/generate-discount` | No key | Live (customer data)\* |  |
| `POST` | `/api/storefront/referrals/validate` | Public or secret key | Live (customer data)\* |  |
| `GET` | `/api/storefront/referrals/dashboard` | Public or secret key | Live (customer data)\* |  |
| `GET` | `/api/storefront/affiliates/form-config` | Public or secret key | Live |  |
| `POST` | `/api/storefront/affiliates/apply` | Public or secret key | Live (customer data)\* |  |
| `GET` | `/api/storefront/affiliates/status` | Public or secret key | Live (customer data)\* |  |
| `GET, PUT` | `/api/storefront/affiliates/dashboard` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/affiliates/create-code` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/affiliates/deactivate-code` | Public or secret key | Live (customer data)\* |  |
| `GET, POST` | `/api/storefront/affiliates/product-requests` | Public or secret key | Live (customer data)\* |  |
| `GET, PUT` | `/api/storefront/affiliates/product-requests/{request_id}` | Public or secret key | Live (customer data)\* |  |
| `GET, POST` | `/api/customer/subscriptions/` | Public or secret key | Live (payments)\* |  |
| `POST` | `/api/customer/subscriptions/{sub_id}/cancel/` | Public or secret key | Live (payments)\* |  |
| `POST` | `/api/customer/subscriptions/{sub_id}/pause/` | Public or secret key | Live (payments)\* |  |
| `POST` | `/api/customer/subscriptions/{sub_id}/resume/` | Public or secret key | Live (payments)\* |  |
| `POST` | `/api/customer/subscriptions/{sub_id}/update-payment/` | Public or secret key | Live (payments)\* |  |
| `POST` | `/api/customer/subscriptions/{sub_id}/change-plan/` | Public or secret key | Live (payments)\* |  |
| `POST` | `/api/customer/subscriptions/{sub_id}/skip/` | Public or secret key | Live (payments)\* |  |
| `POST` | `/api/customer/subscriptions/{sub_id}/resubscribe/` | Public or secret key | Live (payments)\* |  |

\* **Customer data and payments** routes work for every organization except HIPAA organizations, which get `503 not_available_yet` (with `"available": false`) until that organization's HIPAA path is complete. **Not built yet** routes answer `501 not_implemented`.
