Skip to main content
PATCH
/
schedules
/
{uuid}
Update availability schedule by UUID
curl --request PATCH \
  --url https://api.zeeg.me/v2/schedules/{uuid} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "email": "lena.meier@horizondigital.de",
  "timezone": "Europe/Berlin",
  "weeklyHours": [
    {
      "day": "Mon",
      "timesets": [
        [
          "18:00",
          "21:00"
        ]
      ]
    },
    {
      "day": "Tue",
      "timesets": [
        [
          "18:00",
          "21:00"
        ]
      ]
    },
    {
      "day": "Wed",
      "timesets": []
    },
    {
      "day": "Thu",
      "timesets": [
        [
          "18:00",
          "21:00"
        ]
      ]
    },
    {
      "day": "Fri",
      "timesets": []
    },
    {
      "day": "Sat",
      "timesets": []
    },
    {
      "day": "Sun",
      "timesets": []
    }
  ]
}
'
import requests

url = "https://api.zeeg.me/v2/schedules/{uuid}"

payload = {
"email": "lena.meier@horizondigital.de",
"timezone": "Europe/Berlin",
"weeklyHours": [
{
"day": "Mon",
"timesets": [["18:00", "21:00"]]
},
{
"day": "Tue",
"timesets": [["18:00", "21:00"]]
},
{
"day": "Wed",
"timesets": []
},
{
"day": "Thu",
"timesets": [["18:00", "21:00"]]
},
{
"day": "Fri",
"timesets": []
},
{
"day": "Sat",
"timesets": []
},
{
"day": "Sun",
"timesets": []
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.patch(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: 'lena.meier@horizondigital.de',
timezone: 'Europe/Berlin',
weeklyHours: [
{day: 'Mon', timesets: [['18:00', '21:00']]},
{day: 'Tue', timesets: [['18:00', '21:00']]},
{day: 'Wed', timesets: []},
{day: 'Thu', timesets: [['18:00', '21:00']]},
{day: 'Fri', timesets: []},
{day: 'Sat', timesets: []},
{day: 'Sun', timesets: []}
]
})
};

fetch('https://api.zeeg.me/v2/schedules/{uuid}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.zeeg.me/v2/schedules/{uuid}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'email' => 'lena.meier@horizondigital.de',
'timezone' => 'Europe/Berlin',
'weeklyHours' => [
[
'day' => 'Mon',
'timesets' => [
[
'18:00',
'21:00'
]
]
],
[
'day' => 'Tue',
'timesets' => [
[
'18:00',
'21:00'
]
]
],
[
'day' => 'Wed',
'timesets' => [

]
],
[
'day' => 'Thu',
'timesets' => [
[
'18:00',
'21:00'
]
]
],
[
'day' => 'Fri',
'timesets' => [

]
],
[
'day' => 'Sat',
'timesets' => [

]
],
[
'day' => 'Sun',
'timesets' => [

]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.zeeg.me/v2/schedules/{uuid}"

payload := strings.NewReader("{\n \"email\": \"lena.meier@horizondigital.de\",\n \"timezone\": \"Europe/Berlin\",\n \"weeklyHours\": [\n {\n \"day\": \"Mon\",\n \"timesets\": [\n [\n \"18:00\",\n \"21:00\"\n ]\n ]\n },\n {\n \"day\": \"Tue\",\n \"timesets\": [\n [\n \"18:00\",\n \"21:00\"\n ]\n ]\n },\n {\n \"day\": \"Wed\",\n \"timesets\": []\n },\n {\n \"day\": \"Thu\",\n \"timesets\": [\n [\n \"18:00\",\n \"21:00\"\n ]\n ]\n },\n {\n \"day\": \"Fri\",\n \"timesets\": []\n },\n {\n \"day\": \"Sat\",\n \"timesets\": []\n },\n {\n \"day\": \"Sun\",\n \"timesets\": []\n }\n ]\n}")

req, _ := http.NewRequest("PATCH", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.patch("https://api.zeeg.me/v2/schedules/{uuid}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"lena.meier@horizondigital.de\",\n \"timezone\": \"Europe/Berlin\",\n \"weeklyHours\": [\n {\n \"day\": \"Mon\",\n \"timesets\": [\n [\n \"18:00\",\n \"21:00\"\n ]\n ]\n },\n {\n \"day\": \"Tue\",\n \"timesets\": [\n [\n \"18:00\",\n \"21:00\"\n ]\n ]\n },\n {\n \"day\": \"Wed\",\n \"timesets\": []\n },\n {\n \"day\": \"Thu\",\n \"timesets\": [\n [\n \"18:00\",\n \"21:00\"\n ]\n ]\n },\n {\n \"day\": \"Fri\",\n \"timesets\": []\n },\n {\n \"day\": \"Sat\",\n \"timesets\": []\n },\n {\n \"day\": \"Sun\",\n \"timesets\": []\n }\n ]\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.zeeg.me/v2/schedules/{uuid}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"lena.meier@horizondigital.de\",\n \"timezone\": \"Europe/Berlin\",\n \"weeklyHours\": [\n {\n \"day\": \"Mon\",\n \"timesets\": [\n [\n \"18:00\",\n \"21:00\"\n ]\n ]\n },\n {\n \"day\": \"Tue\",\n \"timesets\": [\n [\n \"18:00\",\n \"21:00\"\n ]\n ]\n },\n {\n \"day\": \"Wed\",\n \"timesets\": []\n },\n {\n \"day\": \"Thu\",\n \"timesets\": [\n [\n \"18:00\",\n \"21:00\"\n ]\n ]\n },\n {\n \"day\": \"Fri\",\n \"timesets\": []\n },\n {\n \"day\": \"Sat\",\n \"timesets\": []\n },\n {\n \"day\": \"Sun\",\n \"timesets\": []\n }\n ]\n}"

response = http.request(request)
puts response.read_body
{
  "success": true,
  "status": 200,
  "resource": {
    "uri": "https://api.zeeg.me/v2/schedules/otrBCIib7j",
    "uuid": "otrBCIib7j",
    "email": "lena.meier@horizondigital.de",
    "title": "Evening Consultations",
    "isDefault": false,
    "timezone": "Europe/Berlin",
    "weeklyHours": [
      {
        "day": "Mon",
        "timesets": [
          [
            "18:00",
            "21:00"
          ]
        ]
      },
      {
        "day": "Tue",
        "timesets": [
          [
            "18:00",
            "21:00"
          ]
        ]
      },
      {
        "day": "Wed",
        "timesets": []
      },
      {
        "day": "Thu",
        "timesets": [
          [
            "18:00",
            "21:00"
          ]
        ]
      },
      {
        "day": "Fri",
        "timesets": []
      },
      {
        "day": "Sat",
        "timesets": []
      },
      {
        "day": "Sun",
        "timesets": []
      }
    ],
    "specialHours": null,
    "currentTime": "2026-04-10T08:30:00+02:00",
    "createdAt": "2026-04-02T12:00:00.000000Z",
    "updatedAt": "2026-04-10T08:30:00.000000Z"
  }
}
{
"message": "Unauthenticated."
}
{
"success": false,
"message": "You cannot access this resource.",
"status": 403
}
{
"error": "Schedule not found"
}
{
"message": "The timezone must be a valid timezone.",
"errors": {
"timezone": [
"The timezone must be a valid timezone."
]
}
}

Authorizations

Authorization
string
header
required

Path Parameters

uuid
string<uuid>
required

Schedule identifier

Example:

"Q1ZYo391da"

Body

application/json
email
string<email>
required

Email address of the user who owns the schedule.

timezone
string | null

IANA timezone identifier. Set to null to keep the current timezone.

Example:

"Europe/Berlin"

weeklyHours
object[]

Weekly availability hours.

specialHours
object[]

Date-specific availability overrides.

Response

OK

success
boolean
required
status
integer
required
resource
object
required
Last modified on April 29, 2026