Skip to content

API reference

Update booking link

meetings.UpdateBookingLinkWriteMember delegation

Change a booking link you own. Only supplied fields change. Activating a link requires calendar write permission; changing reminder timing also updates future bookings.

POST/v1/operations/meetings.UpdateBookingLink
On this page

Access & visibility

Allow meetings.UpdateBookingLink on your API key.

Acting member required. Send Brigg-Act-As with an approved member account ID. The key supplies permissions; the member selects whose data is used.

The selected member must be active and approved by the credential. This selects whose private data is used; the credential supplies permissions. Private ownership and project boundaries still apply.

Set up authentication · Choose permissions

Request fields

Send a JSON object with the following fields. Required fields must be included; omit optional fields you do not need.

idstringRequired

Use a link's id from items. This is not an individual booking ID. meetings.ListBookingLinks.

At least 1 character.

namestringOptional

Meeting name displayed on the public booking page.

At least 1 character. At most 120 characters.

descriptionstringOptional

Introduction displayed to invitees. Send an empty string to clear it.

At most 2000 characters.

duration_minutesintegerOptional

Fixed meeting length in minutes. Supplying this alone clears any previous choice of lengths. duration_options takes precedence when both are supplied.

Range: 10 to 480.

duration_optionsarray of integerOptional

Offered lengths in minutes. One length makes a fixed-duration link; several let the invitee choose. The stored duration_minutes is the shortest offered length.

At least 1 item. At most 4 items.

location_kindstringOptional

video creates a conference link; phone, in_person and custom use location_detail for instructions or an address.

Allowed: "video", "phone", "in_person", "custom".

location_detailstringOptional

Instructions for the chosen location, such as a phone number or street address. Send an empty string to clear them.

At most 500 characters.

timezonestringOptional

An IANA time zone; refused invalid_timezone otherwise.

availabilityobjectOptional

Complete weekly availability in the link's IANA timezone. Omitted or empty weekdays within this object are unavailable. This replaces the whole schedule, not only the listed days.

Nested fields
monarray of objectOptional

Monday availability intervals in the booking link's timezone.

At most 6 items.

Item fields
startstringRequired

Start of the interval.

Pattern: ^([01]\d|2[0-3]):[0-5]\d$.

endstringRequired

End of the interval; must be later than its start.

Pattern: ^([01]\d|2[0-3]):[0-5]\d$.

tuearray of objectOptional

Tuesday availability intervals in the booking link's timezone.

At most 6 items.

Item fields
startstringRequired

Start of the interval.

Pattern: ^([01]\d|2[0-3]):[0-5]\d$.

endstringRequired

End of the interval; must be later than its start.

Pattern: ^([01]\d|2[0-3]):[0-5]\d$.

wedarray of objectOptional

Wednesday availability intervals in the booking link's timezone.

At most 6 items.

Item fields
startstringRequired

Start of the interval.

Pattern: ^([01]\d|2[0-3]):[0-5]\d$.

endstringRequired

End of the interval; must be later than its start.

Pattern: ^([01]\d|2[0-3]):[0-5]\d$.

thuarray of objectOptional

Thursday availability intervals in the booking link's timezone.

At most 6 items.

Item fields
startstringRequired

Start of the interval.

Pattern: ^([01]\d|2[0-3]):[0-5]\d$.

endstringRequired

End of the interval; must be later than its start.

Pattern: ^([01]\d|2[0-3]):[0-5]\d$.

friarray of objectOptional

Friday availability intervals in the booking link's timezone.

At most 6 items.

Item fields
startstringRequired

Start of the interval.

Pattern: ^([01]\d|2[0-3]):[0-5]\d$.

endstringRequired

End of the interval; must be later than its start.

Pattern: ^([01]\d|2[0-3]):[0-5]\d$.

satarray of objectOptional

Saturday availability intervals in the booking link's timezone.

At most 6 items.

