Skip to content

Partner API (0.0.1)

API for payroll providers to integrate with Aslan. This API enables payroll providers to manage company registrations and employee onboarding for Aslan services.

Download OpenAPI description
Languages
Servers
Mock server
https://developer.aslan.io/_mock/openapi/
https://uat.partner.aslan.io/api/v1/
https://partner.aslan.io/api/v1/

Companies

Manage company registrations and details for Aslan enrollment

Operations

Users

Manage employee records and their eligibility for earned wage access

Operations

Retrieve all employees for a company

Request

Returns a paginated, summarized list of all employees registered under a specific company with Aslan. This endpoint provides essential employee information without sensitive or detailed fields. Supports filtering by status, role, and date ranges, plus sorting capabilities.

Security
partnerAdminAuth
Path
companyIdstring(uuid)required

The unique identifier for the company

Query
paramsobject(UserQueryParams)
Headers
X-Aslan-Timestampinteger(int64)required

Unix epoch timestamp of the request in seconds.

Example: 1730000000
curl -i -X GET \
  'https://developer.aslan.io/_mock/openapi/companies/{companyId}/users?params%5Bsize%5D=20&params%5BsortBy%5D=lastName&params%5Bsort%5D=asc&params%5Bstatus%5D=ACTIVE&params%5Brole%5D=EMPLOYEE&params%5Bsearch%5D=sarah' \
  -H 'Authorization: Bearer <YOUR_token:signature_HERE>' \
  -H 'X-Aslan-Timestamp: 1730000000'

Responses

Successfully retrieved paginated list of employees

Bodyapplication/json
contentArray of objects(UserSummaryResponse)required

List of employee summaries in the current page

content[].​idstring(uuid)required

Unique system identifier for the employee

Example: "f7e6d5c4-b3a2-4918-8e7d-6c5b4a3f2e1d"
content[].​statusstring(IndividualStatus)required

Current status of the employee with Aslan:

  • CREATED - Employee record created but invitation not yet sent
  • INVITED - Invitation to join Aslan has been sent to the employee
  • ACTIVE - Employee is actively enrolled and can access earned wage access benefits
  • DELETED - Employee record has been removed from the system
  • PAUSED - Employee's access to benefits is temporarily suspended
  • LEFT - Employee has left the company and is no longer eligible
Enum"CREATED""INVITED""ACTIVE""DELETED""PAUSED""LEFT"
Example: "ACTIVE"
content[].​firstNamestringrequired

Employee's legal first name

Example: "Sarah"
content[].​lastNamestringrequired

Employee's legal last name

Example: "Johnson"
content[].​emailstring(email)required

Primary work email address for the employee

Example: "sarah.johnson@techflow.com"
content[].​phoneNumberstring

Contact phone number in international format

Example: "+44 7123 456789"
content[].​rolestring(UserRole)required

Employee's role within the company and their permission level in Aslan:

  • EMPLOYEE - Standard employee with access to personal wage access features
  • MANAGER - Manager with additional reporting and team oversight capabilities
  • ADMIN - Company administrator with full company management capabilities
  • SUPER_ADMIN - Super administrator with extended system-level permissions
Enum"EMPLOYEE""MANAGER""ADMIN""SUPER_ADMIN"
Example: "EMPLOYEE"
content[].​companyIdstring(uuid)required

Unique identifier of the company this employee belongs to

Example: "a3f2e1d0-5c4b-4a3e-9f8e-7d6c5b4a3e2f"
content[].​friendlyIdstring<= 10 charactersrequired

Human-readable alphanumeric identifier for the employee (max 10 characters)

Example: "F7E6D5C4B3"
content[].​externalPayrollIdstring

Employee identifier from the external payroll system for reconciliation purposes

Example: "PAY-2024-00847"
content[].​startDatestring(date)

Employee's start date with the company

Example: "2024-01-15"
pageintegerrequired

Current page number (zero-based)

Example: 0
sizeintegerrequired

Number of items per page

Example: 20
totalElementsintegerrequired

Total number of employees across all pages

Example: 543
totalPagesintegerrequired

Total number of pages

Example: 28
Response
application/json
{ "content": [ { … } ], "page": 0, "size": 20, "totalElements": 543, "totalPages": 28 }

Create new employee

Request

Creates a new employee record in the system. This endpoint does NOT automatically send an invitation. To send an invitation, use the send invitation endpoint after creating the employee. Only employees with the EMPLOYEE role can be created through this endpoint.

