API Reference
Welcome to the Quoota API documentation. This is a comprehensive REST API reference for the Quoota lending platform, built with Fiber v2 and backed by Airtable and Firebase.
API Overview
Base URL
https://api.quoota.com/api/v1
Authentication
The API uses two authentication methods:
- Firebase Authentication - For user sign-up, login, and public endpoints
- JWT Bearer Tokens - For authenticated requests after login
Include your JWT token in the Authorization header:
Authorization: Bearer <your_jwt_token>
Response Format
All API responses follow a standard format:
Success Response (200)
{
"success": true,
"statusCode": 200,
"data": {
// Response data
},
"error": null
}
Error Response (4xx/5xx)
{
"success": false,
"statusCode": 400,
"data": null,
"error": {
"message": "Error description"
}
}
HTTP Methods
GET- Retrieve dataPOST- Create new resourcesPUT/PATCH- Update existing resourcesDELETE- Cancel/remove resources
API Sections
Core Features
- Authentication - User sign-up, login, password recovery
- User Management - Profile, documents, settings
- Loan Requests - Create and manage loan applications
- Loans - Active loan management
- Payments - Payment processing and history
- Refinancing - Loan refinancing operations
Additional Features
- Support - Support tickets and categories
- Notifications - Push notifications and messaging
- Currencies - Exchange rates
- Treasury - Treasury operations
- Contracts - Contract management
- Admin - Administrative operations
Rate Limiting
Rate limits are applied per user/IP. Current limits:
- Standard endpoints: 100 requests per hour
- Authentication endpoints: 10 requests per hour per IP
Error Codes
| Code | Status | Description |
|---|---|---|
| 400 | Bad Request | Invalid request parameters |
| 401 | Unauthorized | Missing or invalid authentication |
| 404 | Not Found | Resource not found |
| 409 | Conflict | Resource conflict (e.g., duplicate email) |
| 500 | Internal Server Error | Server error |
Environment Variables
When implementing the API client, ensure you have:
FIREBASE_PROJECT_ID- Firebase project IDJWT_SECRET- For JWT token validationAPI_BASE_URL- Base URL of the API
Timezone & Dates
- All timestamps are in UTC (ISO 8601 format)
- Dates should be sent in
YYYY-MM-DDformat
Pagination
List endpoints support pagination via query parameters:
page- Page number (default: 1)limit- Items per page (default: 20, max: 100)
Getting Help
For support and questions:
- Check the specific endpoint documentation
- Review error messages and status codes
- Contact support at support@quoota.com