Skip to content

Get a coupon

The coupons.get operation: GET /api/v1/coupons/{id} in the REST API and the coupons_get tool in the MCP server.

GET/api/v1/coupons/{id}

Returns one coupon of the brand in the request's mode, archived or not: its discount, how long it lasts (duration: once, repeating for durationInPeriods billing periods, or forever), how often it was redeemed and whether it can be redeemed now (valid).

At a glance

  • REST: GET /api/v1/coupons/{id}
  • MCP tool: coupons_get
  • Operation ID: coupons.get
  • Scope: Brand
  • Permission: catalog:read
  • Risk tier: read
  • Dry run: Not supported
  • Idempotency: Not needed (read only)
  • Modes: Test and live
  • Authentication: API key with the catalog:read scope
  • Since: M5

Request

Path parameters

FieldTypeDescription
idcpn_… ID

Query parameters

This operation takes no query parameters.

Response

200 OK with a JSON object:

FieldTypeDescription
idcpn_… ID
object"coupon"
brandIdbrd_… ID
livemodeboolean
namestring
percentOffPpmstring or nullPercent off in parts per million (500000 = 50%), or null for an amount-off coupon.
amountOffmoney or nullAmount off per invoice, or null for a percent-off coupon.
durationone of once, repeating, forever
durationInPeriodsinteger or null
appliesToobject or nullThe products and prices the coupon is limited to, or null for every line.
maxRedemptionsinteger or null
redeemBydate-time or null
timesRedeemedinteger
validbooleanWhether it can be redeemed now: active, before redeemBy, below its limit.
usedbooleanA discount references it or a redemption was counted: only name, status and metadata can change.
activeboolean
metadataobject
createdAtdate-time
updatedAtdate-time

Examples

A launch coupon

HTTP
GET /api/v1/coupons/cpn_01m4tx5nj8emwbyf7y9vcf47z0
Authorization: Bearer or_test_…

Response (200):

JSON
{
  "id": "cpn_01m4tx5nj8emwbyf7y9vcf47z0",
  "object": "coupon",
  "brandId": "brd_01m4tx5nj8emwbyf7y9vcf47x4",
  "livemode": false,
  "name": "Launch offer",
  "percentOffPpm": "500000",
  "amountOff": null,
  "duration": "repeating",
  "durationInPeriods": 3,
  "appliesTo": {
    "productIds": [],
    "priceIds": ["price_01m4tx5nj8emwbyf7y9vcf47y2"]
  },
  "maxRedemptions": 500,
  "redeemBy": "2027-01-01T00:00:00.000Z",
  "timesRedeemed": 0,
  "valid": true,
  "used": false,
  "active": true,
  "metadata": {},
  "createdAt": "2026-10-13T12:00:00.000Z",
  "updatedAt": "2026-10-13T12:00:00.000Z"
}

Errors

CodeHTTP statusWhenWhat to do
resource_not_found404No coupon with this ID is visible to the request.Check the ID and that your credentials are scoped to the right organization, entity, brand and mode.
permission_denied403You can't see this brand's catalog.Ask an organization owner or admin for a role or scope that allows this action.

It can also return these common errors: validation_failed, api_version_unsupported, authentication_required, api_key_invalid, scope_required, dry_run_not_supported, rate_limited, internal_error.