> ## 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.

# Listar todas as sessões de checkout

> Retorna uma lista paginada de sessões de checkout da sua conta, da mais
recente para a mais antiga.

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




## OpenAPI

````yaml /api-reference/openapi.yml get /api/v1/checkout/sessions
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/checkout/sessions:
    get:
      tags:
        - Checkout
      summary: Listar todas as sessões de checkout
      description: |
        Retorna uma lista paginada de sessões de checkout da sua conta, da mais
        recente para a mais antiga.

        **Limite de taxa:** 100 requisições por minuto por chave de API.
      operationId: listCheckoutSessions
      parameters:
        - name: customer
          in: query
          schema:
            type: string
            pattern: ^cus_[0-9a-z]{26}$
            example: cus_01h455vb4pex5vsknk084sn02p
          description: Filtrar pelo ID do cliente (TypeID com prefixo `cus_`).
        - name: mode
          in: query
          schema:
            type: string
            enum:
              - payment
              - subscription
          description: Filtrar pelo modo da sessão
        - name: status
          in: query
          schema:
            type: string
            enum:
              - open
              - complete
              - expired
          description: Filtrar pela situação da sessão
        - name: limit
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 20
          description: Resultados por página
        - name: page
          in: query
          schema:
            type: string
          description: Cursor para próxima página
      responses:
        '200':
          description: Lista de sessões de checkout
          content:
            application/json:
              schema:
                type: object
                unevaluatedProperties: false
                required:
                  - object
                  - url
                  - has_more
                  - data
                properties:
                  object:
                    type: string
                    description: >-
                      String representando o tipo do objeto. Sempre "list" para
                      listas.
                    enum:
                      - list
                    example: list
                  url:
                    type: string
                    format: uri-reference
                    description: URL do recurso solicitado.
                    example: /api/v1/checkout/sessions
                  has_more:
                    type: boolean
                    description: Indica se há mais resultados disponíveis para paginação.
                    example: false
                  data:
                    type: array
                    description: Lista de sessões de checkout.
                    items:
                      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
        '400':
          description: Requisição inválida
          headers:
            Content-Language:
              description: Idioma da mensagem de erro.
              schema:
                type: string
                enum:
                  - en
          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/missing-body-property
                      - https://problems-registry.smartbear.com/bad-request
                  status:
                    type: integer
                    description: O código de status HTTP
                    format: int32
                    enum:
                      - 400
                  title:
                    type: string
                    description: O nome do status HTTP
                    enum:
                      - Bad Request
                  detail:
                    type: string
                    description: >-
                      Mensagem descritiva do erro, nomeando o parâmetro
                      rejeitado
                  code:
                    type: string
                    description: Código de erro interno da API
                    enum:
                      - PARAMETER_MISSING
                      - MALFORMED_JSON
                      - INVALID_QUERY_PARAMETER
                  errors:
                    type: array
                    description: >-
                      Erros por campo. Presente quando o parâmetro rejeitado é
                      conhecido.
                    items:
                      oneOf:
                        - type: object
                          required:
                            - detail
                            - pointer
                          not:
                            required:
                              - parameter
                          properties:
                            detail:
                              type: string
                              description: Mensagem específica sobre o campo rejeitado
                            pointer:
                              type: string
                              description: Caminho JSON para o campo no corpo da requisição
                        - type: object
                          required:
                            - detail
                            - parameter
                          not:
                            required:
                              - pointer
                          properties:
                            detail:
                              type: string
                              description: Mensagem específica sobre o parâmetro rejeitado
                            parameter:
                              type: string
                              description: Nome do parâmetro de consulta rejeitado
              examples:
                parameter_missing:
                  summary: Nenhum campo reconhecido no corpo
                  value:
                    type: >-
                      https://problems-registry.smartbear.com/missing-body-property
                    status: 400
                    title: Bad Request
                    detail: >-
                      The 'customer' parameter is required and must contain at
                      least one recognized field. Expected fields:
                      external_code, identifier, name, email, phone, address.
                    code: PARAMETER_MISSING
                    errors:
                      - detail: No recognized field was found in 'customer'.
                        pointer: /customer
                malformed_json:
                  summary: Corpo não é JSON válido
                  value:
                    type: https://problems-registry.smartbear.com/bad-request
                    status: 400
                    title: Bad Request
                    detail: The request body is not valid JSON
                    code: MALFORMED_JSON
                invalid_query_parameter:
                  summary: Parâmetro de consulta inválido
                  value:
                    type: https://problems-registry.smartbear.com/bad-request
                    status: 400
                    title: Bad Request
                    detail: >-
                      The 'limit' query parameter must be an integer between 1
                      and 100
                    code: INVALID_QUERY_PARAMETER
                    errors:
                      - detail: The query parameter is invalid.
                        parameter: limit
        '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
      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`

````