Endpoints - Basic
Core Employee Upsert
POST
{{ baseApiUrl }}api/employee/upsert
This is the core object that can be passed to the enterpriseAPI.
Headers
Name
Value
Content-Type
application/json
Authorization
Bearer <token>
Body
// Example Body
{
"Id": null,
"PosIdentifier": "POS123",
"PayrollIdentifier": "PR456",
"PayrollSecondaryIdentifier": "PR789",
"Status": 1,
"FirstName": "John",
"MiddleName": "A",
"LastName": "Doe",
"PreferredName": "Johnny",
"DateOfBirth": "1985-05-15",
"IsSupervisor": true,
"SupervisorEmployeeId": 12345,
"GenderName": "Male",
"GenderPronoun": "He/Him",
"PhoneNumber": "123-456-7890",
"Email": "[email protected]",
"AddressCountry": "USA",
"AddressState": "CA",
"AddressStreet": "123 Main St",
"AddressCity": "Los Angeles",
"AddressZipCode": "90001",
"LiftPassId": "LP1001",
"MediaPassId": "MP1002",
"RFIDPassId": "RFID1003",
"TeachingDisciplineIds": [1, 2],
"MaxAbilityLevelIds": [3, 4, 5],
"ActionUpsertInFlaik": true, // mark true/false to determine whether to update flaik
"ActionUpsertPOSPerson": true, // true to update the person object in RTP (gender below must be filled out)
"ActionUpsertPOSEmployee": true, // true to update the Employee Profile in your POS
"WebHookUrl": "https://yourserver.com/webhook", // webhook
"UpsertEmployment": { // this array drives updates to the flaik website
"JobTitleId": 101,
"EmploymentTypeId": 202,
"StartDate": "2023-11-01",
"EndDate": null,
"TeachingWageHourly": 35.00,
"NonTeachingWageHourly": 25.00,
"TrainingWageHourly": 20.00,
"PrivateRequestWageHourly": 50.00,
"WageTeachingPositionId": "T01",
"WageNonTeachingPositionId": "NT01",
"WageTrainingPositionId": "TR01"
},
"UpsertPOSPerson": { // required is wanting to update the POS as part of the Person update
"POSGenderCode": "1"
},
"UpsertPOSEmployee": { // required if updating employee profiles
"PosEmployeeIdentifier": "EMP123",
"posGovernmentId": "string",
"PosEmployeeTypeCode": "10",
"PosEmployeeDepartmentCode": "12345",
"PosEmployeeResortCode": "42",
"PosEmployeeStatusCode": "1" // RTP 1 = Active , 2 = Inactive -> you can use 2 as part of offboarding.
}
}
}
Response
{
"upsertEmployeeRequestId": 23,
"addedToProcessingQueueUtc": "2025-03-11T184616"
}
Return Details of submitted request
GET
{{ baseApiUrl }}api/employee/upsert/{upsertEmployeeRequestId}
This endpoint will allow you to confirm what we received and processed into either flaik or your POS. It accepts the batch number returned in the original request and returns the request and it's processing status.
Headers
Name
Value
Content-Type
application/json
Authorization
Bearer <token>
Response
{
"upsertEmployeeRequestId": 23,
"processedUtc": null,
"processingStatus": 1,
"actionUpsertInFlaikEmployeeId": null,
"actionUpsertInFlaikEmployeeWasCreated": null,
"actionUpsertInFlaikHasError": null,
"actionUpsertInFlaikErrorMessage": null,
"actionUpsertPOSPersonIdentifier": null,
"actionUpsertPOSPersonWasCreated": null,
"actionUpsertPOSPersonHasError": null,
"actionUpsertPOSPersonErrorMessage": null,
"actionUpsertPOSEmployeeIdentifier": null,
"actionUpsertPOSEmployeeWasCreated": null,
"actionUpsertPOSEmployeeHasError": null,
"actionUpsertPOSEmployeeErrorMessage": null,
"actionUpsertPOSInstructorIdentifier": null,
"actionUpsertPOSInstructorWasCreated": null,
"actionUpsertPOSInstructorHasError": null
{
// Request body returned here -> removed for ease of reading.
}
}
Last updated
Was this helpful?