# Elastic Path Promotion Codes API

**Canonical:** https://apis.io/apis/elastic-path/elastic-path-promotion-codes-api/  
**Provider:** Elastic Path — https://apis.io/providers/elastic-path/  
**Base URL:** https://useast.api.elasticpath.com  
**Documentation:** https://developer.elasticpath.com/api

Elastic Path Promotion Codes API is one of 100 APIs that [Elastic Path](https://apis.io/providers/elastic-path/) publishes on the [APIs.io](https://apis.io/) network, described by a machine-readable OpenAPI specification. Tagged areas include Promotion Codes. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

You can apply promotions automatically to all customer carts, or you can create promotion codes that customers must enter to receive the discount. You can enable this feature by setting the automatic attribute to `false` in the promotions schema when you create a promotion. For more information, see [Create Promotion Codes](/docs/api/promotions/create-promotion-codes). You can generate and export codes for a promotion using the bulk code generation feature, which allows you to create a large number of unique codes and export them in CSV format. For details, refer to the [Generating Bulk Codes](/docs/commerce-manager/promotions-standard/overview#generating-bulk-codes) and [Managing Export Codes](/docs/commerce-manager/promotions-standard/overview#managing-code-export) sections. You can generate a maximum of 1000 codes for a promotion. If you need to generate more than 1000 codes, limit the promotion's duration to a maximum of 365 days from its start date. The promotion expiry date is 365 days. With the consume unit feature, you can limit the number of usages of a code for a promotion. You must create a code for this promotion to track the usage of the promotion. The consume unit options are `per_cart` and `per_item`. For example, consider a store that offers 50% off on *SKU1*, but limits the promotion to a maximum of two usages. Under the `per_cart` setting, a shopper can buy *SKU1* twice in a separate transaction, each at a 50% discount. However, with the `per_item` setting, if a shopper buys two SKU1s in a single purchase, both items count toward the promotion's usage limit. Therefore, the shopper would use up both usages of the promotion in a single purchase. Promotion codes can be group codes or individual codes. For example, you can offer a seasonal discount to all customers, such as *SUMMER-SALE*, or you can offer preferred customers unique discount codes. Promotion codes expire automatically at the end of the promotion period and are removed from the promotion. When a promotion expires, the promotion codes attached to the promotion automatically become invalid. However, when you re-enable the expired promotion, the promotion codes attached to the promotion are deleted. When you checkout a cart with an expired promotion, the expired promotion will be automatically removed from a cart and the checkout process is initiated. As a best practice, we recommend to update your cart to remove the expired promotion before initiating the checkout process. When extending the end date of an expired promotion with over 1000 codes, you will receive an error response. See [Update a Promotion](/docs/api/promotions/update-a-promotion). In such cases, we recommend [duplicating the promotion](/docs/commerce-manager/promotions-standard/overview#duplicating-promotions), allowing you to set the new end dates and create promotion codes as needed.

## Machine-readable artifacts (2)

- **OpenAPI** — https://raw.githubusercontent.com/api-evangelist/elastic-path/refs/heads/main/openapi/elastic-path-promotion-codes-api-openapi.yml
- **Documentation** — https://developer.elasticpath.com/api

## Other Elastic Path APIs (12)

- [Elastic Path GraphQL API](https://apis.io/apis/elastic-path/graphql-api/)
- [Elastic Path Account Addresses API](https://apis.io/apis/elastic-path/elastic-path-account-addresses-api/)
- [Elastic Path Account Authentication Settings API](https://apis.io/apis/elastic-path/elastic-path-account-authentication-settings-api/)
- [Elastic Path Account Cart Associations API](https://apis.io/apis/elastic-path/elastic-path-account-cart-associations-api/)
- [Elastic Path Account Management Authentication API](https://apis.io/apis/elastic-path/elastic-path-account-management-authentication-api/)
- [Elastic Path Account Members API](https://apis.io/apis/elastic-path/elastic-path-account-members-api/)
- [Elastic Path Account Membership API](https://apis.io/apis/elastic-path/elastic-path-account-membership-api/)
- [Elastic Path Account Membership Settings API](https://apis.io/apis/elastic-path/elastic-path-account-membership-settings-api/)
- [Elastic Path Account Tags API](https://apis.io/apis/elastic-path/elastic-path-account-tags-api/)
- [Elastic Path Accounts API](https://apis.io/apis/elastic-path/elastic-path-accounts-api/)
- [Elastic Path Administrator Latest Releases Catalog API API](https://apis.io/apis/elastic-path/elastic-path-administrator-latest-releases-catalog-api-api/)
- [Elastic Path Application Keys API](https://apis.io/apis/elastic-path/elastic-path-application-keys-api/)

## Tags

Promotion Codes

---

Profiled by [API Evangelist](https://apievangelist.com) and published on [APIs.io](https://apis.io/apis/elastic-path/elastic-path-promotion-codes-api/). The API's provider profile, Kin Score and agent-readiness rating are at https://apis.io/providers/elastic-path/.
