> ## Documentation Index
> Fetch the complete documentation index at: https://scaleup-c34c4386.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# POST /api/v1/discounts/

> Cria um novo desconto ou cupom

Cria um novo desconto que pode ser aplicado em checkouts e assinaturas.

## Autenticação

> [!NOTE]
>
> Requer um token de acesso válido (`CHARGEFY_ACCESS_TOKEN`) no header `Authorization`.

## Parâmetros do Body

| Parâmetro | Tipo | Obrigatório | Descrição |
| - | - | - | - |
| `name` | `string` | Sim | Nome do desconto |
| `type` | `string` | Sim | Tipo: `fixed` ou `percentage` |
| `amount` | `integer` | Condicional | Valor fixo em centavos (obrigatório quando `type: fixed`) |
| `basisPoints` | `integer` | Condicional | Percentual em basis points (obrigatório quando `type: percentage`, ex: 1000 = 10%) |
| `duration` | `string` | Sim | Duração: `once`, `repeating` ou `forever` |
| `durationInMonths` | `integer` | Condicional | Meses de duração (obrigatório quando `duration: repeating`) |
| `maxRedemptions` | `integer` | Não | Máximo de utilizações (null = ilimitado) |
| `code` | `string` | Não | Código do cupom |
| `productIds` | `array` | Não | IDs dos produtos elegíveis |

## Campos da Resposta

Retorna o objeto completo do desconto criado.

## Exemplo de Requisição

```bash cURL theme={null}
curl -X POST "https://api.chargefy.io/api/v1/discounts/" \
  -H "Authorization: Bearer $CHARGEFY_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Desconto de Lançamento",
    "type": "percentage",
    "basisPoints": 2000,
    "duration": "once",
    "maxRedemptions": 100,
    "code": "LAUNCH20"
  }'
```

```typescript SDK theme={null}
import { Chargefy } from '@chargefy/sdk';

const chargefy = new Chargefy({
  accessToken: process.env.CHARGEFY_ACCESS_TOKEN,
});

const discount = await chargefy.discounts.create({
  name: 'Desconto de Lançamento',
  type: 'percentage',
  basisPoints: 2000,
  duration: 'once',
  maxRedemptions: 100,
  code: 'LAUNCH20',
});
```

## Exemplo de Resposta

```json theme={null}
{
  "id": "disc_new456",
  "name": "Desconto de Lançamento",
  "type": "percentage",
  "basisPoints": 2000,
  "duration": "once",
  "maxRedemptions": 100,
  "redemptionsCount": 0,
  "code": "LAUNCH20",
  "createdAt": "2026-03-12T10:00:00Z"
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.