Public
No sessionMarketing forms, app launch config and support. CORS-enabled and rate-limited; a few accept an identity or push token in the body.
- POST
/v1/public/leadsCampaign and fleet-partner enquiry forms - POST
/v1/public/driversDriver enrolment form - POST
/v1/public/waitlistWaitlist signup - POST
/v1/public/media-kitMedia kit request - GETPOST
/v1/public/supportOpen a support case; listing your own needs an identity token - GET
/v1/public/support/{id}Read one support case - POST
/v1/public/support/{id}/messagesReply on a support case - GET
/v1/public/announcementsAnnouncement poll - POST
/v1/public/push-tokensRegister an advertiser device for push - POST
/v1/public/driver-push-tokensRegister a driver device for push - GET
/v1/public/configPlatform flags the apps read on launch
Ops console
Ops Clerk sessionThe internal console and ops mobile app. Each route checks the caller's role permission for the resource it touches.
Session
- GET
/v1/meCaller's role and permissions
Dashboard
- GET
/v1/statsOverview stats and submissions over time
Leads
- GETPOST
/v1/leadsList and create leads - GETPATCHDELETE
/v1/leads/{id}Read, update or delete a lead - POST
/v1/leads/bulkBulk delete or status change
Fleet
- GETPOST
/v1/fleetList and create fleet partners - GETPATCHDELETE
/v1/fleet/{id}Read, update or delete a fleet partner - POST
/v1/fleet/bulkBulk delete or status change
Drivers
- GETPOST
/v1/driversList and create drivers - GETPATCHDELETE
/v1/drivers/{id}Read, update or delete a driver - POST
/v1/drivers/bulkBulk delete or status change
Waitlist
- GETPOST
/v1/waitlistList and create waitlist entries - GETPATCHDELETE
/v1/waitlist/{id}Read, update or delete a waitlist entry - POST
/v1/waitlist/bulkBulk delete or status change
Media kit
- GETPOST
/v1/media-kitList and create media kit requests - GETPATCHDELETE
/v1/media-kit/{id}Read, update or delete a media kit request - POST
/v1/media-kit/bulkBulk delete or status change
Campaigns
- GET
/v1/campaignsList advertiser campaigns - GET
/v1/campaigns/{id}Read one campaign - GET
/v1/campaigns/{id}/creatives/{creativeId}/fileStream a campaign creative - PATCH
/v1/campaigns/{id}/reviewApprove or reject a submitted campaign - POST
/v1/campaigns/bulk-reviewApprove or reject several submitted campaigns at once
Advertiser organizations
- GET
/v1/advertiser-orgsList advertiser organizations - GET
/v1/advertiser-orgs/{id}Read one advertiser organization
Driver applications
- GET
/v1/driver-applicationsList driver applications - GET
/v1/driver-applications/{id}Read one driver application - GET
/v1/driver-applications/{id}/documents/{docId}/fileStream an application document - PATCH
/v1/driver-applications/{id}/reviewApprove or reject a driver application - POST
/v1/driver-applications/bulk-reviewApprove or reject several driver applications at once
Safety incidents
- GET
/v1/safety-incidentsList SOS incidents - GETPATCH
/v1/safety-incidents/{id}Read an incident; acknowledge or resolve it - POST
/v1/safety-incidents/{id}/messagesMessage the driver on an incident - GET
/v1/safety-incidents/{id}/photos/{photoId}/fileStream an incident photo
Support
- GET
/v1/supportList support cases - GETPATCH
/v1/support/{id}Read or update a support case - POST
/v1/support/{id}/messagesReply on a support case
Notifications
- GET
/v1/notificationsList announcement broadcasts - DELETE
/v1/notifications/{id}Remove a broadcast from the feed - POST
/v1/notifications/broadcastSend an announcement; also callable by cron - POST
/v1/notifications/broadcast-imageUpload an announcement image
Push tokens
- POSTDELETE
/v1/push-tokensRegister or remove an ops device for push
Team
- GETPOST
/v1/teamList ops members and invite one - PATCHDELETE
/v1/team/{userId}Change a member's role or remove them - DELETE
/v1/team/invitations/{invitationId}Revoke a pending invitation
Roles
- GETPOST
/v1/rolesList and create ops roles - PATCHDELETE
/v1/roles/{roleId}Update or delete an ops role
Platform users
- GET
/v1/usersSearch drivers or advertisers by account
Platform flags
- GETPATCH
/v1/flagsRead and set platform flags
Activity log
- GET
/v1/auditPaginated audit events
Document export
- POST
/v1/ops/documents/exportRender a table export as PDF - POST
/v1/ops/finance/transactionsRecord a wallet ledger entry by hand - GET
/v1/ops/payments/balanceLive Paystack balance - POST
/v1/ops/payments/refundsRefund unused credit to the original Paystack payments - GETPOST
/v1/ops/payoutsDriver payout run for a month: list and save amounts - POST
/v1/ops/payouts/{id}/retryResend a failed payout - POST
/v1/ops/payouts/disburseSend payouts through Paystack Transfers
Advertiser app
Customer Clerk sessionSelf-service for advertisers on web and mobile. Scoped to the caller's organization and their role within it.
Campaigns
- GETPOST
/v1/customer/campaignsList and create campaigns - GETPATCHDELETE
/v1/customer/campaigns/{id}Read, edit or delete a campaign - POST
/v1/customer/campaigns/{id}/checkoutPay what the balance doesn't cover, then submit - POST
/v1/customer/campaigns/{id}/creativesUpload a creative - DELETE
/v1/customer/campaigns/{id}/creatives/{creativeId}Remove a creative - GET
/v1/customer/campaigns/{id}/creatives/{creativeId}/fileStream a creative - GET
/v1/customer/campaigns/{id}/proof-of-playProof-of-play PDF for an approved campaign - POST
/v1/customer/campaigns/{id}/submitSubmit a campaign for review - GET
/v1/customer/campaigns/statementStatement PDF of campaigns, budgets and totals
Notifications
- GET
/v1/customer/notificationsNotification inbox - PATCH
/v1/customer/notifications/{id}Mark one notification read or unread - PATCH
/v1/customer/notifications/readMark all notifications read
Announcements
- GET
/v1/customer/announcementsAnnouncement inbox on web - PATCH
/v1/customer/announcements/{id}Mark one announcement read or unread - PATCH
/v1/customer/announcements/readMark all announcements read
Mobile announcements
- GET
/v1/customer/mobile-announcementsAnnouncement inbox on mobile - PATCH
/v1/customer/mobile-announcements/readMark all announcements read
Organization
- GETPATCH
/v1/customer/orgRead and update the organization - GET
/v1/customer/org/activityOrganization activity feed - GETPOST
/v1/customer/org/admin-requestsList admin-access requests and file one - POST
/v1/customer/org/admin-requests/{id}Approve or deny an admin-access request - POST
/v1/customer/org/delete-organizationDelete the organization - GET
/v1/customer/org/deletion-statusWhether the caller can delete their account - DELETE
/v1/customer/org/invitations/{invitationId}Revoke a pending invitation - GETPOST
/v1/customer/org/invitations/accept/{token}Preview and accept an invitation - POST
/v1/customer/org/invitations/decline/{token}Decline an invitation - POST
/v1/customer/org/leaveLeave the organization - GETPOST
/v1/customer/org/membersList members and invite one - PATCHDELETE
/v1/customer/org/members/{id}Change a member's role or remove them - GETPOST
/v1/customer/org/rolesList and create organization roles - PATCHDELETE
/v1/customer/org/roles/{roleId}Update or delete an organization role - POST
/v1/customer/org/transfer-ownershipHand ownership to another member
Finance
- GET
/v1/customer/finance/invoicesList the organization's invoices - GET
/v1/customer/finance/invoices/{id}/pdfInvoice PDF - GET
/v1/customer/finance/statementsMonthly wallet statements - GET
/v1/customer/finance/statements/{month}/pdfMonthly wallet statement PDF - GET
/v1/customer/finance/summaryFunds, spend and funding status for the organization - GET
/v1/customer/finance/transactionsWallet ledger with filters, paging and CSV export
Media
- GETPOST
/v1/customer/mediaList Media Manager files and upload one - PATCHDELETE
/v1/customer/media/{id}Rename, move or delete a Media Manager file - GET
/v1/customer/media/{id}/fileStream a Media Manager file - PUTDELETE
/v1/customer/media/{id}/starStar or unstar a Media Manager file - GETPOST
/v1/customer/media/foldersList and create Media Manager folders - PATCHDELETE
/v1/customer/media/folders/{id}Rename or delete a Media Manager folder
Payments
- GET
/v1/customer/payments/{reference}Status of a Paystack payment - POST
/v1/customer/payments/refund-requestAsk ops to refund unused credit (opens a billing support case) - POST
/v1/customer/payments/top-upTop up the balance through Paystack
Reports
- GET
/v1/customer/reports/audienceMarket and daypart reach and impressions - GET
/v1/customer/reports/campaignsCampaign report rows with health, with CSV export - GET
/v1/customer/reports/campaigns/{id}Full report for one campaign - GET
/v1/customer/reports/campaigns/{id}/pdfCampaign report PDF - GET
/v1/customer/reports/deliveryPlays scheduled, delivered and missed, with CSV export - GET
/v1/customer/reports/overviewDelivery headline numbers, pacing and campaign health - GET
/v1/customer/reports/spendSpend, cost per 1,000 and budget burn
Driver app
Driver Clerk sessionSelf-service for drivers: profile, documents, inboxes and SOS incidents.
Notifications
- GET
/v1/driver/notificationsNotification inbox - PATCH
/v1/driver/notifications/{id}Mark one notification read or unread - PATCH
/v1/driver/notifications/readMark all notifications read
Announcements
- GET
/v1/driver/announcementsAnnouncement inbox on web - PATCH
/v1/driver/announcements/{id}Mark one announcement read or unread - PATCH
/v1/driver/announcements/readMark all announcements read
Mobile announcements
- GET
/v1/driver/mobile-announcementsAnnouncement inbox on mobile - PATCH
/v1/driver/mobile-announcements/readMark all announcements read
Profile
- GETPATCH
/v1/driver/profileRead and edit the driver profile - POST
/v1/driver/profile/submitSubmit the profile for review
Documents
- POST
/v1/driver/documentsUpload a profile document - DELETE
/v1/driver/documents/{id}Remove a document - GET
/v1/driver/documents/{id}/fileStream a document
SOS
- GETPOST
/v1/driver/sosRaise an SOS and list your own - GETPATCH
/v1/driver/sos/{id}Read or cancel an SOS - POST
/v1/driver/sos/{id}/locationSend a fresh location ping - POST
/v1/driver/sos/{id}/messagesMessage ops on an SOS - POST
/v1/driver/sos/{id}/photosAttach a photo to an SOS
Payout banks
- GET
/v1/driver/payout-banksKenyan banks for payout details
Payouts
- GET
/v1/driver/payoutsThe driver's own payouts and totals
System
None or cron secretUptime probes and scheduled jobs.
- GET
/v1/healthService status JSON for uptime checks - GETPOST
/v1/push-receipts/checkNightly Expo push receipt reconciliation - GETPOST
/v1/cron/finance-dailyNightly payment reconciliation, daily spend and finance digest - POST
/v1/payments/paystack/transfer-approvalPaystack transfer approval: allow only queued payouts - POST
/v1/payments/paystack/webhookPaystack webhook (signed)