Malga Sessions API

Através da API de sessões é possível criar um pedido, composto por itens, métodos de pagamento e outros atributos, que pode ser pago através de um endpoint ou integrado ao MalgaCheckout. # Fluxo de criação e de pagamento de uma sessão - Crie uma `sessão` informando os dados básicos necessários - Utilize a `publicKey` retornada na criação ou recuperada na rota de detalhes no `X-Api-Key` para autenticar o pagamento **Dados básicos de um objeto do tipo session**

Operations 8

GET /v1/sessions Listar sessões #
POST /v1/sessions Criar nova sessão #
GET /v1/sessions/{id} Recuperar detalhes de uma sessão #
PATCH /v1/sessions/{id} Atualizar relevância de uma sessão #
POST /v1/sessions/{id}/charge Pagar uma sessão #
POST /v1/sessions/{id}/cancel Cancelar uma sessão #
GET /v1/sessions/{id}/history Recuperar o histórico da sessão #
GET /v1/sessions/{id}/link Recupera sessão com os dados das configurações da empresa #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/plug-sessions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

plug-sessions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '0.5'
  title: Documentação Malga 3DS2 Malga Sessions API
  description: "# Authentication\n\nOs serviços de API da Malga são protegidos através de chaves de acesso. Você pode gerenciar suas chaves de acesso através do seu dashboard.\n\nÉ importante armazenar suas chaves de maneira privada e segura uma vez que elas possuem privilégios de alteração na sua conta. Não compartilhe suas chaves, não deixe elas fixadas no seu código e nem armazene elas no seu servidor de controle de versão. Recomendamos utilizar variáveis de ambiente secretas para deixar a chave disponível para sua aplicação.\n\nA Autenticação para todos os chamadas da API é feita através de headers HTTP, sendo necessário informar seu identificador de cliente na Malga e a chave secreta de acesso.\n\n## X-Client-ID\n\nIdentificador única da sua conta na Malga. Deve ser enviado no header obrigatóriamente em todas as requisições feitas a API.\n\n| Security Scheme Type | API Key |\n|-----------------------|-----------|\n| Header parameter name | `X-Client-ID` |\n\n## X-Api-Key\n\nSua chave de acesso a API. Funciona em par com o client-id devendo ser enviado no header obrigatóriamente em todas as requisições feitas a API.\n\n| Security Scheme Type | API Key |\n|-----------------------|-----------|\n| Header parameter name | `X-Api-Key` |\n\n## Exemplo de requisicão autenticada\n\n```bash\n  curl --location --request GET 'https://api.malga.io/v1/' \\\n    --header 'X-Client-Id: <YOUR_CLIENT_ID>' \\\n    --header 'X-Api-Key: <YOUR_SECRET_KEY>'\n```\n"
servers:
- url: https://api.malga.io
  description: Production
security:
- X-Client-ID: []
  X-Api-Key: []
tags:
- name: Sessions
  description: '

    Através da API de sessões é possível criar um pedido, composto por itens, métodos de pagamento e outros atributos, que pode ser pago através de um endpoint ou integrado ao MalgaCheckout.


    # Fluxo de criação e de pagamento de uma sessão

    - Crie uma `sessão` informando os dados básicos necessários

    - Utilize a `publicKey` retornada na criação ou recuperada na rota de detalhes no `X-Api-Key` para autenticar o pagamento


    **Dados básicos de um objeto do tipo session**


    <SchemaDefinition schemaRef="#/components/schemas/Session" exampleRef="#/components/examples/Session" />

    '
