API Reference
Complete REST API reference for the Hireable platform
Base URL
| Environment | URL |
|---|---|
| Development | http://localhost:3001/api |
| Production | https://api.hireable.ph/api |
Authentication
Most endpoints require authentication via Bearer token:
Endpoints Overview
Authentication
| Method | Endpoint | Description |
|---|---|---|
| POST | /auth/login | Login with email/password |
| POST | /auth/signup | Register new user |
| POST | /auth/logout | Logout current user |
| POST | /auth/forgot-password | Request password reset |
| POST | /auth/reset-password | Reset password with token |
| POST | /auth/refresh | Refresh access token |
| POST | /auth/verify-email | Verify email address |
| GET | /auth/me | Get current user |
Users
| Method | Endpoint | Description |
|---|---|---|
| GET | /users | List users (admin) |
| GET | /users/:id | Get user profile |
| PATCH | /users/:id | Update user profile |
| DELETE | /users/:id | Delete user account |
| POST | /users/:id/experience | Add work experience |
| POST | /users/:id/education | Add education |
Waitlist
| Method | Endpoint | Description |
|---|---|---|
| POST | /waitlist/talent | Join as talent |
| POST | /waitlist/employer | Join as employer |
| GET | /waitlist | List entries (admin) |
| GET | /waitlist/status | Check position |
Jobs
| Method | Endpoint | Description |
|---|---|---|
| GET | /jobs | List jobs |
| GET | /jobs/:id | Get job details |
| POST | /jobs | Create job (employer) |
| PATCH | /jobs/:id | Update job |
| DELETE | /jobs/:id | Delete job |
| POST | /jobs/:id/apply | Apply to job (talent) |
Applications
| Method | Endpoint | Description |
|---|---|---|
| GET | /applications | List applications |
| GET | /applications/:id | Get application details |
| PATCH | /applications/:id | Update status |
| DELETE | /applications/:id | Withdraw application |
Trials
| Method | Endpoint | Description |
|---|---|---|
| GET | /trials | List trials |
| GET | /trials/:id | Get trial details |
| POST | /trials | Create trial |
| PATCH | /trials/:id | Update trial |
| POST | /trials/:id/tasks | Add task |
| PATCH | /trials/:id/tasks/:taskId | Update task |
| POST | /trials/:id/feedback | Submit feedback |
Common Response Formats
Success Response
Paginated Response
Error Response
HTTP Status Codes
| Code | Description |
|---|---|
| 200 | Success |
| 201 | Created |
| 400 | Bad Request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |
| 409 | Conflict |
| 422 | Validation Error |
| 500 | Server Error |
Rate Limiting
API requests are rate limited to prevent abuse:
- Anonymous: 100 requests/minute
- Authenticated: 1000 requests/minute
When rate limited, you'll receive:
Detailed Documentation
For detailed endpoint documentation, see: