Pular para o conteúdo principal
POST
https://api.owem.com.br
/
v4
/
i
/
ledger
/
extract
Gerar Extrato Bancário
curl --request POST \
  --url https://api.owem.com.br/v4/i/ledger/extract \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "accountId": "<string>",
  "startDate": {},
  "endDate": {},
  "format": "<string>",
  "options": {
    "options.sections": {
      "summary": true,
      "monthlyTable": true,
      "monthSummary": true,
      "transactionTable": true
    },
    "options.columns": {
      "dateTime": true,
      "type": true,
      "description": true,
      "endToEndId": true,
      "payerReceiver": true,
      "payerBankInfo": true,
      "grossAmount": true,
      "fee": true,
      "netAmount": true,
      "status": true
    }
  }
}
'
{
  "requestId": "b38de769-1b3f-4730-b6e5-858a72982890",
  "success": true,
  "size": 1,
  "data": {
    "success": true,
    "extractId": "bd17bf27-1b14-490d-bcd8-ab6e679010ff",
    "status": "new"
  }
}

Finalidade

Este endpoint solicita a geração de um extrato bancário em formato PDF ou CSV para uma conta específica. O processamento é assíncrono: a API retorna imediatamente com o status 202 Accepted e um extractId. Use o endpoint Consultar Extrato Gerado para acompanhar o status e obter o link de download quando estiver pronto. Você pode personalizar o conteúdo do extrato através do campo options:
  • Seções (options.sections): escolha quais partes do relatório incluir — resumo geral, tabela mensal, resumo por mês e/ou tabela de transações.
  • Colunas (options.columns): escolha quais colunas aparecem na tabela de transações — data/hora, tipo, descrição, E2E, pagador/destinatário, banco, valores, status, etc.
Se o campo options não for enviado, todas as seções e colunas são incluídas por padrão.

Autenticação

Authorization
string
obrigatório
Basic Auth obrigatório no formato: Basic {Base64(API_KEY:API_SECRET)}
Requer o scope ledger_extract:create na API Key.

Request Body

accountId
string
obrigatório
ID da conta bancária para gerar o extrato.
startDate
number | string
obrigatório
Início do período. Aceita timestamp em milissegundos (ex: 1770778800000) ou data no formato YYYY-MM-DD (ex: "2026-02-11").
endDate
number | string
obrigatório
Fim do período. Aceita timestamp em milissegundos (ex: 1770951600000) ou data no formato YYYY-MM-DD (ex: "2026-02-13").
format
string
padrão:"pdf"
Formato do extrato. Valores: pdf, csv
options
object
Opções de personalização do extrato. Se omitido, todas as seções e colunas são incluídas.

Resposta

requestId
string
UUID para rastreio da requisição.
success
boolean
Status da operação.
size
number
Quantidade de registros retornados.
data
object
{
  "requestId": "b38de769-1b3f-4730-b6e5-858a72982890",
  "success": true,
  "size": 1,
  "data": {
    "success": true,
    "extractId": "bd17bf27-1b14-490d-bcd8-ab6e679010ff",
    "status": "new"
  }
}

Validações

RegraDescrição
accountIdObrigatório. Deve pertencer ao usuário da API Key.
startDateObrigatório. Timestamp em ms ou string YYYY-MM-DD.
endDateObrigatório. Timestamp em ms ou string YYYY-MM-DD.
startDate ≤ endDateA data inicial não pode ser posterior à data final.
Intervalo máximo365 dias entre startDate e endDate.
formatDeve ser pdf ou csv. Default: pdf.

Códigos de Status

HTTPDescrição
202Solicitação aceita (processamento assíncrono)
400Validação falhou
401Credenciais inválidas
403Sem permissão para a conta ou scope insuficiente
429Rate limit excedido
500Erro interno

Fluxo Assíncrono

1

Solicitar Extrato

Envie um POST /v4/i/ledger/extract com os parâmetros desejados. A API retorna 202 com o extractId.
2

Processamento

O sistema processa o extrato em background. O status passa de new para processing.
3

Consultar Status

Use GET /v4/i/ledger/extract/{extractId} para acompanhar. Quando status for done, o campo reportUrl contém o link de download.
O tempo de processamento varia conforme o volume de transações no período. Extratos com milhares de transações podem levar alguns segundos.
O reportUrl é uma URL assinada com validade de 24 horas. Após esse período, a URL expira e será necessário gerar um novo extrato. Recomendamos fazer o download do arquivo (PDF/CSV) assim que o status for done.