Security
partnerAdminAuth
Path
companyIdstring(uuid)required

The unique identifier for the company

Headers
X-Aslan-Timestampinteger(int64)required

Unix epoch timestamp of the request in seconds.

Example: 1730000000
Bodyapplication/jsonrequired
firstNamestring[ 1 .. 100 ] charactersrequired

Employee's legal first name

Example: "Sarah"
lastNamestring[ 1 .. 100 ] charactersrequired

Employee's legal last name

Example: "Johnson"
emailstring(email)<= 255 charactersrequired

Primary work email address for the employee

Example: "sarah.johnson@techflow.com"
additionalEmailstring(email)<= 255 characters

Secondary or personal email address for account recovery and notifications

Example: "sarah.j.personal@gmail.com"
phoneNumberstring^\+?[1-9]\d{1,14}$

Contact phone number in international E.164 format

Example: "+447123456789"
externalPayrollIdstring[ 1 .. 50 ] characters

Employee identifier from the external payroll system for reconciliation purposes

Example: "PAY-2024-00847"
annualGrossSalarynumber(decimal)>= 0.01

Employee's annual gross salary in GBP (must be greater than 0)

Example: 45000
startDatestring(date)

Employee's employment start date with the company

Example: "2024-01-15"
payCalendarIdstring(uuid)

Reference to the pay calendar schedule this employee follows

Example: "c5d6e7f8-9a0b-4c5d-8e9f-0a1b2c3d4e5f"
salariedbooleanrequired

Indicates whether the employee is on a salaried payment structure

Default true
Example: true
curl -i -X POST \
  'https://developer.aslan.io/_mock/openapi/companies/{companyId}/users' \
  -H 'Authorization: Bearer <YOUR_token:signature_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Aslan-Timestamp: 1730000000' \
  -d '{
    "firstName": "Sarah",
    "lastName": "Johnson",
    "email": "sarah.johnson@techflow.com",
    "additionalEmail": "sarah.j.personal@gmail.com",
    "phoneNumber": "+447123456789",
    "externalPayrollId": "PAY-2024-00847",
    "annualGrossSalary": 45000,
    "startDate": "2024-01-15",
    "payCalendarId": "c5d6e7f8-9a0b-4c5d-8e9f-0a1b2c3d4e5f",
    "salaried": true
  }'

Responses

Employee successfully created

Bodyapplication/json
idstring(uuid)required

Unique system identifier for the employee

Example: "f7e6d5c4-b3a2-4918-8e7d-6c5b4a3f2e1d"
statusstring(IndividualStatus)required

Current status of the employee with Aslan:

  • CREATED - Employee record created but invitation not yet sent
  • INVITED - Invitation to join Aslan has been sent to the employee
  • ACTIVE - Employee is actively enrolled and can access earned wage access benefits
  • DELETED - Employee record has been removed from the system
  • PAUSED - Employee's access to benefits is temporarily suspended
  • LEFT - Employee has left the company and is no longer eligible
Enum"CREATED""INVITED""ACTIVE""DELETED""PAUSED""LEFT"
Example: "ACTIVE"
firstNamestringrequired

Employee's legal first name

Example: "Sarah"
lastNamestringrequired

Employee's legal last name

Example: "Johnson"
emailstring(email)required

Primary work email address for the employee

Example: "sarah.johnson@techflow.com"
additionalEmailstring(email)

Secondary or personal email address for account recovery and notifications

Example: "sarah.j.personal@gmail.com"
rolestring(UserRole)required

Employee's role within the company and their permission level in Aslan:

  • EMPLOYEE - Standard employee with access to personal wage access features
  • MANAGER - Manager with additional reporting and team oversight capabilities
  • ADMIN - Company administrator with full company management capabilities
  • SUPER_ADMIN - Super administrator with extended system-level permissions
Enum"EMPLOYEE""MANAGER""ADMIN""SUPER_ADMIN"
Example: "EMPLOYEE"
companyIdstring(uuid)required

Unique identifier of the company this employee belongs to

Example: "a3f2e1d0-5c4b-4a3e-9f8e-7d6c5b4a3e2f"
phoneNumberstring

Contact phone number in international format

Example: "+44 7123 456789"
externalPayrollIdstring

Employee identifier from the external payroll system for reconciliation purposes

