openapi: 3.0.0 info: title: BigCommerce Abandoned Cart Emails Checkout Gift Certificates API version: 3.0.0 termsOfService: https://www.bigcommerce.com/terms description: Abandoned Cart Emails V3 API managing Handlebars-based emails. contact: name: BigCommerce url: https://www.bigcommerce.com email: support@bigcommerce.com servers: - url: https://api.bigcommerce.com/stores/{store_hash}/v3 variables: store_hash: default: store_hash description: Permanent ID of the BigCommerce store. description: BigCommerce API Gateway security: - X-Auth-Token: [] tags: - name: Checkout Gift Certificates paths: /checkouts/{checkoutId}/gift-certificates: post: tags: - Checkout Gift Certificates summary: BigCommerce Add Gift Certificate to Checkout description: "Adds a *Gift Certificate Code* to *Checkout*.\n\n> #### Note\n> * *Gift Certificates* are treated as a payment methods.\n> * You are not able to purchase a gift certificate with a gift certificate.\n> * The rate limit is 20/hour (only for unique gift-certificate codes).\n> * Substitute your storefront domain for `yourstore.example.com`. \n> * The Send a Test Request feature is not currently supported for this endpoint. " operationId: addCheckoutGiftCertificate parameters: - name: checkoutId in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GiftCertificateRequest' required: true responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/checkout_Full' example: id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed cart: id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed customerId: 18 email: dwaynecole@testing.com currency: name: US Dollars code: USD symbol: $ decimalPlaces: 2 isTaxIncluded: true baseAmount: 7.95 discountAmount: 0 cartAmount: 7.95 coupons: [] discounts: - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 discountedAmount: 0 lineItems: physicalItems: - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52 parentId: {} variantId: 345 productId: 174 sku: '' name: 1L Le Parfait Jar url: https://{store_domain}/all/1l-le-parfait-jar/ quantity: 1 brand: OFS isTaxable: true imageUrl: https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2 discounts: [] discountAmount: 0 couponAmount: 0 originalPrice: 7.95 listPrice: 7.95 salePrice: 7.95 extendedListPrice: 7.95 extendedSalePrice: 7.95 isShippingRequired: true giftWrapping: {} addedByPromotion: false digitalItems: [] giftCertificates: [] customItems: [] createdTime: '2019-01-10T17:18:00+00:00' updatedTime: '2019-01-10T17:19:47+00:00' billingAddress: id: 5c377ead301c2 firstName: Dwayne lastName: Cole email: dwaynecole@testing.com company: '' address1: Mauna Kea Access Rd address2: '' city: Hilo stateOrProvince: Hawaii stateOrProvinceCode: HI country: United States countryCode: US postalCode: '96720' phone: '8081234567' customFields: [] consignments: - id: 5c377ead30ac1 shippingCost: 8 handlingCost: 0 couponDiscounts: [] discounts: [] lineItemIds: - 243c9ca2-22b4-417a-8b09-b3fc05778b52 selectedShippingOption: id: d09e05c0-3788-44df-a1bb-b6d3afdf6841 type: shipping_byweight description: Ship by Weight imageUrl: '' cost: 8 transitTime: '' address: firstName: Dwayne lastName: Cole email: dwaynecole@testing.com company: '' address1: Mauna Kea Access Rd address2: '' city: Hilo stateOrProvince: Hawaii stateOrProvinceCode: HI country: United States countryCode: US postalCode: '96720' phone: '8081234567' customFields: [] orderId: null shippingCostTotal: 8 shippingCostBeforeDiscount: 8 handlingCostTotal: 0 taxTotal: 1.22 coupons: [] taxes: - name: Tax amount: 1.22 subtotal: 7.95 grandTotal: 15.95 giftCertificates: [] createdTime: '2019-01-10T17:18:00+00:00' updatedTime: '2019-01-10T17:19:47+00:00' customerMessage: '' '404': description: Gift certificate code not found content: application/json: schema: type: object x-codegen-request-body-name: body /checkouts/{checkoutId}/gift-certificates/{giftCertificateCode}: delete: tags: - Checkout Gift Certificates summary: BigCommerce Delete Gift Certificate description: "Deletes an existing *Gift Certificate*.\n\nThis removes the *Gift Certificate* payment method.\n\n> #### Note\n> * Substitute your storefront domain for `yourstore.example.com`. \n> * The Send a Test Request feature is not currently supported for this endpoint. " operationId: deleteCheckoutGiftCertificate parameters: - name: checkoutId in: path required: true schema: type: string - name: giftCertificateCode in: path required: true schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/checkout_Full' components: schemas: checkout_Full: title: checkout_Full type: object properties: id: type: string description: '' format: uuid cart: $ref: '#/components/schemas/checkoutCart' billingAddress: $ref: '#/components/schemas/address_Base' consignments: type: array description: '' items: $ref: '#/components/schemas/consignment_Full' coupons: type: array description: Coupons applied at the checkout level. items: $ref: '#/components/schemas/CheckoutCoupon' orderId: type: string description: '' nullable: true shippingCostTotal: type: number description: Shipping cost before any discounts are applied. format: float giftWrappingCostTotal: type: number description: Gift wrapping cost for all items, including or excluding tax. handlingCostTotal: type: number description: Handling cost for all consignments including or excluding tax. format: float taxTotal: type: number description: '' format: float taxes: type: array items: $ref: '#/components/schemas/checkoutTax' subtotal: type: number description: Subtotal of the checkout before applying item-level discounts. Tax inclusive based on the store settings. format: float grandTotal: type: number description: The total payable amount, before applying any store credit or gift certificate. format: float giftCertificates: type: array description: Applied gift certificate (as a payment method). items: $ref: '#/components/schemas/checkoutGiftCertificates' createdTime: type: string description: Time when the cart was created. updatedTime: type: string description: Time when the cart was last updated. customerMessage: type: string description: Shopperʼs message provided as details for the order to be created from this cart outstandingBalance: type: number description: '`grandTotal` subtract the store-credit amount ' isStoreCreditApplied: type: boolean description: '`true` value indicates StoreCredit has been applied. ' description: '' x-internal: false CheckoutCoupon: title: Checkout Coupon required: - code type: object properties: id: type: integer description: The coupon ID. code: type: string description: the coupon code displayName: type: string description: The coupon title based on different types provided in control panel section. couponType: type: integer description: '|Type `int`|Type Name| |-|-| |`0`|`per_item_discount`| |`1`|`percentage_discount`| |`2`|`per_total_discount`| |`3`|`shipping_discount`| |`4`|`free_shipping`| |`5`|`promotion`|' discountedAmount: type: number description: The discounted amount applied within a given context. format: double x-internal: false checkoutCart: title: checkoutCart type: object properties: id: type: string description: Cart ID, provided after creating a cart with a POST. format: uuid customer_id: type: integer description: ID of the customer to which the cart belongs. format: int32 email: type: string description: The cartʼs email. This is the same email that is used in the billing address. currency: title: Currency type: object properties: name: type: string description: The currency name. code: type: string description: 'ISO-4217 currency code. (See: http://en.wikipedia.org/wiki/ISO_4217.)' symbol: type: string description: The currency symbol. decimalPlaces: type: number description: The number of decimal places for the currency. For example, the USD currency has two decimal places. format: double description: The currency in which prices are displayed; the store default currency. isTaxIncluded: type: boolean description: Boolean representing whether tax information is included. baseAmount: type: number description: Cost of cart’s contents, before applying discounts. format: double discountAmount: type: number description: Discounted amount. format: double cartAmount: type: number description: Sum of line-items amounts, minus cart-level discounts and coupons. This amount includes taxes, where applicable. format: double coupons: type: array description: '' items: $ref: '#/components/schemas/CartCoupon' discounts: type: array description: '' items: title: Applied Discount type: object properties: name: type: string description: The name provided by the merchant. discountedAmount: type: number description: The discounted amount applied within a given context. format: double lineItems: type: object description: '' items: title: Line Item required: - digitalItems - physicalItems type: object properties: physicalItems: type: array description: '' items: title: Item Physical required: - quantity type: object properties: id: type: string description: The line-item ID. parentId: type: string description: The product is part of a bundle such as a product pick list, then the parentId or the main product ID will populate. variantId: type: integer description: ID of the variant. productId: type: integer description: ID of the product. sku: type: string description: SKU of the variant. name: type: string description: The itemʼs product name. url: type: string description: The product URL. quantity: type: number description: Quantity of this item. format: double isTaxable: type: boolean description: Whether the item is taxable. imageUrl: type: string description: A publicly-accessible URL for an image of this item. discounts: type: array description: A list of discounts applied to this item, as an array of AppliedDiscount objects. items: title: Applied Discount type: object properties: name: type: string description: The name provided by the merchant. discountedAmount: type: number description: The discounted amount applied within a given context. format: double discountAmount: type: number description: The total value of all discounts applied to this item (excluding coupon). format: double couponAmount: type: number description: The total value of all coupons applied to this item. format: double listPrice: type: number description: The item’s list price, as quoted by the manufacturer or distributor. format: double salePrice: type: number description: The itemʼs price after all discounts are applied. The final price before tax calculation. format: double extendedListPrice: type: number description: The itemʼs list price multiplied by the quantity. format: double extendedSalePrice: type: number description: The itemʼs sale price multiplied by the quantity. format: double comparisonPrice: type: number description: The itemʼs comparison price extendedComparisonPrice: type: number description: The itemʼs comparison price multiplied by the quantity. type: type: string description: the product type - physical or digital addedByPromotion: type: boolean description: If the item was added automatically by a promotion, such as a coupon or buy one, get one. isShippingRequired: type: boolean description: Whether this item requires shipping to a physical address. isMutable: type: boolean description: '' giftWrapping: title: Gift Wrapping type: object properties: name: type: string description: '' message: type: string description: '' amount: type: number description: '' format: double digitalItems: type: array description: '' items: title: Item Digital required: - quantity type: object properties: id: type: string description: The line-item ID. parentId: type: string description: Bundled items will have their parentʼs item ID. variantId: type: number description: ID of the variant. format: double productId: type: number description: ID of the product. format: double sku: type: string description: SKU of the variant. name: type: string description: The itemʼs product name. url: type: string description: The product URL. quantity: type: number description: Quantity of this item. format: double isTaxable: type: boolean description: Whether the item is taxable. imageUrl: type: string description: A publicly-accessible URL for an image of this item. discounts: type: array description: A list of discounts applied to this item, as an array of AppliedDiscount objects. items: title: Applied Discount type: object properties: name: type: string description: The name provided by the merchant. discountedAmount: type: number description: The discounted amount applied within a given context. format: double discountAmount: type: number description: The total value of all discounts applied to this item (excluding coupon). format: double couponAmount: type: number description: The total value of all coupons applied to this item. format: double listPrice: type: number description: The item’s list price, as quoted by the manufacturer or distributor. format: double salePrice: type: number description: The itemʼs price after all discounts are applied. The final price before tax calculation. format: double extendedListPrice: type: number description: The itemʼs list price multiplied by the quantity. format: double extendedSalePrice: type: number description: The itemʼs sale price multiplied by the quantity. format: double type: type: string description: The product type - physical or digital. isShippingRequired: type: boolean description: Whether this item requires shipping to a physical address. downloadFileUrls: type: array description: URLs to download all product files. items: type: string downloadPageUrl: type: string description: The URL for the combined downloads page. downloadSize: type: string description: Specifies the combined download size in human-readable style; for example, `30MB`. giftCertificate: type: array description: '' items: title: Item Gift Certificate required: - amount - recipient - sender - theme type: object properties: id: type: string description: Gift certificate identifier name: type: string description: The name of the purchased gift certificate; for example, `$20 Gift Certificate`. theme: type: string description: Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`. amount: type: number description: Value must be between $1.00 and $1,000.00. format: double taxable: type: boolean description: '' sender: title: Contact Entity type: object properties: name: type: string description: '' email: type: string description: '' recipient: title: Contact Entity type: object properties: name: type: string description: '' email: type: string description: '' message: type: string description: Limited to 200 characters. type: type: string description: Explicitly specifying the gift certificate type. customItems: type: array items: title: Item Custom type: object properties: id: type: string description: ID of the custom item. sku: type: string description: Custom item SKU. name: type: string description: Item name. quantity: type: string listPrice: type: string description: Price of the item. With or without tax depending on your store setup. description: 'Add a custom item to the shoppers cart. * Custom items are not added to the catalog. * The price should be set to match the store settings for taxes.' createdTime: type: string description: Time when the cart was created. updatedTime: type: string description: Time when the cart was last updated. description: A cart contains a collection of items, prices, discounts, etc. It does not contain customer-related data. x-internal: false consignmentShippingOption_Base: title: consignmentShippingOption_Base type: object properties: description: type: string description: Read only. readOnly: true id: type: string description: '' type: type: string description: Specifies the type of shipping option; for example, flat rate, UPS, etc. imageUrl: type: string description: '' cost: type: number description: '' format: double transitTime: type: string description: An estimate of the arrival time. x-internal: false CartCoupon: title: Cart Coupon required: - code type: object properties: id: type: integer description: The coupon ID. code: type: string description: the coupon code displayName: type: string description: The coupon title based on different types provided in control panel section. couponType: type: string description: Key name to identify the type of coupon. enum: - per_item_discount - percentage_discount - per_total_discount - shipping_discount - free_shipping - promotion discountedAmount: type: number description: The discounted amount applied within a given context. format: double x-internal: false consignmentAvailableShippingOptions: title: consignmentAvailableShippingOptions allOf: - $ref: '#/components/schemas/consignmentShippingOption_Base' - type: object properties: isRecommended: type: boolean description: Is this shipping method the recommended shipping option or not. additionalDescription: type: string x-internal: false PickupOption: type: object title: Pickup Option description: An option that represents a location where customers can pick up items. properties: pickupMethodId: type: integer consignment_Full: title: consignment_Full type: object properties: id: type: string description: '' shippingAddress: type: object properties: {} x-deprecated: true address: $ref: '#/components/schemas/address_Full' selectedPickupOption: $ref: '#/components/schemas/PickupOption' availableShippingOptions: type: array description: This is available only when "include=consignments.availableShippingOptions" is present in the URL. items: $ref: '#/components/schemas/consignmentAvailableShippingOptions' selectedShippingOption: title: Selected Shipping Option type: object properties: description: type: string description: Read only. readOnly: true id: type: string description: '' type: type: string description: Specifies the type of shipping option; for example, flat rate, UPS, etc. imageUrl: type: string description: '' cost: type: number description: '' format: double transitTime: type: string description: An estimate of the arrival time. additionalDescription: type: string description: Read only. Field used for Shipping Provider API. readOnly: true couponDiscounts: type: array description: List of consignment discounts applied through coupons. items: title: Consignment Coupon Discount type: object properties: code: type: string description: Coupon code that applied this discount. amount: type: number description: '' format: double discounts: type: array description: List of consignment discounts applied through cart level discounts. items: title: Consignment Discount type: object properties: id: type: string description: Discount rule ID that applied this discount. shippingCost: type: number description: The shipping cost for this consignment. format: double handlingCost: type: number description: The handling cost of shipping for this consignment. format: double lineItemIds: type: array description: '' items: type: string description: This allows us to have multiple shipping addresses. Where there is only one shipping address, this array will contain only one value, with all the items. x-internal: false checkoutTax: title: checkoutTax type: object properties: name: type: string description: Name of the tax. amount: type: number description: '' format: double x-internal: false address_Full: title: address_Full description: '' allOf: - $ref: '#/components/schemas/address_Base' - type: object properties: id: type: string description: '' shouldSaveAddress: type: boolean description: Indicates whether we should add this address to the customer address book. x-internal: false checkoutGiftCertificates: title: checkoutGiftCertificates type: array description: Applied gift certificate (as a payment method). items: title: Gift Certificate type: object properties: balance: type: number description: '' format: double code: type: string description: '' purchaseDate: type: string description: '' format: date remaining: type: number description: '' format: double used: type: number description: '' format: double description: The values presented here are projections of how much we would be using out of an existent gift certificate x-internal: false GiftCertificateRequest: title: Gift Certificate Request type: object properties: giftCertificateCode: type: string description: '' x-internal: false address_Base: title: address_Base required: - countryCode type: object properties: firstName: type: string description: '' lastName: type: string description: '' email: type: string description: '' company: type: string description: '' address1: type: string description: '' address2: type: string description: '' city: type: string description: '' stateOrProvince: type: string description: Represents state or province. stateOrProvinceCode: type: string description: '' countryCode: type: string description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)' postalCode: type: string description: '' phone: pattern: ^\+?[1-9]\d{1,14}(x\d{1-5})?$ type: string description: '' customFields: type: array items: $ref: '#/components/schemas/customFields' x-internal: false customFields: title: customFields type: object properties: fieldId: type: string fieldValue: type: string description: This can also be an array for fields that need to support list of values; for example, a set of checkboxes. When doing a PUT or POST to the `fieldValue` with a pick list, the input must be a number. The response will be a string. description: When doing a PUT or POST to the `fieldValue` with a pick list, the input must be a number. The response will be a string. x-internal: false securitySchemes: X-Auth-Token: name: X-Auth-Token description: '### OAuth scopes | UI Name | Permission | Parameter | |:--|:--|:-| | Information & Settings | read-only | `store_v2_information_read_only`| | Information & Settings | modify | `store_v2_information` | ### 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](/docs/start/authentication/api-accounts). | ### Further reading For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#x-auth-token-header-example-requests). For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes).' type: apiKey in: header