paths:
  /v1/sessions:
    get:
      summary: Listar sessões
      operationId: listSessions
      description: 'Lista as sessões do cliente autenticado, com paginação e filtros opcionais.


        Sem o header `X-Client-Id`, a API responde `200` com `items` vazio e metadados de paginação padrão (não retorna erro).

        '
      parameters:
      - in: query
        name: page
        schema:
          type: integer
          minimum: 1
          default: 1
        required: false
        description: Número da página a ser listada (mínimo 1)
      - in: query
        name: limit
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 10
        required: false
        description: Quantidade de registros por página (padrão 10; máximo 100)
      - in: query
        name: order
        schema:
          type: string
          enum:
          - asc
          - desc
          default: desc
        required: false
        description: 'Aceito como `asc` ou `desc` (padrão `desc`; valores inválidos caem para `desc`).

          A listagem atual ordena sempre por `createdAt` decrescente.

          '
      - in: query
        name: id
        schema:
          type: string
          format: uuid
        required: false
        description: Filtra pelo identificador da sessão
      - in: query
        name: status
        schema:
          type: string
          enum:
          - created
          - paid
          - canceled
          - voided
        required: false
        description: Filtra por status da sessão. Aceita múltiplos valores separados por vírgula
      - in: query
        name: isActive
        schema:
          type: string
          enum:
          - 'true'
          - 'false'
        required: false
        description: Filtra sessões ativadas ou desativadas. Aceita múltiplos valores separados por vírgula (`true` e/ou `false`)
      - in: query
        name: merchantId
        schema:
          type: string
          format: uuid
        required: false
        description: Filtra pelo identificador do merchant
      - in: query
        name: orderId
        schema:
          type: string
          minLength: 2
        required: false
        description: Filtra pelo identificador do pedido. Se informado, deve ter no mínimo 2 caracteres Unicode após o trim
      - in: query
        name: multiplePayments.status
        schema:
          type: string
          enum:
          - active
          - disabled
          - canceled
        required: false
        description: 'Filtra pela disponibilidade agregada do link (`multiplePayments.status`). Aceita múltiplos valores separados por vírgula.

          `disabled` cobre links temporariamente indisponíveis, incluindo expiração por `dueDate`.

          '
      - in: query
        name: created.gt
        schema:
          type: string
          format: date-time
        required: false
        description: Filtra sessões com `createdAt` estritamente maior que o instante informado (RFC 3339 ou RFC 3339 com fração de segundos)
        example: '2026-03-24T03:00:00.000Z'
      - in: query
        name: created.lt
        schema:
          type: string
          format: date-time
        required: false
        description: Filtra sessões com `createdAt` estritamente menor que o instante informado (RFC 3339 ou RFC 3339 com fração de segundos)
        example: '2026-04-01T02:59:00.000Z'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionList'
              examples:
                SessionList:
                  $ref: '#/components/examples/SessionList'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Sessions
    post:
      summary: Criar nova sessão
      operationId: createSession
      description: 'Cria uma sessão de pagamento. Quando `maxPayments` é omitido, a sessão segue o fluxo 1:1 legado. Quando `maxPayments` é enviado, a sessão opera como link 1:N e a resposta completa retorna `multiplePayments` com a disponibilidade agregada para próximas cobranças.


        **Restrição pix/boleto em 1:N:** métodos `pix` e `boleto` não podem ser combinados com `maxPayments` finito maior que `1`. Nesse caso a API retorna `422` com `businessCode: "pix_boleto_multiple_payments_not_allowed"`. `maxPayments` omitido, `null`, `1` ou `-1` (ilimitado) continua permitido para pix/boleto. O bloqueio não se aplica a cartão de crédito.

        '
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSession'
            examples:
              CreateSessionRequest:
                $ref: '#/components/examples/CreateSessionRequest'
              CreateSessionRequest1NFixed:
                $ref: '#/components/examples/CreateSessionRequest1NFixed'
              CreateSessionRequest1NUnlimited:
                $ref: '#/components/examples/CreateSessionRequest1NUnlimited'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionResponse'
              examples:
                Session:
                  $ref: '#/components/examples/Session'
                Session1N:
                  $ref: '#/components/examples/Session1N'
        '422':
          description: 'Unprocessable Entity. Regras de negócio bloquearam a criação da sessão. O envelope segue o formato padrão de erro, com `businessCode` identificando a regra violada.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                PixBoletoMultiplePaymentsNotAllowed:
                  summary: Pix/boleto com maxPayments > 1
                  value:
                    error:
                      type: bad_request
                      code: 422
                      message: PIX and boleto payment methods do not support maxPayments greater than 1.
                      businessCode: pix_boleto_multiple_payments_not_allowed
                      details: []
                PlatformFeeExceedsLinkAmount:
                  summary: Taxa de plataforma maior ou igual ao valor do link
                  value:
                    error:
                      type: bad_request
                      code: 422
                      message: Calculated platform fee must be less than the link total amount.
                      businessCode: platform_fee_exceeds_link_amount
                      details: []
      tags:
      - Sessions
  /v1/sessions/{id}:
    get:
      summary: Recuperar detalhes de uma sessão
      operationId: getSession
      description: 'Retorna a sessão completa. Use este endpoint como fonte do estado agregado de `multiplePayments` após criação, pagamento, atualização, cancelamento ou consulta de histórico.

        '
      parameters:
      - name: id
        required: true
        description: Identificação da sessão a ser recuperada
        in: path
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionResponse'
              examples:
                Session:
                  $ref: '#/components/examples/Session'
      tags:
      - Sessions
    patch:
      summary: Atualizar relevância de uma sessão
      operationId: patchSession
      description: 'Atualiza campos de relevância da sessão: `isActive` (obrigatório), `dueDate` e `maxPayments` (sessões 1:N). A resposta é parcial e devolve apenas `id` e `isActive`; após a atualização, consulte `GET /v1/sessions/{id}` para obter o estado completo (`status`, `dueDate`, `maxPayments`, `multiplePayments`, etc.).


        **Restrição de reativação pix/boleto 1:1 consumida:** `isActive: true` em uma sessão pix ou boleto 1:1 já paga (`maxPayments = 1` com `paymentCount = 1`, ou sessão legada sem `maxPayments` já `paid` com `paymentCount = 1`) retorna `422` com `businessCode: "pix_boleto_one_to_one_reactivation_blocked"`. O bloqueio ignora `maxPayments` enviado no PATCH.

        '
      parameters:
      - name: id
        required: true
        description: Identificação da sessão a ser alterada
        in: path
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchSessionRequest'
            examples:
              PatchSessionRequest:
                $ref: '#/components/examples/PatchSessionRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchSession200Response'
              examples:
                PatchSession200Response:
                  $ref: '#/components/examples/PatchSession200Response'
        '422':
          description: 'Unprocessable Entity. Regras de negócio bloquearam a atualização da sessão. O envelope segue o formato padrão de erro, com `businessCode` identificando a regra violada.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                PixBoletoOneToOneReactivationBlocked:
                  summary: Reativação de sessão pix/boleto 1:1 já consumida
                  value:
                    error:
                      type: bad_request
                      code: 422
                      message: Consumed one-to-one PIX or boleto sessions cannot be reactivated.
                      businessCode: pix_boleto_one_to_one_reactivation_blocked
                      details: []
      tags:
      - Sessions
  /v1/sessions/{id}/charge:
    post:
      summary: Pagar uma sessão
      operationId: paySession
      description: 'Inicia uma cobrança para a sessão. Em sessões 1:N, cada chamada aceita representa uma tentativa individual dentro da capacidade configurada em `maxPayments`. A resposta é a cobrança criada e não retorna `multiplePayments`; consulte `GET /v1/sessions/{id}` para acompanhar o estado agregado atualizado.

        '
      parameters:
      - name: id
        required: true
        description: Identificação da sessão a ser paga
        in: path
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaySessionRequest'
            examples:
              PaySessionCardRequest:
                $ref: '#/components/examples/PaySessionCardRequest'
              PaySessionCardRequestWithRecurrence:
                $ref: '#/components/examples/PaySessionCardRequestWithRecurrence'
              PaySessionPixRequest:
                $ref: '#/components/examples/PaySessionPixRequest'
              PaySessionDripRequest:
                $ref: '#/components/examples/PaySessionDripRequest'
              PaySessionBoletoRequest:
                $ref: '#/components/examples/PaySessionBoletoRequest'
              PaySessionNupayRequest:
                $ref: '#/components/examples/PaySessionNupayRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaySession201Response'
              examples:
                PaySession201CardResponse:
                  $ref: '#/components/examples/PaySession201CardResponse'
                PaySession201PixResponse:
                  $ref: '#/components/examples/PaySession201PixResponse'
                PaySession201DripResponse:
                  $ref: '#/components/examples/PaySession201DripResponse'
                PaySession201BoletoResponse:
                  $ref: '#/components/examples/PaySession201BoletoResponse'
                PaySession201NupayResponse:
                  $ref: '#/components/examples/PaySession201NupayResponse'
        '404':
          description: 'Sessão não encontrada ou não pertencente ao cliente informado em `X-Client-Id`.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: 'Unprocessable Entity. A cobrança não pode ser processada: sellers de split inválidos, ou sessão 1:N indisponível (link desativado ou limite de pagamentos atingido). Nos casos de indisponibilidade 1:N, o `businessCode` é `session_disabled` ou `multiple_payments_limit_reached`. O envelope segue o formato padrão de erro.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                InvalidSellers:
                  summary: Sellers de split inválidos
                  value:
                    error:
                      type: bad_request
                      code: 422
                      message: 'session cannot be charged: sellers not found [9f8b2c1a-4d3e-4a2b-8c7d-1e2f3a4b5c6d]'
                      details: []
                MultiplePaymentsLimitReached:
                  summary: Limite de pagamentos 1:N atingido
                  value:
                    error:
                      type: bad_request
                      code: 422
                      message: multiple payments limit reached
                      businessCode: multiple_payments_limit_reached
                      details: []
      tags:
      - Sessions
  /v1/sessions/{id}/cancel:
    post:
      summary: Cancelar uma sessão
      operationId: cancelSession
      parameters:
      - name: id
        required: true
        description: Identificação da sessão a ser cancelada
        in: path
        schema:
          type: string
          format: uuid
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelSession201Response'
              examples:
                CancelSession201Response:
                  $ref: '#/components/examples/CancelSession201Response'
      tags:
      - Sessions
  /v1/sessions/{id}/history:
    get:
      summary: Recuperar o histórico da sessão
      operationId: getSessionHistory
      description: 'Retorna a trilha de auditoria da sessão em ordem decrescente de criação, com os registros mais recentes primeiro: alterações de campos, tentativas de pagamento, confirmações assíncronas e expirações.


        Cada item representa um **registro de histórico** (`id` do evento), não o identificador da sessão. Use `action` (ação principal derivada) e `actions` (lista completa) junto com `diff` para entender o que ocorreu.


        O campo `status` em cada item segue a **semântica de produto** na leitura: expirações automáticas por `dueDate` ou limite 1:N podem aparecer como `disabled`, mesmo quando o status persistido no registro era `created`.


        Para o estado atual da sessão e de `multiplePayments`, consulte `GET /v1/sessions/{id}`. O histórico não substitui essa consulta.

        '
      parameters:
      - name: id
        required: true
        description: Identificação da sessão
        in: path
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionHistoryResponse'
              examples:
                SessionHistoryResponse:
                  $ref: '#/components/examples/SessionHistoryResponse'
        '400':
          description: Header `X-Client-Id` ausente ou identificador da sessão ausente no path
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Sessão não encontrada para o par `id` + `X-Client-Id`
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Erro interno inesperado ao recuperar o histórico da sessão
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Sessions
  /v1/sessions/{id}/link:
    get:
      summary: Recupera sessão com os dados das configurações da empresa
      operationId: getSessionWithSettings
      description: 'Retorna a sessão completa junto das configurações da empresa usadas no Link de Pagamento. Também inclui `multiplePayments` para indicar a disponibilidade agregada do link em sessões 1:1 e 1:N.

        '
      parameters:
      - name: id
        required: true
        description: Identificação da sessão a ser recuperada
        in: path
        schema:
          type: string
          format: uuid
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionSettingsResponse'
      tags:
      - Sessions
