---
title: "Add a team member"
method: POST
path: "/api/v1/team"
---

# Add a team member

`POST /api/v1/team`

## Request

- Base URL: `http://127.0.0.1:4310`
- URL: `http://127.0.0.1:4310/api/v1/team`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `sfb_session`

## Request body

- object
  - `name` string, required
  - `display_name` string
  - `title` string
  - `bio` string
  - `email` string
  - `colour` string
  - `photo_url` string: https only; needs photo_licence
  - `photo_licence` string
  - `location_id` string, uuid
  - `active` boolean
  - `sort` integer
  - `expected_version` integer
  - `notification_prefs` object: Events booking_created, booking_rescheduled, booking_cancelled, daily_schedule, leave_changes, client_message; channels email, sms
  - `force_reassign` object: { to_staff_id } or { assignments: [{ booking_id, staff_id }] } when deactivating someone with future bookings
  - `shifts` object[]: Weekly shifts. Leave out to copy the home location opening hours, or Monday to Friday 09:00 to 17:00 when it has none
    - `weekday` integer, required
    - `week_index` integer: With cycle_weeks 2: 0 is Week A, 1 is Week B
    - `location_id` string, uuid
    - `start` string, required
    - `end` string, required
    - `breaks` object[]
      - `start` string
      - `end` string

## Response `201`

OK

- object

## Other responses

- `400`: Validation error
- `401`: Unauthenticated
- `403`: Forbidden
- `404`: Not found
- `409`: Conflict or invalid state

---

[API](https://skmtc.dev/scalingfirm/apis/tsf-booking-api.md) · [All operations](https://skmtc.dev/scalingfirm/apis/tsf-booking-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scalingfirm/apis/tsf-booking-api/revisions/81704199cd37?raw)
