Skip to main content

Financial Dashboard (Delivery)

6 API calls in this section.

Get Financial Dashboard (Overview)

Delivery & Last-Mile / Financial Dashboard (Delivery)
GET/delivery/financial-dashboard?start_date=&end_date=&customer_type=&customer_id=&tenant_id=&language=en

Returns 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

Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
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_dateOptional
query string

Filter from date (ISO or YYYY-MM-DD). Default: last 56 days window.

end_dateOptional
query string

Filter to date (ISO or YYYY-MM-DD). Default: today (UTC day).

customer_typeOptional
query string

Filter by customer type: individual | business

customer_idOptional
query string

Filter by customer user id (UUID)

tenant_idOptional
query string

Tenant ID (optional if in auth token)

languageOptional
query string

en

Preferred language for response messages

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Responses

No response example is available for this endpoint yet.

Get Driver COD Ranking

Delivery & Last-Mile / Financial Dashboard (Delivery)
GET/delivery/financial-dashboard/driver-cod?page=1&limit=10&start_date=&end_date=&customer_type=&customer_id=&tenant_id=&language=en

Returns 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

Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
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

pageOptional
query string

1

Page number (default: 1)

limitOptional
query string

10

Items per page (default: 10, max: 100)

start_dateOptional
query string

Filter from date (ISO or YYYY-MM-DD). Default: last 56 days window.

end_dateOptional
query string

Filter to date (ISO or YYYY-MM-DD). Default: today (UTC day).

customer_typeOptional
query string

Optional customer type filter: individual | business

customer_idOptional
query string

Optional customer user id filter (UUID)

tenant_idOptional
query string

Tenant ID (optional if in auth token)

languageOptional
query string

en

Preferred language for response messages

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Responses

No response example is available for this endpoint yet.

List Payout Requests

Delivery & Last-Mile / Financial Dashboard (Delivery)
GET/delivery/financial-dashboard/payout-requests?status=&customer_type=&user_id=&search=&start_date=&end_date=&page=1&limit=10&tenant_id=&language=en

Returns 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

Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
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

statusOptional
query string

Filter by status: pending | approved | rejected (omit for all)

customer_typeOptional
query string

Filter by customer type: individual | business (omit for all)

user_idOptional
query string

Filter by customer user id (UUID)

searchOptional
query string

Search by customer name or phone

start_dateOptional
query string

Filter by requested_at from date (ISO or YYYY-MM-DD)

end_dateOptional
query string

Filter by requested_at to date (ISO or YYYY-MM-DD)

pageOptional
query string

1

Page number (default: 1)

limitOptional
query string

10

Items per page (default: 10, max: 100)

tenant_idOptional
query string

Tenant ID (optional if in auth token)

languageOptional
query string

en

Preferred language for response messages

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Responses

No response example is available for this endpoint yet.

Approve Payout Request

Delivery & Last-Mile / Financial Dashboard (Delivery)
POST/delivery/financial-dashboard/payout-requests/:id/approve?tenant_id=&language=en

Approves a pending payout request and creates a wallet debit transaction. Permissions: - manage:wallets OR manage:operations:tenant

Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
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}'
Request body
json
1{2  "notes": ""3}

Path parameters

idRequired
path string

payout-request-uuid

Payout request ID

Query parameters

tenant_idOptional
query string

Tenant ID (optional if in auth token)

languageOptional
query string

en

Preferred language for response messages

Request body fields

notesExample
string

Example field from the request body.

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Content-TypeOptional
header string

application/json

Responses

No response example is available for this endpoint yet.

Reject Payout Request

Delivery & Last-Mile / Financial Dashboard (Delivery)
POST/delivery/financial-dashboard/payout-requests/:id/reject?tenant_id=&language=en

Rejects 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

Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
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}'
Request body
json
1{2  "reason": ""3}

Path parameters

idRequired
path string

payout-request-uuid

Payout request ID

Query parameters

tenant_idOptional
query string

Tenant ID (optional if in auth token)

languageOptional
query string

en

Preferred language for response messages

Request body fields

reasonExample
string

Example field from the request body.

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Content-TypeOptional
header string

application/json

Responses

No response example is available for this endpoint yet.

Create Manual Payout

Delivery & Last-Mile / Financial Dashboard (Delivery)
POST/delivery/financial-dashboard/payouts?tenant_id=&language=en

Creates 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

Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
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}'
Request body
json
1{2  "business_user_id": "",3  "amount": 0,4  "status": "pending",5  "reference": "",6  "notes": ""7}

Query parameters

tenant_idOptional
query string

Tenant ID (optional if in auth token)

languageOptional
query string

en

Preferred language for response messages

Request body fields

business_user_idExample
string

Example field from the request body.

amountExample
number

Example field from the request body.

statusExample
string

Example field from the request body.

referenceExample
string

Example field from the request body.

notesExample
string

Example field from the request body.

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Content-TypeOptional
header string

application/json

Responses

No response example is available for this endpoint yet.