GET/api/v2/baas/statements

Extrato

Produto BaaS (titular). Requer Bearer JWT do login da conta e assinatura HMAC obrigatória. Scope: baas.statements.read. Guia: documentação técnica.

Parâmetros

AcceptObrigatório
header
Tipo:string
X-SignatureObrigatório
header

Assinatura HMAC-SHA256 da requisição (hex).

Tipo:string
X-TimestampObrigatório
header

Timestamp Unix (segundos, UTC) usado na assinatura.

Tipo:string
X-NonceObrigatório
header

Nonce único por requisição (anti-replay).

Tipo:string
start_dateOpcional
query

Data de início (Y-m-d). Obrigatório quando end_to_end_id não é informado.

Tipo:string
end_dateOpcional
query

Data de fim (Y-m-d). Obrigatório quando end_to_end_id não é informado.

Tipo:string
end_to_end_idOpcional
query

ID end-to-end Pix. Quando informado, dispensa start_date e end_date.

Tipo:string
pageOpcional
query

Página (inicia em 0).

Tipo:integer
limitOpcional
query

Itens por página.

Tipo:integer
typeOpcional
query

Filtro por tipo de movimentação.

Tipo:string
searchOpcional
query

Busca por nome, descrição ou documento.

Tipo:string
balancesOpcional
query

1 para incluir saldo por data no extrato.

Tipo:integer
movement_type_idOpcional
query

ID do tipo de movimento para filtrar.

Tipo:integer
idOpcional
query

ID interno de uma movimentação específica.

Tipo:integer
account_uuidOpcional
query

UUID da conta para filtrar o extrato.

Tipo:string

Autenticação e headers

Requer Bearer JWT do login da conta e assinatura HMAC obrigatórios. Scope: baas.statements.read.

Envie X-Signature, X-Timestamp e X-Nonce em todo pedido assinado. Veja Autenticação do parceiro (HMAC).

HeaderObrigatórioDescrição
AuthorizationSimBearer {{access_token}}
AcceptSimapplication/json
X-SignatureSimAssinatura HMAC
X-TimestampSimTimestamp da assinatura
X-NonceSimNonce único por requisição

GET assinado: use o literal [] como BODY na mensagem HMAC (sem corpo no fio).

Query

ParâmetroObrigatórioDescrição
start_dateCondicionalY-m-d. Obrigatório se end_to_end_id ausente
end_dateCondicionalY-m-d. Obrigatório se end_to_end_id ausente
end_to_end_idCondicionalLocaliza Pix específico; dispensa datas
pageNãoPágina (padrão 0)
limitNãoItens por página (ex.: 50)
typeNãoFiltro por tipo de movimentação
searchNãoBusca textual
balancesNão1 para incluir saldo por data no extrato
movement_type_idNãoID do tipo de movimento
idNãoID interno de uma movimentação
account_uuidNãoUUID da conta (quando aplicável ao integrador)

Resposta paginada: data[] e pagination (page, limit, total).

Valores monetários

value e balance em centavos. value negativo = débito; positivo = crédito.

Códigos

CódigoDescrição
200OK
201Recurso criado
400Parâmetros inválidos
401Token ou HMAC inválido
403Scope ausente
404Não encontrado
422Validação ou regra de negócio
500Erro interno

Notas

curl --request GET \
  --url 'https://api-h.nuvende.com.br/api/v2/baas/statements?start_date=2025-01-01&end_date=2025-01-31&page=0&limit=50' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {{access_token}}' \
  --header 'X-Timestamp: {{timestamp}}' \
  --header 'X-Nonce: {{nonce}}' \
  --header 'X-Signature: {{signature}}'
const axios = require("axios");