Example: "PAY-2024-00847"
annualGrossSalarynumber(decimal)

Employee's annual gross salary in GBP, used for eligibility calculations

Example: 45000
globalAllowancePercentageinteger

Global allowance percentage for wage access eligibility

Example: 50
odpAllowancePercentageinteger

On-demand pay allowance percentage for wage access eligibility

Example: 25
salaryHistoryArray of objects(SalaryHistoryPayload)

Historical record of salary changes for the employee

invitedAtstring(date-time)

Date and time when the employee was invited to join Aslan

Example: "2024-04-09T09:00:00+00:00"
joinDatestring(date-time)

Date and time when the employee completed registration and joined Aslan

Example: "2024-04-10T11:45:00+00:00"
startDatestring(date)

Employee's employment start date with the company

Example: "2024-01-15"
terminationDatestring(date)

Employee's employment termination date, if applicable

Example: "2025-03-31"
payCalendarIdstring(uuid)

Reference to the pay calendar schedule this employee follows

Example: "c5d6e7f8-9a0b-4c5d-8e9f-0a1b2c3d4e5f"
friendlyIdstring<= 10 charactersrequired

Human-readable alphanumeric identifier for the employee (max 10 characters)

Example: "F7E6D5C4B3"
onUnpaidLeavebooleanrequired

Indicates whether the employee is currently on unpaid leave

Example: false
emailVerifiedbooleanrequired

Indicates whether the employee's email address has been verified

Example: true
phoneNumberVerifiedbooleanrequired

Indicates whether the employee's phone number has been verified

Example: true
suspiciousboolean

Flag indicating if the account has been marked for suspicious activity review

Example: false
salariedbooleanrequired

Indicates whether the employee is on a salaried payment structure

Example: true
createdAtstring(date-time)required

Timestamp when the employee was initially registered in the system

Example: "2024-04-08T10:30:00Z"
createdBystring(uuid)required

System identifier of the user or service that created this employee record

Example: "b2c3d4e5-6f7a-4b5c-8d9e-0f1a2b3c4d5e"
updatedAtstring(date-time)

Timestamp of the most recent update to the employee record

Example: "2024-10-05T11:30:45Z"
updatedBystring(uuid)

System identifier of the user or service that last updated this employee record

Example: "c3d4e5f6-7a8b-5c6d-9e0f-1a2b3c4d5e6f"
deletedAtstring(date-time)

Timestamp when the employee was soft-deleted from the system

Example: "2024-12-01T16:20:00Z"
deletedBystring(uuid)

System identifier of the user or service that deleted this employee record

Example: "d4e5f6a7-8b9c-6d7e-0f1a-2b3c4d5e6f7a"
Response
application/json
{ "id": "f7e6d5c4-b3a2-4918-8e7d-6c5b4a3f2e1d", "status": "ACTIVE", "firstName": "Sarah", "lastName": "Johnson", "email": "sarah.johnson@techflow.com", "additionalEmail": "sarah.j.personal@gmail.com", "role": "EMPLOYEE", "companyId": "a3f2e1d0-5c4b-4a3e-9f8e-7d6c5b4a3e2f", "phoneNumber": "+44 7123 456789", "externalPayrollId": "PAY-2024-00847", "annualGrossSalary": 45000, "globalAllowancePercentage": 50, "odpAllowancePercentage": 25, "salaryHistory": [ { … } ], "invitedAt": "2024-04-09T09:00:00+00:00", "joinDate": "2024-04-10T11:45:00+00:00", "startDate": "2024-01-15", "terminationDate": "2025-03-31", "payCalendarId": "c5d6e7f8-9a0b-4c5d-8e9f-0a1b2c3d4e5f", "friendlyId": "F7E6D5C4B3", "onUnpaidLeave": false, "emailVerified": true, "phoneNumberVerified": true, "suspicious": false, "salaried": true, "createdAt": "2024-04-08T10:30:00Z", "createdBy": "b2c3d4e5-6f7a-4b5c-8d9e-0f1a2b3c4d5e", "updatedAt": "2024-10-05T11:30:45Z", "updatedBy": "c3d4e5f6-7a8b-5c6d-9e0f-1a2b3c4d5e6f", "deletedAt": "2024-12-01T16:20:00Z", "deletedBy": "d4e5f6a7-8b9c-6d7e-0f1a-2b3c4d5e6f7a" }

