---
title: "Create Variable"
method: POST
path: "/app/variable"
tags: ["Variables"]
---

# Create Variable

`POST /app/variable`

Cria uma nova variável (campo personalizado).

## Request body

- object
  - `name` string, required — Identificador único da variável. Apenas letras, números, `-` e `_`
  - `description` string, required — Descrição exibida para o cliente no momento do preenchimento
  - `type` 'SELECT' | 'NUMBER' | 'TEXT' | 'ROBLOX', required — Tipo da variável: `SELECT`, `NUMBER`, `TEXT` ou `ROBLOX`
  - `required` boolean — Se o preenchimento é obrigatório (padrão: `true` para variáveis de pacote)
  - `regex` string — Expressão regular para validação do valor informado pelo cliente
  - `checkout_variable` boolean — Se `true`, a variável será exibida no checkout ao invés de no pacote
  - `applies_to` number[] — IDs dos pacotes aos quais a variável de checkout se aplica (apenas quando `checkout_variable` é `true`)
  - `options` object[] — Opções disponíveis (obrigatório quando o tipo é `SELECT`, mínimo 2 opções)
    - `name` string, required — Nome da opção exibido para o cliente
    - `value` string, required — Valor da opção (usado em comandos)
    - `price` number — Preço adicional da opção (entre 1 e 1.000.000)

## Response `200`

Variável criada

- Variable
  - `id` number — ID único da variável
  - `store_id` number — ID da loja
  - `name` string — Identificador da variável (usado em comandos como `{nome_variavel}`)
  - `description` string — Descrição da variável exibida para o cliente
  - `type` 'SELECT' | 'NUMBER' | 'TEXT' | 'ROBLOX' — Tipo da variável (`SELECT`, `NUMBER`, `TEXT`, `ROBLOX`)
  - `required` boolean — Se o preenchimento é obrigatório
  - `regex` string, nullable — Expressão regular para validação do campo
  - `applies_to` number[], nullable — IDs dos pacotes aos quais a variável de checkout se aplica
  - `bracket_display` string — Nome formatado para uso em comandos (ex: `{nickname}`)
  - `display` string — Nome formatado para exibição
  - `options` VariableOption[] — Opções disponíveis (quando o tipo é `SELECT`)
    - `id` number — ID da opção
    - `name` string — Nome da opção
    - `value` string — Valor da opção
    - `price` number, nullable — Preço adicional da opção

---

[API](https://skmtc.net/centralcart/apis/centralcart-api.md) · [All operations](https://skmtc.net/centralcart/apis/centralcart-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/centralcart/centralcart-api/revisions/6cbd98848375/schema)