axios({
  method: "get",
  url: "https://api-h.nuvende.com.br/api/v2/baas/statements",
  params: {
    start_date: "2025-01-01",
    end_date: "2025-01-31",
    page: 0,
    limit: 50,
  },
  headers: {
    Accept: "application/json",
    Authorization: "Bearer {{access_token}}",
    "X-Timestamp": "{{timestamp}}",
    "X-Nonce": "{{nonce}}",
    "X-Signature": "{{signature}}",
  },
})
  .then((response) => console.log(JSON.stringify(response.data)))
  .catch((error) => console.log(error.response?.data || error.message));
import requests

url = "https://api-h.nuvende.com.br/api/v2/baas/statements"
params = {
    "start_date": "2025-01-01",
    "end_date": "2025-01-31",
    "page": 0,
    "limit": 50,
}
headers = {
    "Accept": "application/json",
    "Authorization": "Bearer {{access_token}}",
    "X-Timestamp": "{{timestamp}}",
    "X-Nonce": "{{nonce}}",
    "X-Signature": "{{signature}}",
}
response = requests.get(url, params=params, headers=headers)
print(response.text)
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => 'https://api-h.nuvende.com.br/api/v2/baas/statements?start_date=2025-01-01&end_date=2025-01-31&page=0&limit=50',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => [
    'Accept: application/json',
    'Authorization: Bearer {{access_token}}',
    'X-Timestamp: {{timestamp}}',
    'X-Nonce: {{nonce}}',
    'X-Signature: {{signature}}',
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
{
  "data": [
    {
      "id": 26506,
      "account_id": 415,
      "description": null,
      "processed_at": "2025-01-15T18:45:15.000000Z",
      "status": "processed",
      "value": 100.5,
      "transaction_date": "2025-01-15T18:45:15.000000Z",
      "scheduled_at": "2025-02-14T18:45:15.000000Z",
      "created_at": "2025-01-15T18:45:15.000000Z",
      "updated_at": "2025-01-15T18:45:15.000000Z",
      "deleted_at": null,
      "movement_type": {
        "id": 23,
        "name": "Pix enviado",
        "type": "debit",
        "category": "cash_out",
        "client_description": null
      },
      "pix_cash_in": null,
      "pix_cash_out": {
        "id": 6186,
        "uuid": "f95d6c66-ef0a-4f1d-8ff2-91a5fa4eca2e",
        "txid": "FgJ2SwboDBUHf76jtyOmi0XEc",
        "id_req": "2e8872f6-54b1-494c-80e1-e66d93104171",
        "end_to_end_id": "E3829737420250115184515520867816",
        "value": "100.50",
        "currency": "BRL",
        "qrcode": null,
        "key": "997fc67e-d2ba-472e-b89d-e85fb791863a",
        "description": null,
        "error_code": null,
        "error_description": null,
        "external_id": "FgJ2SwboDBUHf76jtyOmi0XEc",
        "type": "dict",
        "status": "CONFIRMADO",
        "process_date": "2025-01-15T18:45:16.000000Z",
        "process_status": "processed",
        "receiver_name": "Joao Recebedor Exemplo",
        "receiver_document": "52998224725",
        "receiver_account": "0000009",
        "receiver_account_vd": "4",
        "receiver_agency": "0001",
        "receiver_agency_vd": null,
        "receiver_ispb": "38297374",
        "receiver_bank_name": "NUVENDE"
      },
      "pix_refund_cash_in": null,
      "pix_refund_cash_out": null,
      "transfer": null,
      "payment_link": null,
      "bank_slip": null,
      "payment": null,
      "deposit_order": null,
      "advance": null,
      "terminal_transaction_cancellation": null,
      "split_transaction": null
    },
    {
      "id": 26503,
      "account_id": 415,
      "description": null,
      "processed_at": "2025-01-15T18:11:16.000000Z",
      "status": "processed",
      "value": 500,
      "transaction_date": "2025-01-15T18:11:08.000000Z",
      "scheduled_at": "2025-02-14T18:11:08.000000Z",
      "created_at": "2025-01-15T18:11:15.000000Z",
      "updated_at": "2025-01-15T18:11:16.000000Z",
      "deleted_at": null,
      "movement_type": {
        "id": 31,
        "name": "Pix recebido",
        "type": "credit",
        "category": "cash_in",
        "client_description": null
      },
      "pix_cash_in": {
        "id": 9314,
        "uuid": "04a861a9-ca11-4423-9d33-4d9dc0ae1794",
        "end_to_end_id": "E3829737420250115181108062915330",
        "txid": "cMhGltK4IA1VLRQN0UPepwy2j8",
        "status": "CONFIRMADO",
        "value": "500.00",
        "tax_value": "0.00",
        "net_value": "500.00",
        "date": "2025-01-15T18:11:08.000000Z",
        "transaction_type": 1,
        "account_id": 415,
        "external_id": "15327",
        "description": null,
        "key": "a9435f7a-e0ef-4b2f-b427-0f9aa5aa7102",
        "type": "qrdn",
        "goal": "compra_transferencia",
        "process_date": "2025-01-15T18:11:16.000000Z",
        "process_status": "processed",
        "created_at": "2025-01-15T18:11:15.000000Z",
        "updated_at": "2025-01-15T18:11:16.000000Z",
        "payer_name": "Maria Pagadora Exemplo",
        "payer_document": "11144477735",
        "payer_account": "0000010",
        "payer_account_vd": "1",
        "payer_agency": "0001",
        "payer_agency_vd": null,
        "payer_ispb": "38297374",
        "payer_bank_name": "NUVENDE",
        "notification_infraction": null
      },
      "pix_cash_out": null,
      "pix_refund_cash_in": null,
      "pix_refund_cash_out": null,
      "transfer": null,
      "payment_link": null,
      "bank_slip": null,
      "payment": null,
      "deposit_order": null,
      "advance": null,
      "terminal_transaction_cancellation": null,
      "split_transaction": null
    }
  ],
  "links": {
    "first": 1,
    "last": null,
    "next": null,
    "prev": null
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "per_page": 50,
    "to": 2
  },
  "balances": [],
  "account": {
    "id": 415,
    "name": "Loja Exemplo LTDA",
    "user_id": null,
    "company_id": 206,
    "account": "0000415",
    "account_vd": "4",
    "agency": "0001",
    "agency_vd": "9",
    "type": "checking",
    "uuid": "9e6a7244-c8a9-4207-8d10-001fd4ddb7bb",
    "balance": 1500,
    "blocked_balance": 0,
    "reserved_balance": 0,
    "created_at": "2025-01-15T14:41:23.000000Z",
    "updated_at": "2025-01-15T19:52:24.000000Z",
    "deleted_at": null
  }
}
curl --request GET \
  --url 'https://api-h.nuvende.com.br/api/v2/baas/statements?end_to_end_id=E3829737420250115184515520867816' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {{access_token}}' \
  --header 'X-Timestamp: {{timestamp}}' \
  --header 'X-Nonce: {{nonce}}' \
  --header 'X-Signature: {{signature}}'
curl --request GET \
  --url 'https://api-h.nuvende.com.br/api/v2/baas/statements?start_date=2025-01-01&end_date=2025-01-31&type=pix_sent&search=Joao&balances=1&page=0&limit=100' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {{access_token}}' \
  --header 'X-Timestamp: {{timestamp}}' \
  --header 'X-Nonce: {{nonce}}' \
  --header 'X-Signature: {{signature}}'
curl --request GET \
  --url 'https://api-h.nuvende.com.br/api/v2/baas/statements?id=26506' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {{access_token}}' \
  --header 'X-Timestamp: {{timestamp}}' \
  --header 'X-Nonce: {{nonce}}' \
  --header 'X-Signature: {{signature}}'
{
  "errors": {
    "start_date": ["The start date field is required when end to end id is not present."]
  }
}