Client API Overview
The Client API powers the Daakey mobile application, providing everything needed for end users to discover vehicles, make bookings, control cars during rentals, and manage their accounts. This API is designed for mobile app integration with a focus on user experience and real-time vehicle interaction.
All Client API requests are scoped to a specific agency through the X-Agency-Signature header, enabling white-label deployments where each agency has their own branded mobile app while sharing the same backend infrastructure.
Base URL
https://api.daakey.com/api/v1/clientAuthentication
All Client API requests require:
- Bearer Token - Obtained after login
- Agency Signature - HMAC-signed payload identifying the agency
See Authentication and Agency Signature for details.
Available Endpoints
Configuration (Public)
| Method | Endpoint | Description |
|---|---|---|
| GET | /config | Get agency configuration |
Authentication
| Method | Endpoint | Description |
|---|---|---|
| POST | /auth/login | Login with email/password |
| POST | /auth/register | Register new account |
| POST | /auth/forgot-password | Request password reset |
| POST | /auth/reset-password | Reset password with token |
| POST | /auth/logout | Logout (revoke token) |
| GET | /auth/me | Get current user info |
Verification
| Method | Endpoint | Description |
|---|---|---|
| GET | /verification/status | Get verification status |
| POST | /verification/verify-phone | Verify phone number |
| POST | /verification/resend-phone | Resend phone verification |
| POST | /verification/verify-email | Verify email address |
| POST | /verification/resend-email | Resend email verification |
Home
| Method | Endpoint | Description |
|---|---|---|
| GET | /home | Get home feed data |
Profile
| Method | Endpoint | Description |
|---|---|---|
| GET | /profile | Get current user profile |
| PUT | /profile | Update profile |
| PUT | /profile/password | Change password |
Documents
| Method | Endpoint | Description |
|---|---|---|
| GET | /documents | List uploaded documents |
| POST | /documents | Upload document |
| DELETE | /documents/{type} | Delete document |
Stations
| Method | Endpoint | Description |
|---|---|---|
| GET | /stations | List stations |
| GET | /stations/{id} | Get station details |
Vehicles
| Method | Endpoint | Description |
|---|---|---|
| GET | /vehicles/{id} | Get vehicle details |
| GET | /vehicles/{id}/status | Get vehicle status |
| POST | /vehicles/{id}/control/lock | Lock vehicle |
| POST | /vehicles/{id}/control/unlock | Unlock vehicle |
| POST | /vehicles/{id}/control/enable-driving | Enable driving |
| POST | /vehicles/{id}/control/disable-driving | Disable driving |
Bookings
| Method | Endpoint | Description |
|---|---|---|
| GET | /bookings | List user bookings |
| POST | /bookings | Create new booking |
| GET | /bookings/{id} | Get booking details |
| POST | /bookings/{id}/cancel | Cancel booking |
| POST | /bookings/{id}/request-extension | Request extension |
Payment Methods
| Method | Endpoint | Description |
|---|---|---|
| GET | /payment-methods | List payment methods |
| POST | /payment-methods | Add payment method |
| POST | /payment-methods/{id}/default | Set as default |
| DELETE | /payment-methods/{id} | Remove payment method |
Support Tickets
| Method | Endpoint | Description |
|---|---|---|
| GET | /tickets | List support tickets |
| POST | /tickets | Create ticket |
| GET | /tickets/{id} | Get ticket details |
| POST | /tickets/{id}/messages | Add message |
Response Format
All responses follow the standard format:
json
{
"success": true,
"message": "Operation completed",
"data": { ... },
"meta": {
"agency_id": 123,
"agency_code": "AGENCY123"
},
"request_id": "uuid",
"timestamp": "2024-01-01T00:00:00.000Z"
}