Files
calendar/apps/api/v2/swagger/documentation.json
T

3852 lines
89 KiB
JSON

{
"openapi": "3.0.0",
"paths": {
"/health": {
"get": {
"operationId": "AppController_getHealth",
"parameters": [],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "string"
}
}
}
}
},
"tags": [
"Health - development only"
]
}
},
"/v2/events/public": {
"get": {
"operationId": "EventsController_getPublicEvent",
"parameters": [
{
"name": "username",
"required": true,
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "eventSlug",
"required": true,
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "isTeamEvent",
"required": false,
"in": "query",
"schema": {
"type": "boolean"
}
},
{
"name": "org",
"required": false,
"in": "query",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
}
},
"tags": [
"Event types"
]
}
},
"/v2/oauth-clients/{clientId}/users": {
"get": {
"operationId": "OAuthClientUsersController_getManagedUsers",
"parameters": [
{
"name": "clientId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetManagedUsersOutput"
}
}
}
}
},
"tags": [
"Managed users"
]
},
"post": {
"operationId": "OAuthClientUsersController_createUser",
"parameters": [
{
"name": "clientId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateManagedUserInput"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateManagedUserOutput"
}
}
}
}
},
"tags": [
"Managed users"
]
}
},
"/v2/oauth-clients/{clientId}/users/{userId}": {
"get": {
"operationId": "OAuthClientUsersController_getUserById",
"parameters": [
{
"name": "clientId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "userId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetManagedUserOutput"
}
}
}
}
},
"tags": [
"Managed users"
]
},
"patch": {
"operationId": "OAuthClientUsersController_updateUser",
"parameters": [
{
"name": "clientId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "userId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateManagedUserInput"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetManagedUserOutput"
}
}
}
}
},
"tags": [
"Managed users"
]
},
"delete": {
"operationId": "OAuthClientUsersController_deleteUser",
"parameters": [
{
"name": "clientId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "userId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetManagedUserOutput"
}
}
}
}
},
"tags": [
"Managed users"
]
}
},
"/v2/oauth-clients/{clientId}/users/{userId}/force-refresh": {
"post": {
"operationId": "OAuthClientUsersController_forceRefresh",
"parameters": [
{
"name": "userId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
},
{
"name": "clientId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/KeysResponseDto"
}
}
}
}
},
"tags": [
"Managed users"
]
}
},
"/v2/oauth-clients": {
"post": {
"operationId": "OAuthClientsController_createOAuthClient",
"summary": "",
"description": "⚠️ First, this endpoint requires `Cookie: next-auth.session-token=eyJhbGciOiJ` header. Log into Cal web app using owner of organization that was created after visiting `/settings/organizations/new`, refresh swagger docs, and the cookie will be added to requests automatically to pass the NextAuthGuard.\nSecond, make sure that the logged in user has organizationId set to pass the OrganizationRolesGuard guard.",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateOAuthClientInput"
}
}
}
},
"responses": {
"201": {
"description": "Create an OAuth client",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateOAuthClientResponseDto"
}
}
}
}
},
"tags": [
"OAuth - development only"
]
},
"get": {
"operationId": "OAuthClientsController_getOAuthClients",
"summary": "",
"description": "⚠️ First, this endpoint requires `Cookie: next-auth.session-token=eyJhbGciOiJ` header. Log into Cal web app using owner of organization that was created after visiting `/settings/organizations/new`, refresh swagger docs, and the cookie will be added to requests automatically to pass the NextAuthGuard.\nSecond, make sure that the logged in user has organizationId set to pass the OrganizationRolesGuard guard.",
"parameters": [],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetOAuthClientsResponseDto"
}
}
}
}
},
"tags": [
"OAuth - development only"
]
}
},
"/v2/oauth-clients/{clientId}": {
"get": {
"operationId": "OAuthClientsController_getOAuthClientById",
"summary": "",
"description": "⚠️ First, this endpoint requires `Cookie: next-auth.session-token=eyJhbGciOiJ` header. Log into Cal web app using owner of organization that was created after visiting `/settings/organizations/new`, refresh swagger docs, and the cookie will be added to requests automatically to pass the NextAuthGuard.\nSecond, make sure that the logged in user has organizationId set to pass the OrganizationRolesGuard guard.",
"parameters": [
{
"name": "clientId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetOAuthClientResponseDto"
}
}
}
}
},
"tags": [
"OAuth - development only"
]
},
"patch": {
"operationId": "OAuthClientsController_updateOAuthClient",
"summary": "",
"description": "⚠️ First, this endpoint requires `Cookie: next-auth.session-token=eyJhbGciOiJ` header. Log into Cal web app using owner of organization that was created after visiting `/settings/organizations/new`, refresh swagger docs, and the cookie will be added to requests automatically to pass the NextAuthGuard.\nSecond, make sure that the logged in user has organizationId set to pass the OrganizationRolesGuard guard.",
"parameters": [
{
"name": "clientId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateOAuthClientInput"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetOAuthClientResponseDto"
}
}
}
}
},
"tags": [
"OAuth - development only"
]
},
"delete": {
"operationId": "OAuthClientsController_deleteOAuthClient",
"summary": "",
"description": "⚠️ First, this endpoint requires `Cookie: next-auth.session-token=eyJhbGciOiJ` header. Log into Cal web app using owner of organization that was created after visiting `/settings/organizations/new`, refresh swagger docs, and the cookie will be added to requests automatically to pass the NextAuthGuard.\nSecond, make sure that the logged in user has organizationId set to pass the OrganizationRolesGuard guard.",
"parameters": [
{
"name": "clientId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetOAuthClientResponseDto"
}
}
}
}
},
"tags": [
"OAuth - development only"
]
}
},
"/v2/oauth/{clientId}/authorize": {
"post": {
"operationId": "OAuthFlowController_authorize",
"summary": "Authorize an OAuth client",
"description": "Redirects the user to the specified 'redirect_uri' with an authorization code in query parameter if the client is authorized successfully. The code is then exchanged for access and refresh tokens via the `/exchange` endpoint.",
"parameters": [
{
"name": "clientId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OAuthAuthorizeInput"
}
}
}
},
"responses": {
"200": {
"description": "The user is redirected to the 'redirect_uri' with an authorization code in query parameter e.g. `redirectUri?code=secretcode.`"
},
"400": {
"description": "Bad request if the OAuth client is not found, if the redirect URI is invalid, or if the user has already authorized the client."
}
},
"tags": [
"OAuth - development only"
]
}
},
"/v2/oauth/{clientId}/exchange": {
"post": {
"operationId": "OAuthFlowController_exchange",
"summary": "Exchange authorization code for access tokens",
"description": "Exchanges the authorization code received from the `/authorize` endpoint for access and refresh tokens. The authorization code should be provided in the 'Authorization' header prefixed with 'Bearer '.",
"parameters": [
{
"name": "Authorization",
"required": true,
"in": "header",
"schema": {
"type": "string"
}
},
{
"name": "clientId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExchangeAuthorizationCodeInput"
}
}
}
},
"responses": {
"200": {
"description": "Successfully exchanged authorization code for access and refresh tokens.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/KeysResponseDto"
}
}
}
},
"400": {
"description": "Bad request if the authorization code is missing, invalid, or if the client ID and secret do not match."
}
},
"tags": [
"OAuth - development only"
]
}
},
"/v2/oauth/{clientId}/refresh": {
"post": {
"operationId": "OAuthFlowController_refreshAccessToken",
"parameters": [
{
"name": "clientId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "x-cal-secret-key",
"required": true,
"in": "header",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RefreshTokenInput"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/KeysResponseDto"
}
}
}
}
},
"tags": [
"OAuth - development only"
]
}
},
"/v2/event-types": {
"post": {
"operationId": "EventTypesController_createEventType",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateEventTypeInput"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateEventTypeOutput"
}
}
}
}
},
"tags": [
"Event types"
]
},
"get": {
"operationId": "EventTypesController_getEventTypes",
"parameters": [],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetEventTypesOutput"
}
}
}
}
},
"tags": [
"Event types"
]
}
},
"/v2/event-types/{eventTypeId}": {
"get": {
"operationId": "EventTypesController_getEventType",
"parameters": [
{
"name": "eventTypeId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetEventTypeOutput"
}
}
}
}
},
"tags": [
"Event types"
]
},
"patch": {
"operationId": "EventTypesController_updateEventType",
"parameters": [
{
"name": "eventTypeId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateEventTypeInput"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateEventTypeOutput"
}
}
}
}
},
"tags": [
"Event types"
]
},
"delete": {
"operationId": "EventTypesController_deleteEventType",
"parameters": [
{
"name": "eventTypeId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteEventTypeOutput"
}
}
}
}
},
"tags": [
"Event types"
]
}
},
"/v2/event-types/{username}/public": {
"get": {
"operationId": "EventTypesController_getPublicEventTypes",
"parameters": [
{
"name": "username",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetEventTypesPublicOutput"
}
}
}
}
},
"tags": [
"Event types"
]
}
},
"/v2/ee/gcal/oauth/auth-url": {
"get": {
"operationId": "GcalController_redirect",
"parameters": [
{
"name": "Authorization",
"required": true,
"in": "header",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GcalAuthUrlOutput"
}
}
}
}
},
"tags": [
"Google Calendar"
]
}
},
"/v2/ee/gcal/oauth/save": {
"get": {
"operationId": "GcalController_save",
"parameters": [
{
"name": "state",
"required": true,
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "code",
"required": true,
"in": "query",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GcalSaveRedirectOutput"
}
}
}
}
},
"tags": [
"Google Calendar"
]
}
},
"/v2/ee/gcal/check": {
"get": {
"operationId": "GcalController_check",
"parameters": [],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GcalCheckOutput"
}
}
}
}
},
"tags": [
"Google Calendar"
]
}
},
"/v2/ee/provider/{clientId}": {
"get": {
"operationId": "CalProviderController_verifyClientId",
"parameters": [
{
"name": "clientId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProviderVerifyClientOutput"
}
}
}
}
},
"tags": [
"Cal provider"
]
}
},
"/v2/ee/provider/{clientId}/access-token": {
"get": {
"operationId": "CalProviderController_verifyAccessToken",
"parameters": [
{
"name": "clientId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProviderVerifyAccessTokenOutput"
}
}
}
}
},
"tags": [
"Cal provider"
]
}
},
"/v2/schedules": {
"post": {
"operationId": "SchedulesController_createSchedule",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateScheduleInput"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateScheduleOutput"
}
}
}
}
},
"tags": [
"Schedules"
]
},
"get": {
"operationId": "SchedulesController_getSchedules",
"parameters": [],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetSchedulesOutput"
}
}
}
}
},
"tags": [
"Schedules"
]
}
},
"/v2/schedules/default": {
"get": {
"operationId": "SchedulesController_getDefaultSchedule",
"parameters": [],
"responses": {
"200": {
"description": "Returns the default schedule",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetDefaultScheduleOutput"
}
}
}
}
},
"tags": [
"Schedules"
]
}
},
"/v2/schedules/{scheduleId}": {
"get": {
"operationId": "SchedulesController_getSchedule",
"parameters": [
{
"name": "scheduleId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetScheduleOutput"
}
}
}
}
},
"tags": [
"Schedules"
]
},
"patch": {
"operationId": "SchedulesController_updateSchedule",
"parameters": [
{
"name": "scheduleId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateScheduleInput"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateScheduleOutput"
}
}
}
}
},
"tags": [
"Schedules"
]
},
"delete": {
"operationId": "SchedulesController_deleteSchedule",
"parameters": [
{
"name": "scheduleId",
"required": true,
"in": "path",
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteScheduleOutput"
}
}
}
}
},
"tags": [
"Schedules"
]
}
},
"/v2/ee/me": {
"get": {
"operationId": "MeController_getMe",
"parameters": [],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetMeOutput"
}
}
}
}
},
"tags": [
"Me"
]
},
"patch": {
"operationId": "MeController_updateMe",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateManagedUserInput"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateMeOutput"
}
}
}
}
},
"tags": [
"Me"
]
}
},
"/v2/ee/calendars/busy-times": {
"get": {
"operationId": "CalendarsController_getBusyTimes",
"parameters": [],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetBusyTimesOutput"
}
}
}
}
},
"tags": [
"Calendars"
]
}
},
"/v2/ee/calendars": {
"get": {
"operationId": "CalendarsController_getCalendars",
"parameters": [],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConnectedCalendarsOutput"
}
}
}
}
},
"tags": [
"Calendars"
]
}
},
"/v2/ee/bookings": {
"get": {
"operationId": "BookingsController_getBookings",
"parameters": [
{
"name": "cursor",
"required": false,
"in": "query",
"schema": {
"type": "number"
}
},
{
"name": "limit",
"required": false,
"in": "query",
"schema": {
"type": "number"
}
},
{
"name": "filters[status]",
"required": true,
"in": "query",
"schema": {
"enum": [
"upcoming",
"recurring",
"past",
"cancelled",
"unconfirmed"
],
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetBookingsOutput"
}
}
}
}
},
"tags": [
"Bookings"
]
},
"post": {
"operationId": "BookingsController_createBooking",
"parameters": [
{
"name": "x-cal-client-id",
"required": true,
"in": "header",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateBookingInput"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
}
},
"tags": [
"Bookings"
]
}
},
"/v2/ee/bookings/{bookingUid}": {
"get": {
"operationId": "BookingsController_getBooking",
"parameters": [
{
"name": "bookingUid",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetBookingOutput"
}
}
}
}
},
"tags": [
"Bookings"
]
}
},
"/v2/ee/bookings/{bookingUid}/reschedule": {
"get": {
"operationId": "BookingsController_getBookingForReschedule",
"parameters": [
{
"name": "bookingUid",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
}
},
"tags": [
"Bookings"
]
}
},
"/v2/ee/bookings/{bookingId}/cancel": {
"post": {
"operationId": "BookingsController_cancelBooking",
"parameters": [
{
"name": "bookingId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "x-cal-client-id",
"required": true,
"in": "header",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CancelBookingInput"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
}
},
"tags": [
"Bookings"
]
}
},
"/v2/ee/bookings/reccuring": {
"post": {
"operationId": "BookingsController_createReccuringBooking",
"parameters": [
{
"name": "x-cal-client-id",
"required": true,
"in": "header",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
}
},
"tags": [
"Bookings"
]
}
},
"/v2/ee/bookings/instant": {
"post": {
"operationId": "BookingsController_createInstantBooking",
"parameters": [
{
"name": "x-cal-client-id",
"required": true,
"in": "header",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateBookingInput"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
}
},
"tags": [
"Bookings"
]
}
},
"/v2/slots/reserve": {
"post": {
"operationId": "SlotsController_reserveSlot",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReserveSlotInput"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
}
},
"tags": [
"Slots"
]
}
},
"/v2/slots/selected-slot": {
"delete": {
"operationId": "SlotsController_deleteSelectedSlot",
"parameters": [],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
}
},
"tags": [
"Slots"
]
}
},
"/v2/slots/available": {
"get": {
"operationId": "SlotsController_getAvailableSlots",
"parameters": [],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
}
},
"tags": [
"Slots"
]
}
},
"/v2/timezones": {
"get": {
"operationId": "TimezonesController_getTimeZones",
"parameters": [],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
}
},
"tags": [
"Timezones"
]
}
}
},
"info": {
"title": "Cal.com v2 API",
"description": "",
"version": "1.0.0",
"contact": {}
},
"tags": [],
"servers": [],
"components": {
"schemas": {
"ManagedUserOutput": {
"type": "object",
"properties": {
"id": {
"type": "number",
"example": 1
},
"email": {
"type": "string",
"example": "alice+cluo37fwd0001khkzqqynkpj3@example.com"
},
"username": {
"type": "string",
"nullable": true,
"example": "alice"
},
"timeZone": {
"type": "string",
"example": "America/New_York"
},
"weekStart": {
"type": "string",
"example": "Sunday"
},
"createdDate": {
"type": "string",
"example": "2024-04-01T00:00:00.000Z"
},
"timeFormat": {
"type": "number",
"nullable": true,
"example": 12
},
"defaultScheduleId": {
"type": "number",
"nullable": true,
"example": null
}
},
"required": [
"id",
"email",
"username",
"timeZone",
"weekStart",
"createdDate",
"timeFormat",
"defaultScheduleId"
]
},
"GetManagedUsersOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ManagedUserOutput"
}
}
},
"required": [
"status",
"data"
]
},
"CreateManagedUserInput": {
"type": "object",
"properties": {
"email": {
"type": "string",
"example": "alice@example.com"
},
"timeFormat": {
"type": "number",
"example": 12
},
"weekStart": {
"type": "string",
"example": "Sunday"
},
"timeZone": {
"type": "string",
"example": "America/New_York"
},
"name": {
"type": "string"
}
},
"required": [
"email"
]
},
"CreateManagedUserData": {
"type": "object",
"properties": {
"user": {
"$ref": "#/components/schemas/ManagedUserOutput"
},
"accessToken": {
"type": "string"
},
"refreshToken": {
"type": "string"
}
},
"required": [
"user",
"accessToken",
"refreshToken"
]
},
"CreateManagedUserOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/CreateManagedUserData"
}
},
"required": [
"status",
"data"
]
},
"GetManagedUserOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/ManagedUserOutput"
}
},
"required": [
"status",
"data"
]
},
"UpdateManagedUserInput": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"name": {
"type": "string"
},
"timeFormat": {
"type": "number"
},
"defaultScheduleId": {
"type": "number"
},
"weekStart": {
"type": "string"
},
"timeZone": {
"type": "string"
}
}
},
"KeysDto": {
"type": "object",
"properties": {
"accessToken": {
"type": "string",
"example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"
},
"refreshToken": {
"type": "string",
"example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"
}
},
"required": [
"accessToken",
"refreshToken"
]
},
"KeysResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/KeysDto"
}
},
"required": [
"status",
"data"
]
},
"CreateOAuthClientInput": {
"type": "object",
"properties": {}
},
"DataDto": {
"type": "object",
"properties": {
"clientId": {
"type": "string",
"example": "clsx38nbl0001vkhlwin9fmt0"
},
"clientSecret": {
"type": "string",
"example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoib2F1dGgtY2xpZW50Iiwi"
}
},
"required": [
"clientId",
"clientSecret"
]
},
"CreateOAuthClientResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"success",
"error"
],
"example": "success"
},
"data": {
"example": {
"clientId": "clsx38nbl0001vkhlwin9fmt0",
"clientSecret": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoib2F1dGgtY2xpZW50Iiwi"
},
"allOf": [
{
"$ref": "#/components/schemas/DataDto"
}
]
}
},
"required": [
"status",
"data"
]
},
"PlatformOAuthClientDto": {
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "clsx38nbl0001vkhlwin9fmt0"
},
"name": {
"type": "string",
"example": "MyClient"
},
"secret": {
"type": "string",
"example": "secretValue"
},
"permissions": {
"type": "number",
"example": 3
},
"logo": {
"type": "string",
"nullable": true,
"example": "https://example.com/logo.png"
},
"redirectUris": {
"example": [
"https://example.com/callback"
],
"type": "array",
"items": {
"type": "string"
}
},
"organizationId": {
"type": "number",
"example": 1
},
"createdAt": {
"format": "date-time",
"type": "string",
"example": "2024-03-23T08:33:21.851Z"
}
},
"required": [
"id",
"name",
"secret",
"permissions",
"redirectUris",
"organizationId",
"createdAt"
]
},
"GetOAuthClientsResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PlatformOAuthClientDto"
}
}
},
"required": [
"status",
"data"
]
},
"GetOAuthClientResponseDto": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/PlatformOAuthClientDto"
}
},
"required": [
"status",
"data"
]
},
"UpdateOAuthClientInput": {
"type": "object",
"properties": {
"logo": {
"type": "string"
},
"name": {
"type": "string"
},
"redirectUris": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
},
"bookingRedirectUri": {
"type": "string"
},
"bookingCancelRedirectUri": {
"type": "string"
},
"bookingRescheduleRedirectUri": {
"type": "string"
},
"areEmailsEnabled": {
"type": "boolean"
}
}
},
"OAuthAuthorizeInput": {
"type": "object",
"properties": {
"redirectUri": {
"type": "string"
}
},
"required": [
"redirectUri"
]
},
"ExchangeAuthorizationCodeInput": {
"type": "object",
"properties": {
"clientSecret": {
"type": "string"
}
},
"required": [
"clientSecret"
]
},
"RefreshTokenInput": {
"type": "object",
"properties": {
"refreshToken": {
"type": "string"
}
},
"required": [
"refreshToken"
]
},
"EventTypeLocation": {
"type": "object",
"properties": {
"type": {
"type": "string",
"example": "link"
},
"link": {
"type": "string",
"example": "https://masterchief.com/argentina/flan/video/9129412"
}
},
"required": [
"type"
]
},
"CreateEventTypeInput": {
"type": "object",
"properties": {
"length": {
"type": "number",
"minimum": 1,
"example": 60
},
"slug": {
"type": "string",
"example": "cooking-class"
},
"title": {
"type": "string",
"example": "Learn the secrets of masterchief!"
},
"description": {
"type": "string",
"example": "Discover the culinary wonders of the Argentina by making the best flan ever!"
},
"locations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EventTypeLocation"
}
}
},
"required": [
"length",
"slug",
"title"
]
},
"EventTypeOutput": {
"type": "object",
"properties": {
"id": {
"type": "number",
"example": 1
},
"length": {
"type": "number",
"example": 60
},
"slug": {
"type": "string",
"example": "cooking-class"
},
"title": {
"type": "string",
"example": "Learn the secrets of masterchief!"
},
"description": {
"type": "string",
"nullable": true,
"example": "Discover the culinary wonders of the Argentina by making the best flan ever!"
},
"locations": {
"nullable": true,
"type": "array",
"items": {
"$ref": "#/components/schemas/EventTypeLocation"
}
}
},
"required": [
"id",
"length",
"slug",
"title",
"description",
"locations"
]
},
"CreateEventTypeOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/EventTypeOutput"
}
},
"required": [
"status",
"data"
]
},
"Data": {
"type": "object",
"properties": {
"eventType": {
"$ref": "#/components/schemas/EventTypeOutput"
}
},
"required": [
"eventType"
]
},
"GetEventTypeOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/Data"
}
},
"required": [
"status",
"data"
]
},
"EventTypeGroup": {
"type": "object",
"properties": {
"eventTypes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EventTypeOutput"
}
}
},
"required": [
"eventTypes"
]
},
"GetEventTypesData": {
"type": "object",
"properties": {
"eventTypeGroups": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EventTypeGroup"
}
}
},
"required": [
"eventTypeGroups"
]
},
"GetEventTypesOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/GetEventTypesData"
}
},
"required": [
"status",
"data"
]
},
"PublicEventType": {
"type": "object",
"properties": {
"id": {
"type": "number",
"example": 1
},
"length": {
"type": "number",
"example": 60
},
"slug": {
"type": "string",
"example": "cooking-class"
},
"title": {
"type": "string",
"example": "Learn the secrets of masterchief!"
},
"description": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"length",
"slug",
"title"
]
},
"GetEventTypesPublicOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PublicEventType"
}
}
},
"required": [
"status",
"data"
]
},
"UpdateEventTypeInput": {
"type": "object",
"properties": {
"length": {
"type": "number",
"minimum": 1
},
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"hidden": {
"type": "boolean"
},
"locations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EventTypeLocation"
}
}
}
},
"UpdateEventTypeOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/EventTypeOutput"
}
},
"required": [
"status",
"data"
]
},
"DeleteData": {
"type": "object",
"properties": {
"id": {
"type": "number",
"example": 1
},
"length": {
"type": "number",
"example": 60
},
"slug": {
"type": "string",
"example": "cooking-class"
},
"title": {
"type": "string",
"example": "Learn the secrets of masterchief!"
}
},
"required": [
"id",
"length",
"slug",
"title"
]
},
"DeleteEventTypeOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/DeleteData"
}
},
"required": [
"status",
"data"
]
},
"AuthUrlData": {
"type": "object",
"properties": {
"authUrl": {
"type": "string"
}
},
"required": [
"authUrl"
]
},
"GcalAuthUrlOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/AuthUrlData"
}
},
"required": [
"status",
"data"
]
},
"GcalSaveRedirectOutput": {
"type": "object",
"properties": {
"url": {
"type": "string"
}
},
"required": [
"url"
]
},
"GcalCheckOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
}
},
"required": [
"status"
]
},
"ProviderVerifyClientOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
}
},
"required": [
"status"
]
},
"ProviderVerifyAccessTokenOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
}
},
"required": [
"status"
]
},
"CreateAvailabilityInput": {
"type": "object",
"properties": {
"days": {
"example": [
1,
2
],
"type": "array",
"items": {
"type": "number"
}
},
"startTime": {
"format": "date-time",
"type": "string"
},
"endTime": {
"format": "date-time",
"type": "string"
}
},
"required": [
"days",
"startTime",
"endTime"
]
},
"CreateScheduleInput": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"timeZone": {
"type": "string"
},
"availabilities": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CreateAvailabilityInput"
}
},
"isDefault": {
"type": "boolean"
}
},
"required": [
"name",
"timeZone",
"isDefault"
]
},
"WorkingHours": {
"type": "object",
"properties": {
"days": {
"type": "array",
"items": {
"type": "number"
}
},
"startTime": {
"type": "number"
},
"endTime": {
"type": "number"
},
"userId": {
"type": "number",
"nullable": true
}
},
"required": [
"days",
"startTime",
"endTime"
]
},
"AvailabilityModel": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"userId": {
"type": "number",
"nullable": true
},
"eventTypeId": {
"type": "number",
"nullable": true
},
"days": {
"type": "array",
"items": {
"type": "number"
}
},
"startTime": {
"format": "date-time",
"type": "string"
},
"endTime": {
"format": "date-time",
"type": "string"
},
"date": {
"format": "date-time",
"type": "string",
"nullable": true
},
"scheduleId": {
"type": "number",
"nullable": true
}
},
"required": [
"id",
"days",
"startTime",
"endTime"
]
},
"TimeRange": {
"type": "object",
"properties": {
"userId": {
"type": "number",
"nullable": true
},
"start": {
"format": "date-time",
"type": "string"
},
"end": {
"format": "date-time",
"type": "string"
}
},
"required": [
"start",
"end"
]
},
"ScheduleOutput": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"name": {
"type": "string"
},
"isManaged": {
"type": "boolean"
},
"workingHours": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkingHours"
}
},
"schedule": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AvailabilityModel"
}
},
"availability": {
"type": "array",
"items": {
"required": true,
"type": "array",
"items": {
"$ref": "#/components/schemas/TimeRange"
}
}
},
"timeZone": {
"type": "string"
},
"dateOverrides": {
"type": "array",
"items": {
"type": "object"
}
},
"isDefault": {
"type": "boolean"
},
"isLastSchedule": {
"type": "boolean"
},
"readOnly": {
"type": "boolean"
}
},
"required": [
"id",
"name",
"isManaged",
"workingHours",
"schedule",
"availability",
"timeZone",
"dateOverrides",
"isDefault",
"isLastSchedule",
"readOnly"
]
},
"CreateScheduleOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/ScheduleOutput"
}
},
"required": [
"status",
"data"
]
},
"GetDefaultScheduleOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/ScheduleOutput"
}
]
}
},
"required": [
"status",
"data"
]
},
"GetScheduleOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/ScheduleOutput"
}
},
"required": [
"status",
"data"
]
},
"GetSchedulesOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/ScheduleOutput"
}
},
"required": [
"status",
"data"
]
},
"UpdateScheduleInput": {
"type": "object",
"properties": {
"timeZone": {
"type": "string"
},
"name": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"schedule": {
"example": [
[],
[
{
"start": "2022-01-01T00:00:00.000Z",
"end": "2022-01-02T00:00:00.000Z"
}
],
[],
[],
[],
[],
[]
],
"items": {
"type": "array"
},
"type": "array"
},
"dateOverrides": {
"example": [
[],
[
{
"start": "2022-01-01T00:00:00.000Z",
"end": "2022-01-02T00:00:00.000Z"
}
],
[],
[],
[],
[],
[]
],
"items": {
"type": "array"
},
"type": "array"
}
},
"required": [
"timeZone",
"name",
"isDefault",
"schedule"
]
},
"EventTypeModel": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"eventName": {
"type": "string",
"nullable": true
}
},
"required": [
"id"
]
},
"ScheduleModel": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"userId": {
"type": "number"
},
"name": {
"type": "string"
},
"timeZone": {
"type": "string",
"nullable": true
},
"eventType": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EventTypeModel"
}
},
"availability": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AvailabilityModel"
}
}
},
"required": [
"id",
"userId",
"name"
]
},
"UpdatedScheduleOutput": {
"type": "object",
"properties": {
"schedule": {
"$ref": "#/components/schemas/ScheduleModel"
},
"isDefault": {
"type": "boolean"
},
"timeZone": {
"type": "string"
},
"prevDefaultId": {
"type": "number",
"nullable": true
},
"currentDefaultId": {
"type": "number",
"nullable": true
}
},
"required": [
"schedule",
"isDefault"
]
},
"UpdateScheduleOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/UpdatedScheduleOutput"
}
},
"required": [
"status",
"data"
]
},
"DeleteScheduleOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
}
},
"required": [
"status"
]
},
"MeOutput": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"username": {
"type": "string"
},
"email": {
"type": "string"
},
"timeFormat": {
"type": "number"
},
"defaultScheduleId": {
"type": "number",
"nullable": true
},
"weekStart": {
"type": "string"
},
"timeZone": {
"type": "string"
}
},
"required": [
"id",
"username",
"email",
"timeFormat",
"defaultScheduleId",
"weekStart",
"timeZone"
]
},
"GetMeOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/MeOutput"
}
},
"required": [
"status",
"data"
]
},
"UpdateMeOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/MeOutput"
}
},
"required": [
"status",
"data"
]
},
"BusyTimesOutput": {
"type": "object",
"properties": {
"start": {
"format": "date-time",
"type": "string"
},
"end": {
"format": "date-time",
"type": "string"
},
"source": {
"type": "string",
"nullable": true
}
},
"required": [
"start",
"end"
]
},
"GetBusyTimesOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BusyTimesOutput"
}
}
},
"required": [
"status",
"data"
]
},
"Integration": {
"type": "object",
"properties": {
"appData": {
"type": "object",
"nullable": true
},
"dirName": {
"type": "string"
},
"__template": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"installed": {
"type": "boolean"
},
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"variant": {
"type": "string"
},
"category": {
"type": "string"
},
"categories": {
"type": "array",
"items": {
"type": "string"
}
},
"logo": {
"type": "string"
},
"publisher": {
"type": "string"
},
"slug": {
"type": "string"
},
"url": {
"type": "string"
},
"email": {
"type": "string"
},
"locationOption": {
"type": "object",
"nullable": true
}
},
"required": [
"name",
"description",
"type",
"variant",
"categories",
"logo",
"publisher",
"slug",
"url",
"email",
"locationOption"
]
},
"Primary": {
"type": "object",
"properties": {
"externalId": {
"type": "string"
},
"integration": {
"type": "string"
},
"name": {
"type": "string"
},
"primary": {
"type": "boolean",
"nullable": true
},
"readOnly": {
"type": "boolean"
},
"email": {
"type": "string"
},
"isSelected": {
"type": "boolean"
},
"credentialId": {
"type": "number"
}
},
"required": [
"externalId",
"primary",
"readOnly",
"isSelected",
"credentialId"
]
},
"Calendar": {
"type": "object",
"properties": {
"externalId": {
"type": "string"
},
"integration": {
"type": "string"
},
"name": {
"type": "string"
},
"primary": {
"type": "boolean",
"nullable": true
},
"readOnly": {
"type": "boolean"
},
"email": {
"type": "string"
},
"isSelected": {
"type": "boolean"
},
"credentialId": {
"type": "number"
}
},
"required": [
"externalId",
"readOnly",
"isSelected",
"credentialId"
]
},
"ConnectedCalendar": {
"type": "object",
"properties": {
"integration": {
"$ref": "#/components/schemas/Integration"
},
"credentialId": {
"type": "number"
},
"primary": {
"$ref": "#/components/schemas/Primary"
},
"calendars": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Calendar"
}
}
},
"required": [
"integration",
"credentialId"
]
},
"DestinationCalendar": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"integration": {
"type": "string"
},
"externalId": {
"type": "string"
},
"primaryEmail": {
"type": "string",
"nullable": true
},
"userId": {
"type": "number",
"nullable": true
},
"eventTypeId": {
"type": "number",
"nullable": true
},
"credentialId": {
"type": "number",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"primary": {
"type": "boolean"
},
"readOnly": {
"type": "boolean"
},
"email": {
"type": "string"
},
"integrationTitle": {
"type": "string"
}
},
"required": [
"id",
"integration",
"externalId",
"primaryEmail",
"userId",
"eventTypeId",
"credentialId"
]
},
"ConnectedCalendarsData": {
"type": "object",
"properties": {
"connectedCalendars": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ConnectedCalendar"
}
},
"destinationCalendar": {
"$ref": "#/components/schemas/DestinationCalendar"
}
},
"required": [
"connectedCalendars",
"destinationCalendar"
]
},
"ConnectedCalendarsOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/ConnectedCalendarsData"
}
},
"required": [
"status",
"data"
]
},
"Attendee": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"email": {
"type": "string"
},
"name": {
"type": "string"
},
"timeZone": {
"type": "string"
},
"locale": {
"type": "string",
"nullable": true
},
"bookingId": {
"type": "number",
"nullable": true
}
},
"required": [
"id",
"email",
"name",
"timeZone",
"locale",
"bookingId"
]
},
"EventType": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"id": {
"type": "number"
},
"eventName": {
"type": "string",
"nullable": true
},
"price": {
"type": "number"
},
"recurringEvent": {
"type": "object"
},
"currency": {
"type": "string"
},
"metadata": {
"type": "object"
},
"seatsShowAttendees": {
"type": "object"
},
"seatsShowAvailabilityCount": {
"type": "object"
},
"team": {
"type": "object",
"nullable": true
}
},
"required": [
"price",
"currency",
"metadata"
]
},
"Reference": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"type": {
"type": "string"
},
"uid": {
"type": "string"
},
"meetingId": {
"type": "string",
"nullable": true
},
"thirdPartyRecurringEventId": {
"type": "string",
"nullable": true
},
"meetingPassword": {
"type": "string",
"nullable": true
},
"meetingUrl": {
"type": "string",
"nullable": true
},
"bookingId": {
"type": "number",
"nullable": true
},
"externalCalendarId": {
"type": "string",
"nullable": true
},
"deleted": {
"type": "object"
},
"credentialId": {
"type": "number",
"nullable": true
}
},
"required": [
"id",
"type",
"uid",
"meetingPassword",
"bookingId",
"externalCalendarId",
"credentialId"
]
},
"User": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"name": {
"type": "string",
"nullable": true
},
"email": {
"type": "string"
}
},
"required": [
"id",
"name",
"email"
]
},
"GetBookingsDataEntry": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"title": {
"type": "string"
},
"userPrimaryEmail": {
"type": "string",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"customInputs": {
"type": "object"
},
"startTime": {
"type": "string"
},
"endTime": {
"type": "string"
},
"attendees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Attendee"
}
},
"metadata": {
"type": "object"
},
"uid": {
"type": "string"
},
"recurringEventId": {
"type": "string",
"nullable": true
},
"location": {
"type": "string",
"nullable": true
},
"eventType": {
"$ref": "#/components/schemas/EventType"
},
"status": {
"type": "object"
},
"paid": {
"type": "boolean"
},
"payment": {
"type": "array",
"items": {
"type": "object"
}
},
"references": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Reference"
}
},
"isRecorded": {
"type": "boolean"
},
"seatsReferences": {
"type": "array",
"items": {
"type": "object"
}
},
"user": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/User"
}
]
},
"rescheduled": {
"type": "object"
}
},
"required": [
"id",
"title",
"description",
"customInputs",
"startTime",
"endTime",
"attendees",
"metadata",
"uid",
"recurringEventId",
"location",
"eventType",
"status",
"paid",
"payment",
"references",
"isRecorded",
"seatsReferences",
"user"
]
},
"GetBookingsData": {
"type": "object",
"properties": {
"bookings": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GetBookingsDataEntry"
}
},
"recurringInfo": {
"type": "array",
"items": {
"type": "object"
}
},
"nextCursor": {
"type": "number",
"nullable": true
}
},
"required": [
"bookings",
"recurringInfo",
"nextCursor"
]
},
"GetBookingsOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/GetBookingsData"
}
},
"required": [
"status",
"data"
]
},
"GetBookingData": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"id": {
"type": "number"
},
"uid": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
},
"customInputs": {
"type": "object"
},
"smsReminderNumber": {
"type": "string",
"nullable": true
},
"recurringEventId": {
"type": "string",
"nullable": true
},
"startTime": {
"format": "date-time",
"type": "string"
},
"endTime": {
"format": "date-time",
"type": "string"
},
"location": {
"type": "string",
"nullable": true
},
"status": {
"type": "string"
},
"metadata": {
"type": "object"
},
"cancellationReason": {
"type": "string",
"nullable": true
},
"responses": {
"type": "object"
},
"rejectionReason": {
"type": "string",
"nullable": true
},
"userPrimaryEmail": {
"type": "string",
"nullable": true
},
"user": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/User"
}
]
},
"attendees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Attendee"
}
},
"eventTypeId": {
"type": "number",
"nullable": true
},
"eventType": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/EventType"
}
]
}
},
"required": [
"title",
"id",
"uid",
"description",
"customInputs",
"smsReminderNumber",
"recurringEventId",
"startTime",
"endTime",
"location",
"status",
"metadata",
"cancellationReason",
"responses",
"rejectionReason",
"userPrimaryEmail",
"user",
"attendees",
"eventTypeId",
"eventType"
]
},
"GetBookingOutput": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success",
"enum": [
"success",
"error"
]
},
"data": {
"$ref": "#/components/schemas/GetBookingData"
}
},
"required": [
"status",
"data"
]
},
"Location": {
"type": "object",
"properties": {
"optionValue": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"optionValue",
"value"
]
},
"Response": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"guests": {
"type": "array",
"items": {
"type": "string"
}
},
"location": {
"$ref": "#/components/schemas/Location"
},
"notes": {
"type": "string"
}
},
"required": [
"name",
"email",
"guests"
]
},
"CreateBookingInput": {
"type": "object",
"properties": {
"end": {
"type": "string"
},
"start": {
"type": "string"
},
"eventTypeId": {
"type": "number"
},
"eventTypeSlug": {
"type": "string"
},
"rescheduleUid": {
"type": "string"
},
"recurringEventId": {
"type": "string"
},
"timeZone": {
"type": "string"
},
"user": {
"type": "array",
"items": {
"type": "string"
}
},
"language": {
"type": "string"
},
"bookingUid": {
"type": "string"
},
"metadata": {
"type": "object"
},
"hasHashedBookingLink": {
"type": "boolean"
},
"hashedLink": {
"type": "string",
"nullable": true
},
"seatReferenceUid": {
"type": "string"
},
"responses": {
"$ref": "#/components/schemas/Response"
}
},
"required": [
"start",
"eventTypeId",
"timeZone",
"language",
"metadata",
"hashedLink",
"responses"
]
},
"CancelBookingInput": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"uid": {
"type": "string"
},
"allRemainingBookings": {
"type": "boolean"
},
"cancellationReason": {
"type": "string"
},
"seatReferenceUid": {
"type": "string"
}
},
"required": [
"id",
"uid",
"allRemainingBookings",
"cancellationReason",
"seatReferenceUid"
]
},
"ReserveSlotInput": {
"type": "object",
"properties": {}
}
}
}
}