# Cupons API

> Crie cupons e gerencie os pools de códigos únicos deles para os seus e-mails.

URL base: `https://api.emailit.com/v2`. Autentique-se com `Authorization: Bearer <API key>`.

## Criar um cupom — POST /coupons

> Crie um cupom com um pool de códigos únicos, ou um código compartilhado, para os seus e-mails. Alfa: aberto apenas à equipe do Emailit.

# Criar um cupom

Cria um cupom. Coloque-o em um e-mail com `{{coupon "key"}}`: quando o e-mail é renderizado, cada destinatário recebe um código. Requer uma chave de API com escopo `full`.

> **O e-commerce está em alfa:** O e-commerce está aberto apenas à equipe do Emailit enquanto o testamos. As outras requisições retornam `403` com `error: "commerce_alpha"`. As chaves de API funcionam apenas em workspaces que pertencem à equipe do Emailit. Consulte [Quem pode usar o e-commerce](/pt/docs/commerce/#who-can-use-commerce).

- Um cupom **unique** tem um pool de códigos de uso único. Cada destinatário recebe o código livre mais antigo, um por campanha ou automação, e recebe o mesmo código de novo sempre que esse e-mail for renderizado para ele. Envie os códigos da sua loja aqui ou com [Adicionar códigos a um cupom](/pt/docs/api-reference/coupons/add-codes/), ou gere códigos no Emailit e importe-os na sua loja.
- Um cupom **static** tem um único código, `static_code`, para todos.

Quando um [pedido](/pt/docs/api-reference/orders/create/) lista um código em `coupon_codes`, o código é marcado como resgatado. Consulte [Produtos, cupons e o carrinho](/pt/docs/campaigns/products-and-coupons/#coupon-codes).

`POST /coupons`

## Corpo da requisição

- `key` (string, obrigatório): O nome que você usa no conteúdo, único no workspace. De 1 a 64 letras minúsculas, dígitos, `-` ou `_`, começando com uma letra ou um dígito. As letras maiúsculas são convertidas em minúsculas.

- `name` (string, obrigatório): Nome do cupom mostrado no painel, com até 191 caracteres.

- `description` (string | null): Observação para a sua equipe. Textos mais longos são cortados em 1.000 caracteres.

- `kind` (string): `unique` (padrão) ou `static`.

- `static_code` (string | null): Até 191 caracteres. Obrigatório para um cupom static: o código que todos recebem. Para um cupom unique, o texto que os destinatários recebem quando o pool está vazio ou o cupom expirou. Sem ele, eles recebem uma string vazia.

- `discount_label` (string | null): Descrição curta do desconto, como `10% off`. Textos mais longos são cortados em 191 caracteres.

- `expires_at` (string | null): Data e hora ISO 8601. Depois dela, os destinatários de um cupom unique recebem `static_code` no lugar de um código, também nos e-mails renderizados de novo. O Emailit não aplica a expiração na sua loja.

- `codes` (string[] | string): Códigos a adicionar ao pool: um array, ou um texto com um código por linha. Em um texto CSV, a primeira coluna é lida e um cabeçalho como `code` ou `coupon_code` é ignorado. Um código tem de 2 a 64 letras, dígitos, `-`, `_` ou `.`, começando com uma letra ou um dígito. Os códigos inválidos ficam de fora e os duplicados são adicionados uma vez. Até 10.000 códigos.

## Retorno

`201 Created` com o [objeto de cupom](/pt/docs/api-reference/coupons/get/). Retorna `422` quando um campo é inválido ou outro cupom já tem a chave.
**Requisição** `POST /coupons`

**cURL**

```bash
curl -X POST https://api.emailit.com/v2/coupons \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "key": "welcome-10",
    "name": "Welcome 10% off",
    "description": "First-order discount for new subscribers.",
    "kind": "unique",
    "static_code": "WELCOME10",
    "discount_label": "10% off",
    "expires_at": "2026-12-31T23:59:59Z",
    "codes": ["WELCOME-7KQ2M9XA", "WELCOME-H4TZ8RCN", "WELCOME-P2WD6YFE"]
  }'
```

**201**

```json
{
  "object": "coupon",
  "id": "cpn_3sMKUvFbx63T9hhDoNea7fmo1fQ",
  "key": "welcome-10",
  "name": "Welcome 10% off",
  "description": "First-order discount for new subscribers.",
  "kind": "unique",
  "static_code": "WELCOME10",
  "discount_label": "10% off",
  "expires_at": "2026-12-31T23:59:59.000Z",
  "codes_total": 3,
  "codes_available": 3,
  "codes_assigned": 0,
  "codes_redeemed": 0,
  "created_at": "2026-10-01T09:00:12.304Z",
  "updated_at": "2026-10-01T09:00:12.304Z"
}
```

**422**

```json
{
  "message": "Validation failed. key: A coupon with this key already exists.",
  "errors": {
    "key": [
      "A coupon with this key already exists."
    ]
  }
}
```

---
Fonte: https://emailit.com/pt/docs/api-reference/coupons/create/

## Obter um cupom — GET /coupons/{id}

> Obtenha um cupom pelo ID ou pela chave, com as contagens dos códigos disponíveis, atribuídos e resgatados. Alfa: aberto apenas à equipe do Emailit.

# Obter um cupom

Obtém um cupom pelo ID ou pela chave, com as contagens dos códigos dele. Requer uma chave de API com escopo `full`.

> **O e-commerce está em alfa:** O e-commerce está aberto apenas à equipe do Emailit enquanto o testamos. As outras requisições retornam `403` com `error: "commerce_alpha"`. As chaves de API funcionam apenas em workspaces que pertencem à equipe do Emailit. Consulte [Quem pode usar o e-commerce](/pt/docs/commerce/#who-can-use-commerce).

`GET /coupons/{id}`

## Parâmetros de caminho

- `id` (string, obrigatório): O ID do cupom (`cpn_...`) ou a `key` do cupom.

## O objeto de cupom

- `object` (string): Sempre `coupon`.

- `id` (string): ID do cupom (`cpn_...`).

- `key` (string): O nome que você usa no conteúdo dos e-mails: `{{coupon "welcome-10"}}`. Consulte [Produtos, cupons e o carrinho](/pt/docs/campaigns/products-and-coupons/#coupon-codes).

- `name` (string): Nome do cupom mostrado no painel.

- `description` (string | null): Observação para a sua equipe.

- `kind` (string): - `unique`: um pool de códigos de uso único. Cada destinatário recebe o próprio código, um por campanha ou automação, e o mesmo código de novo quando o e-mail é renderizado de novo. - `static`: um único código, `static_code`, para todos.

- `static_code` (string | null): O código compartilhado de um cupom static. Para um cupom unique, o texto que os destinatários recebem quando não sobra nenhum código ou o cupom expirou. Sem ele, eles recebem uma string vazia.

- `discount_label` (string | null): Descrição curta do desconto, como `10% off`.

- `expires_at` (string | null): Depois deste momento, os destinatários de um cupom unique recebem `static_code` no lugar de um código.

- `codes_total` (integer): Códigos no pool.

- `codes_available` (integer): Códigos que ainda podem ser distribuídos: não atribuídos a um contato e não usados em um pedido.

- `codes_assigned` (integer): Códigos atribuídos a um contato, incluindo os que já foram resgatados.

- `codes_redeemed` (integer): Códigos usados em um [pedido](/pt/docs/api-reference/orders/create/) (`coupon_codes`).

- `created_at, updated_at` (string): Quando o cupom foi criado e quando mudou pela última vez, em ISO 8601 UTC.

**Requisição** `GET /coupons/{id}`

**cURL**

```bash
curl https://api.emailit.com/v2/coupons/welcome-10 \
  -H "Authorization: Bearer your_api_key"
```

**200**

```json
{
  "object": "coupon",
  "id": "cpn_3sMKUvFbx63T9hhDoNea7fmo1fQ",
  "key": "welcome-10",
  "name": "Welcome 10% off",
  "description": "First-order discount for new subscribers.",
  "kind": "unique",
  "static_code": "WELCOME10",
  "discount_label": "10% off",
  "expires_at": "2026-12-31T23:59:59.000Z",
  "codes_total": 5000,
  "codes_available": 3812,
  "codes_assigned": 1188,
  "codes_redeemed": 143,
  "created_at": "2026-10-01T09:00:12.304Z",
  "updated_at": "2026-10-01T09:00:12.304Z"
}
```

**404**

```json
{
  "error": "Coupon not found",
  "message": "Coupon not found."
}
```

---
Fonte: https://emailit.com/pt/docs/api-reference/coupons/get/

## Atualizar um cupom — POST /coupons/{id}

> Altere a chave, o nome, o tipo, o código alternativo ou fixo, o rótulo ou a expiração de um cupom. Alfa: aberto apenas à equipe do Emailit.

# Atualizar um cupom

Atualiza um cupom. Só mudam os campos que você enviar. Para adicionar códigos, use [Adicionar códigos a um cupom](/pt/docs/api-reference/coupons/add-codes/): `codes` é ignorado nesta requisição. Requer uma chave de API com escopo `full`.

> **O e-commerce está em alfa:** O e-commerce está aberto apenas à equipe do Emailit enquanto o testamos. As outras requisições retornam `403` com `error: "commerce_alpha"`. As chaves de API funcionam apenas em workspaces que pertencem à equipe do Emailit. Consulte [Quem pode usar o e-commerce](/pt/docs/commerce/#who-can-use-commerce).

Se você mudar a `key`, atualize também as tags `{{coupon "key"}}` nos seus e-mails: o Emailit procura os cupons pela chave que está no conteúdo.

`POST /coupons/{id}`

## Parâmetros de caminho

- `id` (string, obrigatório): O ID do cupom (`cpn_...`) ou a `key` atual do cupom.

## Corpo da requisição

Qualquer um destes campos: `key`, `name`, `description`, `kind`, `static_code`, `discount_label` e `expires_at`, com as regras de [Criar um cupom](/pt/docs/api-reference/coupons/create/). Envie `null` em `description`, `static_code`, `discount_label` ou `expires_at` para limpar o valor. Um cupom que é ou passa a ser `static` precisa manter um `static_code`.

## Retorno

`200 OK` com o [objeto de cupom](/pt/docs/api-reference/coupons/get/) atualizado. Retorna `404` se nenhum cupom corresponder a `id` e `422` quando um campo é inválido ou a nova chave já está em uso.
**Requisição** `POST /coupons/{id}`

**cURL**

```bash
curl -X POST https://api.emailit.com/v2/coupons/welcome-10 \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "expires_at": "2027-01-31T23:59:59Z" }'
```

**200**

```json
{
  "object": "coupon",
  "id": "cpn_3sMKUvFbx63T9hhDoNea7fmo1fQ",
  "key": "welcome-10",
  "name": "Welcome 10% off",
  "description": "First-order discount for new subscribers.",
  "kind": "unique",
  "static_code": "WELCOME10",
  "discount_label": "10% off",
  "expires_at": "2027-01-31T23:59:59.000Z",
  "codes_total": 5000,
  "codes_available": 3812,
  "codes_assigned": 1188,
  "codes_redeemed": 143,
  "created_at": "2026-10-01T09:00:12.304Z",
  "updated_at": "2026-10-09T15:47:20.061Z"
}
```

**404**

```json
{
  "error": "Coupon not found",
  "message": "Coupon not found."
}
```

**422**

```json
{
  "message": "Validation failed. static_code: A static coupon needs its code.",
  "errors": {
    "static_code": [
      "A static coupon needs its code."
    ]
  }
}
```

---
Fonte: https://emailit.com/pt/docs/api-reference/coupons/update/

## Listar cupons — GET /coupons

> Liste os cupons do seu workspace, dos mais recentes para os mais antigos, com as contagens dos códigos deles. Alfa: aberto apenas à equipe do Emailit.

# Listar cupons

Lista os cupons do seu workspace, dos mais recentes para os mais antigos, com as contagens dos códigos deles. Requer uma chave de API com escopo `full`.

> **O e-commerce está em alfa:** O e-commerce está aberto apenas à equipe do Emailit enquanto o testamos. As outras requisições retornam `403` com `error: "commerce_alpha"`. As chaves de API funcionam apenas em workspaces que pertencem à equipe do Emailit. Consulte [Quem pode usar o e-commerce](/pt/docs/commerce/#who-can-use-commerce).

`GET /coupons`

## Parâmetros de consulta

- `page` (integer): Número da página para a paginação (mínimo: 1, padrão: 1).

- `limit` (integer): Número de cupons a retornar (mínimo: 1, máximo: 100, padrão: 25).

- `search` (string): Busca sem diferenciar maiúsculas de minúsculas no nome ou na chave do cupom.

- `match`, `order`, `direction`: consulte [Filtragem](https://emailit.com/pt/docs/api-reference/filtering/).

## Filtros e ordenação

Chaves de filtro e de ordenação: consulte [Filtragem](https://emailit.com/pt/docs/api-reference/filtering/).

## Retorno

Uma página de [objetos de cupom](/pt/docs/api-reference/coupons/get/) em `data`, com `total_records`, `next_page_url` e `previous_page_url`. As URLs de página levam só `page` e `limit`, então adicione a sua busca e os seus filtros de novo quando segui-las.
**Requisição** `GET /coupons`

**cURL**

```bash
curl "https://api.emailit.com/v2/coupons?kind.exact=unique" \
  -H "Authorization: Bearer your_api_key"
```

**200**

```json
{
  "data": [
    {
      "object": "coupon",
      "id": "cpn_3sMKUvFbx63T9hhDoNea7fmo1fQ",
      "key": "welcome-10",
      "name": "Welcome 10% off",
      "description": "First-order discount for new subscribers.",
      "kind": "unique",
      "static_code": "WELCOME10",
      "discount_label": "10% off",
      "expires_at": "2026-12-31T23:59:59.000Z",
      "codes_total": 5000,
      "codes_available": 3812,
      "codes_assigned": 1188,
      "codes_redeemed": 143,
      "created_at": "2026-10-01T09:00:12.304Z",
      "updated_at": "2026-10-01T09:00:12.304Z"
    }
  ],
  "total_records": 1,
  "next_page_url": null,
  "previous_page_url": null
}
```

---
Fonte: https://emailit.com/pt/docs/api-reference/coupons/list/

## Excluir um cupom — DELETE /coupons/{id}

> Exclua um cupom e todos os códigos dele. Alfa: aberto apenas à equipe do Emailit.

# Excluir um cupom

Exclui um cupom junto com todos os códigos dele, incluindo os atribuídos e os resgatados. Os pedidos mantêm os códigos nos `coupon_codes` deles. Requer uma chave de API com escopo `full`.

> **O e-commerce está em alfa:** O e-commerce está aberto apenas à equipe do Emailit enquanto o testamos. As outras requisições retornam `403` com `error: "commerce_alpha"`. As chaves de API funcionam apenas em workspaces que pertencem à equipe do Emailit. Consulte [Quem pode usar o e-commerce](/pt/docs/commerce/#who-can-use-commerce).

`DELETE /coupons/{id}`

## Parâmetros de caminho

- `id` (string, obrigatório): O ID do cupom (`cpn_...`) ou a `key` do cupom.

**Requisição** `DELETE /coupons/{id}`

**cURL**

```bash
curl -X DELETE https://api.emailit.com/v2/coupons/cpn_3sMKUvFbx63T9hhDoNea7fmo1fQ \
  -H "Authorization: Bearer your_api_key"
```

**200**

```json
{
  "object": "coupon",
  "id": "cpn_3sMKUvFbx63T9hhDoNea7fmo1fQ",
  "deleted": true
}
```

**404**

```json
{
  "error": "Coupon not found",
  "message": "Coupon not found."
}
```

---
Fonte: https://emailit.com/pt/docs/api-reference/coupons/delete/

## Listar os códigos de um cupom — GET /coupons/{id}/codes

> Liste os códigos de um cupom com a quem foram atribuídos e se foram resgatados, em JSON ou como uma exportação CSV. Alfa: aberto apenas à equipe do Emailit.

# Listar os códigos de um cupom

Lista os códigos de um cupom, dos mais antigos para os mais recentes: a ordem em que eles são distribuídos. Use `format=csv` para exportá-los, por exemplo para importar os códigos gerados na sua loja. Requer uma chave de API com escopo `full`.

> **O e-commerce está em alfa:** O e-commerce está aberto apenas à equipe do Emailit enquanto o testamos. As outras requisições retornam `403` com `error: "commerce_alpha"`. As chaves de API funcionam apenas em workspaces que pertencem à equipe do Emailit. Consulte [Quem pode usar o e-commerce](/pt/docs/commerce/#who-can-use-commerce).

`GET /coupons/{id}/codes`

## Parâmetros de caminho

- `id` (string, obrigatório): O ID do cupom (`cpn_...`) ou a `key` do cupom.

## Parâmetros de consulta

- `page` (integer): Número da página para a paginação (mínimo: 1, padrão: 1).

- `limit` (integer): Número de códigos a retornar (mínimo: 1, máximo: 100, padrão: 50).

- `status` (string): - `available`: não atribuído a um contato e não usado em um pedido, então ainda pode ser distribuído. - `assigned`: atribuído a um contato e não resgatado. - `redeemed`: usado em um pedido.

- `format` (string): `json` (padrão) ou `csv`. O CSV retorna todos os códigos que correspondem a `status` em um único arquivo, sem paginação, com as colunas `code`, `status`, `email`, `assigned_at` e `redeemed_at`. Os filtros `key.condition` e a ordenação não se aplicam ao CSV.

- `match`, `order`, `direction`: consulte [Filtragem](https://emailit.com/pt/docs/api-reference/filtering/).

## Filtros e ordenação

Chaves de filtro e de ordenação: consulte [Filtragem](https://emailit.com/pt/docs/api-reference/filtering/).

## Retorno

Uma página de códigos de cupom em `data`, com `total_records`, `next_page_url` e `previous_page_url`. Cada código tem:

- `object` (string): Sempre `coupon_code`.

- `id` (string): ID do código (`cpc_...`).

- `code` (string): O código.

- `contact_id, email` (string | null): O contato a quem o código está atribuído, ou `null`.

- `source_id` (string | null): A campanha (`cmp_...`) ou a automação (`aut_...`) cujo e-mail recebeu o código.

- `assigned_at` (string | null): Quando o código foi atribuído.

- `redeemed_at, redeemed_order_id` (string | null): Quando o código foi resgatado e por qual pedido (`ord_...`).

- `created_at` (string): Quando o código foi adicionado ao pool.

**Requisição** `GET /coupons/{id}/codes`

**cURL**

```bash
curl "https://api.emailit.com/v2/coupons/welcome-10/codes?status=assigned&limit=2" \
  -H "Authorization: Bearer your_api_key"
```

**200**

```json
{
  "data": [
    {
      "object": "coupon_code",
      "id": "cpc_3s6oCjlRbLFujYObEAcuiZmGKqu",
      "code": "WELCOME-H4TZ8RCN",
      "contact_id": "con_3MjLVacsYA6keJucAbOs3o3XhyA",
      "email": "grace@example.com",
      "source_id": "cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN",
      "assigned_at": "2026-10-08T09:00:41.773Z",
      "redeemed_at": null,
      "redeemed_order_id": null,
      "created_at": "2026-10-01T09:00:12.304Z"
    },
    {
      "object": "coupon_code",
      "id": "cpc_3u9TrZTopqOgaqT9FcZFareUFGj",
      "code": "WELCOME-P2WD6YFE",
      "contact_id": "con_3EwrXnu9OaQWlfI1AyPUUEoYjQs",
      "email": "ada@example.com",
      "source_id": "cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN",
      "assigned_at": "2026-10-08T09:00:41.802Z",
      "redeemed_at": null,
      "redeemed_order_id": null,
      "created_at": "2026-10-01T09:00:12.304Z"
    }
  ],
  "total_records": 1045,
  "next_page_url": "/v2/coupons/cpn_3sMKUvFbx63T9hhDoNea7fmo1fQ/codes?page=2&limit=2",
  "previous_page_url": null
}
```

**CSV**

```text
code,status,email,assigned_at,redeemed_at
WELCOME-7KQ2M9XA,redeemed,ada@example.com,2026-10-08T09:00:41.751Z,2026-10-08T14:32:10.000Z
WELCOME-H4TZ8RCN,assigned,grace@example.com,2026-10-08T09:00:41.773Z,
WELCOME-QX3B9NMV,available,,,
```

**404**

```json
{
  "error": "Coupon not found",
  "message": "Coupon not found."
}
```

---
Fonte: https://emailit.com/pt/docs/api-reference/coupons/list-codes/

## Adicionar códigos a um cupom — POST /coupons/{id}/codes

> Envie os códigos da sua loja para um cupom de códigos únicos ou gere códigos aleatórios no Emailit. Alfa: aberto apenas à equipe do Emailit.

# Adicionar códigos a um cupom

Adiciona códigos ao pool de um cupom unique. Envie com `codes` os códigos que existem na sua loja, ou deixe o Emailit criar códigos aleatórios com `generate` e depois importe-os na sua loja com [Listar os códigos de um cupom](/pt/docs/api-reference/coupons/list-codes/) (`format=csv`). Os códigos que já estão no pool são ignorados. Os cupons static têm um único código e retornam `422`. Requer uma chave de API com escopo `full`.

> **O e-commerce está em alfa:** O e-commerce está aberto apenas à equipe do Emailit enquanto o testamos. As outras requisições retornam `403` com `error: "commerce_alpha"`. As chaves de API funcionam apenas em workspaces que pertencem à equipe do Emailit. Consulte [Quem pode usar o e-commerce](/pt/docs/commerce/#who-can-use-commerce).

`POST /coupons/{id}/codes`

## Parâmetros de caminho

- `id` (string, obrigatório): O ID do cupom (`cpn_...`) ou a `key` do cupom.

## Corpo da requisição

Envie `codes` ou `generate`. Se você enviar os dois, `generate` é usado.

- `codes` (string[] | string): Até 10.000 códigos: um array, ou um texto com um código por linha. Em um texto CSV, a primeira coluna é lida e um cabeçalho como `code` ou `coupon_code` é ignorado. Um código tem de 2 a 64 letras, dígitos, `-`, `_` ou `.`, começando com uma letra ou um dígito. Os códigos que não correspondem a esse formato são retornados em `invalid`.

- `generate` (object): Cria códigos aleatórios com letras maiúsculas e dígitos, sem `0`, `O`, `1` e `I`, que são fáceis de confundir. - `count` (inteiro, obrigatório): de 1 a 10.000 códigos. - `prefix` (string): até 20 letras, dígitos, `-` ou `_`, colocados na frente de cada código. Por exemplo, `WELCOME-`. - `length` (inteiro): caracteres aleatórios depois do prefixo, de 4 a 32. O padrão é 8. Os valores fora do intervalo são ajustados ao limite mais próximo.

## Retorno

- `added` (integer): Códigos adicionados ao pool.

- `skipped` (integer): Códigos que já estavam no pool.

- `invalid` (string[]): Valores enviados que não são códigos válidos e não foram adicionados.

- `coupon` (object): O [objeto de cupom](/pt/docs/api-reference/coupons/get/) com as novas contagens.

Retorna `404` se nenhum cupom corresponder a `id`, e `422` para um cupom static, quando nenhum código válido foi enviado, quando mais de 10.000 códigos foram enviados ou quando `generate.count` ou `generate.prefix` está fora do intervalo.
**Requisição** `POST /coupons/{id}/codes`

**cURL**

```bash
curl -X POST https://api.emailit.com/v2/coupons/welcome-10/codes \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "generate": { "count": 5000, "prefix": "WELCOME-", "length": 8 } }'
```

**200**

```json
{
  "added": 5000,
  "skipped": 0,
  "invalid": [],
  "coupon": {
    "object": "coupon",
    "id": "cpn_3sMKUvFbx63T9hhDoNea7fmo1fQ",
    "key": "welcome-10",
    "name": "Welcome 10% off",
    "description": "First-order discount for new subscribers.",
    "kind": "unique",
    "static_code": "WELCOME10",
    "discount_label": "10% off",
    "expires_at": "2026-12-31T23:59:59.000Z",
    "codes_total": 5003,
    "codes_available": 5003,
    "codes_assigned": 0,
    "codes_redeemed": 0,
    "created_at": "2026-10-01T09:00:12.304Z",
    "updated_at": "2026-10-01T09:00:12.304Z"
  }
}
```

**422**

```json
{
  "message": "Validation failed. codes: Static coupons have one code; set static_code instead.",
  "errors": {
    "codes": [
      "Static coupons have one code; set static_code instead."
    ]
  }
}
```

---
Fonte: https://emailit.com/pt/docs/api-reference/coupons/add-codes/
