---
title: "Criar complemento"
description: "POST /v1/catalog/complements — criar um complemento no cardápio BeeFood."
method: "POST"
path: "/v1/catalog/complements"
url: "https://developer.beefood.com.br/docs/catalogo/criar-complemento"
group: "Catálogo"
scope: "catalog:write"
lang: "pt"
---
# Criar complemento

`POST /v1/catalog/complements`

- Produção: `https://api.beefood.app/v1/catalog/complements`
- Sandbox: `https://api-sandbox.beefood.app/v1/catalog/complements`

Cria um complemento.

## Autenticação

Envie o access token no header `Authorization: Bearer <accessToken>`. Escopo necessário: `catalog:write`. Limite: 300 requisições a cada 3 minutos.




## Parâmetros do body

- `name` *string* **obrigatório** — Nome do complemento.

- `description` *string* — Descrição do complemento.

- `label` *string* — Selo do cardápio: new, recommended, bestSeller, limitedEdition ou soldOut.

- `price` *number* — Preço de venda.

- `code` *string* — Código interno.

- `barcode` *string* — Código de barras.

- `unit` *string* — Unidade de medida (Default: UN): UN, KG, G, L, ML, PCT, CX, DZ, FD, BD, SC, PT, CP, PC, FT, PQ, GF, LT ou BN.
  - *Valores:* `UN`, `KG`, `G`, `L`, `ML`, `PCT`, `CX`, `DZ`, `FD`, `BD`, `SC`, `PT`, `CP`, `PC`, `FT`, `PQ`, `GF`, `LT`, `BN`

- `featuredPrint` *boolean* — Indica se tem destaque na impressão.

- `cost` *object* — Custos do complemento.

- `cost.base` *number* — Custo base.



## Exemplos de requisição

### cURL

```bash
curl -X POST "https://api.beefood.app/v1/catalog/complements" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Molho Nola",
  "price": 2,
  "unit": "UN"
}'
```


## Exemplos de resposta

### 201 OK

```json
{
  "complementId": 2587090,
  "storeId": 107,
  "name": "Molho Nola",
  "description": "Molho Nola",
  "label": "new",
  "price": 2,
  "code": "MN1",
  "barcode": "7891000315507",
  "unit": "UN",
  "active": true,
  "featuredPrint": false,
  "cost": {
    "base": 0,
    "supply": 0,
    "total": 0
  },
  "menus": [
    {
      "merchantId": 122,
      "name": "BeeFood - Cardápio Digital",
      "active": true,
      "delivery": true,
      "deliveryPrice": 2,
      "dineIn": true,
      "dineInPrice": 2,
      "totem": false,
      "sortOrder": 1,
      "cashbackEnabled": false
    }
  ],
  "groups": [
    {
      "optionId": 5672302,
      "name": "Pop Barbecue + Pop Nola Rose : Deseja acrescentar algum ingrediente?"
    }
  ]
}
```


## Campos da resposta

- `complementId` *number* — Identificador do complemento.

- `storeId` *number* — Identificador da empresa.

- `name` *string* — Nome do complemento.

- `description` *string* — Descrição do complemento.

- `label` *string* — Selo do cardápio: new, recommended, bestSeller, limitedEdition ou soldOut.

- `price` *number* — Preço de venda.

- `code` *string* — Código interno.

- `barcode` *string* — Código de barras.

- `unit` *string* — Unidade de medida (Default: UN): UN, KG, G, L, ML, PCT, CX, DZ, FD, BD, SC, PT, CP, PC, FT, PQ, GF, LT ou BN.
  - *Valores:* `UN`, `KG`, `G`, `L`, `ML`, `PCT`, `CX`, `DZ`, `FD`, `BD`, `SC`, `PT`, `CP`, `PC`, `FT`, `PQ`, `GF`, `LT`, `BN`

- `active` *boolean* — Indica se está ativo em pelo menos um cardápio da empresa. Somente leitura.

- `featuredPrint` *boolean* — Indica se tem destaque na impressão.

- `cost` *object* — Custos do complemento.

- `cost.base` *number* — Custo base.

- `cost.supply` *number* — Custo da ficha técnica. Somente leitura.

- `cost.total` *number* — Soma do custo base com o custo da ficha técnica. Somente leitura.

- `menus` *array* — Configurações do complemento por cardápio.

- `menus[].merchantId` *number* — Identificador do cardápio.

- `menus[].name` *string* — Nome do cardápio. Somente leitura.

- `menus[].active` *boolean* — Indica se está ativo neste cardápio.

- `menus[].delivery` *boolean* — Indica se aparece no delivery.

- `menus[].deliveryPrice` *number* — Preço no delivery.

- `menus[].dineIn` *boolean* — Indica se aparece no presencial.

- `menus[].dineInPrice` *number* — Preço no presencial.

- `menus[].totem` *boolean* — Indica se aparece no totem.

- `menus[].promotionPrice` *number* — Preço promocional.

- `menus[].sortOrder` *number* — Posição de exibição.

- `menus[].featuredOrder` *number* — Posição entre destaques.

- `menus[].cashbackEnabled` *boolean* — Indica se o cashback está ativo neste cardápio.

- `groups` *array* — Grupos de opções em que o complemento aparece. Somente leitura.

- `groups[].optionId` *number* — Identificador da opção no grupo.

- `groups[].name` *string* — Nome do grupo.



## Erros

| Status | Mensagem |
| --- | --- |
| 401 | Authentication token is missing |
| 401 | Invalid or expired access token |
| 403 | This credential does not include the catalog:write scope |
| 429 | Too many requests |
| 400 | Invalid complement data |


## Vocabulários usados neste endpoint

## Catálogo · unit

Valores aceitos no campo unit dos produtos do catálogo.

| Valor | Significado | Uso |
| --- | --- | --- |
| `UN` | Unidade | /v1/catalog/products |
| `KG` | Quilograma | /v1/catalog/products |
| `G` | Grama | /v1/catalog/products |
| `L` | Litro | /v1/catalog/products |
| `ML` | Mililitro | /v1/catalog/products |
| `PCT` | Pacote | /v1/catalog/products |
| `CX` | Caixa | /v1/catalog/products |
| `DZ` | Dúzia | /v1/catalog/products |
| `FD` | Fardo | /v1/catalog/products |
| `BD` | Balde | /v1/catalog/products |
| `SC` | Saco | /v1/catalog/products |
| `PT` | Pote | /v1/catalog/products |
| `CP` | Copo | /v1/catalog/products |
| `PC` | Peça | /v1/catalog/products |
| `FT` | Fátia | /v1/catalog/products |
| `PQ` | Porção | /v1/catalog/products |
| `GF` | Garrafa | /v1/catalog/products |
| `LT` | Lata | /v1/catalog/products |
| `BN` | Bandeja | /v1/catalog/products |

