Skip to main content

Staff API

The Staff API lets you manage your team members, including employees, contractors, and guides.

What is a Staff Member?โ€‹

A staff record represents someone who works for your business. Staff members can be:

  • Employees: Full-time or part-time team members
  • Contractors: Freelance guides or instructors
  • Administrators: Users with system access

Staff Structureโ€‹

Staff Member
โ”œโ”€โ”€ Personal Info (name, contact, DOB)
โ”œโ”€โ”€ Employment Details (type, hire date, title)
โ”œโ”€โ”€ Address
โ”œโ”€โ”€ Emergency Contact
โ”œโ”€โ”€ Roles[] (Guide, Instructor, Manager)
โ”œโ”€โ”€ Locations[] (assigned work locations)
โ””โ”€โ”€ Portal Access (if has user account)

Employment Typesโ€‹

TypeDescription
full_timeRegular full-time employee
part_timePart-time employee
contractorFreelance or contract worker

Staff Statusโ€‹

StatusDescription
activeCurrently employed/engaged
inactiveNo longer active (terminated, on leave)

API Endpointsโ€‹

Staff Membersโ€‹

MethodEndpointDescriptionScope Required
GET/v1/staffList all staff membersstaff:read
GET/v1/staff/{id}Get a single staff memberstaff:read
POST/v1/staffCreate a new staff memberstaff:write
PATCH/v1/staff/{id}Update staff detailsstaff:write
DELETE/v1/staff/{id}Delete a staff recordstaff:write

Staff Rolesโ€‹

MethodEndpointDescriptionScope Required
GET/v1/staff/rolesList all rolesstaff:read
POST/v1/staff/rolesCreate a new rolestaff:write
PATCH/v1/staff/roles/{id}Update a rolestaff:write
DELETE/v1/staff/roles/{id}Delete a rolestaff:write

Staff Shiftsโ€‹

MethodEndpointDescriptionScope Required
GET/v1/staff/shiftsList all shiftsstaff:read
GET/v1/staff/shifts/{id}Get a single shiftstaff:read
POST/v1/staff/shiftsCreate a new shiftstaff:write
PATCH/v1/staff/shifts/{id}Update a shiftstaff:write
DELETE/v1/staff/shifts/{id}Delete a shiftstaff:write

Staff Availabilityโ€‹

MethodEndpointDescriptionScope Required
GET/v1/staff/{staffId}/availabilityGet a staff member's usual week and date answersstaff:read
PUT/v1/staff/{staffId}/availabilitySet their usual week, specific dates, or bothstaff:write
POST/v1/staff/{staffId}/availability-linkSend one staff member their linkstaff:write
POST/v1/staff/availability-requestsAsk several staff members at oncestaff:write

Common Use Casesโ€‹

Syncing with HR Systemsโ€‹

Export staff data to your HR platform:

curl "https://app.equipdash.com/api/v1/staff?status=active" \
-H "Authorization: Bearer YOUR_API_KEY"

Adding New Team Membersโ€‹

Create staff records for new hires:

curl -X POST "https://app.equipdash.com/api/v1/staff" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"first_name": "Mike",
"last_name": "Johnson",
"email": "mike@company.com",
"employment_type": "full_time",
"job_title": "Tour Guide",
"hire_date": "2026-02-01"
}'
  • Settings - Business locations for staff assignments
  • Webhooks - Get notified on staff changes