Search by

elmo-software / user-api-sdk

elmo-software

# Overview The ELMO API is a RESTful based API that facilitates user information management within the ELMO ecosystem. Our API is designed to empower businesses, including our valued customers and partners, in creating scalable integration solutions aligned with their evolving business needs. By

0.1.1 2026-10-23 06:23 UTC

This package is not auto-updated.

Last update: 2026-11-08 17:02:20 UTC


README

PHP client for the ELMO User API (API version v1-rc3).

Prerequisites

  • ELMO API credentials: a client ID and a client secret. A Company Admin creates and manages API credentials in ELMO.
  • PHP 8.4.27 or later, with the curl, json and mbstring extensions.
  • Composer.

Install

composer require elmo-software/user-api-sdk

Configure

ElmoClient needs your client ID and client secret only. It gets the OAuth2 access token (client-credentials grant, POST /oauth/token) on the first request, and gets a new token 60 seconds before the current token expires. You do not send a token yourself.

<?php
require __DIR__ . '/vendor/autoload.php';

use Elmo\UserApi\ApiException;
use Elmo\UserApi\ElmoClient;

$elmo = new ElmoClient(getenv('ELMO_CLIENT_ID'), getenv('ELMO_CLIENT_SECRET'));

try {
    $users = $elmo->users->getUserCollection(items_per_page: 10);
    foreach ($users as $user) {
        echo $user->getId(), ' ', $user->getFirstName(), ' ', $user->getLastName(), PHP_EOL;
    }
} catch (ApiException $e) {
    echo 'HTTP ', $e->getCode(), ': ', $e->getResponseBody(), PHP_EOL;
}

Keep the client secret out of source control. Read it from the environment or a secret store.

Optional constructor arguments:

Argument Default Use
$host https://api.elmotalent.com.au The ELMO API host for your environment.
$http new GuzzleHttp\Client() Your own GuzzleHttp\ClientInterface, for example with timeouts or middleware.
$elmo = new ElmoClient($clientId, $clientSecret, 'https://your-elmo-api-host');

Next Steps

  • Each API is a property of ElmoClient, for example $elmo->users, $elmo->departments and $elmo->leaveRequests. The table below lists every method.
  • The API has rate limits and a daily quota. Space out your requests.
  • Endpoints marked BETA can change. Do not use them in production without testing.

API Endpoints

All URIs are relative to https://api.elmotalent.com.au

