{"openapi":"3.1.0","info":{"title":"Admin Management: Abandoned Carts","version":"1.0.0"},"paths":{"/stores/{store_hash}/v3/abandoned-carts/{token}":{"get":{"operationId":"getAbandonedCart","summary":"Get Abandoned Cart","description":"Return the `cart_id` corresponding to the abandoned cart `{token}` passed in.\n\n**Usage Notes**:\n* `{token}` is the token in the query string of the abandoned cart link found in abandoned cart email notifications to shoppers","tags":["abandonedCarts"],"parameters":[{"name":"token","in":"path","description":"Unique cart `UUID`.\n\nUnique cart `UUID` token that is generated for abandoned cart emails.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"store_hash","in":"path","description":"Permanent ID of the BigCommerce store.","required":true,"schema":{"type":"string"}},{"name":"X-Auth-Token","in":"header","description":"### OAuth scopes\n\n| UI Name | Permission | Parameter |\n|:--------|:-----------|:----------|\n| Information & Settings  | read-only  | `store_v2_information_read_only`|\n| Information & Settings  | modify     | `store_v2_information`          |\n\n### Authentication header\n\n| Header | Argument | Description |\n|:-------|:---------|:------------|\n| `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). |\n\n### Further reading\n\nFor 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).\n\nFor more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).\n\nFor a list of API status codes, see [API Status Codes](/developer/api-reference/rest/overview#rest-http-status-codes).","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body.","required":true,"schema":{"type":"string","default":"application/json"}}],"responses":{"200":{"description":"Returned on `GET` requests to `/abandoned-carts/{token}`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Abandoned Carts_getAbandonedCart_Response_200"}}}},"400":{"description":"Malformed request syntax. Typically need to fix the JSON\nBody to resend successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error_Full"}}}},"404":{"description":"If the requested account resource is not found for the franchise, return a 404 Not Found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error_Full"}}}},"422":{"description":"This occurs when missing or unacceptable data is passed for one or more fields. Please correct the values for the fields listed in the errors object.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorDetailed_Full"}}}},"502":{"description":"If something happens during the request that causes it to fail, a 502 response will be returned. A new request should be made; however, it could fail.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error_Full"}}}},"503":{"description":"If this occurs, you should retry the request. If you are unable to successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up (in several hours usually)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error_Full"}}}},"504":{"description":"If this occurs, you should retry the request. Typically retrying the request several times will result in a successful request; However, if you are unable to successfully make a request, please check the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to be made again when it is back up (in several hours usually)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorDetailed_Full"}}}}}}},"/stores/{store_hash}/v3/abandoned-carts/settings":{"get":{"operationId":"getGlobalAbandonedCartSettings","summary":"Get Global Abandoned Cart Settings","description":"Return the global abandoned cart settings of a store.","tags":["abandonedCartsSettings"],"parameters":[{"name":"store_hash","in":"path","description":"Permanent ID of the BigCommerce store.","required":true,"schema":{"type":"string"}},{"name":"X-Auth-Token","in":"header","description":"### OAuth scopes\n\n| UI Name | Permission | Parameter |\n|:--------|:-----------|:----------|\n| Information & Settings  | read-only  | `store_v2_information_read_only`|\n| Information & Settings  | modify     | `store_v2_information`          |\n\n### Authentication header\n\n| Header | Argument | Description |\n|:-------|:---------|:------------|\n| `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). |\n\n### Further reading\n\nFor 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).\n\nFor more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).\n\nFor a list of API status codes, see [API Status Codes](/developer/api-reference/rest/overview#rest-http-status-codes).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalAbandonedCartSettingsResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"put":{"operationId":"updateGlobalAbandonedCartSettings","summary":"Update Global Abandoned Cart Settings","description":"Update the global abandoned cart settings of a store.","tags":["abandonedCartsSettings"],"parameters":[{"name":"store_hash","in":"path","description":"Permanent ID of the BigCommerce store.","required":true,"schema":{"type":"string"}},{"name":"X-Auth-Token","in":"header","description":"### OAuth scopes\n\n| UI Name | Permission | Parameter |\n|:--------|:-----------|:----------|\n| Information & Settings  | read-only  | `store_v2_information_read_only`|\n| Information & Settings  | modify     | `store_v2_information`          |\n\n### Authentication header\n\n| Header | Argument | Description |\n|:-------|:---------|:------------|\n| `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). |\n\n### Further reading\n\nFor 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).\n\nFor more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).\n\nFor a list of API status codes, see [API Status Codes](/developer/api-reference/rest/overview#rest-http-status-codes).","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body.","required":true,"schema":{"type":"string","default":"application/json"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalAbandonedCartSettingsResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Unprocessable entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalAbandonedCartSettingsRequest"}}}}}},"/stores/{store_hash}/v3/abandoned-carts/settings/channels/{channel_id}":{"get":{"operationId":"getChannelAbandonedCartSettings","summary":"Get Channel Abandoned Cart Settings","description":"Return the per-channel overrides for the abandoned cart settings of a store.","tags":["abandonedCartsSettings"],"parameters":[{"name":"channel_id","in":"path","description":"The channel ID of the settings overrides","required":true,"schema":{"type":"integer"}},{"name":"store_hash","in":"path","description":"Permanent ID of the BigCommerce store.","required":true,"schema":{"type":"string"}},{"name":"X-Auth-Token","in":"header","description":"### OAuth scopes\n\n| UI Name | Permission | Parameter |\n|:--------|:-----------|:----------|\n| Information & Settings  | read-only  | `store_v2_information_read_only`|\n| Information & Settings  | modify     | `store_v2_information`          |\n\n### Authentication header\n\n| Header | Argument | Description |\n|:-------|:---------|:------------|\n| `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). |\n\n### Further reading\n\nFor 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).\n\nFor more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).\n\nFor a list of API status codes, see [API Status Codes](/developer/api-reference/rest/overview#rest-http-status-codes).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelAbandonedCartSettingsResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"put":{"operationId":"updateChannelAbandonedCartSettings","summary":"Update Channel Abandoned Cart Settings","description":"Updates the per-channel overrides for the abandoned cart settings of a store.\n\n#### OAuth Scopes\n| UI Name                                      | Permission | Parameter                                     |\n|----------------------------------------------|------------|-----------------------------------------------|\n| Information & Settings                       | modify     | `store_v2_information`                        |","tags":["abandonedCartsSettings"],"parameters":[{"name":"channel_id","in":"path","description":"The channel ID of the settings overrides","required":true,"schema":{"type":"integer"}},{"name":"store_hash","in":"path","description":"Permanent ID of the BigCommerce store.","required":true,"schema":{"type":"string"}},{"name":"X-Auth-Token","in":"header","description":"### OAuth scopes\n\n| UI Name | Permission | Parameter |\n|:--------|:-----------|:----------|\n| Information & Settings  | read-only  | `store_v2_information_read_only`|\n| Information & Settings  | modify     | `store_v2_information`          |\n\n### Authentication header\n\n| Header | Argument | Description |\n|:-------|:---------|:------------|\n| `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). |\n\n### Further reading\n\nFor 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).\n\nFor more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).\n\nFor a list of API status codes, see [API Status Codes](/developer/api-reference/rest/overview#rest-http-status-codes).","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body.","required":true,"schema":{"type":"string","default":"application/json"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelAbandonedCartSettingsResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Unprocessable entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelAbandonedCartSettingsRequest"}}}}}}},"servers":[{"url":"https://api.bigcommerce.com","description":"https://api.bigcommerce.com"}],"components":{"schemas":{"abandonedCartInfo_Full":{"type":"object","properties":{"cart_id":{"type":"string","description":"The `cart_id` of the abandoned cart. Can be used to display the abandoned cart to the customer using storefront cart or server-to-server cart APIs"}},"title":"abandonedCartInfo_Full"},"metaEmpty_Full":{"type":"object","properties":{},"description":"Response metadata","title":"metaEmpty_Full"},"Abandoned Carts_getAbandonedCart_Response_200":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/abandonedCartInfo_Full"},"meta":{"$ref":"#/components/schemas/metaEmpty_Full"}},"title":"Abandoned Carts_getAbandonedCart_Response_200"},"error_Full":{"type":"object","properties":{"status":{"type":"integer","description":"The HTTP status code\n"},"title":{"type":"string","description":"The error title describing the particular error\n"},"type":{"type":"string"}},"title":"error_Full"},"ErrorDetailedFullErrors":{"type":"object","properties":{},"title":"ErrorDetailedFullErrors"},"errorDetailed_Full":{"type":"object","properties":{"errors":{"$ref":"#/components/schemas/ErrorDetailedFullErrors"}},"title":"errorDetailed_Full"},"AbandonedCartSettingsMerchantAbandonedCartEmailFrequencyType":{"type":"string","enum":["digest","individual"],"description":"Indicates whether to send an email for every abandoned cart, or to send a digest email after X number of abandoned carts","title":"AbandonedCartSettingsMerchantAbandonedCartEmailFrequencyType"},"AbandonedCartSettings":{"type":"object","properties":{"enable_notification":{"type":"boolean","description":"Indicates whether or not abandoned cart notification is on"},"email_customer_until_cart_is_recovered":{"type":"boolean","description":"Indicates whether or not a customer should continue to receive abandoned cart emails until their cart is recovered"},"marketing_emails_require_customer_consent":{"type":"boolean","description":"Indicates whether or not a customer should receive abandoned cart emails based on their consent. By default customers will not receive emails"},"email_merchant_when_cart_is_converted":{"type":"boolean","description":"Indicates whether or not a merchant should receive a notification email when a cart is converted into an order"},"email_merchant_when_cart_is_abandoned":{"type":"boolean","description":"Indicates whether or not a merchant should receive a notification email when a cart is abandoned"},"merchant_email_address":{"type":"string","format":"email","description":"The email address for receiving merchant notifications"},"merchant_abandoned_cart_email_frequency_type":{"$ref":"#/components/schemas/AbandonedCartSettingsMerchantAbandonedCartEmailFrequencyType","description":"Indicates whether to send an email for every abandoned cart, or to send a digest email after X number of abandoned carts"},"merchant_abandoned_cart_digest_email_frequency":{"type":"integer","description":"The number of abandoned carts to accumulate before a digest email is sent to a merchant"}},"description":"Represents all settings related to the abandoned cart functionality of a store","title":"AbandonedCartSettings"},"GlobalAbandonedCartSettingsResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AbandonedCartSettings"},"meta":{"$ref":"#/components/schemas/metaEmpty_Full"}},"description":"The response object of abandoned cart settings at the global level","title":"GlobalAbandonedCartSettingsResponse"},"ErrorResponseErrors":{"type":"object","properties":{},"title":"ErrorResponseErrors"},"ErrorResponse":{"type":"object","properties":{"status":{"type":"integer"},"title":{"type":"string"},"type":{"type":"string"},"instance":{"type":"string"},"errors":{"$ref":"#/components/schemas/ErrorResponseErrors"}},"description":"The response object containing details of an error","title":"ErrorResponse"},"GlobalAbandonedCartSettingsRequestMerchantAbandonedCartEmailFrequencyType":{"type":"string","enum":["digest","individual"],"description":"Indicates whether to send an email for every abandoned cart, or to send a digest email after X number of abandoned carts","title":"GlobalAbandonedCartSettingsRequestMerchantAbandonedCartEmailFrequencyType"},"GlobalAbandonedCartSettingsRequest":{"type":"object","properties":{"enable_notification":{"type":"boolean","description":"Indicates whether or not abandoned cart notification is on"},"email_customer_until_cart_is_recovered":{"type":"boolean","description":"Indicates whether or not a customer should continue to receive abandoned cart emails until their cart is recovered"},"marketing_emails_require_customer_consent":{"type":"boolean","description":"Indicates whether or not a customer should receive abandoned cart emails based on their consent. By default customers will not receive emails"},"email_merchant_when_cart_is_converted":{"type":"boolean","description":"Indicates whether or not a merchant should receive a notification email when a cart is converted into an order"},"email_merchant_when_cart_is_abandoned":{"type":"boolean","description":"Indicates whether or not a merchant should receive a notification email when a cart is abandoned"},"merchant_email_address":{"type":"string","format":"email","description":"The email address for receiving merchant notifications"},"merchant_abandoned_cart_email_frequency_type":{"$ref":"#/components/schemas/GlobalAbandonedCartSettingsRequestMerchantAbandonedCartEmailFrequencyType","description":"Indicates whether to send an email for every abandoned cart, or to send a digest email after X number of abandoned carts"},"merchant_abandoned_cart_digest_email_frequency":{"type":"integer","description":"The number of abandoned carts to accumulate before a digest email is sent to a merchant"}},"required":["email_customer_until_cart_is_recovered","marketing_emails_require_customer_consent","email_merchant_when_cart_is_converted","email_merchant_when_cart_is_abandoned","merchant_email_address","merchant_abandoned_cart_email_frequency_type","merchant_abandoned_cart_digest_email_frequency"],"description":"The request object for updating the abandoned cart settings of a store at the global level","title":"GlobalAbandonedCartSettingsRequest"},"ChannelAbandonedCartSettingsMerchantAbandonedCartEmailFrequencyType":{"type":"string","enum":["digest","individual"],"description":"Indicates whether to send an email for every abandoned cart or to send a digest email after X number of abandoned carts. If it is null, it means there is no override for the specified channel.","title":"ChannelAbandonedCartSettingsMerchantAbandonedCartEmailFrequencyType"},"ChannelAbandonedCartSettings":{"type":"object","properties":{"enable_notification":{"type":["boolean","null"],"description":"Indicates whether or not abandoned cart notification is on. If it is null, it means there is no override for the specified channel."},"email_customer_until_cart_is_recovered":{"type":["boolean","null"],"description":"Indicates whether or not a customer should continue to receive abandoned cart emails until their cart is recovered. If it is null, it means there is no override for the specified channel."},"marketing_emails_require_customer_consent":{"type":["boolean","null"],"description":"Indicates whether or not a customer should receive abandoned cart emails based on their consent. If it is null, it means there is no override for the specified channel. By default customers will not receive emails."},"email_merchant_when_cart_is_converted":{"type":["boolean","null"],"description":"Indicates whether or not a merchant should receive a notification email when a cart is converted into an order. If it is null, it means there is no override for the specified channel."},"email_merchant_when_cart_is_abandoned":{"type":["boolean","null"],"description":"Indicates whether or not a merchant should receive a notification email when a cart is abandoned. If it is null, it means there is no override for the specified channel."},"merchant_email_address":{"type":["string","null"],"format":"email","description":"The email address for receiving merchant notifications. If it is null, it means there is no override for the specified channel."},"merchant_abandoned_cart_email_frequency_type":{"oneOf":[{"$ref":"#/components/schemas/ChannelAbandonedCartSettingsMerchantAbandonedCartEmailFrequencyType"},{"type":"null"}],"description":"Indicates whether to send an email for every abandoned cart or to send a digest email after X number of abandoned carts. If it is null, it means there is no override for the specified channel."},"merchant_abandoned_cart_digest_email_frequency":{"type":["integer","null"],"description":"The number of abandoned carts to accumulate before a digest email is sent to a merchant. If it is null, it means there is no override for the specified channel."}},"description":"Represents all settings overrides related to the abandoned cart functionality of a store for a channel","title":"ChannelAbandonedCartSettings"},"ChannelAbandonedCartSettingsResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ChannelAbandonedCartSettings"},"meta":{"$ref":"#/components/schemas/metaEmpty_Full"}},"description":"The response object of abandoned cart settings overrides for a channel","title":"ChannelAbandonedCartSettingsResponse"},"ChannelAbandonedCartSettingsRequestMerchantAbandonedCartEmailFrequencyType":{"type":"string","enum":["digest","individual"],"description":"Indicates whether to send an email for every abandoned cart or to send a digest email after X number of abandoned carts. If it is null, it means there is no override for the specified channel.","title":"ChannelAbandonedCartSettingsRequestMerchantAbandonedCartEmailFrequencyType"},"ChannelAbandonedCartSettingsRequest":{"type":"object","properties":{"enable_notification":{"type":["boolean","null"],"description":"Indicates whether or not abandoned cart notification is on. If it is null, it means there is no override for the specified channel."},"email_customer_until_cart_is_recovered":{"type":["boolean","null"],"description":"Indicates whether or not a customer should continue to receive abandoned cart emails until their cart is recovered. If it is null, it means there is no override for the specified channel."},"marketing_emails_require_customer_consent":{"type":["boolean","null"],"description":"Indicates whether or not a customer should receive abandoned cart emails based on their consent. If it is null, it means there is no override for the specified channel. By default customers will not receive emails."},"email_merchant_when_cart_is_converted":{"type":["boolean","null"],"description":"Indicates whether or not a merchant should receive a notification email when a cart is converted into an order. If it is null, it means there is no override for the specified channel."},"email_merchant_when_cart_is_abandoned":{"type":["boolean","null"],"description":"Indicates whether or not a merchant should receive a notification email when a cart is abandoned. If it is null, it means there is no override for the specified channel."},"merchant_email_address":{"type":["string","null"],"format":"email","description":"The email address for receiving merchant notifications. If it is null, it means there is no override for the specified channel."},"merchant_abandoned_cart_email_frequency_type":{"oneOf":[{"$ref":"#/components/schemas/ChannelAbandonedCartSettingsRequestMerchantAbandonedCartEmailFrequencyType"},{"type":"null"}],"description":"Indicates whether to send an email for every abandoned cart or to send a digest email after X number of abandoned carts. If it is null, it means there is no override for the specified channel."},"merchant_abandoned_cart_digest_email_frequency":{"type":["integer","null"],"description":"The number of abandoned carts to accumulate before a digest email is sent to a merchant. If it is null, it means there is no override for the specified channel."}},"description":"The request object for updating the abandoned cart settings overrides of a store for a channel","title":"ChannelAbandonedCartSettingsRequest"}},"securitySchemes":{"X-Auth-Token":{"type":"apiKey","in":"header","name":"X-Auth-Token","description":"### OAuth scopes\n\n| UI Name | Permission | Parameter |\n|:--------|:-----------|:----------|\n| Information & Settings  | read-only  | `store_v2_information_read_only`|\n| Information & Settings  | modify     | `store_v2_information`          |\n\n### Authentication header\n\n| Header | Argument | Description |\n|:-------|:---------|:------------|\n| `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). |\n\n### Further reading\n\nFor 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).\n\nFor more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes).\n\nFor a list of API status codes, see [API Status Codes](/developer/api-reference/rest/overview#rest-http-status-codes)."}}}}