Retrieve complete employee details

Request

Returns comprehensive information for a specific employee, including employment status, salary information, allowances, verification status, salary history, and audit trail. This endpoint provides the full employee record.

Security
partnerAdminAuth
Path
companyIdstring(uuid)required

The unique identifier for the company

userIdstring(uuid)required

The unique identifier for the employee

Headers
X-Aslan-Timestampinteger(int64)required

Unix epoch timestamp of the request in seconds.

Example: 1730000000
curl -i -X GET \
  'https://developer.aslan.io/_mock/openapi/companies/{companyId}/users/{userId}' \
  -H 'Authorization: Bearer <YOUR_token:signature_HERE>' \
  -H 'X-Aslan-Timestamp: 1730000000'

Responses

Successfully retrieved complete employee details

Bodyapplication/json
idstring(uuid)required

Unique system identifier for the employee

Example: "f7e6d5c4-b3a2-4918-8e7d-6c5b4a3f2e1d"
statusstring(IndividualStatus)required

Current status of the employee with Aslan:

  • CREATED - Employee record created but invitation not yet sent
  • INVITED - Invitation to join Aslan has been sent to the employee
  • ACTIVE - Employee is actively enrolled and can access earned wage access benefits
  • DELETED - Employee record has been removed from the system
  • PAUSED - Employee's access to benefits is temporarily suspended
  • LEFT - Employee has left the company and is no longer eligible
Enum"CREATED""INVITED""ACTIVE""DELETED""PAUSED""LEFT"
Example: "ACTIVE"
firstNamestringrequired

Employee's legal first name

Example: "Sarah"
lastNamestringrequired

Employee's legal last name

Example: "Johnson"
emailstring(email)required

Primary work email address for the employee

Example: "sarah.johnson@techflow.com"
additionalEmailstring(email)

Secondary or personal email address for account recovery and notifications

Example: "sarah.j.personal@gmail.com"
rolestring(UserRole)required

Employee's role within the company and their permission level in Aslan:

  • EMPLOYEE - Standard employee with access to personal wage access features
  • MANAGER - Manager with additional reporting and team oversight capabilities
  • ADMIN - Company administrator with full company management capabilities
  • SUPER_ADMIN - Super administrator with extended system-level permissions
Enum"EMPLOYEE""MANAGER""ADMIN""SUPER_ADMIN"
Example: "EMPLOYEE"
companyIdstring(uuid)required

Unique identifier of the company this employee belongs to

Example: "a3f2e1d0-5c4b-4a3e-9f8e-7d6c5b4a3e2f"
phoneNumberstring

Contact phone number in international format

Example: "+44 7123 456789"
externalPayrollIdstring

Employee identifier from the external payroll system for reconciliation purposes

Example: "PAY-2024-00847"
annualGrossSalarynumber(decimal)

Employee's annual gross salary in GBP, used for eligibility calculations

Example: 45000
globalAllowancePercentageinteger

Global allowance percentage for wage access eligibility

Example: 50
odpAllowancePercentageinteger

On-demand pay allowance percentage for wage access eligibility

Example: 25
salaryHistoryArray of objects(SalaryHistoryPayload)

Historical record of salary changes for the employee

invitedAtstring(date-time)

Date and time when the employee was invited to join Aslan

Example: "2024-04-09T09:00:00+00:00"
joinDatestring(date-time)

Date and time when the employee completed registration and joined Aslan

Example: "2024-04-10T11:45:00+00:00"
startDatestring(date)

Employee's employment start date with the company

Example: "2024-01-15"
terminationDatestring(date)

Employee's employment termination date, if applicable

Example: "2025-03-31"
payCalendarIdstring(uuid)

Reference to the pay calendar schedule this employee follows

Example: "c5d6e7f8-9a0b-4c5d-8e9f-0a1b2c3d4e5f"
friendlyIdstring<= 10 charactersrequired

Human-readable alphanumeric identifier for the employee (max 10 characters)

Example: "F7E6D5C4B3"
onUnpaidLeavebooleanrequired

Indicates whether the employee is currently on unpaid leave

Example: false
emailVerifiedbooleanrequired

Indicates whether the employee's email address has been verified

Example: true
phoneNumberVerifiedbooleanrequired

Indicates whether the employee's phone number has been verified

Example: true
suspiciousboolean

Flag indicating if the account has been marked for suspicious activity review