Item fields
startstringRequired

Start of the interval.

Pattern: ^([01]\d|2[0-3]):[0-5]\d$.

endstringRequired

End of the interval; must be later than its start.

Pattern: ^([01]\d|2[0-3]):[0-5]\d$.

sunarray of objectOptional

Sunday availability intervals in the booking link's timezone.

At most 6 items.

Item fields
startstringRequired

Start of the interval.

Pattern: ^([01]\d|2[0-3]):[0-5]\d$.

endstringRequired

End of the interval; must be later than its start.

Pattern: ^([01]\d|2[0-3]):[0-5]\d$.

window_daysintegerOptional

Number of days into the future an invitee can book.

Range: 1 to 90.

min_notice_minutesintegerOptional

Minimum notice required before a meeting starts, in minutes.

Range: 0 to 10080.

buffer_before_minutesintegerOptional

Minutes reserved before each meeting.

Range: 0 to 240.

buffer_after_minutesintegerOptional

Minutes reserved after each meeting.

Range: 0 to 240.

max_per_dayintegerOptional

Maximum bookings in a day. Zero means no daily limit.

Range: 0 to 50.

questionsarray of objectOptional

Complete replacement question list. Send [] to remove all questions; omit the field on an update to preserve them.

At most 5 items.

Item fields
idstringRequired

Stable question key you choose, unique within this link, such as project_goal. Reuse it when editing that question; no create-record call is needed.

At least 1 character. At most 40 characters.

labelstringRequired

Text shown for this booking question or choice.

At least 1 character. At most 200 characters.

kindstringRequired

Question control: text is a short answer, textarea a longer answer, select a choice from options, and checkbox a yes/no response.

Allowed: "text", "textarea", "select", "checkbox".

requiredbooleanOptional

Whether the invitee must answer this booking question.

optionsarray of stringOptional

Choices for a select question; at least one is required when kind=select. Omit for other controls.

At least 1 item. At most 12 items.

reminder_hoursintegerOptional

Hours before a meeting to send a reminder. Zero disables reminders.

Range: 0 to 336.

collect_phonebooleanOptional

Whether the booking form asks invitees for a phone number.

activebooleanOptional

Whether new bookings are accepted. False does not cancel confirmed appointments. Setting true requires the acting member's calendar write permission.

Patch only what you intend to change

Omitted top-level fields keep their current values; creation defaults are not reapplied. For example, {id, active:false} disables new bookings without changing duration, availability or reminders. Read the returned link for the complete saved configuration.

Supplying availability replaces the entire weekly schedule, and questions replaces the entire question list. Include entries you want to retain. Empty description and location_detail strings clear those values. Changing reminder_hours also reschedules reminders for existing future bookings; it does not cancel those bookings.

Response

Returns 200 OK with a JSON body.

Errors & retries

Set BRIGG_REQUEST_ID once for each logical action. The samples send it as Idempotency-Key. Reuse the same value and body on retries, including after a timeout; a missing response does not prove the action failed.

For rate limits, follow the server’s retry guidance and back off. See HTTP errors and safe retries and limits.

HTTP status Code What to do
400 invalid_json Send a JSON object with Content-Type: application/json.
400 invalid_input Check the request fields and types. Supply a stable Idempotency-Key containing 1–200 characters.
401 invalid_key The workspace API key is missing, invalid or revoked.
403 forbidden Check the key’s operation and resource grants. Supply Brigg-Act-As with a member authorized by the key’s delegation grant. The selected member must be active and approved by the credential. This selects whose private data is used; the credential supplies permissions. Private ownership and project boundaries still apply.
404 not_found The requested operation or resource is not available to this credential.
429 rate_limited Wait for Retry-After before retrying. Reuse the original Idempotency-Key.
409 needs_auth Grant calendar write access before activating the link.
422 invalid_timezone Use a valid IANA time zone.

Next steps

Download OpenAPI · Versioning & retirement

