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

# List Charges

> Lista as cobranças (psc_ e psplit_) da mais recente para a mais antiga, com os mesmos filtros estritos da lista de pagamentos: valor fora do vocabulário devolve 400, e ?subaccountId= malformado devolve 400 (inexistente, 404). Fecha a reconciliação por lista das vendas atribuídas via cobrança: antes, cobrança com subconta só aparecia no GET individual.



## OpenAPI

````yaml /api-reference/openapi.yaml get /v1/charges
openapi: 3.1.0
info:
  title: PurinCash API
  version: 1.0.0
servers:
  - url: https://api.purincash.com
    description: Produção
security:
  - bearerAuth: []
tags:
  - name: Cartao
    description: Pagamentos no cartao de credito.
  - name: Cobrancas
    description: Cobrancas PIX avulsas com valor livre.
  - name: Entregas
    description: Conteudo entregue automaticamente apos o pagamento.
  - name: Disputas
    description: Contestacoes (MED) e envio de evidencias.
  - name: Pagamentos
    description: Pagamentos PIX e LTC vinculados ou nao a um produto.
  - name: Saques
    description: Saques em PIX, LTC e USDT.
  - name: Produtos
    description: Produtos de cobranca criados pela API.
  - name: Sandbox
    description: Simulacao de pagamentos e saldo de teste.
  - name: Splits
    description: Cobrancas divididas entre varias contas.
  - name: Loja
    description: Produtos da loja do Discord (somente leitura).
  - name: Subcontas
    description: Ledger de saldo por cliente do integrador.
  - name: Assinaturas
    description: PIX recorrente.
  - name: Carteira
    description: Saldo, retencoes e valores a liberar.
paths:
  /v1/charges:
    get:
      tags:
        - Cobrancas
      summary: List Charges
      description: >-
        Lista as cobranças (psc_ e psplit_) da mais recente para a mais antiga,
        com os mesmos filtros estritos da lista de pagamentos: valor fora do
        vocabulário devolve 400, e ?subaccountId= malformado devolve 400
        (inexistente, 404). Fecha a reconciliação por lista das vendas
        atribuídas via cobrança: antes, cobrança com subconta só aparecia no GET
        individual.
      operationId: listCharges
      parameters:
        - name: limit
          in: query
          required: false
          description: >-
            Quantidade máxima de itens por página (1 a 100). Padrão 50. Valor
            inválido devolve 400.
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
        - name: offset
          in: query
          required: false
          description: >-
            Quantidade de itens a pular (maior ou igual a 0). Padrão 0. Valor
            inválido devolve 400.
          schema:
            type: integer
            minimum: 0
            default: 0
        - name: status
          in: query
          required: false
          description: Filtra pelo status da cobrança. Valor desconhecido devolve 400.
          schema:
            type: string
            enum:
              - pending
              - paid
              - expired
              - refunded
        - name: subaccountId
          in: query
          required: false
          description: >-
            Só cobranças atribuídas a esta subconta (sacc_...). Malformado
            devolve 400; bem-formado mas inexistente na sua conta, 404.
          schema:
            type: string
      responses:
        '200':
          description: Lista paginada de cobranças.
          content:
            application/json:
              schema:
                type: object
                properties:
                  charges:
                    type: array
                    description: Cobranças encontradas (mais recentes primeiro).
                    items:
                      type: object
                      properties:
                        paymentId:
                          type: string
                          description: Identificador da cobrança (psc_ ou psplit_).
                        status:
                          type: string
                          enum:
                            - pending
                            - paid
                            - expired
                            - refunded
                          description: Status atual da cobrança.
                        environment:
                          type: string
                          enum:
                            - live
                            - sandbox
                          description: Ambiente da chave de API utilizada.
                        subaccountId:
                          type:
                            - string
                            - 'null'
                          description: >-
                            Subconta a que a venda foi atribuída (sacc_...).
                            null quando não há atribuição; o campo vem sempre.
                        amountCents:
                          type: integer
                          description: Valor da cobrança em centavos.
                        currency:
                          type: string
                          description: Moeda da cobrança (sempre BRL).
                        description:
                          type: string
                          description: >-
                            Descrição informada na criação (vazia se não
                            houver).
                        customer:
                          type: object
                          description: Dados do cliente informados na criação.
                          properties:
                            name:
                              type: string
                            email:
                              type: string
                            externalId:
                              type: string
                        paidAt:
                          type:
                            - string
                            - 'null'
                          format: date-time
                          description: Data de confirmação (null enquanto pendente).
                        expiresAt:
                          type:
                            - string
                            - 'null'
                          format: date-time
                          description: Data de expiração do PIX.
                        createdAt:
                          type: string
                          format: date-time
                          description: Data de criação.
                  total:
                    type: integer
                    description: Total de cobranças que atendem ao filtro.
                  limit:
                    type: integer
                  offset:
                    type: integer
              example:
                charges:
                  - paymentId: psc_a1b2c3d4...
                    status: paid
                    environment: live
                    subaccountId: sacc_9f8e7d6c5b4a39281706f5e4d3c2b1a0
                    amountCents: 10000
                    currency: BRL
                    description: Pedido 4821
                    customer:
                      name: Maria Souza
                      email: maria@email.com
                    paidAt: '2026-03-18T12:03:00.000Z'
                    expiresAt: '2026-03-18T12:30:00.000Z'
                    createdAt: '2026-03-18T12:00:00.000Z'
                total: 3
                limit: 50
                offset: 0
        '400':
          description: >-
            Filtro inválido: limit/offset fora da faixa, status desconhecido ou
            subaccountId que não tem o formato sacc_<32 hex>.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: subaccountId must look like sacc_<32 hex chars>
        '401':
          description: Chave de API ausente, inválida ou revogada.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: Invalid or revoked API key
        '404':
          description: O subaccountId do filtro não existe nesta conta/ambiente.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: Subaccount not found
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
          description: >-
            Mensagem de erro legivel. Trate pelo codigo HTTP; o texto pode
            mudar.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Chave de API gerada no dashboard da PurinCash (ps_live_ ou ps_test_).

````