Create coupon
Creates a coupon that can be redeemed at checkout. Requires the COUPONS_WRITE scope.
POST
https://api.pandabase.io/v2/core/stores/{storeId}/coupons/ Authentication
Requires a bearer token (sk_…) or an API key in the header Authorization.
Path parameters
storeId string required (length 12–48)
Header parameters
idempotency-key string (length 8–32)
Body parameters
code string required (pattern ^[A-Za-z0-9_\-]+$, length 2–64)
displayName string (length 1–128)
description string (length 0–500)
type enum required No description.
value integer required (range 1–∞)
minimumPurchase integer (range 0–∞)
maxUses integer (range 1–∞)
maxUsesPerCustomer integer (range 1–∞)
firstPurchaseOnly boolean default: false(defaults to false)
startsAt date-time (format date-time)
expiresAt date-time (format date-time)
enabled boolean default: true(defaults to true)
productIds array of string No description.
Response 201
Default Response
ok enum required (one of true)
data object required No description.
Response 400
Default Response
ok enum required (one of false)
error string required No description.
Request
curl -X POST https://api.pandabase.io/v2/core/stores/:storeId/coupons/ \ -H "Content-Type: application/json" \ -d '{"code":"string","displayName":"string","description":"string","type":"FIXED","value":0,"minimumPurchase":0,"maxUses":0,"maxUsesPerCustomer":0,"firstPurchaseOnly":false,"startsAt":"2024-01-01T00:00:00Z","expiresAt":"2024-01-01T00:00:00Z","enabled":true,"productIds":["string"]}'Response
{ "ok": true, "data": { "id": "cpn_p2v8q1mzj0kxw5h7n4tr3bcf", "code": "LAUNCH20", "displayName": "Launch week 20% off", "description": "Limited-time launch discount.", "type": "PERCENTAGE", "value": 20, "minimumPurchase": 1000, "maxUses": 500, "maxUsesPerCustomer": 1, "firstPurchaseOnly": false, "startsAt": "2026-05-01T00:00:00.000Z", "expiresAt": "2026-06-01T00:00:00.000Z", "enabled": true, "timesUsed": 42, "productIds": [], "createdAt": "2026-04-28T08:30:00.000Z", "updatedAt": "2026-05-12T11:15:00.000Z" }}