For the complete documentation index, see llms.txt. This page is also available as Markdown.

Shift Data by Season

Overview

The Shifts API provides access to employee shift schedules from flaik. Use this to synchronise scheduled shifts with external workforce management, payroll, or labour planning systems.

Two endpoints are available — use the right one for your use case:

  • Full pullGET /api/schedule/shifts/{seasonId} — initial load or complete re-sync of all active shifts for a season

  • Delta pullGET /api/schedule/shifts/{seasonId}/delta — incremental sync of changes since a given timestamp

Results are returned in pages of up to 1,000 records. The response wrapper includes ready-made cursor values so clients can loop through pages without inspecting individual records.

See also: Pagination and Delta Sync — shared cursor pattern, tombstone semantics, recovery rules, and common pitfalls. The cursor mechanics described in that page apply to this endpoint pair.

Authentication

All Schedule endpoints require authentication. Include your access token in the Authorization header:

Authorization: Bearer {access_token}

See the Authentication Guide for details on obtaining access tokens.

Endpoints

Full Pull — Get All Shifts by Season

Retrieves all active employee shifts for a season. Results are paginated — continue calling until hasMore is false.

Path Parameters

Parameter
Type
Required
Description

seasonId

integer

Yes

Season identifier — retrieve from GlobalSettings API

Query Parameters

Parameter
Type
Required
Description

nextAfterId

integer

No

Pagination cursor — pass the nextAfterId value from the previous response to retrieve the next page

pageSize

integer

No

Number of records per page. Maximum and default: 1000

Example Request — First Page

Example Request — Subsequent Page

Response Format

Response Wrapper Fields

Field
Type
Description

data

array

Page of shift records (see field descriptions below)

hasMore

boolean

true if further pages exist. Continue requesting until this is false

pageSize

integer

The page size applied to this response

nextAfterId

integer

Pass as nextAfterId on the next request to retrieve the next page. null when hasMore is false

Full pull results exclude soft-deleted records (deleted: true). Use the delta endpoint to receive deletions.

Delta Pull — Get Changed Shifts by Season

Retrieves shifts that have been created, updated, or deleted since a given UTC timestamp. Use this for ongoing incremental sync after an initial full pull.

Path Parameters

Parameter
Type
Required
Description

seasonId

integer

Yes

Season identifier — retrieve from GlobalSettings API

Query Parameters

Parameter
Type
Required
Description

updatedAfterUtcDateTime

datetime

Yes

Only return shifts updated after this UTC timestamp (ISO 8601: YYYY-MM-DDTHH:mm:ssZ)

nextAfterId

integer

No

Pagination cursor — pass the nextAfterId value from the previous response to retrieve the next page

pageSize

integer

No

Number of records per page. Maximum and default: 1000

Example Request — First Delta Page

Example Request — Subsequent Delta Page

Response Format

Response Wrapper Fields

Field
Type
Description

data

array

Page of shift records, including soft-deleted records

hasMore

boolean

true if further pages exist. Continue requesting until this is false

pageSize

integer

The page size applied to this response

nextAfterId

integer

Pass as nextAfterId on the next request. null when hasMore is false

nextUpdatedAfterUtcDateTime

datetime

Pass as updatedAfterUtcDateTime on the next request when paginating a large delta result. Only populated when hasMore is true — you must pass both this and nextAfterId together to avoid missing or duplicating records at a timestamp boundary

Shift Record Fields

Field
Type
Description

shiftId

integer

Unique shift identifier

employeeId

integer

flaik employee identifier

payrollIdentifier

string

Employee identifier in your payroll system — empty string if not set

posIdentifier

string

Employee identifier in your POS system — empty string if not set

scheduledDate

date

Date the shift is scheduled (YYYY-MM-DD)

shiftName

string

Display name of the shift — empty string if not set

shiftTypeId

integer

Shift type identifier (nullable)

shiftConfigurationType

string

Configuration type assigned to the shift — empty string if not set

startTime

time

Scheduled start time (HH:mm:ss, nullable)

endTime

time

Scheduled end time (HH:mm:ss, nullable)

status

integer

Current shift status

updatedUtc

datetime

Last updated timestamp (UTC, ISO 8601: YYYY-MM-DDTHH:mm:ssZ)

deleted

boolean

true if the shift has been soft-deleted. Delta pull only — full pull never returns deleted records

Pagination

Both endpoints use the same cursor pattern documented in Pagination and Delta Sync.

Quick reference for shifts:

Soft-deleted shifts appear only on the delta pull (deleted: true); use them to tombstone removed shifts in your store.

Error Responses

HTTP Status
Endpoint
Description

400

Both

The supplied seasonId does not exist for this resort

400

Delta only

updatedAfterUtcDateTime was not provided

401

Both

Missing or invalid access token

Need help with shift data integration? Contact resortsupport@flaik.com.

Last updated

Was this helpful?