Financial Dashboard (Delivery)
6 API calls in this section.
Get Financial Dashboard (Overview)
/delivery/financial-dashboard?start_date=&end_date=&customer_type=&customer_id=&tenant_id=&language=enReturns the Financial Dashboard overview payload. Includes: - KPI summary cards (with trends and sparkline chart_data) - Revenue chart (Delivery Fees vs COD Collected) - COD breakdown donut values - Customer breakdown (Individual vs Business) - Wallet overview (total wallet balances, pending payouts, available after payouts) Notes: - pending_payouts and wallet overview are point-in-time (not date-range based), but respect customer filters. - KPI totals and charts follow the date range. Permissions: - view:financial_reports OR view:finance:tenant OR manage:wallets OR manage:operations:tenant
1curl --request GET "$ONDI_BASE_URL/delivery/financial-dashboard?start_date=&end_date=&customer_type=&customer_id=&tenant_id=&language=en" \2 --header "Authorization: Bearer {{access_token}}"Query parameters
start_dateOptionalFilter from date (ISO or YYYY-MM-DD). Default: last 56 days window.
end_dateOptionalFilter to date (ISO or YYYY-MM-DD). Default: today (UTC day).
customer_typeOptionalFilter by customer type: individual | business
customer_idOptionalFilter by customer user id (UUID)
tenant_idOptionalTenant ID (optional if in auth token)
languageOptionalen
Preferred language for response messages
Headers
AuthorizationOptionalBearer {{access_token}}
Responses
No response example is available for this endpoint yet.
Get Driver COD Ranking
/delivery/financial-dashboard/driver-cod?page=1&limit=10&start_date=&end_date=&customer_type=&customer_id=&tenant_id=&language=enReturns drivers ranked by COD collected in the date range. Each row includes: - total_cod_collected - total_cod_remitted (includes settled_by_wallet) - pending_cod - deliveries_completed - avg_cod_per_delivery - remit_rate (%) Permissions: - view:financial_reports OR view:finance:tenant OR manage:wallets OR manage:operations:tenant
1curl --request GET "$ONDI_BASE_URL/delivery/financial-dashboard/driver-cod?page=1&limit=10&start_date=&end_date=&customer_type=&customer_id=&tenant_id=&language=en" \2 --header "Authorization: Bearer {{access_token}}"Query parameters
pageOptional1
Page number (default: 1)
limitOptional10
Items per page (default: 10, max: 100)
start_dateOptionalFilter from date (ISO or YYYY-MM-DD). Default: last 56 days window.
end_dateOptionalFilter to date (ISO or YYYY-MM-DD). Default: today (UTC day).
customer_typeOptionalOptional customer type filter: individual | business
customer_idOptionalOptional customer user id filter (UUID)
tenant_idOptionalTenant ID (optional if in auth token)
languageOptionalen
Preferred language for response messages
Headers
AuthorizationOptionalBearer {{access_token}}
Responses
No response example is available for this endpoint yet.
List Payout Requests
/delivery/financial-dashboard/payout-requests?status=&customer_type=&user_id=&search=&start_date=&end_date=&page=1&limit=10&tenant_id=&language=enReturns payout requests with filters and pagination. Includes per row: - customer_name / phone - wallet_balance - total_orders (lifetime count in tenant) - requested_at / processed_at Also returns top-level counts for the KPI strip: - all - pending - approved - rejected Notes: - counts respect search, date range, customer type, user, and tenant filters - counts intentionally ignore the active status filter Permissions: - view:financial_reports OR view:finance:tenant OR manage:wallets OR manage:operations:tenant
1curl --request GET "$ONDI_BASE_URL/delivery/financial-dashboard/payout-requests?status=&customer_type=&user_id=&search=&start_date=&end_date=&page=1&limit=10&tenant_id=&language=en" \2 --header "Authorization: Bearer {{access_token}}"Query parameters
statusOptionalFilter by status: pending | approved | rejected (omit for all)
customer_typeOptionalFilter by customer type: individual | business (omit for all)
user_idOptionalFilter by customer user id (UUID)
searchOptionalSearch by customer name or phone
start_dateOptionalFilter by requested_at from date (ISO or YYYY-MM-DD)
end_dateOptionalFilter by requested_at to date (ISO or YYYY-MM-DD)
pageOptional1
Page number (default: 1)
limitOptional10
Items per page (default: 10, max: 100)
tenant_idOptionalTenant ID (optional if in auth token)
languageOptionalen
Preferred language for response messages
Headers
AuthorizationOptionalBearer {{access_token}}
Responses
No response example is available for this endpoint yet.
Approve Payout Request
/delivery/financial-dashboard/payout-requests/:id/approve?tenant_id=&language=enApproves a pending payout request and creates a wallet debit transaction. Permissions: - manage:wallets OR manage:operations:tenant
1curl --request POST "$ONDI_BASE_URL/delivery/financial-dashboard/payout-requests/:id/approve?tenant_id=&language=en" \2 --header "Authorization: Bearer {{access_token}}" \3 --header "Content-Type: application/json" \4 --header "Content-Type: application/json" \5 --data '{6 "notes": ""7}'1{2 "notes": ""3}Path parameters
idRequiredpayout-request-uuid
Payout request ID
Query parameters
tenant_idOptionalTenant ID (optional if in auth token)
languageOptionalen
Preferred language for response messages
Request body fields
notesExampleExample field from the request body.
Headers
AuthorizationOptionalBearer {{access_token}}
Content-TypeOptionalapplication/json
Responses
No response example is available for this endpoint yet.
Reject Payout Request
/delivery/financial-dashboard/payout-requests/:id/reject?tenant_id=&language=enRejects a pending payout request (no wallet transaction is created). Body is optional. - If reason is omitted/empty, backend stores a default reason. Permissions: - manage:wallets OR manage:operations:tenant
1curl --request POST "$ONDI_BASE_URL/delivery/financial-dashboard/payout-requests/:id/reject?tenant_id=&language=en" \2 --header "Authorization: Bearer {{access_token}}" \3 --header "Content-Type: application/json" \4 --header "Content-Type: application/json" \5 --data '{6 "reason": ""7}'1{2 "reason": ""3}Path parameters
idRequiredpayout-request-uuid
Payout request ID
Query parameters
tenant_idOptionalTenant ID (optional if in auth token)
languageOptionalen
Preferred language for response messages
Request body fields
reasonExampleExample field from the request body.
Headers
AuthorizationOptionalBearer {{access_token}}
Content-TypeOptionalapplication/json
Responses
No response example is available for this endpoint yet.
Create Manual Payout
/delivery/financial-dashboard/payouts?tenant_id=&language=enCreates a manual payout request with caller-provided status. Request Body: - business_user_id (required) - amount (required) - status (required: pending | approved) - reference (optional) - notes (optional) Behavior: - pending: creates only the payout request - approved: creates the payout request and immediately debits the wallet Permissions: - manage:wallets OR manage:operations:tenant
1curl --request POST "$ONDI_BASE_URL/delivery/financial-dashboard/payouts?tenant_id=&language=en" \2 --header "Authorization: Bearer {{access_token}}" \3 --header "Content-Type: application/json" \4 --header "Content-Type: application/json" \5 --data '{6 "business_user_id": "",7 "amount": 0,8 "status": "pending",9 "reference": "",10 "notes": ""11}'1{2 "business_user_id": "",3 "amount": 0,4 "status": "pending",5 "reference": "",6 "notes": ""7}Query parameters
tenant_idOptionalTenant ID (optional if in auth token)
languageOptionalen
Preferred language for response messages
Request body fields
business_user_idExampleExample field from the request body.
amountExampleExample field from the request body.
statusExampleExample field from the request body.
referenceExampleExample field from the request body.
notesExampleExample field from the request body.
Headers
AuthorizationOptionalBearer {{access_token}}
Content-TypeOptionalapplication/json
Responses
No response example is available for this endpoint yet.