> ## Documentation Index
> Fetch the complete documentation index at: https://docs.besimplo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Reenviar evento

> Entrega o evento de novo, para os endpoints ativos que assinam este tipo
agora. Serve para reconciliar: se o seu listener estava fora do ar enquanto
as tentativas automáticas rodavam, ou se a URL foi cadastrada depois, o
reenvio leva o evento até lá.

O corpo enviado é o mesmo de antes, com o mesmo `evt_` no cabeçalho
`webhook-id`. Receber o evento duas vezes é seguro por construção: o ID é a
sua chave de idempotência.

Cada reenvio abre uma nova escada de até 10 tentativas ao longo de 93 horas,
igual à entrega original. São permitidos até 3 reenvios por evento, a
qualquer momento dentro dos 30 dias de retenção.

A resposta é `202`: o reenvio foi aceito e enfileirado. O resultado aparece
em `GET /api/v1/events?delivery_status=...`.

**Limite de taxa:** 10 requisições por minuto por chave de API.




## OpenAPI

````yaml /api-reference/openapi.yml post /api/v1/events/{id}/resend
openapi: 3.1.0
info:
  title: API - Simplo
  version: 1.0.0
  description: API para cobrança e assinaturas para contas Simplo
  contact:
    name: Simplo
    url: https://besimplo.com
    email: team@besimplo.com
servers:
  - url: https://besimplo.com
    description: Produção
security:
  - apiKeyAuth: []