Class Method HTTP request Description
CandidatesApi getCandidates GET /recruitment/v1/candidates Get a list of candidates
DepartmentsApi getDepartmentCollection GET /core/v1/departments Gets all the departments
DepartmentsApi getDepartmentItem GET /core/v1/departments/{id} Gets a single department
DepartmentsApi getDepartmentTemplateCollection GET /core/v1/department-creation-template Get department template schema
DepartmentsApi postDepartmentCollection POST /core/v1/departments Create a new department
DepartmentsApi putDepartmentItem PUT /core/v1/departments/{id} Update an existing department
EmployeesApi getEmploymentDetailsCollection GET /core/v1/employees Get employment details of all employees
EmployeesApi getEmploymentDetailsItem GET /core/v1/employees/{id} Get a single employment details by Id
LeaveRequestsApi getLeaveRequestCollection GET /core/v1/leave-requests Gets all the leave request
LeaveRequestsApi getLeaveRequestItem GET /core/v1/leave-requests/{id} Gets a single leave request
LeaveTypesApi getLeaveTypeCollection GET /core/v1/leave-types Gets all leave types
LeaveTypesApi getLeaveTypeItem GET /core/v1/leave-types/{id} Gets a single leave type
LegalEntitiesApi getLegalEntitityCollection GET /core/v1/legal-entities Gets all the legal entities
LegalEntitiesApi getLegalEntitiyItem GET /core/v1/legal-entities/{id} Gets a single legal entity
LocationsApi getLocationCollection GET /core/v1/locations Gets all the locations
LocationsApi getLocationItem GET /core/v1/locations/{id} Gets a single location
LocationsApi getLocationTemplateCollection GET /core/v1/location-creation-template Gets location template
LocationsApi postLocationCollection POST /core/v1/locations Create a new location
LocationsApi putLocationItem PUT /core/v1/locations/{id} Update an existing location
MetadataApi getPersonalContactDetailsMetadataCollection GET /core/v1/metadata/personal-contact-details Get metadata of configurable personal contact detail fields
MetadataApi getPositionCustomFieldsMetadataCollection GET /core/v1/metadata/position Get metadata of configurable Position fields
MetadataApi getUserMetadataCollection GET /core/v1/metadata/user Gets metadata of configurable User fields
OAuth20Api getOauthAccessToken POST /oauth/token Retrieve an access token
OnboardingUserEventsApi getOnboardingUserCreationEventItem GET /core/v1/onboarding-user-creation-events/{id} Retrieves specific onboarding user creation event
OnboardingUserEventsApi getOnboardingUserUpdateEventItem GET /core/v1/onboarding-user-update-events/{id} Retrieves specific onboarding user update event
OnboardingUserEventsApi getOnboardingusercreationtemplateOnboardingUserCreationTemplateCollection GET /core/v1/onboarding-user-creation-template Get all the profile data of an onboarding user
OnboardingUserEventsApi postOnboardingUserCreationEventCollection POST /core/v1/onboarding-user-creation-events Triggers an event to create a new onboarding user
OnboardingUserEventsApi updateOnboardingUserCreationEventCollection POST /core/v1/onboarding-user-update-events Triggers an event to update an existing onboarding user.
OnboardingUsersApi getOnboardingUserCollection GET /core/v1/onboarding-users Gets all the onboarding users
OnboardingUsersApi getOnboardingUserItem GET /core/v1/onboarding-users/{id} Gets a single onboarding user
OnboardingUsersApi postOnboardingUserConvert POST /core/v1/onboarding-users/{id}/convert Converts a single onboarding user to a general user
PayrollCyclesApi getPayrollCycleCollection GET /core/v1/payroll-cycles Gets all the payroll cycles
PayrollCyclesApi getPayrollCycleItem GET /core/v1/payroll-cycles/{id} Gets a single payroll cycle
PositionsApi getPositionCollection GET /core/v1/positions Gets all the positions
PositionsApi getPositionItem GET /core/v1/positions/{id} Gets a single position
PositionsApi getPositionTemplateCollection GET /core/v1/position-creation-template Get position template schema
PositionsApi postPositionCollection POST /core/v1/positions Create a new position
PositionsApi putPositionItem PUT /core/v1/positions/{id} Update an existing position
UserEventsApi getUserCreationEventItem GET /core/v1/user-creation-events/{id} Retrieves specific user creation event
UserEventsApi getUserUpdateEventItem GET /core/v1/user-update-events/{id} Retrieves specific user update event
UserEventsApi getUsercreationtemplateUserCreationTemplateCollection GET /core/v1/user-creation-template Get all the profile data of a user
UserEventsApi postUserCreationEventCollection POST /core/v1/user-creation-events Triggers an event to create a new user
UserEventsApi updateUserCreationEventCollection POST /core/v1/user-update-events Triggers an event to update an existing user.
UsersApi getPersonalContactDetails GET /core/v1/users/{id}/personal-contact-details Gets personal contact details of a user
UsersApi getUserCollection GET /core/v1/users Gets all the users
UsersApi getUserItem GET /core/v1/users/{id} Gets a single user
UsersApi postActivate POST /core/v1/users/{id}/activate Activate a user
UsersApi postDeactivate POST /core/v1/users/{id}/deactivate Deactivate a user
UsersApi putPersonalContactDetails PUT /core/v1/users/{id}/personal-contact-details Update personal contact details of a user

Models

About this package

This package is generated by OpenAPI Generator. Do not edit it by hand.

  • API version: v1-rc3
  • Package version: 0.1.1
  • Generator version: 7.16.0