Documentation Index
Fetch the complete documentation index at: https://docs.city.atlas.krd/llms.txt
Use this file to discover all available pages before exploring further.
Base URL
http://localhost:3002/api/v1
Authentication
All protected endpoints require Bearer token:
fetch('/api/v1/users/current', {
headers: {
'Authorization': `Bearer ${sessionToken}`
}
});
Success:
{
"success": true,
"data": { ... }
}
Error:
{
"success": false,
"error": {
"message": "Error description",
"code": "ERROR_CODE"
}
}
International format (E.164):
Error Codes
VALIDATION_ERROR: Invalid input
NOT_FOUND: Resource not found
UNAUTHORIZED: Invalid/expired token
OTP_EXPIRED: OTP has expired
RATE_LIMITED: Too many requests
Mobile Integration
React Native
const apiClient = axios.create({
baseURL: 'http://localhost:3002/api/v1'
});
apiClient.interceptors.request.use(async (config) => {
const token = await AsyncStorage.getItem('sessionToken');
if (token) config.headers.Authorization = `Bearer ${token}`;
return config;
});
Flutter
final token = await SecureStorage.read('sessionToken');
final headers = {
'Content-Type': 'application/json',
if (token != null) 'Authorization': 'Bearer $token',
};