External API Reference - Version 1.0
The HRwise.ai API provides programmatic access to your HR data, succession planning, and employee analytics. This RESTful API uses standard HTTP methods and returns JSON responses.
All API requests require JWT authentication using Bearer tokens.
Authentication Flow:
POST /api/v1/token/ with your API key(can be obtained from Hrwise account/settings/api_keys) to receive access and refresh tokensAuthorization: Bearer <access_token>POST /api/v1/token/refresh/Rate Limit: 1000 requests per hour per company
If you exceed the rate limit, you'll receive a 429 Too Many Requests response. Rate limit information is included in response headers:
X-RateLimit-Limit: Maximum requests per hourX-RateLimit-Remaining: Remaining requests in current windowX-RateLimit-Reset: Time when the rate limit resets (Unix timestamp)All responses are returned in JSON format with a consistent structure:
| Status Code | Description |
|---|---|
| 200 | Success - Request completed successfully |
| 201 | Created - Resource created successfully |
| 400 | Bad Request - Invalid request parameters |
| 401 | Unauthorized - Invalid or missing authentication token |
| 404 | Not Found - Resource does not exist |
| 500 | Internal Server Error - Something went wrong on our end |
For API support, questions, or to report issues, please contact us at info@hrwise.ai
Exchange your API key for JWT access and refresh tokens. This is the first step in the authentication flow. The access token is used for all subsequent API calls, while the refresh token is used to obtain new access tokens when they expire.
| Field | Type | Required | Description |
|---|---|---|---|
| api_key | string | Required | Your HRwise.ai API key (format: hrw_xxxxxxxxxxxxx) |
200 OK Success
| Field | Description |
|---|---|
| access | JWT access token (valid for 24 hours) |
| refresh | JWT refresh token (valid for 7 days) |
| token_type | Token type (always "Bearer") |
| expires_in | Access token expiration time in seconds (86400 = 24 hours) |
| company | Your company information |
400 Bad Request Missing API key
401 Unauthorized Invalid API key
Use your refresh token to obtain a new access token and refresh token. This should be called when your access token expires (after 24 hours). The old refresh token will be blacklisted after a successful refresh.
| Field | Type | Required | Description |
|---|---|---|---|
| refresh | string | Required | Your current refresh token |
200 OK Success
401 Unauthorized Invalid or expired refresh token
Returns a paginated list of employees for your company. Supports filtering by active status, department, high performer status, and attrition risk.
Requires JWT Bearer token in Authorization header
| Parameter | Type | Required | Description |
|---|---|---|---|
| is_active | boolean | Optional | Filter by active status. Values: true or false |
| department | string | Optional | Filter by department name (case-insensitive) |
| is_high_performer | boolean | Optional | Filter high performers. Values: true or false |
| at_risk | boolean | Optional | Filter employees at risk (attrition score > 70). Values: true |
| page | integer | Optional | Page number for pagination (default: 1) |
| page_size | integer | Optional | Number of items per page (default: 50, max: 100) |
200 OK Success
401 Unauthorized Invalid or missing token
Retrieve detailed information about a specific employee. The identifier can be the employee's ID, employee_id, or email address.
Requires JWT Bearer token in Authorization header
| Parameter | Type | Required | Description |
|---|---|---|---|
| identifier | string | Required | Employee identifier: can be id (integer), employee_id (string), or email |
| Parameter | Type | Required | Description |
|---|---|---|---|
| query | string | Optional | Specify what data to return. Valid values: skill_gaps, progress, trainings, tasks, mentorships. If omitted, returns full employee details. |
200 OK Success (without query parameter)
200 OK Success
200 OK Success
200 OK Success
200 OK Success
200 OK Success
400 Bad Request Invalid query parameter
404 Not Found Employee not found
Creates or updates an employee record and sends an invitation email to access the HRwise platform. If the employee already exists, their information will be updated.
Requires JWT Bearer token in Authorization header
| Field | Type | Required | Description |
|---|---|---|---|
| string | Required | Employee's email address (must be valid email format) | |
| first_name | string | Required | Employee's first name |
| last_name | string | Required | Employee's last name |
| department_name | string | Required | Department name (must exist in your company) |
| position | string | Required | Employee's job position/title |
201 Created Success - Employee created and invitation sent
400 Bad Request Missing or invalid fields
Returns all succession planning data grouped by position/role. Each position includes the current role holder, all successors, and a calculated bench strength index (BSI) score.
Requires JWT Bearer token in Authorization header
| Parameter | Type | Required | Description |
|---|---|---|---|
| department | string | Optional | Filter by department name (case-insensitive) |
| readiness_level | string | Optional | Filter by readiness level. Valid values: ready_now, <6_months, 6-12_months, 12-24_months, >24_months |
The BSI is calculated using the following weighted factors:
BSI scores range from 0-100, where higher scores indicate stronger succession coverage.
200 OK Success
initial_gaps and initial_fit represent the original assessment, while updated_gaps and updated_fit show current progress.
Retrieve detailed information about a specific successor record. The identifier can be the successor's ID, employee's ID, employee_id, or email address.
Requires JWT Bearer token in Authorization header
| Parameter | Type | Required | Description |
|---|---|---|---|
| identifier | string | Required | Can be: successor.id (integer), employee.id (integer), employee.employee_id (string), or employee.email |
200 OK Success
404 Not Found Successor not found
Returns a comprehensive bench strength analysis table showing succession metrics for all positions. Includes readiness distribution, internal vs external successor ratios, and bench strength index scores.
Requires JWT Bearer token in Authorization header
| Parameter | Type | Required | Description |
|---|---|---|---|
| department | string | Optional | Filter by department name (case-insensitive) |
200 OK Success
| Field | Description |
|---|---|
| role | Position/role title being analyzed |
| current_holder | Name of the person currently in this role |
| department | Department name |
| total_successors | Total number of identified successors for this role |
| ready_now_count | Number of successors ready immediately |
| less_6_months_count | Number of successors ready in less than 6 months |
| six_12_months_count | Number of successors ready in 6-12 months |
| twelve_24_months_count | Number of successors ready in 12-24 months |
| more_24_months_count | Number of successors ready in more than 24 months |
| internal_percentage | Percentage of successors from the same department |
| external_percentage | Percentage of successors from other departments |
| bench_strength_index | Overall bench strength score (0-100) based on weighted factors |