tags:
  - name: Clientes
    description: Clientes são as pessoas que pagarão pelos produtos da sua conta
  - name: Produtos
    description: Produtos representam os bens ou serviços que você vende
  - name: Preços
    description: Preços definem quanto cobrar e a frequência de cobrança de um Produto
  - name: Assinaturas
    description: Assinaturas conectam clientes aos seus planos para cobrança recorrente
  - name: Checkout
    description: >-
      Sessões de checkout permitem que clientes completem pagamentos e
      assinaturas através de uma interface web
  - name: Faturas
    description: Faturas representam cobranças geradas para clientes
  - name: Tentativas de cobrança
    description: >-
      Cada tentativa de receber o valor de uma fatura, com vencimento próprio e
      limite de tentativas
  - name: Eventos
    description: >
      O registro do que aconteceu na conta, com o corpo congelado no instante do
      fato. O evento existe tenha ele sido entregue ou não: a entrega por
      webhook é um consumidor dele. Consulte, filtre pelo resultado da entrega e
      reenvie o que não chegou.
  - name: Webhooks
    description: >
      Os eventos do catálogo, enviados por HTTP POST para os endpoints

      cadastrados na sua conta. Cada conta registra até 5 endpoints, cada um com

      a sua URL, o seu filtro de eventos e o seu segredo.


      O corpo é o próprio evento: `"object": "event"` no topo, e `data.object`

      com o recurso a que ele se refere, no mesmo formato em que

      `GET /api/v1/<recurso>/{id}` o devolve.


      Toda entrega vai assinada, no padrão

      [Standard
      Webhooks](https://github.com/standard-webhooks/standard-webhooks/blob/main/spec/standard-webhooks.md).

      São três cabeçalhos — `webhook-id`, `webhook-timestamp` e

      `webhook-signature` — e a chave é o segredo `whsec_` daquele endpoint,

      visível no painel em **Configurações → Webhooks**.


      Responda 2xx rápido e processe depois. Uma entrega que falha é retentada

      até 10 vezes ao longo de 93 horas, então o mesmo evento pode chegar duas

      vezes: use o `evt_` do cabeçalho `webhook-id` como chave de idempotência.


      O que não chegou continua consultável por 30 dias em `GET /api/v1/events`,

      e `POST /api/v1/events/{id}/resend` manda de novo.
paths:
  /api/v1/events/{id}/resend:
    post:
      tags:
        - Eventos
      summary: Reenviar evento
      description: >
        Entrega o evento de novo, para os endpoints ativos que assinam este tipo

        agora. Serve para reconciliar: se o seu listener estava fora do ar
        enquanto

        as tentativas automáticas rodavam, ou se a URL foi cadastrada depois, o

        reenvio leva o evento até lá.


        O corpo enviado é o mesmo de antes, com o mesmo `evt_` no cabeçalho

        `webhook-id`. Receber o evento duas vezes é seguro por construção: o ID
        é a

        sua chave de idempotência.


        Cada reenvio abre uma nova escada de até 10 tentativas ao longo de 93
        horas,

        igual à entrega original. São permitidos até 3 reenvios por evento, a

        qualquer momento dentro dos 30 dias de retenção.


        A resposta é `202`: o reenvio foi aceito e enfileirado. O resultado
        aparece

        em `GET /api/v1/events?delivery_status=...`.


        **Limite de taxa:** 10 requisições por minuto por chave de API.
      operationId: resendEvent
      parameters:
        - name: id
          in: path
          description: ID do evento, no formato TypeID com prefixo `evt_`.
          required: true
          schema:
            type: string
            pattern: ^evt_[0-9a-z]{26}$
            example: evt_01h455vb4pex5vsknk084sn02e
      responses:
        '202':
          description: Reenvio aceito
          content:
            application/json:
              schema:
                unevaluatedProperties: false
                allOf:
                  - type: object
                    required:
                      - id
                      - object
                      - type
                      - created
                      - live_mode
                      - data
                    properties:
                      id:
                        type: string
                        pattern: ^evt_[0-9a-z]{26}$
                        readOnly: true
                        description: >
                          ID do evento, no formato TypeID com prefixo `evt_`. É
                          o mesmo valor do

                          cabeçalho `webhook-id` da entrega, e é a chave de
                          idempotência: receber

                          o mesmo `id` duas vezes significa a mesma coisa que
                          recebê-lo uma vez.
                        example: evt_01h455vb4pex5vsknk084sn02e
                      object:
                        type: string
                        description: Tipo do objeto. Sempre 'event'.
                        enum:
                          - event
                        example: event
                      type:
                        type: string
                        description: >
                          O que aconteceu.

                          - invoice.created: Fatura criada.

                          - invoice.paid: Fatura paga.

                          - invoice.uncollectible: Fatura dada como incobrável.

                          - invoice.voided: Fatura cancelada.

                          - payment_intent.created: Tentativa de cobrança
                          criada.

                          - payment_intent.failed: Tentativa de cobrança falhou.

                          - payment_intent.attempts_exhausted: Sem novas
                          tentativas de cobrança.

                          - payment_intent.refund_requested: Estorno solicitado.

                          - payment_intent.refunded: Estorno concluído.

                          - checkout_session.completed: Sessão de checkout
                          concluída.

                          - checkout_session.expired: Sessão de checkout
                          expirada.

                          - subscription.created: Assinatura criada.

                          - subscription.activated: Assinatura ativada pelo
                          primeiro pagamento.

                          - subscription.overdue: Assinatura entrou em atraso.

                          - subscription.suspended: Assinatura suspensa após
                          falhas de pagamento.

                          - subscription.reactivated: Assinatura voltou para a
                          cobrança.

                          - subscription.canceled: Assinatura cancelada.

                          - subscription.period_started: Novo ciclo de cobrança
                          iniciado.
                        enum:
                          - invoice.created
                          - invoice.paid
                          - invoice.uncollectible
                          - invoice.voided
                          - payment_intent.created
                          - payment_intent.failed
                          - payment_intent.attempts_exhausted
                          - payment_intent.refund_requested
                          - payment_intent.refunded
                          - checkout_session.completed
                          - checkout_session.expired
                          - subscription.created
                          - subscription.activated
                          - subscription.overdue
                          - subscription.suspended
                          - subscription.reactivated
                          - subscription.canceled
                          - subscription.period_started
                        example: invoice.paid
                      created:
                        type: integer
                        format: int64
                        readOnly: true
                        description: Timestamp Unix do instante em que o fato aconteceu.
                        example: 1741541400
                      live_mode:
                        type: boolean
                        description: Indica ambiente de produção (true) ou sandbox (false).
                        example: true
                      data:
                        type: object
                        unevaluatedProperties: false
                        required:
                          - object
                        description: >
                          O recurso a que o evento se refere, no mesmo formato
                          em que

                          `GET /api/v1/<recurso>/{id}` o devolve. Recursos
                          relacionados aparecem

                          como IDs, não aninhados.
                        properties:
                          object:
                            description: >
                              A fatura, a cobrança, a sessão de checkout ou a
                              assinatura que o

                              evento descreve. O campo `object` de dentro diz
                              qual recurso é.
                            oneOf:
                              - unevaluatedProperties: false
                                allOf:
                                  - type: object
                                    required:
                                      - id
                                      - object
                                      - amount_due
                                      - created
                                      - currency
                                      - customer
                                      - live_mode
                                      - status
                                      - total
                                    properties:
                                      id:
                                        type: string
                                        pattern: ^in_[0-9a-z]{26}$
                                        readOnly: true
                                        description: >-
                                          ID único da fatura, no formato TypeID
                                          com prefixo `in_`.
                                        example: in_01h455vb4pex5vsknk084sn02q
                                      object:
                                        type: string
                                        description: Tipo do objeto. Sempre 'invoice'.
                                        enum:
                                          - invoice
                                        example: invoice
                                      amount_due:
                                        type: integer
                                        description: >-
                                          Valor a pagar em centavos. R$ 99,90 =
                                          9990.
                                        example: 9990
                                      amount_paid:
                                        type: integer
                                        description: >-
                                          Valor já pago em centavos. R$ 99,90 =
                                          9990.
                                        example: 0
                                      amount_refunded:
                                        type: integer
                                        description: >
                                          Valor estornado em centavos. Permanece
                                          separado de `status`: uma fatura

                                          paga continua com `status: paid` depois
                                          de um estorno total ou parcial.
                                        example: 0
                                      amount_remaining:
                                        type: integer
                                        description: >-
                                          Valor restante a pagar em centavos. R$
                                          99,90 = 9990.
                                        example: 9990
                                      created:
                                        type: integer
                                        format: int64
                                        readOnly: true
                                        description: Timestamp Unix da criação da fatura.
                                        example: 1704672000
                                      currency:
                                        type: string
                                        description: >-
                                          Moeda do valor. Sempre 'brl' (Real
                                          brasileiro).
                                        enum:
                                          - brl
                                        example: brl
                                      customer:
                                        type: string
                                        pattern: ^cus_[0-9a-z]{26}$
                                        description: >-
                                          ID do cliente associado à fatura, no
                                          formato TypeID com prefixo `cus_`.
                                        example: cus_01h455vb4pex5vsknk084sn02p
                                      customer_email:
                                        type:
                                          - string
                                          - 'null'
                                        nullable: true
                                        description: E-mail do cliente.
                                        example: joao.silva@exemplo.com
                                      customer_name:
                                        type:
                                          - string
                                          - 'null'
                                        nullable: true
                                        description: Nome do cliente.
                                        example: João Silva
                                      external_code:
                                        type:
                                          - string
                                          - 'null'
                                        nullable: true
                                        description: >-
                                          Código externo para integração com
                                          outros sistemas. Único por conta.
                                        example: PEDIDO-123
                                      live_mode:
                                        type: boolean
                                        description: >-
                                          Indica ambiente de produção (true) ou
                                          sandbox (false). Dados de sandbox são
                                          limpos periodicamente.
                                        example: true
                                      paid:
                                        type: boolean
                                        description: Indica se a fatura foi paga.
                                        example: false
                                      payment_intent:
                                        type:
                                          - string
                                          - 'null'
                                        nullable: true
                                        pattern: ^pi_[0-9a-z]{26}$
                                        description: >
                                          ID da cobrança associada à fatura, no
                                          formato TypeID com prefixo `pi_`.

                                          `null` enquanto a fatura ainda não tem
                                          cobrança gerada.
                                        example: pi_01h455vb4pex5vsknk084sn02r
                                      status:
                                        type: string
                                        description: >
                                          Status atual da fatura.

                                          - draft: Rascunho, ainda não finalizada.

                                          - open: Aberta, aguardando pagamento.

                                          - paid: Paga.

                                          - uncollectible: Marcada como
                                          incobrável.

                                          - void: Cancelada.
                                        enum:
                                          - draft
                                          - open
                                          - paid
                                          - uncollectible
                                          - void
                                        example: open
                                      status_transitions:
                                        type: object
                                        description: >
                                          Timestamps de quando a fatura mudou de
                                          status.

                                          Campos são null se a transição ainda não
                                          ocorreu.
                                        properties:
                                          paid_at:
                                            type:
                                              - integer
                                              - 'null'
                                            nullable: true
                                            format: int64
                                            description: >-
                                              Timestamp Unix de quando a fatura foi
                                              paga.
                                            example: 1704758400
                                      subscription:
                                        type:
                                          - string
                                          - 'null'
                                        nullable: true
                                        pattern: ^sub_[0-9a-z]{26}$
                                        description: >-
                                          ID da assinatura associada (se
                                          aplicável), no formato TypeID com
                                          prefixo `sub_`.
                                        example: sub_01h455vb4pex5vsknk084sn02s
                                      total:
                                        type: integer
                                        description: >-
                                          Valor total da fatura em centavos. R$
                                          99,90 = 9990.
                                        example: 9990
                              - unevaluatedProperties: false
                                allOf:
                                  - type: object
                                    required:
                                      - id
                                      - object
                                      - amount
                                      - attempts
                                      - created
                                      - currency
                                      - customer
                                      - due_at
                                      - invoice
                                      - live_mode
                                      - max_attempts
                                      - status
                                    properties:
                                      id:
                                        type: string
                                        pattern: ^pi_[0-9a-z]{26}$
                                        readOnly: true
                                        description: >-
                                          ID único da cobrança, no formato TypeID
                                          com prefixo `pi_`.
                                        example: pi_01h455vb4pex5vsknk084sn02r
                                      object:
                                        type: string
                                        description: Tipo do objeto. Sempre 'payment_intent'.
                                        enum:
                                          - payment_intent
                                        example: payment_intent
                                      amount:
                                        type: integer
                                        description: >-
                                          Valor a cobrar em centavos. R$ 99,90 =
                                          9990.
                                        example: 9990
                                      attempts:
                                        type: integer
                                        description: >-
                                          Quantas tentativas de cobrança já foram
                                          feitas.
                                        example: 1
                                      created:
                                        type: integer
                                        format: int64
                                        readOnly: true
                                        description: Timestamp Unix da criação da cobrança.
                                        example: 1704672000
                                      currency:
                                        type: string
                                        description: >-
                                          Moeda do valor. Sempre 'brl' (Real
                                          brasileiro).
                                        enum:
                                          - brl
                                        example: brl
                                      customer:
                                        type: string
                                        pattern: ^cus_[0-9a-z]{26}$
                                        description: >-
                                          ID do cliente cobrado, no formato TypeID
                                          com prefixo `cus_`.
                                        example: cus_01h455vb4pex5vsknk084sn02p
                                      due_at:
                                        type: integer
                                        format: int64
                                        description: >-
                                          Timestamp Unix do vencimento da
                                          cobrança.
                                        example: 1704758400
                                      installments:
                                        type:
                                          - integer
                                          - 'null'
                                        nullable: true
                                        description: >-
                                          Número de parcelas da cobrança no
                                          cartão. `1` para cobrança à vista.
                                        example: 1
                                      invoice:
                                        type: string
                                        pattern: ^in_[0-9a-z]{26}$
                                        description: >-
                                          ID da fatura que a cobrança liquida, no
                                          formato TypeID com prefixo `in_`.
                                        example: in_01h455vb4pex5vsknk084sn02q
                                      last_payment_error:
                                        type:
                                          - object
                                          - 'null'
                                        nullable: true
                                        description: >
                                          Motivo da última tentativa recusada, ou
                                          `null` enquanto nenhuma

                                          tentativa falhou. É zerado quando uma
                                          nova tentativa começa.


                                          O código da adquirente não sai do
                                          sistema: a Simplo é multiadquirente

                                          por desenho, e estes seis códigos
                                          continuam válidos quando a mesma

                                          fatura for cobrada por outra adquirente.
                                        required:
                                          - code
                                          - message
                                          - retryable
                                        properties:
                                          code:
                                            type: string
                                            description: >
                                              Motivo da recusa.

                                              - card_declined: Recusa genérica do
                                              emissor, incluindo saldo insuficiente.

                                              - card_expired: Cartão vencido.

                                              - card_invalid: Dados do cartão
                                              inválidos.

                                              - card_canceled: Cartão cancelado pelo
                                              emissor.

                                              - card_blocked: Cartão bloqueado pelo
                                              emissor.

                                              - processing_error: Falha no
                                              processamento; o cartão não é a causa.
                                            enum:
                                              - card_declined
                                              - card_expired
                                              - card_invalid
                                              - card_canceled
                                              - card_blocked
                                              - processing_error
                                            example: card_declined
                                          message:
                                            type: string
                                            description: >-
                                              Descrição da recusa, pronta para ser
                                              exibida ao pagador.
                                            example: O banco emissor recusou a cobrança.
                                          retryable:
                                            type: boolean
                                            description: >-
                                              Indica se vale a pena cobrar o mesmo
                                              cartão de novo.
                                            example: false
                                      live_mode:
                                        type: boolean
                                        description: >-
                                          Indica ambiente de produção (true) ou
                                          sandbox (false). Dados de sandbox são
                                          limpos periodicamente.
                                        example: true
                                      max_attempts:
                                        type: integer
                                        description: >-
                                          Limite de tentativas antes de a cobrança
                                          parar de ser reprocessada.
                                        example: 3
                                      next_attempt:
                                        type:
                                          - integer
                                          - 'null'
                                        nullable: true
                                        format: int64
                                        description: >
                                          Timestamp Unix da próxima tentativa
                                          automática.

                                          `null` quando não há retentativa
                                          agendada.
                                        example: 1704844800
                                      payment_method_type:
                                        type:
                                          - string
                                          - 'null'
                                        nullable: true
                                        description: >
                                          Meio de pagamento pelo qual o dinheiro
                                          se moveu, derivado da transação

                                          gerada pela cobrança. `null` enquanto
                                          nenhum checkout escolheu um meio.
                                        enum:
                                          - pix
                                          - card
                                          - null
                                        example: pix
                                      status:
                                        type: string
                                        description: >
                                          Status atual da cobrança.

                                          - pending: Aguardando processamento.

                                          - processing: Em processamento na
                                          adquirente.

                                          - paid: Paga.

                                          - failed: Recusada; pode ser retentada
                                          até `max_attempts`.

                                          - refunding: Estorno solicitado.

                                          - refunded: Estornada.

                                          - discarded: Substituída por um checkout
                                          que assumiu a fatura.
                                        enum:
                                          - pending
                                          - processing
                                          - paid
                                          - failed
                                          - refunding
                                          - refunded
                                          - discarded
                                        example: pending
                                      status_transitions:
                                        type: object
                                        description: >
                                          Timestamps de quando a cobrança mudou de
                                          status.

                                          Campos são null se a transição ainda não
                                          ocorreu.
                                        properties:
                                          paid_at:
                                            type:
                                              - integer
                                              - 'null'
                                            nullable: true
                                            format: int64
                                            description: >-
                                              Timestamp Unix de quando a cobrança foi
                                              paga.
                                            example: 1704758400
                                      subscription:
                                        type:
                                          - string
                                          - 'null'
                                        nullable: true
                                        pattern: ^sub_[0-9a-z]{26}$
                                        description: >-
                                          ID da assinatura que originou a fatura
                                          (se aplicável), no formato TypeID com
                                          prefixo `sub_`.
                                        example: sub_01h455vb4pex5vsknk084sn02s
                              - unevaluatedProperties: false
                                allOf:
                                  - type: object
                                    required:
                                      - id
                                      - object
                                      - amount
                                      - created
                                      - currency
                                      - customer
                                      - expires_at
                                      - invoice
                                      - line_items
                                      - live_mode
                                      - mode
                                      - status
                                      - success_url
                                      - url
                                    properties:
                                      id:
                                        type: string
                                        pattern: ^cs_[0-9a-z]{26}$
                                        readOnly: true
                                        description: >-
                                          ID único da sessão de checkout, no
                                          formato TypeID com prefixo `cs_`.
                                        example: cs_01h455vb4pex5vsknk084sn02c
                                      object:
                                        type: string
                                        description: >-
                                          Tipo do objeto. Sempre
                                          'checkout_session'.
                                        enum:
                                          - checkout_session
                                        example: checkout_session
                                      amount:
                                        type:
                                          - integer
                                          - 'null'
                                        nullable: true
                                        description: >
                                          Valor total em centavos. `null` quando o
                                          cliente ainda não foi informado e

                                          a fatura não foi gerada.
                                        example: 9990
                                      created:
                                        type: integer
                                        format: int64
                                        readOnly: true
                                        description: Timestamp Unix da criação da sessão.
                                        example: 1704672000
                                      currency:
                                        type: string
                                        description: >-
                                          Código da moeda (ISO 4217). Sempre 'brl'
                                          (Real brasileiro).
                                        enum:
                                          - brl
                                        example: brl
                                      customer:
                                        type:
                                          - string
                                          - 'null'
                                        nullable: true
                                        pattern: ^cus_[0-9a-z]{26}$
                                        description: >
                                          ID do cliente vinculado à sessão, no
                                          formato TypeID com prefixo `cus_`.

                                          `null` quando `customer_id`/`customer`
                                          não foram enviados na criação — o

                                          comprador preenche os dados na página de
                                          checkout e o cliente é criado

                                          nesse momento.
                                        example: cus_01h455vb4pex5vsknk084sn02p
                                      discounts:
                                        type: object
                                        description: >-
                                          Descontos aplicados à sessão. Ausente
                                          quando a sessão não tem desconto.
                                        unevaluatedProperties: false
                                        required:
                                          - object
                                          - data
                                        properties:
                                          object:
                                            type: string
                                            enum:
                                              - list
                                            example: list
                                          data:
                                            type: array
                                            items:
                                              type: object
                                              unevaluatedProperties: false
                                              required:
                                                - type
                                              properties:
                                                type:
                                                  type: string
                                                  description: >-
                                                    Tipo de desconto aplicado (`percentage`
                                                    ou `fixed`).
                                                  enum:
                                                    - percentage
                                                    - fixed
                                                  example: percentage
                                                percentage:
                                                  type:
                                                    - integer
                                                    - 'null'
                                                  nullable: true
                                                  description: >-
                                                    Percentual do desconto. Presente apenas
                                                    quando `type` é `percentage`.
                                                  example: 20
                                                amount_cents:
                                                  type:
                                                    - integer
                                                    - 'null'
                                                  nullable: true
                                                  description: >-
                                                    Valor fixo do desconto em centavos.
                                                    Presente apenas quando `type` é `fixed`.
                                                  example: 5000
                                                cycles:
                                                  type:
                                                    - integer
                                                    - 'null'
                                                  nullable: true
                                                  description: >-
                                                    Número de ciclos de cobrança em que o
                                                    desconto será aplicado. `0` significa
                                                    ilimitado. Sempre `0` no modo `payment`.
                                                  example: 3
                                                description:
                                                  type:
                                                    - string
                                                    - 'null'
                                                  nullable: true
                                                  description: >-
                                                    Descrição livre do desconto, exibida na
                                                    fatura.
                                                  example: Promo Q2
                                      expires_at:
                                        type: integer
                                        format: int64
                                        description: >
                                          Timestamp Unix do prazo que a sessão
                                          publicou. Uma sessão nasce com uma

                                          hora de validade. Este campo não muda
                                          quando a sessão é encerrada, então

                                          uma sessão encerrada com

                                          `POST
                                          /api/v1/checkout/sessions/{id}/expire`
                                          carrega `status` `expired`

                                          com um `expires_at` ainda no futuro.
                                          Leia `status` para saber se a

                                          sessão aceita pagamento.
                                        example: 1704675600
                                      external_code:
                                        type:
                                          - string
                                          - 'null'
                                        nullable: true
                                        description: >-
                                          Código externo para integração com
                                          outros sistemas. Único por conta.
                                        example: CHECKOUT-SESSION-XYZ
                                      invoice:
                                        type:
                                          - string
                                          - 'null'
                                        nullable: true
                                        pattern: ^in_[0-9a-z]{26}$
                                        description: >
                                          ID da fatura gerada para a sessão, no
                                          formato TypeID com prefixo `in_`.

                                          `null` enquanto o cliente não foi
                                          informado — a fatura é criada depois que

                                          o comprador preenche os dados na página
                                          de checkout.
                                        example: in_01h455vb4pex5vsknk084sn02q
                                      line_items:
                                        type: object
                                        description: >
                                          Itens da sessão, como foram registrados
                                          na criação. O preço aparece como

                                          ID; o valor cobrado está em `amount`.
                                        unevaluatedProperties: false
                                        required:
                                          - object
                                          - data
                                        properties:
                                          object:
                                            type: string
                                            enum:
                                              - list
                                            example: list
                                          data:
                                            type: array
                                            items:
                                              type: object
                                              unevaluatedProperties: false
                                              required:
                                                - object
                                                - price
                                                - quantity
                                              properties:
                                                object:
                                                  type: string
                                                  enum:
                                                    - item
                                                  example: item
                                                price:
                                                  type: string
                                                  pattern: ^price_[0-9a-z]{26}$
                                                  description: >-
                                                    ID do preço cobrado, no formato TypeID
                                                    com prefixo `price_`.
                                                  example: price_01h455vb4pex5vsknk084sn02q
                                                quantity:
                                                  type: integer
                                                  description: Quantidade de unidades cobradas.
                                                  example: 1
                                      live_mode:
                                        type: boolean
                                        description: >-
                                          Indica ambiente de produção (true) ou
                                          sandbox (false). Dados de sandbox são
                                          limpos periodicamente.
                                        example: true
                                      metadata:
                                        type:
                                          - array
                                          - object
                                        description: >
                                          Metadados enviados na criação,
                                          devolvidos como foram armazenados. A API

                                          aceita uma lista de objetos livres; uma
                                          sessão criada sem metadados

                                          devolve um objeto vazio.
                                        example: []
                                      mode:
                                        type: string
                                        description: |
                                          Modo da sessão.
                                          - payment: Cobrança avulsa.
                                          - subscription: Assinatura recorrente.
                                        enum:
                                          - payment
                                          - subscription
                                        example: subscription
                                      payment_intent:
                                        type:
                                          - string
                                          - 'null'
                                        nullable: true
                                        pattern: ^pi_[0-9a-z]{26}$
                                        description: >
                                          ID da cobrança vinculada à sessão, no
                                          formato TypeID com prefixo `pi_`.

                                          `null` enquanto nenhuma cobrança foi
                                          gerada.
                                        example: pi_01h455vb4pex5vsknk084sn02r
                                      return_url:
                                        type:
                                          - string
                                          - 'null'
                                        nullable: true
                                        format: uri
                                        description: >-
                                          URL para onde o comprador volta se
                                          cancelar o checkout.
                                        example: https://example.com/return
                                      status:
                                        type: string
                                        description: >
                                          Situação da sessão, derivada do prazo de
                                          validade, do encerramento e da

                                          conclusão.

                                          - open: Aceita pagamento.

                                          - complete: Paga; permanece assim mesmo
                                          depois do prazo.

                                          - expired: Encerrada sem pagamento, pelo
                                          prazo vencido ou pelo merchant.
                                        enum:
                                          - open
                                          - complete
                                          - expired
                                        example: open
                                      subscription:
                                        type:
                                          - string
                                          - 'null'
                                        nullable: true
                                        pattern: ^sub_[0-9a-z]{26}$
                                        description: >
                                          ID da assinatura criada pela sessão, no
                                          formato TypeID com prefixo `sub_`.

                                          Presente apenas no modo `subscription` e
                                          depois que a fatura foi criada.
                                        example: sub_01h455vb4pex5vsknk084sn02s
                                      success_url:
                                        type: string
                                        format: uri
                                        description: >-
                                          URL para onde o comprador vai depois de
                                          pagar.
                                        example: https://example.com/success
                                      url:
                                        type: string
                                        format: uri
                                        description: >-
                                          URL da sessão de checkout para
                                          redirecionar o cliente.
                                        example: >-
                                          https://besimplo.com/checkout/sessions/cs_01h455vb4pex5vsknk084sn02c
                              - allOf:
                                  - type: object
                                    required:
                                      - id
                                      - live_mode
                                      - status
                                      - start_date
                                      - payment_method_type
                                      - installments
                                      - item
                                      - customer
                                    properties:
                                      id:
                                        type: string
                                        pattern: ^sub_[0-9a-z]{26}$
                                        readOnly: true
                                        description: >-
                                          ID único da assinatura, no formato
                                          TypeID com prefixo `sub_`.
                                        example: sub_01h455vb4pex5vsknk084sn02s
                                      object:
                                        type: string
                                        description: Tipo do objeto. Sempre 'subscription'.
                                        enum:
                                          - subscription
                                        example: subscription
                                      live_mode:
                                        type: boolean
                                        description: >-
                                          Indica ambiente de produção (true) ou
                                          sandbox (false). Dados de sandbox são
                                          limpos periodicamente.
                                        example: true
                                      status:
                                        type: string
                                        description: >
                                          Status da assinatura:

                                          - pending: Assinatura criada, aguardando
                                          primeiro pagamento.

                                          - active: Primeiro pagamento confirmado.
                                          Assinatura ativa.

                                          - inactive: Assinatura cancelada.

                                          - suspended: Assinatura suspensa por
                                          falha de pagamento.
                                        example: active
                                        enum:
                                          - pending
                                          - active
                                          - inactive
                                          - suspended
                                      external_code:
                                        type:
                                          - string
                                          - 'null'
                                        nullable: true
                                        description: >-
                                          Código externo para integração com
                                          outros sistemas.
                                        example: ACCOUNT-SUB-XYZ
                                      start_date:
                                        type: integer
                                        format: int64
                                        description: >-
                                          Data de início da assinatura (timestamp
                                          Unix).
                                        example: 1764039600
                                      ended:
                                        type:
                                          - integer
                                          - 'null'
                                        format: int64
                                        nullable: true
                                        description: >-
                                          Data de término da assinatura (timestamp
                                          Unix). Null se ainda ativa.
                                        example: 1795575600
                                      billing_cycle_anchor:
                                        type: integer
                                        format: int64
                                        description: >-
                                          Data de referência para o ciclo de
                                          cobrança (timestamp Unix).
                                        example: 1764039600
                                      payment_method_type:
                                        oneOf:
                                          - type: string
                                            enum:
                                              - card
                                              - pix
                                          - type: 'null'
                                        description: >
                                          Método de pagamento da assinatura:

                                          - card: Cartão de crédito.

                                          - pix: Pagamento instantâneo via PIX.

                                          - null: Ainda não definido até a
                                          confirmação do primeiro pagamento.
                                        example: null
                                      installments:
                                        type: integer
                                        description: >
                                          Quantidade de parcelas para cobrança no
                                          cartão de crédito. Valor 1 indica
                                          pagamento à vista.
                                        minimum: 1
                                        maximum: 12
                                        default: 1
                                        example: 1
                                      current_period_start:
                                        type:
                                          - integer
                                          - 'null'
                                        format: int64
                                        nullable: true
                                        description: >-
                                          Início do período atual (timestamp
                                          Unix). `null` se a assinatura ainda não
                                          iniciou seu primeiro ciclo.
                                        example: 1764039600
                                      latest_invoice:
                                        type:
                                          - string
                                          - 'null'
                                        pattern: ^in_[0-9a-z]{26}$
                                        nullable: true
                                        description: >-
                                          ID da última fatura gerada, no formato
                                          TypeID com prefixo `in_`.
                                        example: in_01h455vb4pex5vsknk084sn02q
                                      created:
                                        type: integer
                                        format: int64
                                        readOnly: true
                                        description: >-
                                          Data de criação da assinatura (timestamp
                                          Unix).
                                        example: 1764040287
                                      customer:
                                        type: string
                                        pattern: ^cus_[0-9a-z]{26}$
                                        description: >-
                                          ID do cliente associado, no formato
                                          TypeID com prefixo `cus_`.
                                        example: cus_01h455vb4pex5vsknk084sn02p
                                      item:
                                        type: object
                                        required:
                                          - id
                                          - object
                                          - quantity
                                          - price
                                        properties:
                                          id:
                                            type: string
                                            pattern: ^si_[0-9a-z]{26}$
                                            description: >-
                                              ID único do item, no formato TypeID com
                                              prefixo `si_`.
                                            example: si_01h455vb4pex5vsknk084sn02i
                                          object:
                                            type: string
                                            description: >-
                                              Tipo do objeto. Sempre
                                              'subscription_item'.
                                            example: subscription_item
                                          created:
                                            type: integer
                                            format: int64
                                            description: >-
                                              Data de criação do item (timestamp
                                              Unix).
                                            example: 1764040287
                                          current_period_end:
                                            type:
                                              - integer
                                              - 'null'
                                            format: int64
                                            nullable: true
                                            description: >-
                                              Fim do período atual (timestamp Unix).
                                              `null` se a assinatura ainda não iniciou
                                              seu primeiro ciclo.
                                            example: 1764039600
                                          current_period_start:
                                            type:
                                              - integer
                                              - 'null'
                                            format: int64
                                            nullable: true
                                            description: >-
                                              Início do período atual (timestamp
                                              Unix). `null` se a assinatura ainda não
                                              iniciou seu primeiro ciclo.
                                            example: 1764039600
                                          price:
                                            type: object
                                            required:
                                              - id
                                              - object
                                              - unit_amount
                                              - currency
                                              - product
                                            properties:
                                              id:
                                                type: string
                                                pattern: ^price_[0-9a-z]{26}$
                                                description: >-
                                                  ID único do preço, no formato TypeID com
                                                  prefixo `price_`.
                                                example: price_01h455vb4pex5vsknk084sn02q
                                              object:
                                                type: string
                                                description: Tipo do objeto. Sempre 'price'.
                                                example: price
                                              active:
                                                type: boolean
                                                description: Indica se o preço está ativo.
                                              currency:
                                                type: string
                                                description: >-
                                                  Moeda do valor. Sempre 'brl' (Real
                                                  brasileiro).
                                                enum:
                                                  - brl
                                                example: brl
                                              type:
                                                type: string
                                                description: |
                                                  Tipo de cobrança:
                                                  - recurring: Cobrança recorrente.
                                                  - one_time: Cobrança única.
                                                enum:
                                                  - recurring
                                                  - one_time
                                              unit_amount:
                                                type: integer
                                                description: Valor em centavos. R$ 5,00 = 500.
                                              unit_amount_decimal:
                                                type: string
                                                description: Valor em formato decimal.
                                                example: '500'
                                              recurring_interval:
                                                type: string
                                                description: |
                                                  Intervalo de recorrência:
                                                  - day: Diário.
                                                  - week: Semanal.
                                                  - month: Mensal.
                                                  - year: Anual.
                                                enum:
                                                  - day
                                                  - week
                                                  - month
                                                  - year
                                              recurring_interval_count:
                                                type: integer
                                                description: >-
                                                  Quantidade de intervalos entre
                                                  cobranças.
                                              created:
                                                type: integer
                                                format: int64
                                                description: >-
                                                  Data de criação do preço (timestamp
                                                  Unix).
                                                example: 1764040287
                                              product:
                                                type: string
                                                pattern: ^prod_[0-9a-z]{26}$
                                                description: >-
                                                  ID do produto associado, no formato
                                                  TypeID com prefixo `prod_`.
                                                example: prod_01h455vb4pex5vsknk084sn02q
                                              nickname:
                                                type:
                                                  - string
                                                  - 'null'
                                                nullable: true
                                                description: >-
                                                  Apelido do preço para fácil
                                                  identificação.
                                                example: Preço mensal básico
                                          quantity:
                                            type: integer
                                            description: Quantidade de unidades contratadas.
                                          subscription:
                                            type: string
                                            pattern: ^sub_[0-9a-z]{26}$
                                            description: >-
                                              ID da assinatura associada, no formato
                                              TypeID com prefixo `sub_`.
                                            example: sub_01h455vb4pex5vsknk084sn02s
                                      discounts:
                                        type: object
                                        properties:
                                          object:
                                            type: string
                                            example: list
                                          data:
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                id:
                                                  type: string
                                                  pattern: ^sdi_[0-9a-z]{26}$
                                                  description: >-
                                                    ID único do desconto, no formato TypeID
                                                    com prefixo `sdi_`.
                                                  example: sdi_01h455vb4pex5vsknk084sn02d
                                                object:
                                                  type: string
                                                  description: Tipo do objeto. Sempre 'discount'.
                                                  example: discount
              example:
                id: evt_01h455vb4pex5vsknk084sn02e
                object: event
                type: invoice.paid
                created: 1741541400
                live_mode: true
                data:
                  object:
                    id: in_01h455vb4pex5vsknk084sn02q
                    object: invoice
                    amount_due: 2990
                    amount_paid: 2990
                    amount_remaining: 0
                    created: 1741541000
                    currency: brl
                    customer: cus_01h455vb4pex5vsknk084sn02p
                    customer_email: joao@acme.com
                    customer_name: João Silva
                    external_code: null
                    live_mode: true
                    paid: true
                    payment_intent: pi_01h455vb4pex5vsknk084sn02r
                    status: paid
                    status_transitions:
                      paid_at: 1741541400
                    subscription: sub_01h455vb4pex5vsknk084sn02s
                    total: 2990
        '404':
          description: Não encontrado
          content:
            application/problem+json:
              schema:
                type: object
                required:
                  - type
                  - status
                  - title
                  - detail
                  - code
                properties:
                  type:
                    type: string
                    description: URI que identifica o tipo de problema
                    format: uri
                    enum:
                      - https://problems-registry.smartbear.com/not-found
                  status:
                    type: integer
                    description: O código de status HTTP
                    format: int32
                    enum:
                      - 404
                  title:
                    type: string
                    description: O nome do status HTTP
                    enum:
                      - Not Found
                  detail:
                    type: string
                    description: Mensagem descritiva do erro
                  code:
                    type: string
                    description: Código de erro interno da API
                    enum:
                      - NOT_FOUND
                      - RESOURCE_MISSING
              examples:
                not_found:
                  summary: Recurso não encontrado
                  value:
                    type: https://problems-registry.smartbear.com/not-found
                    status: 404
                    title: Not Found
                    detail: The requested resource was not found
                    code: NOT_FOUND
                customer_not_found:
                  summary: Cliente não encontrado
                  value:
                    type: https://problems-registry.smartbear.com/not-found
                    status: 404
                    title: Not Found
                    detail: 'No such customer: ''019abc12-3456-7890-abcd-ef1234567890'''
                    code: RESOURCE_MISSING
        '422':
          description: O evento não pode ser reenviado
          content:
            application/problem+json:
              schema:
                type: object
                required:
                  - type
                  - status
                  - title
                  - detail
                  - code
                properties:
                  type:
                    type: string
                    description: >-
                      URL que identifica o tipo de erro ocorrido. Útil para
                      tratamento programático de erros.
                    example: https://problems-registry.smartbear.com/validation-error
                    format: uri
                    maxLength: 1024
                  status:
                    type: integer
                    description: >-
                      Código de status HTTP da resposta. Corresponde ao status
                      code retornado na requisição.
                    example: 400
                    format: int32
                    minimum: 100
                    maximum: 599
                  title:
                    type: string
                    description: >-
                      Título curto e descritivo do erro. Ideal para exibir em
                      logs ou mensagens de erro genéricas.
                    example: Bad Request
                    maxLength: 1024
                  detail:
                    type: string
                    description: >-
                      Mensagem detalhada do erro específico para esta
                      requisição. Use esta mensagem para entender o que deu
                      errado.
                    example: O campo email é obrigatório e não foi informado.
                    maxLength: 4096
                  instance:
                    type: string
                    description: >-
                      Identificador único desta ocorrência de erro. Forneça este
                      valor ao solicitar suporte para facilitar o debug.
                    example: req_abc123def456
                    maxLength: 1024
                  code:
                    type: string
                    description: >-
                      Código de erro interno da API. Útil para mapear tipos
                      específicos de erros no seu código.
                    example: VALIDATION_ERROR
                    maxLength: 50
                  errors:
                    type: array
                    description: >-
                      Lista de erros de validação específicos. Presente quando
                      múltiplos campos falham na validação.
                    maxItems: 1000
                    items:
                      type: object
                      description: >-
                        Detalhes sobre um erro específico de validação. Ajuda a
                        identificar qual campo e valor causaram o erro.
                      required:
                        - detail
                      properties:
                        detail:
                          type: string
                          description: >-
                            Mensagem específica sobre o erro de validação deste
                            campo.
                          example: O campo email não é um endereço de e-mail válido.
                          maxLength: 4096
                        pointer:
                          type: string
                          description: >-
                            Caminho JSON para o campo no corpo da requisição que
                            causou o erro.
                          example: /customer/email
                          maxLength: 1024
                        parameter:
                          type: string
                          description: Nome do parâmetro (query ou path) que causou o erro.
                          example: customer_id
                          maxLength: 1024
                        header:
                          type: string
                          description: Nome do cabeçalho HTTP que causou o erro.
                          example: Authorization
                          maxLength: 1024
                        code:
                          type: string
                          description: >-
                            Código adicional para identificar o contexto
                            específico do erro.
                          example: INVALID_FORMAT
                          maxLength: 50
              examples:
                resend_limit_reached:
                  summary: Limite de reenvios atingido
                  value:
                    type: >-
                      https://problems-registry.smartbear.com/business-rule-violation
                    status: 422
                    title: Unprocessable Entity
                    detail: Este evento já foi reenviado 3 vezes, que é o limite.
                    code: RESEND_LIMIT_REACHED
                no_subscribed_endpoint:
                  summary: Nenhum endpoint assina o tipo do evento
                  value:
                    type: >-
                      https://problems-registry.smartbear.com/business-rule-violation
                    status: 422
                    title: Unprocessable Entity
                    detail: >-
                      Nenhum endpoint ativo desta conta assina este tipo de
                      evento.
                    code: NO_SUBSCRIBED_ENDPOINT
                retention_expired:
                  summary: Fora da janela de retenção
                  value:
                    type: >-
                      https://problems-registry.smartbear.com/business-rule-violation
                    status: 422
                    title: Unprocessable Entity
                    detail: >-
                      Este evento passou da janela de 30 dias e não pode mais
                      ser reenviado.
                    code: EVENT_RETENTION_EXPIRED
      security:
        - apiKeyAuth: []
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >
        A chave de API usada para autenticar a requisição e identificar a sua
        conta.


        **Exemplo:** `Authorization: ApiKey my-secure-key`

````