Skip to main content

Staff API | Getting Started

The process to get started with Staff API is outlined in the table. Note that each step is its own process.

Step

Topic

Description

1

Getting Started with APIs

Steps to obtain a token and additional information about our APIs.

2

Confidentiality Statement

Information about our non-disclosure agreement (NDA) terms and conditions regarding endpoints.

3

API Prerequisites

A list of prerequisites to complete before starting the integration development process.

Staff API | Next Steps

After completing the initial steps for Staff API setup, review additional information in the topics below.

Step

Topic

Description

1

Create an Employee Record

Use this endpoint to create employee data for one employee, together with all required child entities, such as Site Statuses, POS Credentials, and other entities.

2

Create Employee Jobs

Use this endpoint to create employee job data together with a corresponding employee’s rate information for a single employee. And the PATCH /External/General/Employee/[ID]/Job/[ID] endpoint allows users to deactivate a single employee’s job, or create and update its rates.

3

Retrieve Employee Data

Use these endpoints for retrieving data by unique employee identifiers, employees by secondary identifiers, and employee updates.

4

Update an Employee Record

Use this endpoint to update an employee or to create/update its child entities. The endpoint updates only the fields and entities included in the request. Do not send the entire employee object to update individual fields or child entities.

5

Get Calculated Payroll Details

Use this endpoint to estimate wages per employee for a given business date.

6

Scheduled Shifts API

Use this endpoint to synchronize shift data between an employee-scheduling system and our system's backend.

7

Delete

Use these endpoints to remove erroneous data.

8

Operation Definitions

Use the operation definitions including the endpoints, data models, and sample code.

Create an Employee Record

The Create an Employee Record endpoint works with one employee record only together with all required child entities, such as Site Statuses, POS Credentials, Addresses, and other entities. Creating an employee record also creates an employee identifier, which the Genius system uses to link time card data and payroll data to the employee.

Follow these steps to create an Employee Detail Record:

  1. Obtain an authentication token and set the request headers. See Authentication for a description and example of how a token can be generated. For additional information, see Getting Started with APIs.

  2. Send a POST request to the /External/General/Employee endpoint with the employee details in the body of the request.

Create Employee Jobs

The Create Employee Jobs endpoint allows users to create employee job data together with a corresponding employee’s rate information for a single employee. And the PATCH /External/General/Employee/[ID]/Job/[ID] endpoint allows users to deactivate a single employee’s job, or create and update its rates.

Follow these steps to update employee job data:

  1. Obtain an authentication token and set the request headers. See Authentication for a description and example of how a token can be generated. For additional, see Getting Started with APIs.

  2. Send a POST request to the /External/General/Employee/[ID]/Jobs endpoint to create one or multiple job records for a single employee.

  3. Send a PATCH request to the /External/General/Employee/[ID]/Job/[ID] endpoint with the employee job details in the body of the request.

Update an Employee Record

The Update an Employee Record endpoint updates employee data. Use this endpoint to update an employee or to create/update its child entities. The endpoint updates only the fields and entities included in the request.

Important

Do not send the entire employee object to update individual fields or child entities. Use one of the GET endpoints to receive all previously created employee data, such as:

This is useful when updating employee data.

Within child arrays, like EmployeeSiteStatus, new records can be sent together with updates for existing records. Records that were received in the request but do not yet exist in the database will be created. Updates of child arrays differ from updates of the employee fields: objects in the child arrays that are not sent in the request are not affected by this update. This means that, for example, for employee status changes, it is possible to send only those statuses that should be updated or created in the EmployeeSiteStatus array - other already existing statuses will not be affected by this change.

Get Calculated Payroll Details

The Payroll service actively processes punch data according to defined pay rules and outputs estimated wages per employee for a given business date. The GET /External/General/Payroll/GetUpdates endpoint provides this information to data consumers.

Scheduled Shifts API

Use the Scheduled Shifts API to synchronize shift data between an employee-scheduling system and our system's backend. Our system uses the shift data to enforce punch-in and punch-out requirements in the Time Clock application.

Follow the steps below to synchronize shift data:

  1. Schedule a regular process of employee schedules imported in to our system using the POST endpoint.

  2. Update previously imported schedules using the PUT endpoint.

  3. If required, delete incorrect shifts or schedules using the DELETE /shifts or DELETE /schedules endpoint.

  4. Pull already existing schedules using the GET endpoint.

  5. Our system returns a success or failure message. Our system processes the schedule and updates the back end accordingly.