{"openapi":"3.1.0","info":{"title":"Cal.com Event Types (BYOK) API","version":"0.1.0","description":"Cal.com Event Types (BYOK) lets an AI assistant read your own Cal.com Event Types data through the Cal.com Event Types API with a key you supply (Cal.com API key (starts with cal_live_)). Read-only: 8 tools (list_event_types, get_event_type, get_event_type_booking_fields, list_team_event_types, get_team_event_type, get_team_event_type_booking_fields, list_teams, get_team). The BYOK key travels...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-cal-com-event-types.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-cal-com-event-types/docs"},"termsOfService":"https://connectorbay.com/byok-cal-com-event-types/terms"},"servers":[{"url":"https://byok-cal-com-event-types.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-cal-com-event-types/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_event_types":{"post":{"operationId":"list_event_types","summary":"List the event types (booking page templates) of the key's account, or of the user given by username: title, slug, lengt","description":"List the event types (booking page templates) of the key's account, or of the user given by username: title, slug, length, price, locations, buffers and booking link. Use for \"What event types do I have on Cal.com\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"username":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cal.com username whose public event types to list. Leave out for the key owner's own.","title":"Username"},"event_slug":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Return only the event type with this slug; needs username as well.","title":"Event Slug"},"sort_created_at":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Order by creation date: asc or desc. Leave out for no explicit order.","title":"Sort Created At"}},"title":"list_event_typesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_event_type":{"post":{"operationId":"get_event_type","summary":"Get one event type by id: title, slug, length, description, price, locations, buffers, slot interval and booking link. U","description":"Get one event type by id: title, slug, length, description, price, locations, buffers, slot interval and booking link. Use for \"Show the details of my Cal.com event type 1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"event_type_id":{"description":"Numeric id of the event type (from list_event_types).","title":"Event Type Id","type":"integer"}},"required":["event_type_id"],"title":"get_event_typeArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_event_type_booking_fields":{"post":{"operationId":"get_event_type_booking_fields","summary":"Get the booking form definition of an event type: the questions asked of a booker (type, slug, label, required). Definit","description":"Get the booking form definition of an event type: the questions asked of a booker (type, slug, label, required). Definitions only. Use for \"What questions does my Cal.com event type 1 ask when someone books\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"event_type_id":{"description":"Numeric id of the event type (from list_event_types).","title":"Event Type Id","type":"integer"}},"required":["event_type_id"],"title":"get_event_type_booking_fieldsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_team_event_types":{"post":{"operationId":"list_team_event_types","summary":"List the event types of a team: title, slug, length, scheduling type (round robin, collective, managed) and booking link","description":"List the event types of a team: title, slug, length, scheduling type (round robin, collective, managed) and booking link. Host names are not returned. Use for \"What event types does Cal.com team 12 have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team_id":{"description":"Team id (a number such as 12) or the team's uuid, from list_teams.","maxLength":60,"title":"Team Id","type":"string"},"event_slug":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Return only the team event type with this slug.","title":"Event Slug"},"sort_created_at":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Order by creation date: asc or desc. Leave out for no explicit order.","title":"Sort Created At"}},"required":["team_id"],"title":"list_team_event_typesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_team_event_type":{"post":{"operationId":"get_team_event_type","summary":"Get one team event type by team and event type id: title, slug, length, scheduling type and booking link. Use for \"Show ","description":"Get one team event type by team and event type id: title, slug, length, scheduling type and booking link. Use for \"Show Cal.com team 12 event type 2\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team_id":{"description":"Team id (a number such as 12) or the team's uuid, from list_teams.","maxLength":60,"title":"Team Id","type":"string"},"event_type_id":{"description":"Numeric id of the event type (from list_event_types).","title":"Event Type Id","type":"integer"}},"required":["team_id","event_type_id"],"title":"get_team_event_typeArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_team_event_type_booking_fields":{"post":{"operationId":"get_team_event_type_booking_fields","summary":"Get the booking form definition of a team event type: the questions asked of a booker (type, slug, label, required). Use","description":"Get the booking form definition of a team event type: the questions asked of a booker (type, slug, label, required). Use for \"What does the booking form of Cal.com team 12 event type 2 ask\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team_id":{"description":"Team id (a number such as 12) or the team's uuid, from list_teams.","maxLength":60,"title":"Team Id","type":"string"},"event_type_id":{"description":"Numeric id of the event type (from list_event_types).","title":"Event Type Id","type":"integer"}},"required":["team_id","event_type_id"],"title":"get_team_event_type_booking_fieldsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_teams":{"post":{"operationId":"list_teams","summary":"List the Cal.com teams the key's account belongs to: name, slug, bio, privacy flag, time zone and week start. Use for \"W","description":"List the Cal.com teams the key's account belongs to: name, slug, bio, privacy flag, time zone and week start. Use for \"Which Cal.com teams am I in\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_teamsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_team":{"post":{"operationId":"get_team","summary":"Get one Cal.com team by id: name, slug, bio, privacy flag, time zone and week start. Use for \"Show details of Cal.com te","description":"Get one Cal.com team by id: name, slug, bio, privacy flag, time zone and week start. Use for \"Show details of Cal.com team 12\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team_id":{"description":"Team id (a number such as 12) or the team's uuid, from list_teams.","maxLength":60,"title":"Team Id","type":"string"}},"required":["team_id"],"title":"get_teamArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}