JSON schemas

Use the complete schemas for validation or client generation.

Full request JSON schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "Use a link's id from items. This is not an individual booking ID. [meetings.ListBookingLinks](/developers/reference/meetings/ListBookingLinks)."
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "Meeting name displayed on the public booking page."
    },
    "description": {
      "type": "string",
      "maxLength": 2000,
      "description": "Introduction displayed to invitees. Send an empty string to clear it."
    },
    "duration_minutes": {
      "type": "integer",
      "minimum": 10,
      "maximum": 480,
      "description": "Fixed meeting length in minutes. Supplying this alone clears any previous choice of lengths. duration_options takes precedence when both are supplied."
    },
    "duration_options": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 10,
        "maximum": 480
      },
      "minItems": 1,
      "maxItems": 4,
      "description": "Offered lengths in minutes. One length makes a fixed-duration link; several let the invitee choose. The stored duration_minutes is the shortest offered length."
    },
    "location_kind": {
      "type": "string",
      "enum": [
        "video",
        "phone",
        "in_person",
        "custom"
      ],
      "description": "video creates a conference link; phone, in_person and custom use location_detail for instructions or an address."
    },
    "location_detail": {
      "type": "string",
      "maxLength": 500,
      "description": "Instructions for the chosen location, such as a phone number or street address. Send an empty string to clear them."
    },
    "timezone": {
      "type": "string",
      "description": "An IANA time zone; refused invalid_timezone otherwise."
    },
    "availability": {
      "type": "object",
      "properties": {
        "mon": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "start": {
                "type": "string",
                "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                "description": "Start of the interval."
              },
              "end": {
                "type": "string",
                "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                "description": "End of the interval; must be later than its start."
              }
            },
            "required": [
              "start",
              "end"
            ],
            "additionalProperties": false
          },
          "maxItems": 6,
          "description": "Monday availability intervals in the booking link's timezone."
        },
        "tue": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "start": {
                "type": "string",
                "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                "description": "Start of the interval."
              },
              "end": {
                "type": "string",
                "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                "description": "End of the interval; must be later than its start."
              }
            },
            "required": [
              "start",
              "end"
            ],
            "additionalProperties": false
          },
          "maxItems": 6,
          "description": "Tuesday availability intervals in the booking link's timezone."
        },
        "wed": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "start": {
                "type": "string",
                "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                "description": "Start of the interval."
              },
              "end": {
                "type": "string",
                "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                "description": "End of the interval; must be later than its start."
              }
            },
            "required": [
              "start",
              "end"
            ],
            "additionalProperties": false
          },
          "maxItems": 6,
          "description": "Wednesday availability intervals in the booking link's timezone."
        },
        "thu": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "start": {
                "type": "string",
                "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                "description": "Start of the interval."
              },
              "end": {
                "type": "string",
                "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                "description": "End of the interval; must be later than its start."
              }
            },
            "required": [
              "start",
              "end"
            ],
            "additionalProperties": false
          },
          "maxItems": 6,
          "description": "Thursday availability intervals in the booking link's timezone."
        },
        "fri": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "start": {
                "type": "string",
                "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                "description": "Start of the interval."
              },
              "end": {
                "type": "string",
                "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                "description": "End of the interval; must be later than its start."
              }
            },
            "required": [
              "start",
              "end"
            ],
            "additionalProperties": false
          },
          "maxItems": 6,
          "description": "Friday availability intervals in the booking link's timezone."
        },
        "sat": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "start": {
                "type": "string",
                "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                "description": "Start of the interval."
              },
              "end": {
                "type": "string",
                "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                "description": "End of the interval; must be later than its start."
              }
            },
            "required": [
              "start",
              "end"
            ],
            "additionalProperties": false
          },
          "maxItems": 6,
          "description": "Saturday availability intervals in the booking link's timezone."
        },
        "sun": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "start": {
                "type": "string",
                "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                "description": "Start of the interval."
              },
              "end": {
                "type": "string",
                "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                "description": "End of the interval; must be later than its start."
              }
            },
            "required": [
              "start",
              "end"
            ],
            "additionalProperties": false
          },
          "maxItems": 6,
          "description": "Sunday availability intervals in the booking link's timezone."
        }
      },
      "additionalProperties": false,
      "description": "Complete weekly availability in the link's IANA timezone. Omitted or empty weekdays within this object are unavailable. This replaces the whole schedule, not only the listed days."
    },
    "window_days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 90,
      "description": "Number of days into the future an invitee can book."
    },
    "min_notice_minutes": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10080,
      "description": "Minimum notice required before a meeting starts, in minutes."
    },
    "buffer_before_minutes": {
      "type": "integer",
      "minimum": 0,
      "maximum": 240,
      "description": "Minutes reserved before each meeting."
    },
    "buffer_after_minutes": {
      "type": "integer",
      "minimum": 0,
      "maximum": 240,
      "description": "Minutes reserved after each meeting."
    },
    "max_per_day": {
      "type": "integer",
      "minimum": 0,
      "maximum": 50,
      "description": "Maximum bookings in a day. Zero means no daily limit."
    },
    "questions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "description": "Stable question key you choose, unique within this link, such as project_goal. Reuse it when editing that question; no create-record call is needed."
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Text shown for this booking question or choice."
          },
          "kind": {
            "type": "string",
            "enum": [
              "text",
              "textarea",
              "select",
              "checkbox"
            ],
            "description": "Question control: text is a short answer, textarea a longer answer, select a choice from options, and checkbox a yes/no response."
          },
          "required": {
            "type": "boolean",
            "description": "Whether the invitee must answer this booking question."
          },
          "options": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 120
            },
            "minItems": 1,
            "maxItems": 12,
            "description": "Choices for a select question; at least one is required when kind=select. Omit for other controls."
          }
        },
        "required": [
          "id",
          "label",
          "kind"
        ],
        "additionalProperties": false
      },
      "maxItems": 5,
      "description": "Complete replacement question list. Send [] to remove all questions; omit the field on an update to preserve them."
    },
    "reminder_hours": {
      "type": "integer",
      "minimum": 0,
      "maximum": 336,
      "description": "Hours before a meeting to send a reminder. Zero disables reminders."
    },
    "collect_phone": {
      "type": "boolean",
      "description": "Whether the booking form asks invitees for a phone number."
    },
    "active": {
      "type": "boolean",
      "description": "Whether new bookings are accepted. False does not cancel confirmed appointments. Setting true requires the acting member's calendar write permission."
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "id": "bkl_example",
      "active": false
    }
  ]
}
Full response JSON schema
{
  "type": "object",
  "properties": {
    "link": {
      "description": "The link row plus its public url.",
      "title": "BookingLink",
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Booking link ID. Use it to update or delete this link."
        },
        "org_id": {
          "type": "string",
          "description": "Workspace that owns the link."
        },
        "owner_account_id": {
          "type": "string",
          "description": "Member whose calendar supplies the available time slots."
        },
        "slug": {
          "type": "string",
          "description": "Unique URL segment for this link within the workspace."
        },
        "name": {
          "type": "string",
          "description": "Meeting name displayed to invitees."
        },
        "description": {
          "description": "Introduction displayed on the booking page.",
          "anyOf": [
            {
              "type": "string",
              "description": "Introduction displayed on the booking page."
            },
            {
              "type": "null"
            }
          ]
        },
        "duration_minutes": {
          "type": "integer",
          "description": "Default meeting length in minutes; the shortest length when several are offered."
        },
        "duration_options": {
          "description": "Offered meeting lengths in minutes. Null means a fixed duration_minutes.",
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "Offered meeting lengths in minutes. Null means a fixed duration_minutes."
            },
            {
              "type": "null"
            }
          ]
        },
        "location_kind": {
          "type": "string",
          "enum": [
            "video",
            "phone",
            "in_person",
            "custom"
          ],
          "description": "video creates a conference link; phone, in_person and custom use location_detail for instructions or an address."
        },
        "location_detail": {
          "description": "Address, phone instructions or other location details.",
          "anyOf": [
            {
              "type": "string",
              "description": "Address, phone instructions or other location details."
            },
            {
              "type": "null"
            }
          ]
        },
        "timezone": {
          "type": "string",
          "description": "IANA time zone used to interpret the weekly availability, for example Europe/Oslo."
        },
        "availability": {
          "type": "object",
          "properties": {
            "mon": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "start": {
                    "type": "string",
                    "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                    "description": "Start of the interval."
                  },
                  "end": {
                    "type": "string",
                    "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                    "description": "End of the interval; must be later than its start."
                  }
                },
                "required": [
                  "start",
                  "end"
                ],
                "additionalProperties": false
              },
              "maxItems": 6,
              "description": "Monday availability intervals in the booking link's timezone."
            },
            "tue": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "start": {
                    "type": "string",
                    "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                    "description": "Start of the interval."
                  },
                  "end": {
                    "type": "string",
                    "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                    "description": "End of the interval; must be later than its start."
                  }
                },
                "required": [
                  "start",
                  "end"
                ],
                "additionalProperties": false
              },
              "maxItems": 6,
              "description": "Tuesday availability intervals in the booking link's timezone."
            },
            "wed": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "start": {
                    "type": "string",
                    "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                    "description": "Start of the interval."
                  },
                  "end": {
                    "type": "string",
                    "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                    "description": "End of the interval; must be later than its start."
                  }
                },
                "required": [
                  "start",
                  "end"
                ],
                "additionalProperties": false
              },
              "maxItems": 6,
              "description": "Wednesday availability intervals in the booking link's timezone."
            },
            "thu": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "start": {
                    "type": "string",
                    "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                    "description": "Start of the interval."
                  },
                  "end": {
                    "type": "string",
                    "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                    "description": "End of the interval; must be later than its start."
                  }
                },
                "required": [
                  "start",
                  "end"
                ],
                "additionalProperties": false
              },
              "maxItems": 6,
              "description": "Thursday availability intervals in the booking link's timezone."
            },
            "fri": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "start": {
                    "type": "string",
                    "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                    "description": "Start of the interval."
                  },
                  "end": {
                    "type": "string",
                    "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                    "description": "End of the interval; must be later than its start."
                  }
                },
                "required": [
                  "start",
                  "end"
                ],
                "additionalProperties": false
              },
              "maxItems": 6,
              "description": "Friday availability intervals in the booking link's timezone."
            },
            "sat": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "start": {
                    "type": "string",
                    "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                    "description": "Start of the interval."
                  },
                  "end": {
                    "type": "string",
                    "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                    "description": "End of the interval; must be later than its start."
                  }
                },
                "required": [
                  "start",
                  "end"
                ],
                "additionalProperties": false
              },
              "maxItems": 6,
              "description": "Saturday availability intervals in the booking link's timezone."
            },
            "sun": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "start": {
                    "type": "string",
                    "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                    "description": "Start of the interval."
                  },
                  "end": {
                    "type": "string",
                    "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
                    "description": "End of the interval; must be later than its start."
                  }
                },
                "required": [
                  "start",
                  "end"
                ],
                "additionalProperties": false
              },
              "maxItems": 6,
              "description": "Sunday availability intervals in the booking link's timezone."
            }
          },
          "additionalProperties": false,
          "$schema": "http://json-schema.org/draft-07/schema#",
          "title": "WeeklyAvailability",
          "description": "Bookable local-time intervals by weekday. Missing or empty days are unavailable."
        },
        "window_days": {
          "type": "integer",
          "description": "How many days into the future invitees can book."
        },
        "min_notice_minutes": {
          "type": "integer",
          "description": "Minimum time before a meeting can start, in minutes."
        },
        "buffer_before_minutes": {
          "type": "integer",
          "description": "Minutes reserved before each meeting."
        },
        "buffer_after_minutes": {
          "type": "integer",
          "description": "Minutes reserved after each meeting."
        },
        "max_per_day": {
          "type": "integer",
          "description": "Maximum bookings per day. Zero means no daily limit."
        },
        "questions": {
          "description": "Additional questions shown to invitees. Null means no questions.",
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 40,
                    "description": "Stable question key you choose, unique within this link, such as project_goal. Reuse it when editing that question; no create-record call is needed."
                  },
                  "label": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200,
                    "description": "Text shown for this booking question or choice."
                  },
                  "kind": {
                    "type": "string",
                    "enum": [
                      "text",
                      "textarea",
                      "select",
                      "checkbox"
                    ],
                    "description": "Question control: text is a short answer, textarea a longer answer, select a choice from options, and checkbox a yes/no response."
                  },
                  "required": {
                    "type": "boolean",
                    "description": "Whether the invitee must answer this booking question."
                  },
                  "options": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 120
                    },
                    "minItems": 1,
                    "maxItems": 12,
                    "description": "Choices for a select question; at least one is required when kind=select. Omit for other controls."
                  }
                },
                "required": [
                  "id",
                  "label",
                  "kind"
                ],
                "additionalProperties": false
              },
              "maxItems": 5,
              "$schema": "http://json-schema.org/draft-07/schema#",
              "description": "Additional questions shown to invitees. Null means no questions."
            },
            {
              "type": "null"
            }
          ]
        },
        "reminder_hours": {
          "type": "integer",
          "description": "Hours before the meeting to send a reminder. Zero disables reminders."
        },
        "collect_phone": {
          "type": "boolean",
          "description": "Whether invitees are asked for a phone number."
        },
        "active": {
          "type": "boolean",
          "description": "Whether invitees can make new bookings through this link."
        },
        "created_at": {
          "type": "integer",
          "description": "Creation time in Unix milliseconds."
        },
        "updated_at": {
          "type": "integer",
          "description": "Last change in Unix milliseconds."
        },
        "url": {
          "type": "string",
          "description": "Public booking URL to share with invitees.",
          "format": "uri"
        }
      },
      "required": [
        "id",
        "org_id",
        "owner_account_id",
        "slug",
        "name",
        "description",
        "duration_minutes",
        "duration_options",
        "location_kind",
        "location_detail",
        "timezone",
        "availability",
        "window_days",
        "min_notice_minutes",
        "buffer_before_minutes",
        "buffer_after_minutes",
        "max_per_day",
        "questions",
        "reminder_hours",
        "collect_phone",
        "active",
        "created_at",
        "updated_at",
        "url"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "link"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "link": {
        "id": "bkl_example",
        "org_id": "o_example",
        "owner_account_id": "a_example",
        "slug": "project-introduction",
        "name": "Project introduction",
        "description": null,
        "duration_minutes": 30,
        "duration_options": null,
        "location_kind": "video",
        "location_detail": null,
        "timezone": "Europe/Oslo",
        "availability": {
          "mon": [
            {
              "start": "09:00",
              "end": "17:00"
            }
          ]
        },
        "window_days": 30,
        "min_notice_minutes": 240,
        "buffer_before_minutes": 0,
        "buffer_after_minutes": 0,
        "max_per_day": 0,
        "questions": null,
        "reminder_hours": 24,
        "collect_phone": false,
        "active": false,
        "created_at": 1794301200000,
        "updated_at": 1794301200000,
        "url": "https://example.com/book/project-introduction"
      }
    }
  ]
}

Search by operation name or what you want to build.

Use arrow keys to browse. Enter opens a result.