Example: false
salariedbooleanrequired

Indicates whether the employee is on a salaried payment structure

Example: true
createdAtstring(date-time)required

Timestamp when the employee was initially registered in the system

Example: "2024-04-08T10:30:00Z"
createdBystring(uuid)required

System identifier of the user or service that created this employee record

Example: "b2c3d4e5-6f7a-4b5c-8d9e-0f1a2b3c4d5e"
updatedAtstring(date-time)

Timestamp of the most recent update to the employee record

Example: "2024-10-05T11:30:45Z"
updatedBystring(uuid)

System identifier of the user or service that last updated this employee record

Example: "c3d4e5f6-7a8b-5c6d-9e0f-1a2b3c4d5e6f"
deletedAtstring(date-time)

Timestamp when the employee was soft-deleted from the system

Example: "2024-12-01T16:20:00Z"
deletedBystring(uuid)

System identifier of the user or service that deleted this employee record

Example: "d4e5f6a7-8b9c-6d7e-0f1a-2b3c4d5e6f7a"
Response
application/json
{ "id": "f7e6d5c4-b3a2-4918-8e7d-6c5b4a3f2e1d", "status": "ACTIVE", "firstName": "Sarah", "lastName": "Johnson", "email": "sarah.johnson@techflow.com", "additionalEmail": "sarah.j.personal@gmail.com", "role": "EMPLOYEE", "companyId": "a3f2e1d0-5c4b-4a3e-9f8e-7d6c5b4a3e2f", "phoneNumber": "+44 7123 456789", "externalPayrollId": "PAY-2024-00847", "annualGrossSalary": 45000, "globalAllowancePercentage": 50, "odpAllowancePercentage": 25, "salaryHistory": [ { … } ], "invitedAt": "2024-04-09T09:00:00+00:00", "joinDate": "2024-04-10T11:45:00+00:00", "startDate": "2024-01-15", "terminationDate": "2025-03-31", "payCalendarId": "c5d6e7f8-9a0b-4c5d-8e9f-0a1b2c3d4e5f", "friendlyId": "F7E6D5C4B3", "onUnpaidLeave": false, "emailVerified": true, "phoneNumberVerified": true, "suspicious": false, "salaried": true, "createdAt": "2024-04-08T10:30:00Z", "createdBy": "b2c3d4e5-6f7a-4b5c-8d9e-0f1a2b3c4d5e", "updatedAt": "2024-10-05T11:30:45Z", "updatedBy": "c3d4e5f6-7a8b-5c6d-9e0f-1a2b3c4d5e6f", "deletedAt": "2024-12-01T16:20:00Z", "deletedBy": "d4e5f6a7-8b9c-6d7e-0f1a-2b3c4d5e6f7a" }

Update employee information

Request

Updates employee details including status, contact information, role, salary, and employment dates. Used to synchronize employee data from the payroll system with Aslan.

Security
partnerAdminAuth
Path
companyIdstring(uuid)required

The unique identifier for the company

userIdstring(uuid)required

The unique identifier for the employee

Headers
X-Aslan-Timestampinteger(int64)required

Unix epoch timestamp of the request in seconds.

Example: 1730000000
Bodyapplication/jsonrequired
firstNamestring[ 1 .. 100 ] characters

Updated legal first name of the employee

Example: "Sarah"
lastNamestring[ 1 .. 100 ] characters

Updated legal last name of the employee

Example: "Johnson-Smith"
emailstring(email)<= 255 characters

Updated primary work email address

Example: "sarah.johnson-smith@techflow.com"
additionalEmailstring(email)<= 255 characters

Updated secondary or personal email address

Example: "sarah.js.new@gmail.com"
phoneNumberstring^\+?[1-9]\d{1,14}$

Updated contact phone number in international E.164 format

Example: "+447987654321"
externalPayrollIdstring[ 1 .. 50 ] characters

Updated employee identifier from the payroll system

Example: "PAY-2024-00847"
annualGrossSalarynumber(decimal)>= 0.01

Updated annual gross salary in GBP (must be greater than 0)

Example: 48000
startDatestring(date)

Updated employment start date

Example: "2024-01-15"
payCalendarIdstring(uuid)

Updated pay calendar reference

