API Reference

Integrate HR Manager Pro with your existing systems using our RESTful API.

Authentication

API Key Required

All API requests require authentication using your API key in the Authorization header.

Getting Your API Key

  1. Log in to your HR Manager Pro account
  2. Go to Settings → API Keys
  3. Click "Generate New API Key"
  4. Copy and securely store your API key

Authentication Header

Authorization: Bearer YOUR_API_KEY

Jobs API

GET /api/v1/jobs

Retrieve a list of all job postings.

Query Parameters

  • status - Filter by job status (active, closed, draft)
  • department - Filter by department ID
  • limit - Number of results per page (default: 20)
  • page - Page number for pagination

Example Response

{
  "data": [
    {
      "id": 123,
      "title": "Senior Software Engineer",
      "department": "Engineering",
      "status": "active",
      "created_at": "2024-01-15T10:30:00Z",
      "applications_count": 45
    }
  ],
  "meta": {
    "total": 100,
    "per_page": 20,
    "current_page": 1
  }
}
POST /api/v1/jobs

Create a new job posting.

Request Body

{
  "title": "Senior Software Engineer",
  "description": "We are looking for...",
  "department_id": 5,
  "location": "San Francisco, CA",
  "employment_type": "full-time",
  "salary_min": 120000,
  "salary_max": 180000
}

Candidates API

GET /api/v1/candidates

Retrieve candidate information.

Query Parameters

  • job_id - Filter candidates by job ID
  • status - Filter by application status
  • search - Search by name or email

Interviews API

POST /api/v1/interviews

Schedule a new interview.

Request Body

{
  "candidate_id": 456,
  "job_id": 123,
  "interviewer_ids": [1, 2],
  "scheduled_at": "2024-02-01T14:00:00Z",
  "duration_minutes": 60,
  "type": "technical"
}

Webhooks

Webhooks allow you to receive real-time notifications when events occur in your HR Manager Pro account.

Available Events

application.created

Triggered when a new application is submitted

interview.scheduled

Triggered when an interview is scheduled

candidate.status_changed

Triggered when candidate status changes

job.published

Triggered when a job is published

Webhook Payload Example

{
  "event": "application.created",
  "timestamp": "2024-01-15T10:30:00Z",
  "data": {
    "application_id": 789,
    "candidate_id": 456,
    "job_id": 123,
    "status": "pending"
  }
}

Rate Limiting

API requests are limited to 1000 requests per hour per API key. Rate limit headers are included in all responses.