POST /api/auth/registerPOST /api/auth/verify-emailPOST /api/auth/complete-profile
POST /api/auth/loginPOST /api/auth/forgot-passwordPOST /api/auth/reset-password
GET /api/profilePUT /api/profile/updatePOST /api/profile/upload-photoPOST /api/profile/upload-video
GET /api/activityGET /api/activity/:id
GET /api/assignmentsGET /api/assignments/:idPOST /api/assignments/update-status
GET /api/banking/accountsPOST /api/banking/add-accountPUT /api/banking/update-account
GET /api/chat/conversationsGET /api/chat/messages/:conversationIdPOST /api/chat/send-message
GET /api/work/historyPOST /api/work/logGET /api/work/performance
GET /api/wallet/balanceGET /api/wallet/transactionsPOST /api/payments/process
interface UserProfile {
id: string;
email: string;
name: string;
dateOfBirth: string;
gender: string;
nationality: string;
phone: string;
civilId: string;
driverLicense?: string;
photo?: string;
video?: string;
skills: string[];
education: Education[];
experience: Experience[];
}interface Assignment {
id: string;
title: string;
description: string;
status: 'pending' | 'in-progress' | 'completed';
startDate: string;
endDate: string;
payment: number;
}interface Transaction {
id: string;
type: 'credit' | 'debit';
amount: number;
description: string;
status: 'pending' | 'completed' | 'failed';
timestamp: string;
}All API endpoints follow a consistent error response format:
interface ErrorResponse {
code: string;
message: string;
details?: Record<string, any>;
}Common error codes:
AUTH_001: Authentication failedAUTH_002: Invalid credentialsPROFILE_001: Profile update failedUPLOAD_001: File upload failed