Skip to main content
POST
Create new staff member

Authorizations

Authorization
string
header
required

JWT token authentication

Headers

NexSpace-Version
string

Pin the request to a dated API version (e.g. 2026-05-10). Applied by app-level middleware to every /api route (server/routes/index.ts → apiVersionMiddleware), which echoes the resolved value back in the NexSpace-Version response header. Omit to get the latest version. Discover the catalog at GET /.well-known/api-versions.

Pattern: ^\d{4}-\d{2}-\d{2}$
Idempotency-Key
string

Replay guard for write requests. Applied by app-level middleware to every /api route (server/routes/index.ts → idempotencyMiddleware), which only acts on POST/PUT/PATCH — GET, DELETE and OPTIONS ignore the header. Re-sending the same key with an identical body within 24 hours replays the original response; the same key with a different body returns 409.

Maximum string length: 255

Body

application/json
firstName
string
required
lastName
string
required
email
string<email>
required
phone
string
specialty
string
employmentType
enum<string>
Available options:
full_time,
part_time,
contract,
per_diem
hourlyRate
number<decimal>
yearsExperience
integer
certifications
string[]
skills
string[]

Response

Staff member created successfully

id
integer

Unique staff identifier

firstName
string

First name

lastName
string

Last name

email
string<email>

Email address

phone
string | null

Phone number

specialty
string | null

Worker specialty or role classification (industry-specific)

employmentType
enum<string> | null

Type of employment

Available options:
full_time,
part_time,
contract,
per_diem
hourlyRate
number<decimal> | null

Hourly pay rate

yearsExperience
integer | null

Years of experience

certifications
string[]

Professional certifications

skills
string[]

Skills and competencies

isActive
boolean

Whether the staff member is active

profilePhoto
string | null

URL to profile photo

emergencyContact
object | null
workHistory
object[]
education
object[]