Skip to main content
GET
/
v2
/
account
/
{merchantId}
/
balance
/
history
Get Balance Specific Day
curl --request GET \
  --url https://api.sandbox.wepayout.com.br/v2/account/{merchantId}/balance/history \
  --header 'Authorization: Bearer <token>'
{
  "balance": 15000,
  "available_balance": 10000,
  "reserve_balance": 0,
  "fee": null
}

Documentation Index

Fetch the complete documentation index at: https://docs.wepayout.co/llms.txt

Use this file to discover all available pages before exploring further.

Path Parameters

merchantId
string
required
Merchant ID

Query Parameters

currency
string
Currency code of your deposit account. If not provided, the default value will be DRE.Allowed values: USD, AUD, EUR, GBP, BRL, CAD, CHFExample: BRL
recipient_id
string
ID of your recipientExample: 12
date
string
required
Enter the date in the following format: YYYY-MM-DDExample: 2024-01-15

Response

balance
number
Example: 15000
available_balance
number
Example: 10000
reserve_balance
number
Example: 0
fee
number or null
This field will only be different from null when the account is configured to receive fees in a wallet. Other than in this case, the balance of the other fee account(wallet) that will receive the fees is returned.Default: nullExample: 100

Request Example

curl --request GET \
  --url 'https://api.sandbox.wepayout.com.br/v2/account/{merchantId}/balance/history'?date=2025-01-15 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {token}'
{
  "balance": 15000,
  "available_balance": 10000,
  "reserve_balance": 0,
  "fee": null
}

Use Cases

Track balance changes over time for reporting and reconciliation:
async function getBalanceHistory(merchantId, startDate, endDate) {
  const dates = generateDateRange(startDate, endDate);
  const history = [];
  
  for (const date of dates) {
    const balance = await getBalanceSpecificDay(merchantId, date);
    history.push({ date, ...balance });
  }
  
  return history;
}
Verify end-of-day balances for accounting purposes:
async function reconcileEndOfDay(merchantId, date) {
  const balance = await getBalanceSpecificDay(merchantId, date);
  const transactions = await getTransactionsForDay(merchantId, date);
  
  // Compare calculated vs actual balance
  const calculatedBalance = calculateBalance(transactions);
  const difference = balance.balance - calculatedBalance;
  
  if (difference !== 0) {
    console.warn(`Reconciliation mismatch: ${difference}`);
  }
  
  return { balance, transactions, difference };
}
Generate balance reports for specific periods:
async function generateMonthlyReport(merchantId, year, month) {
  const daysInMonth = new Date(year, month, 0).getDate();
  const report = [];
  
  for (let day = 1; day <= daysInMonth; day++) {
    const date = `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')}`;
    const balance = await getBalanceSpecificDay(merchantId, date);
    report.push({ date, balance: balance.balance });
  }
  
  return report;
}
Create an audit trail of balance changes:
async function auditBalanceChanges(merchantId, dates) {
  const audit = [];
  
  for (let i = 0; i < dates.length - 1; i++) {
    const currentBalance = await getBalanceSpecificDay(merchantId, dates[i]);
    const nextBalance = await getBalanceSpecificDay(merchantId, dates[i + 1]);
    
    const change = nextBalance.balance - currentBalance.balance;
    
    audit.push({
      date: dates[i],
      balance: currentBalance.balance,
      change: change,
      percentChange: (change / currentBalance.balance) * 100
    });
  }
  
  return audit;
}

Date Format

The date parameter must be in the format YYYY-MM-DD:
  • ✅ Valid: 2024-01-15
  • ✅ Valid: 2023-12-31
  • ❌ Invalid: 15/01/2024
  • ❌ Invalid: 01-15-2024
  • ❌ Invalid: 2024/01/15

Response Fields

balance

The total balance in the account on the specified date.

available_balance

The balance available for withdrawal or transactions on the specified date.

reserve_balance

The amount held in reserve on the specified date (if applicable).

fee

Fee balance on the specified date (only applicable when the account is configured to receive fees in a wallet).

Best Practices

Historical Data Availability: Balance history is typically available for the past 90 days. Check with your account manager for specific data retention policies.
Rate Limiting: When querying multiple dates, implement rate limiting to avoid hitting API limits. Consider batching requests or adding delays between calls.
Caching: Historical balance data doesn’t change. Cache responses indefinitely to improve performance and reduce API calls.