Authentication
The Areye Business API uses API key authentication. Include your key in the X-Business-API-Key header on every request. You can find and rotate your key in the Business Portal under Settings → API Access.
X-Business-API-Key: biz_live_xxxxxxxxxxxxxxxxxxxxxxxx
Keep your API key secret. Never expose it in client-side code or public repositories. Use environment variables. Rotate your key immediately from the Business Portal if you suspect it has been compromised.
Rate Limits
| Plan | Requests / min | Requests / day |
|---|---|---|
| Starter | 30 | 1,000 |
| Business | 120 | 10,000 |
| Enterprise | Custom | Custom |
Rate limit headers are returned on every response: X-RateLimit-Remaining and X-RateLimit-Reset.
Endpoints
Bookings
/business/book
/business/trips
/business/trips/{id}
/business/trips/{id}/cancel
People & Groups
/business/people
/business/people
/business/people/{id}
/business/people/{id}
Wallet
/business/wallet
/business/wallet/topup
Billing
/business/billing/statements
/business/billing/statements/{id}
Coupons
/business/coupons
/business/coupons
/business/coupons/{id}
Account
/business/profile
/business/profile
/business/api-key
Example: Book a parcel delivery for an employee
curl -X POST https://api.areye.app/business/book \
-H "X-Business-API-Key: biz_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"service": "delivery",
"employee_id": "EMP-0042",
"expense_code": "PROJ-2026-Q3",
"pickup": {
"address": "Plot 64271, Block 3 Industrial, Gaborone",
"contact_name": "John Smith",
"contact_phone": "+267712345678"
},
"dropoff": {
"address": "Molapo Crossing Mall, Gaborone",
"contact_name": "Jane Doe",
"contact_phone": "+267723456789"
},
"package": {
"size": "standard",
"weight_kg": 2.5,
"fragile": false,
"description": "Electronics - handle with care"
},
"scheduled_at": null,
"notify_recipient": true
}'
{
"id": "BK-28491",
"status": "pending",
"service": "delivery",
"employee_id": "EMP-0042",
"expense_code": "PROJ-2026-Q3",
"quote": {
"amount": 85.00,
"currency": "BWP",
"distance_km": 4.2
},
"estimated_pickup_at": "2026-07-01T14:15:00Z",
"tracking_url": "https://areye.app/track/BK-28491",
"created_at": "2026-07-01T14:08:32Z"
}
Webhooks
Set your webhook URL in Business Portal → Settings → API Access. Areye signs all payloads — verify the X-Areye-Signature header before processing to ensure the event originated from Areye.
| Event | Description |
|---|---|
trip.created |
A trip was booked via the API or Business Portal |
trip.driver_accepted |
A driver was matched and accepted the trip |
trip.picked_up |
Driver picked up the passenger or parcel |
trip.completed |
Trip completed — receipt and route data available |
trip.cancelled |
Trip was cancelled — includes refund status |
wallet.low_balance |
Wallet balance fell below your configured threshold |
invoice.issued |
A new monthly invoice is ready for download |
Errors
Areye uses standard HTTP status codes. All error responses include a machine-readable code field and a human-readable message.
| Status | Meaning |
|---|---|
| 200 | Success |
| 201 | Created — resource was successfully created |
| 401 | Unauthorized — missing or invalid API key |
| 403 | Forbidden — your plan does not include this endpoint or feature |
| 404 | Not Found — resource does not exist |
| 422 | Unprocessable — validation failed, insufficient wallet balance, or credit limit exceeded |
| 429 | Too Many Requests — rate limit exceeded |
| 500 | Internal Server Error — contact support |
SDKs & Libraries
Official SDKs are under development. In the meantime, use the REST API directly with your preferred HTTP client.
Ready to build?
Request an API key and sandbox access. Our team will set you up within 24 hours.
Request API Access