Example: "c5d6e7f8-9a0b-4c5d-8e9f-0a1b2c3d4e5f"
curl -i -X PUT \
  'https://developer.aslan.io/_mock/openapi/companies/{companyId}/users/{userId}' \
  -H 'Authorization: Bearer <YOUR_token:signature_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Aslan-Timestamp: 1730000000' \
  -d '{
    "firstName": "Sarah",
    "lastName": "Johnson-Smith",
    "email": "sarah.johnson-smith@techflow.com",
    "additionalEmail": "sarah.js.new@gmail.com",
    "phoneNumber": "+447987654321",
    "externalPayrollId": "PAY-2024-00847",
    "annualGrossSalary": 48000,
    "startDate": "2024-01-15",
    "payCalendarId": "c5d6e7f8-9a0b-4c5d-8e9f-0a1b2c3d4e5f"
  }'

Responses

Employee successfully updated

Bodyapplication/json
idstring(uuid)required

Unique system identifier for the employee

Example: "f7e6d5c4-b3a2-4918-8e7d-6c5b4a3f2e1d"
statusstring(IndividualStatus)required

Current status of the employee with Aslan:

  • CREATED - Employee record created but invitation not yet sent
  • INVITED - Invitation to join Aslan has been sent to the employee
  • ACTIVE - Employee is actively enrolled and can access earned wage access benefits
  • DELETED - Employee record has been removed from the system
  • PAUSED - Employee's access to benefits is temporarily suspended
  • LEFT - Employee has left the company and is no longer eligible
Enum"CREATED""INVITED""ACTIVE""DELETED""PAUSED""LEFT"
Example: "ACTIVE"
firstNamestringrequired

Employee's legal first name

Example: "Sarah"
lastNamestringrequired

Employee's legal last name

Example: "Johnson"
emailstring(email)required

Primary work email address for the employee

Example: "sarah.johnson@techflow.com"
additionalEmailstring(email)

Secondary or personal email address for account recovery and notifications

Example: "sarah.j.personal@gmail.com"
rolestring(UserRole)required

Employee's role within the company and their permission level in Aslan:

  • EMPLOYEE - Standard employee with access to personal wage access features
  • MANAGER - Manager with additional reporting and team oversight capabilities
  • ADMIN - Company administrator with full company management capabilities
  • SUPER_ADMIN - Super administrator with extended system-level permissions
Enum"EMPLOYEE""MANAGER""ADMIN""SUPER_ADMIN"
Example: "EMPLOYEE"
companyIdstring(uuid)required

Unique identifier of the company this employee belongs to

Example: "a3f2e1d0-5c4b-4a3e-9f8e-7d6c5b4a3e2f"
phoneNumberstring

Contact phone number in international format

Example: "+44 7123 456789"
externalPayrollIdstring

Employee identifier from the external payroll system for reconciliation purposes

Example: "PAY-2024-00847"
annualGrossSalarynumber(decimal)

Employee's annual gross salary in GBP, used for eligibility calculations

Example: 45000
globalAllowancePercentageinteger

Global allowance percentage for wage access eligibility

Example: 50
odpAllowancePercentageinteger

On-demand pay allowance percentage for wage access eligibility

Example: 25
salaryHistoryArray of objects(SalaryHistoryPayload)

Historical record of salary changes for the employee

invitedAtstring(date-time)

Date and time when the employee was invited to join Aslan

Example: "2024-04-09T09:00:00+00:00"
joinDatestring(date-time)

Date and time when the employee completed registration and joined Aslan

Example: "2024-04-10T11:45:00+00:00"
startDatestring(date)

Employee's employment start date with the company

Example: "2024-01-15"
terminationDatestring(date)

Employee's employment termination date, if applicable

Example: "2025-03-31"
payCalendarIdstring(uuid)

Reference to the pay calendar schedule this employee follows

Example: "c5d6e7f8-9a0b-4c5d-8e9f-0a1b2c3d4e5f"
friendlyIdstring<= 10 charactersrequired

Human-readable alphanumeric identifier for the employee (max 10 characters)

Example: "F7E6D5C4B3"
onUnpaidLeavebooleanrequired

Indicates whether the employee is currently on unpaid leave

Example: false
emailVerifiedbooleanrequired

Indicates whether the employee's email address has been verified

Example: true
phoneNumberVerifiedbooleanrequired

Indicates whether the employee's phone number has been verified

Example: true
suspiciousboolean

Flag indicating if the account has been marked for suspicious activity review

