ResourcesCoupons

Batch update coupons

Update multiple coupons in one request by sending a resources object keyed by coupon ID.

Update multiple coupons in one request by sending a resources object keyed by coupon ID.

Each update supports products and product_variants. Omit product_variants to preserve a coupon's existing variant restrictions, or send an empty array to make all variants of its selected products eligible.

{
  "resources": {
    "42": {
      "store_wide": false,
      "products": [123],
      "product_variants": [1001, 1002]
    }
  }
}
PATCH
/v1/coupons/batch

Authorization

bearerAuth storeAuth
AuthorizationBearer <token>

Provide your SellApp API key as a bearer token.

In: header

X-STORE<token>

Select the SellApp store for this API request.

In: header

Query Parameters

with_trashed?boolean

Include soft-deleted resources in the result.

Defaultfalse
only_trashed?boolean

Return only soft-deleted resources. Ignored when with_trashed is true.

Defaultfalse

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X PATCH "https://sell.app/api/v1/coupons/batch" \  -H "Content-Type: application/json" \  -d '{    "resources": {      "1": {        "store_wide": false,        "products": [          123        ],        "product_variants": [          1001,          1002        ]      }    }  }'
{
  "data": [
    {
      "id": 1,
      "code": "BONANZA",
      "type": "PERCENTAGE",
      "discount": "80",
      "limit": null,
      "store_wide": true,
      "minimum_amount": null,
      "expires_at": null,
      "created_at": "2022-12-12T12:12:12.000000Z",
      "updated_at": "2022-12-12T12:12:12.000000Z",
      "store_id": 1,
      "deleted_at": null,
      "products": [],
      "product_variants": [],
      "maximum_discount_amount": null
    }
  ]
}
{
  "message": "Unauthenticated."
}
{
  "message": "This action is unauthorized."
}
{
  "message": "The given data was invalid.",
  "errors": {
    "data": [
      "The data field is required."
    ]
  }
}