Hireable LogoHireable

API Reference

Complete REST API reference for the Hireable platform

Base URL

EnvironmentURL
Developmenthttp://localhost:3001/api
Productionhttps://api.hireable.ph/api

Authentication

Most endpoints require authentication via Bearer token:

Authorization: Bearer <access_token>

Endpoints Overview

Authentication

MethodEndpointDescription
POST/auth/loginLogin with email/password
POST/auth/signupRegister new user
POST/auth/logoutLogout current user
POST/auth/forgot-passwordRequest password reset
POST/auth/reset-passwordReset password with token
POST/auth/refreshRefresh access token
POST/auth/verify-emailVerify email address
GET/auth/meGet current user

Users

MethodEndpointDescription
GET/usersList users (admin)
GET/users/:idGet user profile
PATCH/users/:idUpdate user profile
DELETE/users/:idDelete user account
POST/users/:id/experienceAdd work experience
POST/users/:id/educationAdd education

Waitlist

MethodEndpointDescription
POST/waitlist/talentJoin as talent
POST/waitlist/employerJoin as employer
GET/waitlistList entries (admin)
GET/waitlist/statusCheck position

Jobs

MethodEndpointDescription
GET/jobsList jobs
GET/jobs/:idGet job details
POST/jobsCreate job (employer)
PATCH/jobs/:idUpdate job
DELETE/jobs/:idDelete job
POST/jobs/:id/applyApply to job (talent)

Applications

MethodEndpointDescription
GET/applicationsList applications
GET/applications/:idGet application details
PATCH/applications/:idUpdate status
DELETE/applications/:idWithdraw application

Trials

MethodEndpointDescription
GET/trialsList trials
GET/trials/:idGet trial details
POST/trialsCreate trial
PATCH/trials/:idUpdate trial
POST/trials/:id/tasksAdd task
PATCH/trials/:id/tasks/:taskIdUpdate task
POST/trials/:id/feedbackSubmit feedback

Common Response Formats

Success Response

{
  "data": { ... },
  "message": "Success message"
}

Paginated Response

{
  "data": [ ... ],
  "pagination": {
    "page": 1,
    "limit": 10,
    "total": 100,
    "totalPages": 10
  }
}

Error Response

{
  "message": "Error description",
  "code": "ERROR_CODE",
  "details": { ... }
}

HTTP Status Codes

CodeDescription
200Success
201Created
400Bad Request
401Unauthorized
403Forbidden
404Not Found
409Conflict
422Validation Error
500Server 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:

{
  "message": "Too many requests",
  "code": "RATE_LIMIT_EXCEEDED",
  "details": {
    "retryAfter": 60
  }
}

Detailed Documentation

For detailed endpoint documentation, see:

On this page