opensource-demo.orangehrmlive.com APIopensource-demo.orangehrmlive.com ↗
Create and edit employee records on OrangeHRM's demo instance via 3 endpoints. Authenticate, create new profiles, and update personal details programmatically.
No input parameters required.
curl -X POST 'https://api.parse.bot/scraper/382e0e00-bf4e-4e90-b0df-d97361bbcd13/login' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'Authenticate with the OrangeHRM demo site using the publicly available demo credentials. This must be called before create_employee or edit_employee. Establishes a session cookie used by subsequent API calls.
No input parameters required.
{
"type": "object",
"fields": {
"message": "string",
"logged_in": "boolean"
},
"sample": {
"data": {
"message": "Login successful",
"logged_in": true
},
"status": "success"
}
}About the opensource-demo.orangehrmlive.com API
This API exposes 3 endpoints for managing employee records on the OrangeHRM open-source HR platform. Starting with the login endpoint to establish a session, you can then call create_employee to add new staff profiles — returning a system-assigned emp_number — or edit_employee to update personal details such as name, birthday, gender, and employee ID on any existing record.
Authentication
All write operations require a valid session. Call login first — it accepts no inputs (the demo credentials are fixed) and returns a session_id and encryption_key. Both values are required inputs for create_employee and edit_employee. Without a successful login response, subsequent calls will fail.
Creating Employee Records
create_employee accepts first_name and last_name as required strings, plus optional middle_name and employee_id. The employee_id field takes a custom string (for example '0418'); if omitted, the system may auto-assign one. The response returns the submitted name fields plus the system-assigned emp_number integer, which is the persistent identifier you'll use for future edits.
Editing Employee Records
edit_employee targets an existing record by its emp_number. All personal detail fields — first_name, last_name, gender, birthday, other_id, and employee_id — are optional. If first_name or last_name are not supplied, the endpoint preserves the current values rather than blanking them. The response includes the full updated state of the record: name fields, emp_number, gender as an integer (1 for Male, 2 for Female), birthday in yyyy-mm-dd format, marital_status, other_id, and a nationality object containing id and name.
- Seed a test OrangeHRM instance with a batch of employee records using
create_employee. - Sync external HR data into OrangeHRM by updating
birthday,gender, andemployee_idviaedit_employee. - Verify that new employee profiles receive a system-assigned
emp_numberbefore downstream processing. - Automate onboarding flows that create an OrangeHRM record as part of a broader provisioning pipeline.
- Update
marital_statusandnationalityfields on existing employees after a data migration. - Test HR workflow integrations against OrangeHRM's demo environment without manual data entry.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does OrangeHRM have an official developer API?+
What does `edit_employee` return beyond the fields I submit?+
edit_employee always returns the full updated record: emp_number, first_name, last_name, middle_name, employee_id, gender (as integer 1 or 2), birthday (yyyy-mm-dd), marital_status, other_id, and a nationality object with id and name. Fields you did not submit are preserved and still appear in the response.