HR & Payroll

Manage employees, departments, leave requests, and payroll processing. Maintain comprehensive employee records and automate HR workflows.


GET/v1/hr/employees

List employees

Retrieve a paginated list of all employees.

Optional parameters

  • Name
    department_id
    Type
    string
    Description

    Filter by department.

  • Name
    status
    Type
    string
    Description

    Filter by status: active, inactive, on_leave.

  • Name
    limit
    Type
    integer
    Description

    Maximum number of records to return.

Request

GET
/v1/hr/employees
curl https://api.umbraerp.com/v1/hr/employees \
  -H "Authorization: Bearer <your_access_token>"

Response

{
  "result": "success",
  "employees": [
    {
      "id": "emp_001",
      "first_name": "Jane",
      "last_name": "Smith",
      "email": "jane@company.com",
      "department": "Engineering",
      "position": "Software Engineer",
      "status": "active",
      "hire_date": "2025-06-01",
      "created_at": "2025-06-01T09:00:00Z"
    }
  ],
  "total_count": 1
}

POST/v1/hr/employees

Create employee

Add a new employee to the system.

Required attributes

  • Name
    first_name
    Type
    string
    Description

    Employee's first name.

  • Name
    last_name
    Type
    string
    Description

    Employee's last name.

  • Name
    email
    Type
    string
    Description

    Employee's email address.

  • Name
    department_id
    Type
    string
    Description

    Department ID.

  • Name
    position
    Type
    string
    Description

    Job title/position.

  • Name
    hire_date
    Type
    string
    Description

    Start date (YYYY-MM-DD).

Optional attributes

  • Name
    phone
    Type
    string
    Description

    Phone number.

  • Name
    salary
    Type
    integer
    Description

    Monthly salary in the smallest currency unit.

  • Name
    currency
    Type
    string
    Description

    Salary currency (default: USD).

Request

POST
/v1/hr/employees
curl -X POST https://api.umbraerp.com/v1/hr/employees \
  -H "Authorization: Bearer <your_access_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "first_name": "Jane",
    "last_name": "Smith",
    "email": "jane@company.com",
    "department_id": "dept_eng",
    "position": "Software Engineer",
    "hire_date": "2026-04-01",
    "salary": 500000,
    "currency": "USD"
  }'

Response

{
  "result": "success",
  "employee_id": "emp_001",
  "message": "Employee created successfully."
}

GET/v1/hr/employees/:id

Get employee

Retrieve details of a specific employee.

Request

GET
/v1/hr/employees/emp_001
curl https://api.umbraerp.com/v1/hr/employees/emp_001 \
  -H "Authorization: Bearer <your_access_token>"

PUT/v1/hr/employees/:id

Update employee

Update an existing employee's information.

Optional attributes

  • Name
    position
    Type
    string
    Description

    Updated job title.

  • Name
    department_id
    Type
    string
    Description

    Updated department.

  • Name
    salary
    Type
    integer
    Description

    Updated monthly salary.

  • Name
    status
    Type
    string
    Description

    Updated status: active, inactive, on_leave.

Request

PUT
/v1/hr/employees/emp_001
curl -X PUT https://api.umbraerp.com/v1/hr/employees/emp_001 \
  -H "Authorization: Bearer <your_access_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "position": "Senior Software Engineer",
    "salary": 650000
  }'

Response

{
  "result": "success",
  "message": "Employee updated successfully."
}

GET/v1/hr/departments

List departments

Retrieve all departments in the organization.

Request

GET
/v1/hr/departments
curl https://api.umbraerp.com/v1/hr/departments \
  -H "Authorization: Bearer <your_access_token>"

Response

{
  "result": "success",
  "departments": [
    {
      "id": "dept_eng",
      "name": "Engineering",
      "head": "emp_001",
      "employee_count": 12
    },
    {
      "id": "dept_sales",
      "name": "Sales",
      "head": "emp_002",
      "employee_count": 8
    }
  ]
}

Was this page helpful?