---
title: "Criar plano"
url: "https://devcenter.stone.com.br/apis/v5-docs-legacy/versions/b9aaff36-6dcc-4353-8398-836d6c13dfa5/operations/criar-plano-1"
---

> Full API specification: https://devcenter.stone.com.br/apis/v5-docs-legacy/versions/b9aaff36-6dcc-4353-8398-836d6c13dfa5.md

# Criar plano

`POST` `/plans`

Operation ID: `criar-plano-1`

Este recurso possibilita a criação de um `plan` que poderá ser utilizado futuramente para a criação de uma assinatura. Para mais detalhes consulte a [pagina principal do objeto](https://docs.pagar.me/reference/planos-1).

## Request body

Content types: `application/json`

## Responses

- `200` - 200
- `422` - 422

## OpenAPI definition

```yaml
openapi: 3.1.0
info:
  title: Pagar.me v5 API (Legado)
  version: 5.0.0
servers:
  - url: https://api.stone.com.br/core/v5
paths:
  /plans:
    post:
      summary: Criar plano
      description: Este recurso possibilita a criação de um `plan` que poderá ser
        utilizado futuramente para a criação de uma assinatura. Para mais
        detalhes consulte a [pagina principal do
        objeto](https://docs.pagar.me/reference/planos-1).
      operationId: criar-plano-1
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - name
              properties:
                name:
                  type: string
                  description: "Nome do plano. Max: 64 caracteres."
                description:
                  type: string
                  description: Descrição do plano.
                shippable:
                  type: boolean
                  description: Indica se o plano oferece entrega.
                payment_methods:
                  type: array
                  description: "Meios de pagamento disponíveis para assinaturas criadas a partir
                    do plano. <br>Valores possíveis: **credit_card**, **boleto**
                    ou **debit_card**. Caso nenhum seja informado, o único meio
                    de pagamento disponível por padrão será **credit_card**"
                  items:
                    type: string
                installments:
                  type: array
                  description: Opções de parcelamento disponíveis para assinaturas criadas a
                    partir do plano.<br>Caso não seja informado, o plano irá
                    disponibilizar apenas assinaturas com pagamentos à vista. O
                    número de parcelas deverá ser 1 em recorrências.
                  items:
                    type: integer
                    format: int32
                minimum_price:
                  type: integer
                  description: Valor mínimo em centavos da fatura.
                  format: int32
                statement_descriptor:
                  type: string
                  description: "Texto exibido na fatura do cartão. <br>Será aplicado para
                    assinaturas de cartão de crédito criadas a partir do plano.
                    Max: 13 caracteres."
                currency:
                  type: string
                  description: "Moeda. Valores possíveis: **BRL**."
                interval:
                  type: string
                  description: "Frequência da recorrência. Valores possíveis: **day**,**week**,
                    **month** ou **year**."
                  default: month
                interval_count:
                  type: integer
                  description: "Número de intervalos de acordo com a propriedade **interval**
                    entre cada cobrança da assinatura. <br>Ex.: plano mensal =
                    **interval_count** (1) e **interval** (month) <br> plano
                    trimestral = **interval_count** (3) e **interval** (month)
                    <br> plano semestral = **interval_count** (6) e** interval**
                    (month)"
                  default: 1
                  format: int32
                trial_period_days:
                  type: integer
                  description: Dias de teste. A assinatura será iniciada após o término deste
                    período.
                  format: int32
                billing_type:
                  type: string
                  description: "Tipo de cobrança. Valores possíveis: **prepaid**, **postpaid **ou
                    **exact_day**."
                billing_days:
                  type: array
                  description: Dias disponíveis para cobrança das assinaturas criadas a partir do
                    plano. Deve ser maior ou igual a 1 e menor ou igual a 28.
                    **Obrigatório**, caso o **billing_type** seja igual a
                    **exact_day**.
                  items:
                    type: integer
                    format: int32
                items:
                  type: array
                  description: Itens do plano. [Saiba mais sobre um itens do
                    plano](https://docs.pagar.me/reference/item-do-plano-1)
                  items:
                    properties:
                      description:
                        type: string
                        description: Descrição de itens.
                      quantity:
                        type: string
                        description: Quantidade de itens.
                      pricing_scheme:
                        type: object
                        description: Esquema de precificação do item.
                        required:
                          - scheme_type
                        properties:
                          scheme_type:
                            type: string
                            description: "Esquema de precificação do item. Valores possíveis: **unit**,
                              **package**, **volume** e **tier**. Valor default:
                              unit"
                            default: Unit
                          price:
                            type: integer
                            description: "Valor do item. Este atributo está disponível para o scheme_type :
                              **Unit**"
                            format: int32
                          mininum_price:
                            type: integer
                            description: Valor mínimo a ser cobrado.
                            format: int32
                          price_brackets:
                            type: array
                            description: "Intervalo de preços. Este atributo está disponível para os
                              scheme_type : **package**, **volume** e **tier**."
                            items:
                              properties:
                                start_quantity:
                                  type: integer
                                  description: Valor que define a quantidade inicial de unidades do intervalo.
                                  format: int32
                                end_quantity:
                                  type: integer
                                  description: Valor que define a quantidade final de unidades do intervalo.
                                  format: int32
                                overage_price:
                                  type: integer
                                  description: Valor para cálculo do preço por unidade que exceder o intervalo.
                                  format: int32
                                price:
                                  type: integer
                                  description: "Valor para cálculo do preço dentro do intervalo. OBS: o preço a
                                    ser cobrado do cliente será calculado de
                                    acordo com a quantidade e o scheme_type"
                                  format: int32
                              type: object
                      cycles:
                        type: string
                        description: Indica quantas vezes o item será cobrado.
                    type: object
                metadata:
                  type: string
                  description: Objeto chave/valor utilizado para armazenar informações adicionais
                    sobre o plano.<br>[Saiba mais sobre
                    metadata](https://docs.pagar.me/reference/metadata-1)
                pricing_scheme:
                  type: object
                  description: Esquema de precificação.<br>Obrigatório na ausência de **items**.
                  required:
                    - scheme_type
                  properties:
                    scheme_type:
                      type: string
                      description: "Esquema de precificação do item. Valores possíveis: **unit**,
                        **package**, **volume** e **tier**. Valor default: unit"
                      default: Unit
                    price:
                      type: integer
                      description: "Valor do item. Este atributo está disponível para o scheme_type :
                        **Unit**"
                      format: int32
                    mininum_price:
                      type: integer
                      description: Valor mínimo a ser cobrado.
                      format: int32
                    price_brackets:
                      type: array
                      description: "Intervalo de preços. Este atributo está disponível para os
                        scheme_type : **package**, **volume** e **tier**."
                      items:
                        properties:
                          start_quantity:
                            type: integer
                            description: Valor que define a quantidade inicial de unidades do intervalo.
                            format: int32
                          end_quantity:
                            type: integer
                            description: Valor que define a quantidade final de unidades do intervalo.
                            format: int32
                          overage_price:
                            type: integer
                            description: Valor para cálculo do preço por unidade que exceder o intervalo.
                            format: int32
                          price:
                            type: integer
                            description: "Valor para cálculo do preço dentro do intervalo. OBS: o preço a
                              ser cobrado do cliente será calculado de acordo
                              com a quantidade e o scheme_type"
                            format: int32
                        type: object
                quantity:
                  type: integer
                  description: Quantidade para o **pricing_scheme**.<br>Obrigatório quando o
                    **pricing_scheme.scheme_type** for igual a **unit**.
                  default: null
                  format: int32
            examples:
              Request Example:
                value:
                  name: Plano Gold
                  currency: BRL
                  interval: month
                  interval_count: 3
                  billing_type: prepaid
                  minimum_price: 10000
                  installments:
                    - 3
                  payment_methods:
                    - credit_card
                    - boleto
                  items:
                    - name: Musculação
                      quantity: 1
                      pricing_scheme:
                        price: 18990
                    - name: Matrícula
                      cycles: 1
                      quantity: 1
                      pricing_scheme:
                        price: 5990
                  metadata:
                    id: my_plan_id
      responses:
        "200":
          description: "200"
          content:
            application/json:
              examples:
                Result:
                  value: |-
                    {
                        "id": "plan_0z5Jd4dFk3t9Jo4m",
                        "name": "Plano Gold",
                        "url": "plans/plan_0z5Jd4dFk3t9Jo4m/simu/plano-gold",
                        "minimum_price": 10000,
                        "interval": "month",
                        "interval_count": 3,
                        "billing_type": "prepaid",
                        "payment_methods": [
                            "credit_card",
                            "boleto"
                        ],
                        "installments": [
                            3
                        ],
                        "status": "active",
                        "status_reason": "null",
                        "currency": "BRL",
                        "created_at": "2019-01-22T17:24:02Z",
                        "updated_at": "2019-01-22T17:24:02Z",
                        "items": [
                            {
                                "id": "pi_d97LMgRCmOFdWREe",
                                "name": "Musculação",
                                "quantity": 1,
                                "status": "active",
                                "created_at": "2019-01-22T17:24:02Z",
                                "updated_at": "2019-01-22T17:24:02Z",
                                "pricing_scheme": {
                                    "price": 18990,
                                    "scheme_type": "unit"
                                }
                            },
                            {
                                "id": "pi_2rXolMkFxRILvw1M",
                                "name": "Matrícula",
                                "quantity": 1,
                                "status": "active",
                                "cycles": 1,
                                "created_at": "2019-01-22T17:24:02Z",
                                "updated_at": "2019-01-22T17:24:02Z",
                                "pricing_scheme": {
                                    "price": 5990,
                                    "scheme_type": "unit"
                                }
                            }
                        ],
                        "metadata": {
                            "id": "my_plan_id"
                        }
                    }
        "422":
          description: "422"
          content:
            application/json:
              examples:
                Result:
                  value: |-
                    {
                        "message": "The request is invalid.",
                        "errors": {
                            "plan.name": [
                                "The name field is required."
                            ]
                        },
                        "request": {
                            "payment_methods": [
                                "credit_card"
                            ],
                            "installments": [
                                3
                            ],
                            "minimum_price": 10000,
                            "currency": "BRL",
                            "interval": "month",
                            "interval_count": 3,
                            "billing_type": "prepaid",
                            "items": [
                                {
                                    "name": "Musculação",
                                    "quantity": 1,
                                    "pricing_scheme": {
                                        "price": 18990,
                                        "scheme_type": "unit"
                                    }
                                },
                                {
                                    "name": "Matrícula",
                                    "quantity": 1,
                                    "cycles": 1,
                                    "pricing_scheme": {
                                        "price": 5990,
                                        "scheme_type": "unit"
                                    }
                                }
                            ],
                            "metadata": {
                                "id": "my_plan_id"
                            }
                        }
                    }
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The request is invalid.
                  errors:
                    type: object
                    properties:
                      plan.name:
                        type: array
                        items:
                          type: string
                          example: The name field is required.
                  request:
                    type: object
                    properties:
                      payment_methods:
                        type: array
                        items:
                          type: string
                          example: credit_card
                      installments:
                        type: array
                        items:
                          type: integer
                          example: 3
                          default: 0
                      minimum_price:
                        type: integer
                        example: 10000
                        default: 0
                      currency:
                        type: string
                        example: BRL
                      interval:
                        type: string
                        example: month
                      interval_count:
                        type: integer
                        example: 3
                        default: 0
                      billing_type:
                        type: string
                        example: prepaid
                      items:
                        type: array
                        items:
                          type: object
                          properties:
                            name:
                              type: string
                              example: Musculação
                            quantity:
                              type: integer
                              example: 1
                              default: 0
                            pricing_scheme:
                              type: object
                              properties:
                                price:
                                  type: integer
                                  example: 18990
                                  default: 0
                                scheme_type:
                                  type: string
                                  example: unit
                      metadata:
                        type: object
                        properties:
                          id:
                            type: string
                            example: my_plan_id
      deprecated: false
security:
  - sec0: []
components:
  securitySchemes:
    sec0:
      type: http
      scheme: basic
```