components:
  examples:
    PaySessionPixRequest:
      summary: Exemplo cobrança Pix
      value:
        paymentMethod:
          paymentType: pix
          expiresIn: 3600
        paymentSource:
          sourceType: customer
          customer:
            name: Customer test
            email: jose2@gmail.com
            document:
              number: '97055503019'
              type: cpf
            phoneNumber: 21 98889999099
    PaySessionNupayRequest:
      summary: Exemplo cobrança Nupay
      value:
        paymentMethod:
          paymentType: nupay
        paymentSource:
          sourceType: customer
          customer":
            name: Customer Name
            email: customer@email.com
            phoneNumber": '2191330299'
            document:
              type: cpf
              number: '31807868095'
              country: BR
            address:
              country: BR
              state: RJ
              city: Rio de Janeiro
              district: Leblon
              zipCode: '20011020'
              street: Rua do Carmo
              streetNumber: '71'
              complement: complement
        fraudAnalysis:
          customer":
            name: Customer Name
            identity: '31807868095'
            identityType: CPF
            email: user@email.com
            phone: '2191330299'
            billingAddress:
              street: Rua do Carmo
              zipCode: '20011020'
              number: '71'
              country: BR
              state: RJ
              district: Leblon
              city: Rio de Janeiro
          cart:
            items:
              sku: '123'
              name: desc
              quantity: 10
              unitPrice: 10
              risk: Low
    PaySessionCardRequest:
      summary: Exemplo cobrança Cartão
      value:
        paymentMethod:
          paymentType: credit
          installments: 1
        paymentSource:
          sourceType: card
          card:
            cardNumber: '5261424250184574'
            cardCvv: '321'
            cardExpirationDate: 06/2028
            cardHolderName: JOAO DA SILVA
    PaySession201DripResponse:
      summary: Exemplo resposta cobrança Drip
      value:
        id: 148d5db0-f1c3-439f-902d-f1f268086e1d
        clientId: 290f9fcc-2d89-11ee-be56-0242ac120002
        merchantId: ba3f0dba-905d-4705-9e61-a75d6a6eca5d
        description: Descrição longa da cobrança
        orderId: 32c68ff7-902c-408b-b464-cf487c7cda97
        createdAt: 2012-06-30 23:59:59 +0000
        amount: 150
        originalAmount: 150
        currency: BRL
        statementDescriptor: LOJA JOAO
        capture: true
        isDispute: false
        status: pending
        paymentMethod:
          paymentType: drip
          maxInstallments: 4
          paymentUrl: https://sandbox-portal.dripapp.com.br/checkouts/a1fa9d15-e3e5-46a7-a507-613a73b35315
          items:
          - id": '12345'
            quantity": 1
            title": title item
            unitPrice": 150
          browser:
            ipAddress: 127.0.0.1
            browserFingerprint: cbd4a441-c63c-4dee-ac6b-bfa7fa1df818
          cancelRedirectUrl: https://service-example.com/cancel
          successRedirectUrl: https://service-example.com/success
        paymentSource:
          sourceType: customer
          customerId: 1cdcf0c9-eb04-4e43-b9b2-b7a4acdead1f
        transactionRequests:
        - id: b0ba6be9-1d18-49e0-87a5-4936fe76c65a
          createdAt: '2023-07-18T00:00:04.169Z'
          updatedAt: '2023-07-18T00:00:04.713Z'
          idempotencyKey: 036b42b2-16f2-498d-9e5a-42fb8b690e11
          providerId: 769bce00-678e-4d64-9617-9ce82f4dfcbf
          providerType: DRIP
          transactionId: 036b42b2-16f2-498d-9e5a-42fb8b690e11
          amount: 150
          authorizationCode: 735e6b88-8878-4c3e-9047-d93d0ee1542d
          authorizationNsu: null
          requestStatus: success
          requestType: pending
          responseTs: 475ms
          drip:
            paymentUrl: https://sandbox-portal.dripapp.com.br/checkouts/a1fa9d15-e3e5-46a7-a507-613a73b35315
            items:
            - id": '12345'
              quantity": 1
              title": title item
              unitPrice": 150
            browser:
              ipAddress: 127.0.0.1
              browserFingerprint: cbd4a441-c63c-4dee-ac6b-bfa7fa1df818
            cancelRedirectUrl: https://service-example.com/cancel
            successRedirectUrl: https://service-example.com/success
    PaySession201CardResponse:
      summary: Exemplo resposta cobrança por cartão
      value:
        id: 148d5db0-f1c3-439f-902d-f1f268086e1d
        clientId: cc0b1e41-2936-45c5-947f-93995ffcdc00
        merchantId: 148d5db0-f1c3-439f-902d-f1f268086e1d
        description: Descrição longa da cobrança
        orderId: 32c68ff7-902c-408b-b464-cf487c7cda97
        createdAt: 2012-06-30 23:59:59 +0000
        amount: 150
        originalAmount: 150
        currency: BRL
        statementDescriptor: LOJA JOAO
        status: pending
        paymentMethod:
          paymentType: credit
          installments: 1
        paymentSource:
          sourceType: card
          cardId: 148d5db0-f1c3-439f-902d-f1f268086e1d
        transactionRequests:
        - id: 78601913-a176-4d71-b7e8-abb6fc49a340
          idempotencyKey: fafe857b176e45d6b12e32fcaf228996
          providerId: 2c3b57d8-ee43-4b19-bc8a-949a88c51df1
          providerType: STRIPE
          transactionId: ch_3JYE7MHjGFBGEeiP0lfTD3Ob
          amount: 1500
          authorizationNsu: 1cc8391c-f0d5-4b7a-9fcf-653cea26be13
          requestStatus: success
          requestType: authorization
          responseTs: 2633ms
          createdAt: '2021-08-12T16:08:39.536Z'
          updatedAt: '2021-08-12T16:08:42.212Z'
          providerAuthorization:
            networkAuthorizationCode: '00'
            networkResponseCode: ''
    PatchSession200Response:
      value:
        id: c1db83fa-723c-4e1f-9722-bc19d1be6791
        isActive: true
    CreateSessionRequest1NUnlimited:
      summary: Sessão 1:N ilimitada
      value:
        amount: 100
        name: Loja 1
        merchantId: 1b0c6960-702a-4074-95c2-eed2790c16a1
        dueDate: '2026-02-20T23:59:59.000Z'
        createLink: true
        maxPayments: -1
        paymentMethods:
        - paymentType: pix
          expiresIn: 30
        items:
        - name: Item 1
          description: Item do carrinho
          unitPrice: 1000
          quantity: 1
          tangible: false
    PaySessionDripRequest:
      summary: Exemplo cobrança Drip
      value:
        customerId: 69777a21-15b8-43a8-8fb5-08a459129d3b
        paymentMethod:
          paymentType: drip
          browser:
            ipAddress: 127.0.0.1
            browserFingerprint: '1231232131232133'
        paymentSource:
          sourceType": customer
          customer":
            name: Customer Name
            email: customer@email.com
            phoneNumber": '+341913302999'
            document:
              type: cpf
              number: '31807868095'
              country: BR
            address:
              country: BR
              state: RJ
              city: Rio de Janeiro
              district: Leblon
              zipCode: '20011020'
              street: rua do carmo
              streetNumber: '71'
              complement: teste
    SessionList:
      value:
        items:
        - id: 1b0c6960-702a-4074-95c2-eed2790c16a1
          name: Nome da sessão
          status: created
          isActive: true
          captchaEnabled: false
          clientId: 1b0c6960-702a-4074-95c2-eed2790c16a1
          orderId: null
          amount: 100
          currency: BRL
          capture: true
          merchantId: 69aea152-ba70-49a3-a31c-044ac1651146
          dueDate: '2022-10-25T09:28:45.000Z'
          description: Promoção Black Friday
          statementDescriptor: LOJA JOAO
          paymentMethods:
          - paymentType: credit
            installments: 1
          items:
          - id: 78601913-a176-4d71-b7e8-abb6fc49a340
            name: Item 1
            description: Descrição do item
            unitPrice: 10000
            quantity: 1
            tangible: false
          createdAt: '2022-10-25T09:28:45.000Z'
          updatedAt: '2022-10-25T09:28:45.000Z'
          publicKey: 1b0c6960-702a-4074-95c2-eed2790c16a1
          paymentLink: https://checkout.malga.io/1b0c6960-702a-4074-95c2-eed2790c16a1
          multiplePayments:
            allow: false
            maxPayments: null
            paymentCount: 0
            pendingCount: 0
            status: active
        meta:
          totalItems: 1
          itemCount: 1
          itemsPerPage: 10
          totalPages: 1
          currentPage: 1
    CancelSession201Response:
      value:
        id: c1db83fa-723c-4e1f-9722-bc19d1be6791
        status: canceled
    PaySession201NupayResponse:
      summary: Exemplo resposta cobrança Nupay
      value:
        id: 6d2ff1d1-def7-4cd6-86a2-11b9289c8263
        clientId: <CLIENT_ID>
        merchantId: <MERCHANT_ID>
        description": Pagamento de sessão
        orderId: 86150b4c-617e-461f-b5a2-895b065ca4b6
        createdAt: '2023-11-20T18:19:07.388Z'
        amount: 100
        originalAmount: 100
        currency: BRL
        statementDescriptor: null
        isDispute: false
        status: pending
        paymentMethod:
          paymentType: nupay
        paymentSource":
          sourceType: customer
          customerId": <CUSTOMER_ID>
        fraudAnalysisMetadata:
          sla: null,
          customer:
            name: Customer Name
            email: user@email.com
            identity: '96596877027'
            identityType: CPF
            birthdate: null
            phone: '2191330299'
            billingAddress:
              country: BR
              street: Rua do Carmo
              number: '71'
              complement: null
              zipCode: '20011020'
              city: Rio de Janeiro
              state: RJ
              district: Leblon
            deliveryAddress": null
          cart:
            items:
              name: desc
              quantity: 1
              sku: '123'
              unitPrice: 1
              risk: Low
              locality": null,
              date": null,
              type": null,
              genre": null,
              tickets": null,
              location": null
        transactionRequests:
          id: a10e3dbf-edc9-4984-8982-2f5579ae0c26
          createdAt: '2023-09-12T18:19:07.563Z'
          updatedAt: '2023-09-12T18:19:08.079Z'
          idempotencyKey": 3a950c0f-6582-4aaa-92c7-4d642166d2bf
          providerId": 242e3e9d-5e49-4ef0-97cc-85f7562cc965
          providerType": NUPAY
          transactionId": 2dd95fe6-550e-4192-b8d5-e5fe529cd285
          amount": 100
          authorizationCode": null
          authorizationNsu": null
          requestStatus": success
          requestType": pending
          responseTs": 437ms
          nupay:
            expiresIn: 250000
            paymentUrl: https://staging-nuapp.nubank.com.br/bdc/omniknight/expr/payment-intents.home-screen?payment-intent-id=76ac98f6-38e4-4b9e-a530-16761fa030e6&amount=100&storeName=Plug%20Pagamentos&version=announcement&token=SQ5xJKHG%2FCMs7ztjkwusP7QHsHdwRWs3aEc%2FHu4%2F9efdq%2FlBq6fXbOsockCbnJmv8l%2F6OyBCe3qka%2BZ8dt6mCw%3D%3D&poId=2dd95fe6-550e-4192-b8d5-e5fe529cd285
    SessionHistoryResponse:
      value:
      - id: 550e8400-e29b-41d4-a716-446655440003
        status: disabled
        createdAt: '2026-05-20T00:00:01.000Z'
        updatedAt: '2026-05-20T00:00:01.000Z'
        clientId: 39d2d314-5412-431a-b34b-74f9f0fbe7e1
        merchantId: 660e8400-e29b-41d4-a716-446655440002
        action: sessionExpiredByDueDate
        actions:
        - sessionExpiredByDueDate
        diff:
          reason: expired by due date
          expiredAt: '2026-05-19T23:59:59.000Z'
          changes:
            isActive:
              from: true
              to: false
              reason: sessionExpiredByDueDate
      - id: 550e8400-e29b-41d4-a716-446655440002
        status: created
        createdAt: '2026-05-19T14:30:00.000Z'
        updatedAt: '2026-05-19T14:30:00.000Z'
        clientId: 39d2d314-5412-431a-b34b-74f9f0fbe7e1
        mercha

# --- truncated at 32 KB (119 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/plug/refs/heads/main/openapi/plug-sessions-api-openapi.yml