Example: false
salariedbooleanrequired

Indicates whether the employee is on a salaried payment structure

Example: true
createdAtstring(date-time)required

Timestamp when the employee was initially registered in the system

Example: "2024-04-08T10:30:00Z"
createdBystring(uuid)required

System identifier of the user or service that created this employee record

Example: "b2c3d4e5-6f7a-4b5c-8d9e-0f1a2b3c4d5e"
updatedAtstring(date-time)

Timestamp of the most recent update to the employee record

Example: "2024-10-05T11:30:45Z"
updatedBystring(uuid)

System identifier of the user or service that last updated this employee record

Example: "c3d4e5f6-7a8b-5c6d-9e0f-1a2b3c4d5e6f"
deletedAtstring(date-time)

Timestamp when the employee was soft-deleted from the system

Example: "2024-12-01T16:20:00Z"
deletedBystring(uuid)

System identifier of the user or service that deleted this employee record

Example: "d4e5f6a7-8b9c-6d7e-0f1a-2b3c4d5e6f7a"
Response
application/json
{ "id": "f7e6d5c4-b3a2-4918-8e7d-6c5b4a3f2e1d", "status": "ACTIVE", "firstName": "Sarah", "lastName": "Johnson", "email": "sarah.johnson@techflow.com", "additionalEmail": "sarah.j.personal@gmail.com", "role": "EMPLOYEE", "companyId": "a3f2e1d0-5c4b-4a3e-9f8e-7d6c5b4a3e2f", "phoneNumber": "+44 7123 456789", "externalPayrollId": "PAY-2024-00847", "annualGrossSalary": 45000, "globalAllowancePercentage": 50, "odpAllowancePercentage": 25, "salaryHistory": [ { … } ], "invitedAt": "2024-04-09T09:00:00+00:00", "joinDate": "2024-04-10T11:45:00+00:00", "startDate": "2024-01-15", "terminationDate": "2025-03-31", "payCalendarId": "c5d6e7f8-9a0b-4c5d-8e9f-0a1b2c3d4e5f", "friendlyId": "F7E6D5C4B3", "onUnpaidLeave": false, "emailVerified": true, "phoneNumberVerified": true, "suspicious": false, "salaried": true, "createdAt": "2024-04-08T10:30:00Z", "createdBy": "b2c3d4e5-6f7a-4b5c-8d9e-0f1a2b3c4d5e", "updatedAt": "2024-10-05T11:30:45Z", "updatedBy": "c3d4e5f6-7a8b-5c6d-9e0f-1a2b3c4d5e6f", "deletedAt": "2024-12-01T16:20:00Z", "deletedBy": "d4e5f6a7-8b9c-6d7e-0f1a-2b3c4d5e6f7a" }

Send invitations to employees

Request

Sends invitation emails to one or more employees to join Aslan. This endpoint can be called multiple times - if an employee has already been invited, it will resend the invitation. Can be used for employees in CREATED or INVITED status. Supports batch invitations for multiple employees.

Security
partnerAdminAuth
Path
companyIdstring(uuid)required

The unique identifier for the company

Headers
X-Aslan-Timestampinteger(int64)required

Unix epoch timestamp of the request in seconds.

Example: 1730000000
Bodyapplication/jsonrequired
userIdsArray of strings(uuid)[ 1 .. 100 ] itemsrequired

List of employee UUIDs to send invitations to

Example: ["f7e6d5c4-b3a2-4918-8e7d-6c5b4a3f2e1d","a1b2c3d4-e5f6-7890-abcd-ef1234567890"]
curl -i -X POST \
  'https://developer.aslan.io/_mock/openapi/companies/{companyId}/users/invite' \
  -H 'Authorization: Bearer <YOUR_token:signature_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Aslan-Timestamp: 1730000000' \
  -d '{
    "userIds": [
      "f7e6d5c4-b3a2-4918-8e7d-6c5b4a3f2e1d",
      "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
    ]
  }'

Responses

Invitation request accepted and will be processed asynchronously

Bodyapplication/json
messagestringrequired

Confirmation message

Default "Invitation request accepted for processing"
Example: "Invitation request accepted for processing"
requestedCountintegerrequired

Number of users requested for invitation

Example: 2
Response
application/json
{ "message": "Invitation request accepted for processing", "requestedCount": 2 }

Reports

Access spend reports and transaction data for payroll deductions

Operations