canonical: https://jentic.com/apis/vtex.local/promotions-taxes-api

# Vtex Promotions & Taxes API

Check the new [Promotions onboarding guide](https://developers.vtex.com/vtex-rest-api/docs/promotions-overview). We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Promotions and is organized by focusing on the developer's journey. The Promotions & Taxes API allows you to manage and retrieve all promotions. The API exposes 31 endpoints secured with apiKey authentication.

## For AI agents

Programmatically create multiple coupons, create or update coupon. Covers 31 operations with apiKey authentication.

## Scope

Does not handle payments, communications, or crm - use for hr and recruiting only.

## Capabilities

- Create multiple coupons
- Get all coupons
- Archive coupon by coupon code
- Generate coupons in bulk
- Monitor Promotions & Taxes API operational status and events

## Use cases

### HR and Recruiting Operations

Use the Promotions & Taxes API to perform hr recruiting operations programmatically. The API provides 31 endpoints covering core functionality including create multiple coupons, create or update coupon, get all coupons.

Example prompt: Call POST `/api/rnb/pvt/multiple-coupons` to create multiple coupons

### Automated Promotions and taxes Management

Automate promotions and taxes operations by combining multiple Promotions & Taxes API endpoints. Agents can create or update coupon and then get all coupons in a single workflow.

Example prompt: Call POST `/api/rnb/pvt/coupon` to create or update coupon, then verify the result

### AI Agent Integration via Jentic

AI agents discover and call Promotions & Taxes API endpoints through Jentic without managing credentials directly. An agent searches for the required operation by intent, receives the matching endpoint schema, and executes the call with Jentic-managed authentication. This eliminates the need to read API documentation or handle apiKey tokens manually.

Example prompt: Search Jentic for 'create multiple coupons', load the operation schema, and execute with Jentic-managed credentials

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/api/rnb/pvt/multiple-coupons` | Create multiple coupons |
| POST | `/api/rnb/pvt/coupon` | Create or update coupon |
| GET | `/api/rnb/pvt/coupon` | Get all coupons |
| GET | `/api/rnb/pvt/coupon/{couponCode}` | Get coupon by coupon code |
| POST | `/api/rnb/pvt/archive/coupon/{couponCode}` | Archive coupon by coupon code |
| GET | `/api/rnb/pvt/archive/coupon/{couponCode}` | Get archived coupon by coupon code |
| POST | `/api/rnb/pvt/coupons` | Generate coupons in bulk |
| GET | `/api/rnb/pvt/coupon/usage/{couponCode}` | Get coupon usage |

## Key resources

- **Promotions and taxes** — Operations related to Promotions and taxes
- **Coupons** — Operations related to Coupons
- **Campaign Audiences** — Operations related to Campaign Audiences
- **Notifications** — Operations related to Notifications
- **Bundles** — Operations related to Bundles

## Why Jentic

- **Setup:** Wiring the VTEX Promotions and Taxes API by hand means pairing an App Key with an App Token in the X-VTEX-API-AppKey and X-VTEX-API-AppToken headers, and templating the {accountName} and {environment} host into every call. Through Jentic you install once, import the Promotions and Taxes API from the API Directory, store the App Key and App Token once, and your agent calls it.
- **Permission scoping:** The Promotions and Taxes API puts the coupon code in the URL path (`/api/rnb/pvt/coupon/{couponCode}`), so a rule can pin your agent to one coupon. You choose the operations it may call, so writes like archiving a coupon are not included unless you add them.
- **Credential handling:** Your VTEX App Key and App Token are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create multiple coupons' or 'get a coupon by code', and Jentic returns the matching Promotions and Taxes API operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Greenhouse** — Alternative hr recruiting API
- **Lever** — Alternative hr recruiting API
- **Workday** — Complementary hr recruiting API

## FAQ

### What authentication does the Promotions & Taxes API use?

The Promotions & Taxes API uses an API key passed in the `X-VTEX-API-AppKey` header. Through Jentic, these credentials are stored encrypted in your Jentic One instance and injected at execution time, so raw secrets never enter the agent context.

### Can I create multiple coupons with the Promotions & Taxes API?

Yes. Use the POST `/api/rnb/pvt/multiple-coupons` endpoint. The API returns structured JSON responses that agents can parse and act on directly.

### What are the rate limits for the Promotions & Taxes API?

Rate limits are not specified in the OpenAPI spec. Check the vendor documentation for current limits. Through Jentic, rate limiting is handled automatically with retry logic built into the execution layer.

### How do I create multiple coupons through Jentic?

Install the Jentic SDK with pip install jentic, authenticate through Jentic One, the self-hosted execution layer, then search for 'create multiple coupons'. Jentic returns the matching Promotions & Taxes API operation with its input schema. Load the schema and execute the call - credentials are injected automatically.

### How many endpoints does the Promotions & Taxes API have?

The Promotions & Taxes API exposes 31 endpoints covering promotions and taxes, coupons, campaign audiences operations.

### Can I limit what my agent is allowed to do with the Promotions & Taxes API?

Yes. Jentic One runs self-hosted, so your own rules decide which Promotions & Taxes API operations the agent may call and which credentials it may use. Because the coupon code sits in the URL path (`/api/rnb/pvt/coupon/{couponCode}`), you can pin the agent to a single coupon, and you pick the operations it gets, so write actions like POST `/api/rnb/pvt/archive/coupon/{couponCode}` are excluded unless you add them. Your VTEX App Key and App Token stay with your instance and are injected at execution time rather than exposed to the agent.
