For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Dev Portal
DocsAPI ReferenceLearnCommunityChangelog
DocsAPI ReferenceLearnCommunityChangelog
    • About Our APIs
  • REST
    • Overview
      • Overview
        • Abandoned Carts
        • Carts
        • Channels
        • Checkouts
            • GETGet Checkout
            • PUTUpdate Customer Messages
              • POSTAdd Coupon to Checkout
              • DELDelete Checkout Coupon
        • Currencies
        • Customer Segmentation
        • Geography
        • Infrastructure Hosting
        • Inventory
        • Orders
        • Order Operations
        • Pickup
        • Pickup Methods
        • Pickup Options
        • Pricing
        • Price Lists
        • Promotions
        • Promotion Settings
        • Redirects
        • Scripts
        • Settings
        • Shipping
        • Sites
        • Subscribers
        • System Logs
        • Tax
        • Wishlists
      • Payments
  • GraphQL
    • Overview
  • MCP
    • Overview
Dev Portal
LogoLogo
RESTAdminManagementCheckoutsCoupons

Add Coupon to Checkout

POST
https://api.bigcommerce.com/stores/:store_hash/v3/checkouts/:checkoutId/coupons
POST
/stores/:store_hash/v3/checkouts/:checkoutId/coupons
$curl -X POST https://api.bigcommerce.com/stores/store_hash/v3/checkouts/checkoutId/coupons \
> -H "Accept: application/json" \
> -H "X-Auth-Token: <apiKey>" \
> -H "Content-Type: application/json" \
> -d '{}'
1{
2 "data": {
3 "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
4 "cart": {
5 "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
6 "customer_id": 1,
7 "email": "user@example.com",
8 "currency": {
9 "code": "USD"
10 },
11 "tax_included": true,
12 "base_amount": 5,
13 "channel_id": 1.1,
14 "discount_amount": 0.5,
15 "cart_amount_inc_tax": 4.14,
16 "cart_amount_ex_tax": 3.6,
17 "coupons": [
18 {
19 "code": "SHOPNOW",
20 "id": 1,
21 "coupon_type": "percentage_discount",
22 "discounted_amount": 0.9,
23 "display_name": "20% Off"
24 }
25 ],
26 "discounts": [
27 {
28 "id": "5eba1f1e-0ec5-40f7-8058-f7b452c7237d",
29 "discounted_amount": 1.4
30 }
31 ],
32 "line_items": {
33 "physical_items": [
34 {
35 "quantity": 1.1,
36 "id": "string",
37 "variant_id": 1.1,
38 "product_id": 1.1,
39 "sku": "string",
40 "name": "string",
41 "url": "string",
42 "is_taxable": true,
43 "image_url": "string",
44 "discounts": [
45 {
46 "id": "string",
47 "discounted_amount": 1.1
48 }
49 ],
50 "discount_amount": 1.1,
51 "coupon_amount": 1.1,
52 "original_price": 1.1,
53 "list_price": 1.1,
54 "sale_price": 1.1,
55 "extended_list_price": 1.1,
56 "extended_sale_price": 1.1,
57 "comparison_price": 1.1,
58 "extended_comparison_price": 1.1,
59 "is_require_shipping": true,
60 "is_mutable": true,
61 "added_by_promotion": false,
62 "parent_id": 1.1,
63 "gift_wrapping": {
64 "name": "string",
65 "message": "string",
66 "amount": 1.1,
67 "amount_as_integer": 1.1
68 }
69 }
70 ],
71 "digital_items": [
72 {
73 "quantity": 1.1,
74 "id": "string",
75 "variant_id": 1.1,
76 "parent_id": 1.1,
77 "product_id": 1.1,
78 "sku": "string",
79 "name": "string",
80 "url": "string",
81 "is_mutable": true,
82 "is_require_shipping": true,
83 "added_by_promotion": false,
84 "is_taxable": true,
85 "image_url": "string",
86 "discounts": [
87 {
88 "id": "string",
89 "discounted_amount": 1.1
90 }
91 ],
92 "discount_amount": 1.1,
93 "coupon_amount": 1.1,
94 "original_price": 1.1,
95 "list_price": 1.1,
96 "sale_price": 1.1,
97 "extended_list_price": 1.1,
98 "extended_sale_price": 1.1,
99 "comparison_price": 1.1,
100 "extended_comparison_price": 1.1
101 }
102 ],
103 "gift_certificates": [
104 {
105 "theme": "string",
106 "amount": 1.1,
107 "sender": {
108 "name": "string",
109 "email": "string"
110 },
111 "recipient": {
112 "name": "string",
113 "email": "string"
114 },
115 "id": "string",
116 "name": "string",
117 "taxable": true,
118 "message": "string"
119 }
120 ],
121 "custom_items": [
122 {
123 "quantity": 1.1,
124 "id": "string",
125 "extended_list_price": 1.1,
126 "list_price": 1.1,
127 "sku": "string",
128 "name": "string",
129 "image_url": "string"
130 }
131 ]
132 },
133 "created_time": "string",
134 "updated_time": "string"
135 },
136 "billing_address": {
137 "first_name": "string",
138 "last_name": "string",
139 "email": "string",
140 "company": "string",
141 "address1": "string",
142 "address2": "string",
143 "city": "string",
144 "state_or_province": "string",
145 "state_or_province_code": "string",
146 "country_code": "string",
147 "postal_code": "string",
148 "phone": "string",
149 "custom_fields": [
150 {
151 "field_id": "string",
152 "field_value": "string"
153 }
154 ],
155 "id": "string"
156 },
157 "consignments": [
158 {
159 "id": "string",
160 "shippingAddress": {},
161 "address": {
162 "email": "string",
163 "country_code": "string",
164 "first_name": "string",
165 "last_name": "string",
166 "company": "string",
167 "address1": "string",
168 "address2": "string",
169 "city": "string",
170 "state_or_province": "string",
171 "state_or_province_code": "string",
172 "postal_code": "string",
173 "phone": "string",
174 "custom_fields": [
175 {
176 "field_id": "string",
177 "field_value": "string"
178 }
179 ],
180 "id": "string"
181 },
182 "available_shipping_options": [
183 {
184 "description": "string",
185 "id": "string",
186 "type": "string",
187 "image_url": "string",
188 "cost": 1.1,
189 "transit_time": "string",
190 "additional_description": "string"
191 }
192 ],
193 "selected_shipping_option": {
194 "description": "string",
195 "id": "string",
196 "type": "string",
197 "image_url": "string",
198 "cost": 1.1,
199 "transit_time": "string",
200 "additional_description": "string"
201 },
202 "coupon_discounts": [
203 {
204 "code": "string",
205 "amount": 1.1
206 }
207 ],
208 "discounts": [
209 {
210 "id": 1
211 }
212 ],
213 "shipping_cost_inc_tax": 1.1,
214 "shipping_cost_ex_tax": 1.1,
215 "handling_cost_inc_tax": 1.1,
216 "handling_cost_ex_tax": 1.1,
217 "line_item_ids": [
218 "string"
219 ],
220 "selected_pickup_option": {
221 "pickup_method_id": 1
222 }
223 }
224 ],
225 "taxes": [
226 {
227 "name": "string",
228 "amount": 1.1
229 }
230 ],
231 "coupons": [
232 {
233 "code": "SHOPNOW",
234 "id": 1,
235 "coupon_type": "percentage_discount",
236 "display_name": "20% Off",
237 "discounted_amount": 0.9
238 }
239 ],
240 "fees": [
241 {
242 "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
243 "type": "custom_fee",
244 "name": "AAINS",
245 "display_name": "Package Protection Insurance",
246 "cost_inc_tax": 10,
247 "cost_ex_tax": 9.9,
248 "source": "AA",
249 "tax_class_id": 1
250 }
251 ],
252 "order_id": "string",
253 "shipping_cost_total_inc_tax": 1.1,
254 "shipping_cost_total_ex_tax": 1.1,
255 "handling_cost_total_inc_tax": 1.1,
256 "handling_cost_total_ex_tax": 1.1,
257 "tax_total": 1.1,
258 "subtotal_inc_tax": 1.1,
259 "subtotal_ex_tax": 1.1,
260 "grand_total": 1.1,
261 "created_time": "string",
262 "updated_time": "string",
263 "customer_message": "string",
264 "promotions": [
265 {
266 "banners": [
267 {
268 "id": "string",
269 "type": "string",
270 "page": [
271 "string"
272 ],
273 "text": "string"
274 }
275 ]
276 }
277 ],
278 "version": 1
279 },
280 "meta": {}
281}
Adds a coupon code to a checkout. You can use multiple coupons by using this endpoint to apply one coupon at a time on your storefront. Ensure you enable the [Promotion Settings](https://support.bigcommerce.com/s/article/Store-Settings?language=en_US#promotion) in your control panel to allow for multiple coupons per order. **Required Fields** * coupon_code **Limits** * Coupon codes have a 50-character limit. To prevent lost updates due to concurrent requests overriding changes made by others, it is recommended to enable optimistic concurrency control by including the `version` field in the request payload. If the provided version does not match the version on the server, a conflict error will be returned, which the client can handle accordingly.
Was this page helpful?
Previous

Delete Checkout Consignment

Next

Delete Checkout Coupon

Built with

Adds a coupon code to a checkout.

You can use multiple coupons by using this endpoint to apply one coupon at a time on your storefront. Ensure you enable the Promotion Settings in your control panel to allow for multiple coupons per order.

Required Fields

  • coupon_code

Limits

  • Coupon codes have a 50-character limit.

To prevent lost updates due to concurrent requests overriding changes made by others, it is recommended to enable optimistic concurrency control by including the version field in the request payload. If the provided version does not match the version on the server, a conflict error will be returned, which the client can handle accordingly.

Authentication

X-Auth-Tokenstring
### OAuth scopes | UI Name | Permission | Parameter | |:--------|:-----------|:----------| | Checkouts | modify | `store_checkouts` | | Checkouts | read-only | `store_checkouts_read_only` | | Checkout Content | modify | `store_checkout_content` | | Checkout Content | read-only | `store_checkout_content_read_only` | ### Authentication header | Header | Argument | Description | |:-------|:---------|:------------| | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). | ### Further reading For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests). For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes). For a list of API status codes, see [API Status Codes](/developer/api-reference/rest/overview#rest-http-status-codes).

Path parameters

checkoutIdstringRequired

ID of the checkout; the same as the cart ID.

store_hashstringRequired
Permanent ID of the BigCommerce store.

Headers

AcceptstringRequiredDefaults to application/json

The MIME type of the response body.

Request

This endpoint expects an object.
coupon_codestringOptional

Coupon codes have a 50-character limit.

versionintegerOptional

The cart version that you expect to apply the updates. If the provided version doesn’t match the current cart version, you will receive a conflict error. This field is optional; if not provided, optimistic concurrency control will not apply.

Response

dataobject
metaobject
Response metadata.

Errors

409
Conflict Error

OAuth scopes

UI NamePermissionParameter
Checkoutsmodifystore_checkouts
Checkoutsread-onlystore_checkouts_read_only
Checkout Contentmodifystore_checkout_content
Checkout Contentread-onlystore_checkout_content_read_only

Authentication header

HeaderArgumentDescription
X-Auth-Tokenaccess_tokenFor more about API accounts that generate access_tokens, see our Guide to API Accounts.

Further reading

For example requests and more information about authenticating BigCommerce APIs, see Authentication and Example Requests.

For more about BigCommerce OAuth scopes, see our Guide to API Accounts.

For a list of API status codes, see API Status Codes.