Skip to content

Update a team member's schedule

Request

Updates the working schedule as a merge-patch map keyed by date: each key is a YYYY-MM-DD date, the value sets the working slots of that day, and null clears the day. Dates absent from the body are left unchanged. Times are wall-clock HH:MM in the Location's timezone. Requires If-Match with the ETag from the schedule read.

Security
OAuth2(Required scopes: team_members:write) or RestrictedKey
Path
location_idintegerrequired

Identifier of the Location. Verified against the credential on every call — a Location the credential cannot access responds with 404.

team_member_idintegerrequired

Identifier of the Team Member.

Headers
If-Matchstringrequired

ETag value of the resource version the change is based on. A stale value fails with 412 stale_version; a missing header fails with 428 precondition_required.

Bodyapplication/merge-patch+jsonrequired
^[0-9]{4}-[0-9]{2}-[0-9]{2}$ScheduleDayPatch (object) or nullpattern property
One of:
curl -i -X PATCH \
  'https://developer.alteg.io/_mock/en/b2b-v3/openapi/locations/{location_id}/team_members/{team_member_id}/schedule' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/merge-patch+json' \
  -H 'If-Match: string' \
  -d '{
    "2026-07-24": {
      "slots": [
        {
          "from": "09:00",
          "to": "18:00"
        }
      ]
    },
    "2026-07-25": null
  }'

Responses

The days updated by this request.

Headers
RateLimit-Remaininginteger, (int32), >= 0

Requests left in the most constrained policy window that applies to this request.

RateLimit-Resetinteger, (int32), >= 0

On 429, seconds until the most constrained policy frees up; it equals Retry-After there. On a successful response it reports the length of that policy's window rather than the time left in the current one, so treat it as the window size, not as a countdown — the counter to pace against is RateLimit-Remaining.

RateLimit-Policystring

Most constrained policy applied to the request, as <limit>;w=<window in seconds>.

Example:"10;w=60"
ETagstring

Version tag of the returned resource. Send it back in If-Match on the next PATCH or DELETE.

X-Request-Idstring

Request identifier for support and log correlation.

Bodyapplication/json
dataArray of objects(ScheduleDay)required
has_morebooleanrequired

Whether more items exist beyond this page.

next_cursorstring or nullrequired

Opaque cursor for the next page; null on the last page.

objectstringrequired
Value:"list"
Response
{ "object": "list", "data": [ {}, {} ], "has_more": false, "next_cursor": null }