Consultar Extrato
Use esta rota para consultar o extrato da sua conta ou de um parceiro específico. A resposta é uma lista unificada de créditos e débitos, ordenada da movimentação mais recente para a mais antiga.
Request Query Params
| Atributo | Tipo | Descrição |
|---|---|---|
| sub_seller_id | string | ID do parceiro cujo extrato será consultado. Quando omitido, a consulta retorna o extrato da conta do seller. |
| date_start | date | Início do intervalo no formato YYYY-MM-DD. Padrão: 7 dias antes de date_end (hoje, horário de Brasília). |
| date_end | date | Fim do intervalo no formato YYYY-MM-DD. Padrão: hoje (horário de Brasília). Deve ser maior ou igual a date_start. |
| page | int32 | Página da consulta. Padrão: 1. Mínimo: 1. |
| page_size | int32 | Quantidade de itens por página. Padrão: 20. Mínimo: 1. Máximo: 100. |
O intervalo entre date_start e date_end não pode ultrapassar 180 dias.
net_value, gross_amount e splits_amount são em centavos e assinados: positivos no crédito, negativos no débito. O sentido está em operation_type (credit ou debit).
Como o extrato é montado
Cada linha é um lançamento imutável. Uma transação estornada ou em chargeback gera dois lançamentos: o crédito original e o débito posterior, cada um com a sua data.
| Evento | type | operation_type | Quando entra |
|---|---|---|---|
| Transação paga | transaction | credit | Na data em que a transação foi paga. |
| Estorno ou chargeback | transaction | debit | Na data do estorno/chargeback. O crédito original permanece. status é refunded ou chargedback. |
| Saque (manual ou automático) | withdrawal | debit | Para saques manuais no momento da solicitação, para contas que possuem repasse automático no momento da transferência. |
Identificadores
O entry_id é determinístico. Você pode usá-lo para deduplicar páginas:
| type | Formato do entry_id |
|---|---|
| transaction (crédito) | txn_{transaction_id}_credit |
| transaction (débito) | txn_{transaction_id}_debit |
| withdrawal | wd_{withdrawal_id} |
Response Object
| Atributo | Tipo | Descrição |
|---|---|---|
| total | int32 | Total de lançamentos que atendem ao filtro passado na consulta. |
| page | int32 | Página atual referente ao offset de páginas. |
| offset | int32 | Total de páginas para page_size dividido pelo total de lançamentos da consulta. |
| statement | array | Lançamentos do intervalo, ordenados por data de criação decrescente. |
| statement[][entry_id] | string | ID determinístico do lançamento. |
| statement[][type] | string | Tipo. Valores: transaction, withdrawal. |
| statement[][status] | string | Status da origem. Exemplos: paid, refunded, chargedback, processing, transferred. |
| statement[][source_id] | string | ID da origem: transação ou saque. |
| statement[][date_created] | dateTime | Data do lançamento no formato ISODateTime. |
| statement[][date_created_timestamp] | int64 | Epoch em milissegundos de date_created, usado na ordenação. |
| statement[][date_updated] | dateTime | Data da última atualização do lançamento no formato ISODateTime. |
| statement[][operation_type] | string | Sentido do lançamento. Valores: credit, debit. |
| statement[][transaction_id] | string | ID da transação. null em saques. |
| statement[][withdrawal_id] | string | ID do saque. null em transações. No repasse automático é o UUID da TED. |
| statement[][installments] | string | Número de parcelas da transação. null em saques. |
| statement[][payment_method] | string | Meio de pagamento da transação. null em saques. |
| statement[][gross_amount] | int32 | Valor bruto em centavos, assinado. No débito é negativo. |
| statement[][rate] | number | Taxa em percentual. Para operações de débito: 0. |
| statement[][rate_value] | int32 | Valor da taxa em centavos. Para operações de débito: 0. |
| statement[][splits_amount] | int32 | Soma dos split.amount da transação, em centavos, assinada. No saque: 0. |
| statement[][net_value] | int32 | Valor líquido em centavos, assinado. Seller: gross_amount - rate_value - splits_amount (no crédito). Parceiro: o amount do split. Saque: igual a gross_amount. |
| statement[][acquirer] | string | Adquirente da transação. null em saques. |
{
"total": 2,
"page": 1,
"offset": 1,
"statement": [
{
"entry_id": "wd_withdrawal_1234567890",
"type": "withdrawal",
"status": "processing",
"source_id": "withdrawal_1234567890",
"date_created": "2026-08-20T14:30:00.000Z",
"date_created_timestamp": 1755700200000,
"date_updated": "2026-08-20T14:30:00.000Z",
"operation_type": "debit",
"transaction_id": null,
"withdrawal_id": "withdrawal_1234567890",
"installments": null,
"payment_method": null,
"gross_amount": -10000,
"rate": 0,
"rate_value": 0,
"splits_amount": 0,
"net_value": -10000,
"acquirer": null
},
{
"entry_id": "txn_HcDscltTIVK3VMAAOj7J_credit",
"type": "transaction",
"status": "paid",
"source_id": "HcDscltTIVK3VMAAOj7J",
"date_created": "2026-08-18T14:30:00.000Z",
"date_created_timestamp": 1755527400000,
"date_updated": "2026-08-18T14:30:00.000Z",
"operation_type": "credit",
"transaction_id": "HcDscltTIVK3VMAAOj7J",
"withdrawal_id": null,
"installments": "1",
"payment_method": "credit_card",
"gross_amount": 90000,
"rate": 2.49,
"rate_value": 2241,
"splits_amount": 86310,
"net_value": 86310,
"acquirer": "sample_acquirer"
}
]
}
Error Object
| Atributo | Tipo | Descrição |
|---|---|---|
| errors | array | Array com todos os erros encontrados ao processar a requisição. |
| errors[][type] | string | Tipo de erro ocorrido. |
| errors[][message] | string | Mensagem detalhada do erro ocorrido. |
{
"errors": [
{
"type": "date_end",
"message": "The parameter [ date_end ] must be at most 180 days after date_start."
}
]
}
Exemplos
Os valores utilizados nos exemplos abaixo são apenas para ilustração e não devem ser usados para fazer requests nas APIs da Marlim.
- Extrato da conta
- Extrato do parceiro
- Página vazia
- Intervalo maior que 180 dias
- Parceiro não encontrado
curl -X GET -G "https://api.marlim.co/v3/financial/statement" \
-H "Content-Type: application/json" \
-H "api_key: api_key_value" \
-d date_start="2026-08-14" \
-d date_end="2026-08-20"
{
"total": 1,
"page": 1,
"offset": 1,
"statement": [
{
"entry_id": "txn_HcDscltTIVK3VMAAOj7J_credit",
"type": "transaction",
"status": "paid",
"source_id": "HcDscltTIVK3VMAAOj7J",
"date_created": "2026-08-18T14:30:00.000Z",
"date_created_timestamp": 1755527400000,
"date_updated": "2026-08-18T14:30:00.000Z",
"operation_type": "credit",
"transaction_id": "HcDscltTIVK3VMAAOj7J",
"withdrawal_id": null,
"installments": "1",
"payment_method": "credit_card",
"gross_amount": 90000,
"rate": 2.49,
"rate_value": 2241,
"splits_amount": 86310,
"net_value": 86310,
"acquirer": "sample_acquirer"
}
]
}
curl -X GET -G "https://api.marlim.co/v3/financial/statement" \
-H "Content-Type: application/json" \
-H "api_key: api_key_value" \
-d sub_seller_id="sub_k4m6Rw5rlQszEY7fiuRe" \
-d date_start="2026-08-14" \
-d date_end="2026-08-20" \
-d page="1" \
-d page_size="20"
{
"total": 2,
"page": 1,
"offset": 1,
"statement": [
{
"entry_id": "txn_XyZabcDefGhiJklMnOp_debit",
"type": "transaction",
"status": "refunded",
"source_id": "XyZabcDefGhiJklMnOp",
"date_created": "2026-08-19T11:00:00.000Z",
"date_created_timestamp": 1755601200000,
"date_updated": "2026-08-19T11:00:00.000Z",
"operation_type": "debit",
"transaction_id": "XyZabcDefGhiJklMnOp",
"withdrawal_id": null,
"installments": "1",
"payment_method": "credit_card",
"gross_amount": -5000,
"rate": 0,
"rate_value": 0,
"splits_amount": -5000,
"net_value": -5000,
"acquirer": "sample_acquirer"
},
{
"entry_id": "txn_XyZabcDefGhiJklMnOp_credit",
"type": "transaction",
"status": "paid",
"source_id": "XyZabcDefGhiJklMnOp",
"date_created": "2026-08-18T18:00:00.000Z",
"date_created_timestamp": 1755540000000,
"date_updated": "2026-08-18T18:00:00.000Z",
"operation_type": "credit",
"transaction_id": "XyZabcDefGhiJklMnOp",
"withdrawal_id": null,
"installments": "1",
"payment_method": "credit_card",
"gross_amount": 5000,
"rate": 0,
"rate_value": 0,
"splits_amount": 5000,
"net_value": 5000,
"acquirer": "sample_acquirer"
}
]
}
curl -X GET -G "https://api.marlim.co/v3/financial/statement" \
-H "Content-Type: application/json" \
-H "api_key: api_key_value" \
-d date_start="2026-08-14" \
-d date_end="2026-08-20" \
-d page="5" \
-d page_size="20"
{
"total": 2,
"page": 5,
"offset": 1,
"statement": []
}
curl -X GET -G "https://api.marlim.co/v3/financial/statement" \
-H "Content-Type: application/json" \
-H "api_key: api_key_value" \
-d date_start="2026-01-01" \
-d date_end="2026-08-01"
{
"errors": [
{
"type": "date_end",
"message": "The parameter [ date_end ] must be at most 180 days after date_start."
}
]
}
curl -X GET -G "https://api.marlim.co/v3/financial/statement" \
-H "Content-Type: application/json" \
-H "api_key: api_key_value" \
-d sub_seller_id="sub_123456789"
{
"errors": [
{
"type": "not_found",
"message": "Sub Seller with id [sub_123456789] was not found"
}
]
}