---
title: "Criar assinatura de plano"
method: POST
path: "/subscriptions"
---

# Criar assinatura de plano

`POST /subscriptions`

Fornecemos a possibilidade de criação de uma assinatura (`subscription`) a partir de plano (`plan`).

## Request body

- object
  - `code` string — Código da assinatura no sistema da loja. Máx.: 52 caracteres
  - `plan_id` string, required — Código do plano.<br>Formato: `plan_XXXXXXXXXXXXXXXX`
  - `payment_method` string, required — Meio de pagamento.<br>Valores possíveis: **credit_card**, **boleto** e **debit_card** .
  - `start_at` string, date — Data de início da assinatura.<br>Se não for informada, a assinatura será iniciada **imediatamente**.
  - `customer_id` string, required — Código do cliente.<br>**Obrigatório** caso o `customer` não seja informado. [Saiba mais sobre clientes](https://docs.pagar.me/reference/clientes-1).
  - `customer` object, required — Dados do cliente.<br>**Obrigatório** caso o `customer_id` não seja informado. [Saiba mais sobre clientes](https://docs.pagar.me/reference/clientes-1).
    - `name` string, required — Nome do cliente. Max: 64 caracteres.
    - `type` string — Tipo de cliente. Valores possíveis: individual (pessoa física) ou company (pessoa jurídica). Obrigatório, caso o document seja enviado.
    - `email` string — E-mail do cliente. Max: 64 caracteres.
    - `code` string — Código de referência do cliente no sistema da loja. Max: 52 caracteres.
    - `document` string — CPF, CNPJ ou PASSAPORTE do cliente. Max: 16 caracteres para CPF e CNPJ e Max: 50 caracteres para PASSAPORTE.
    - `document_type` string — Tipo de documento. Valores possíveis: "CPF", "CNPJ" ou "PASSPORT".
    - `gender` string — Sexo do cliente . Valores possíveis: male ou female.
    - `address` object — Endereço do cliente.
      - `country` string — País (Código do país no formato ISO 3166-1 alpha-2)(2 digitos)
      - `state` string — Estado (Código do estado no formato ISO 3166-2).
      - `city` string — Cidade.
      - `zip_code` string — Código Postal (CEP) (Apenas numérico).
      - `line_1` string — Dados principais do endereço. Neste campo deve ser informado Número, Rua, Bairro, nesta ordem e separados por vírgula.
      - `line_2` string — Dados complementares do endereço. Neste campo pode ser informado complemento, referências.
    - `phones` object — Telefone residencial do cliente.
      - `home_phone` object — Telefone residencial do cliente.
        - `country_code` string — Código do País (Apenas numérico).
        - `area_code` string — Código da área (Apenas numérico).
        - `number` string — Número do telefone (Apenas numérico).
      - `mobile_phone` object — Telefone celular do cliente.
        - `country_code` string — Código do País (Apenas numérico).
        - `area_code` string — Código da área (Apenas numérico).
        - `number` string — Número do telefone (Apenas numérico).
    - `birthdate` string, date — Data de nascimento do cliente.
    - `metadata` string — Objeto chave/valor utilizado para armazenar informações adicionais sobre o cliente.
  - `card` object, required — Cartão que será utilizado na assinatura. <br>**- card_id** é o código do cartão do cliente.<br>**- card_token** é token do cartão gerado pelo checkout transparente. <br> É **obrigatório** o envio de uma dessas identificações, caso o **payment_method** seja credit_card ou debit_card.<br>[Saiba mais sobre cartões](https://docs.pagar.me/reference/cart%C3%B5es-1).
    - `number` string, required — Número do cartão. Entre 13 e 19 caracteres
    - `holder_name` string, required — Nome do portador como está impresso no cartão. Máximo de 64 caracteres (Caracteres especiais e números não são aceitos)
    - `holder_document` string — CPF ou CNPJ do portador do cartão. Obrigatório caso o tipo do cartão seja voucher (bandeiras VR ou Pluxee).
    - `exp_month` integer, required — Mês de validade do cartão. Valor entre 1 e 12 (inclusive)
    - `exp_year` integer, required — Ano de validade do cartão. Formatos yy ou yyyy. Ex: 23 ou 2023.
    - `cvv` string — Código de segurança do cartão. O campo aceita 4 ou 3 caracteres, variando por bandeira.
    - `brand` string — (Opcional) Bandeira do cartão. Para cartões de crédito, temos como valores possíveis: Elo, Mastercard, Visa, Amex, ou Hipercard. Para voucher, temos como valores possíveis: Alelo, Ticket, VR ou Pluxee.
    - `label` string — Indica a label do cartão
    - `billing_address_id` string — Código do endereço de cobrança. Max: 36 caracteres.<>Opcional, pode ser utilizado no lugar do billing_address.
    - `billing_address` object
      - `line_1` string — Linha 1 do endereço. (Número, Rua, e Bairro - Nesta ordem e separados por vírgula) Max: 256 caracteres.
      - `line_2` string — Linha 2 do endereço. (Complemento - Andar, Sala, Apto). Max: 128 caracteres.
      - `zip_code` string — CEP. Max: 16 caracteres.
      - `city` string — Cidade. Max: 64 caracteres.
      - `state` string — Código do estado no formato ISO 3166-2.
      - `country` string — Código do país no formato ISO 3166-1 alpha-2.
  - `installments` integer — Quantidade de parcelas.<br>O número de parcelas deverá ser 1 em recorrências.
  - `discounts` object[] — Descontos.
    - `cycles` string — Número de vezes que o desconto será aplicado.
    - `value` string — Valor do desconto.
    - `discount_type` string — Tipo do desconto. Valores possíveis: flat ou percentage. Valor padrão: percentage.
  - `increments` object[] — Incrementos
    - `value` integer — Valor do incremento.
    - `cycles` string — Número de vezes que o incremento será aplicado.
    - `increment_type` string — Tipo do incremento. Valores possíveis: flat ou percentage. Valor padrão: percentage.
  - `boleto_due_days` integer — Dias para expiração do boleto. (Caso não seja passado, será pego um valor padrão das configurações da loja)
  - `metadata` string — Objeto chave/valor utilizado para armazenar informações adicionais sobre a assinatura.<br>[Saiba mais sobre metadata](https://docs.pagar.me/reference/metadata-1).

## Response `200`

200

- object
  - `id` string
  - `code` string
  - `start_at` string
  - `interval` string
  - `interval_count` integer
  - `billing_type` string
  - `current_cycle` object
    - `id` string
    - `start_at` string
    - `end_at` string
    - `billing_at` string
  - `next_billing_at` string
  - `payment_method` string
  - `currency` string
  - `statement_descriptor` string
  - `installments` integer
  - `status` string
  - `created_at` string
  - `updated_at` string
  - `customer` object
    - `id` string
    - `name` string
    - `email` string
    - `delinquent` boolean
    - `created_at` string
    - `updated_at` string
    - `phones` object
  - `plan` object
    - `id` string
    - `name` string
    - `description` string
    - `url` string
    - `statement_descriptor` string
    - `interval` string
    - `interval_count` integer
    - `billing_type` string
    - `payment_methods` string[]
    - `installments` integer[]
    - `status` string
    - `currency` string
    - `created_at` string
    - `updated_at` string
  - `items` object[]
    - `id` string
    - `name` string
    - `description` string
    - `quantity` integer
    - `status` string
    - `created_at` string
    - `updated_at` string
    - `pricing_scheme` object
      - `price` integer
      - `scheme_type` string

## Other responses

- `400` — 400

---

[API](https://skmtc.net/pagar/apis/pagarme-api.md) · [All operations](https://skmtc.net/pagar/apis/pagarme-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pagar/pagarme-api/versions/dababf062743/schema)
