diff --git a/apps/api/v2/src/ee/event-types/event-types_2024_06_14/controllers/event-types.controller.e2e-spec.ts b/apps/api/v2/src/ee/event-types/event-types_2024_06_14/controllers/event-types.controller.e2e-spec.ts index 9f22ce102ecbcf..cf0cdd7b6cc120 100644 --- a/apps/api/v2/src/ee/event-types/event-types_2024_06_14/controllers/event-types.controller.e2e-spec.ts +++ b/apps/api/v2/src/ee/event-types/event-types_2024_06_14/controllers/event-types.controller.e2e-spec.ts @@ -12,6 +12,7 @@ import { NestExpressApplication } from "@nestjs/platform-express"; import { Test } from "@nestjs/testing"; import { PlatformOAuthClient, Team, User, Schedule, EventType } from "@prisma/client"; import * as request from "supertest"; +import { ApiKeysRepositoryFixture } from "test/fixtures/repository/api-keys.repository.fixture"; import { EventTypesRepositoryFixture } from "test/fixtures/repository/event-types.repository.fixture"; import { MembershipRepositoryFixture } from "test/fixtures/repository/membership.repository.fixture"; import { OAuthClientRepositoryFixture } from "test/fixtures/repository/oauth-client.repository.fixture"; @@ -88,11 +89,16 @@ describe("Event types Endpoints", () => { let schedulesRepostoryFixture: SchedulesRepositoryFixture; let profileRepositoryFixture: ProfileRepositoryFixture; let membershipsRepositoryFixture: MembershipRepositoryFixture; + let apiKeysRepositoryFixture: ApiKeysRepositoryFixture; + let apiKeyString: string; + let apiKeyOrgUser: string; + const userEmail = `event-types-2024-06-14-user-${randomString()}@api.com`; const falseTestEmail = `event-types-2024-06-14-false-user-${randomString()}@api.com`; const name = `event-types-2024-06-14-user-${randomString()}`; const username = name; let eventType: EventTypeOutput_2024_06_14; + let hiddenEventType: EventTypeOutput_2024_06_14; let user: User; let orgUser: User; let falseTestUser: User; @@ -165,13 +171,10 @@ describe("Event types Endpoints", () => { }; beforeAll(async () => { - const moduleRef = await withApiAuth( - userEmail, - Test.createTestingModule({ - providers: [PrismaExceptionFilter, HttpExceptionFilter], - imports: [AppModule, UsersModule, EventTypesModule_2024_06_14, TokensModule], - }) - ) + const moduleRef = await Test.createTestingModule({ + providers: [PrismaExceptionFilter, HttpExceptionFilter], + imports: [AppModule, UsersModule, EventTypesModule_2024_06_14, TokensModule], + }) .overrideGuard(PermissionsGuard) .useValue({ canActivate: () => true, @@ -198,12 +201,20 @@ describe("Event types Endpoints", () => { name, username, }); + apiKeysRepositoryFixture = new ApiKeysRepositoryFixture(moduleRef); + const { keyString } = await apiKeysRepositoryFixture.createApiKey(user.id, null); + apiKeyString = `cal_test_${keyString}`; orgUser = await userRepositoryFixture.create({ email: `event-types-2024-06-14-org-user-${randomString()}@example.com`, name: `event-types-2024-06-14-org-user-${randomString()}`, username: `event-types-2024-06-14-org-user-${randomString()}`, }); + const { keyString: orgUserApiKeyString } = await apiKeysRepositoryFixture.createApiKey( + orgUser.id, + null + ); + apiKeyOrgUser = `cal_test_${orgUserApiKeyString}`; profileRepositoryFixture.create({ uid: `usr-${orgUser.id}`, @@ -334,6 +345,7 @@ describe("Event types Endpoints", () => { return request(app.getHttpServer()) .post("/api/v2/event-types") .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) + .set("Authorization", `Bearer ${apiKeyString}`) .send(body) .expect(404); }); @@ -370,6 +382,7 @@ describe("Event types Endpoints", () => { const response = await request(app.getHttpServer()) .post("/api/v2/event-types") .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) + .set("Authorization", `Bearer ${apiKeyString}`) .send(body) .expect(400); @@ -395,6 +408,7 @@ describe("Event types Endpoints", () => { return request(app.getHttpServer()) .post("/api/v2/event-types") .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) + .set("Authorization", `Bearer ${apiKeyString}`) .send(body) .expect(400); }); @@ -504,6 +518,7 @@ describe("Event types Endpoints", () => { return request(app.getHttpServer()) .post("/api/v2/event-types") .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) + .set("Authorization", `Bearer ${apiKeyString}`) .send(body) .expect(201) .then(async (response) => { @@ -576,12 +591,112 @@ describe("Event types Endpoints", () => { }); }); + it("should create a hidden event type", async () => { + const body: CreateEventTypeInput_2024_06_14 = { + title: "Coding class hidden", + slug: "coding-class-hidden", + description: "Let's learn how to code like a pro.", + lengthInMinutes: 60, + locations: [ + { + type: "integration", + integration: "cal-video", + }, + ], + hidden: true, + }; + + const response = await request(app.getHttpServer()) + .post("/api/v2/event-types") + .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) + .set("Authorization", `Bearer ${apiKeyString}`) + .send(body) + .expect(201); + + const responseBody: ApiSuccessResponse = response.body; + const createdEventType = responseBody.data; + expect(createdEventType).toHaveProperty("id"); + expect(createdEventType.title).toEqual(body.title); + expect(createdEventType.hidden).toEqual(body.hidden); + expect(createdEventType.ownerId).toEqual(user.id); + hiddenEventType = responseBody.data; + }); + it(`/GET/event-types by username`, async () => { const response = await request(app.getHttpServer()) - .get(`/api/v2/event-types?username=${username}`) + .get(`/api/v2/event-types?username=${user.username}`) + .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) + .set("Authorization", `Bearer ${apiKeyString}`) + .expect(200); + + const responseBody: ApiSuccessResponse = response.body; + + expect(responseBody.status).toEqual(SUCCESS_STATUS); + expect(responseBody.data).toBeDefined(); + expect(responseBody.data?.length).toEqual(2); + + const fetchedEventType = responseBody.data?.find((et) => et.id === eventType.id); + const fetchedHiddenEventType = responseBody.data?.find((et) => et.id === hiddenEventType.id); + + expect(fetchedEventType?.id).toEqual(eventType.id); + expect(fetchedEventType?.title).toEqual(eventType.title); + expect(fetchedEventType?.description).toEqual(eventType.description); + expect(fetchedEventType?.lengthInMinutes).toEqual(eventType.lengthInMinutes); + expect(fetchedEventType?.lengthInMinutesOptions).toEqual(eventType.lengthInMinutesOptions); + expect(fetchedEventType?.locations).toEqual(eventType.locations); + expect(fetchedEventType?.bookingFields.sort(orderBySlug)).toEqual( + eventType.bookingFields.sort(orderBySlug).filter((f) => ("hidden" in f ? !f?.hidden : true)) + ); + expect(fetchedEventType?.ownerId).toEqual(user.id); + expect(fetchedEventType?.bookingLimitsCount).toEqual(eventType.bookingLimitsCount); + expect(fetchedEventType?.onlyShowFirstAvailableSlot).toEqual(eventType.onlyShowFirstAvailableSlot); + expect(fetchedEventType?.bookingLimitsDuration).toEqual(eventType.bookingLimitsDuration); + expect(fetchedEventType?.offsetStart).toEqual(eventType.offsetStart); + expect(fetchedEventType?.bookingWindow).toEqual(eventType.bookingWindow); + expect(fetchedEventType?.bookerLayouts).toEqual(eventType.bookerLayouts); + expect(fetchedEventType?.confirmationPolicy).toEqual(eventType.confirmationPolicy); + expect(fetchedEventType?.recurrence).toEqual(eventType.recurrence); + expect(fetchedEventType?.customName).toEqual(eventType.customName); + expect(fetchedEventType?.requiresBookerEmailVerification).toEqual( + eventType.requiresBookerEmailVerification + ); + expect(fetchedEventType?.hideCalendarNotes).toEqual(eventType.hideCalendarNotes); + expect(fetchedEventType?.hideCalendarEventDetails).toEqual(eventType.hideCalendarEventDetails); + expect(fetchedEventType?.hideOrganizerEmail).toEqual(eventType.hideOrganizerEmail); + expect(fetchedEventType?.lockTimeZoneToggleOnBookingPage).toEqual( + eventType.lockTimeZoneToggleOnBookingPage + ); + expect(fetchedEventType?.color).toEqual(eventType.color); + expect(fetchedEventType?.hidden).toEqual(false); + + expect(fetchedHiddenEventType?.id).toEqual(hiddenEventType.id); + expect(fetchedHiddenEventType?.hidden).toEqual(true); + }); + + it(`/GET/event-types by username should not return hidden event type if auth of non event type owner provided`, async () => { + const response = await request(app.getHttpServer()) + .get(`/api/v2/event-types?username=${user.username}`) + .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) + .set("Authorization", `Bearer ${apiKeyOrgUser}`) + .expect(200); + + const responseBody: ApiSuccessResponse = response.body; + + expect(responseBody.status).toEqual(SUCCESS_STATUS); + expect(responseBody.data).toBeDefined(); + expect(responseBody.data?.length).toEqual(1); + + const fetchedEventType = responseBody.data?.find((et) => et.id === eventType.id); + + expect(fetchedEventType?.id).toEqual(eventType.id); + expect(fetchedEventType?.ownerId).toEqual(user.id); + expect(fetchedEventType?.hidden).toEqual(false); + }); + + it(`/GET/event-types by username should not return hidden event type if no auth provided`, async () => { + const response = await request(app.getHttpServer()) + .get(`/api/v2/event-types?username=${user.username}`) .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) - // note: bearer token value mocked using "withAccessTokenAuth" for user which id is used when creating event type above - .set("Authorization", `Bearer whatever`) .expect(200); const responseBody: ApiSuccessResponse = response.body; @@ -590,7 +705,27 @@ describe("Event types Endpoints", () => { expect(responseBody.data).toBeDefined(); expect(responseBody.data?.length).toEqual(1); - const fetchedEventType = responseBody.data?.[0]; + const fetchedEventType = responseBody.data?.find((et) => et.id === eventType.id); + + expect(fetchedEventType?.id).toEqual(eventType.id); + expect(fetchedEventType?.ownerId).toEqual(user.id); + expect(fetchedEventType?.hidden).toEqual(false); + }); + + it(`/GET/event-types by username and eventSlug`, async () => { + const response = await request(app.getHttpServer()) + .get(`/api/v2/event-types?username=${user.username}&eventSlug=${eventType.slug}`) + .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) + .set("Authorization", `Bearer ${apiKeyString}`) + .expect(200); + + const responseBody: ApiSuccessResponse = response.body; + + expect(responseBody.status).toEqual(SUCCESS_STATUS); + expect(responseBody.data).toBeDefined(); + expect(responseBody.data?.length).toEqual(1); + + const fetchedEventType = responseBody.data?.find((et) => et.id === eventType.id); expect(fetchedEventType?.id).toEqual(eventType.id); expect(fetchedEventType?.title).toEqual(eventType.title); @@ -602,33 +737,60 @@ describe("Event types Endpoints", () => { eventType.bookingFields.sort(orderBySlug).filter((f) => ("hidden" in f ? !f?.hidden : true)) ); expect(fetchedEventType?.ownerId).toEqual(user.id); - expect(fetchedEventType.bookingLimitsCount).toEqual(eventType.bookingLimitsCount); - expect(fetchedEventType.onlyShowFirstAvailableSlot).toEqual(eventType.onlyShowFirstAvailableSlot); - expect(fetchedEventType.bookingLimitsDuration).toEqual(eventType.bookingLimitsDuration); - expect(fetchedEventType.offsetStart).toEqual(eventType.offsetStart); - expect(fetchedEventType.bookingWindow).toEqual(eventType.bookingWindow); - expect(fetchedEventType.bookerLayouts).toEqual(eventType.bookerLayouts); - expect(fetchedEventType.confirmationPolicy).toEqual(eventType.confirmationPolicy); - expect(fetchedEventType.recurrence).toEqual(eventType.recurrence); - expect(fetchedEventType.customName).toEqual(eventType.customName); - expect(fetchedEventType.requiresBookerEmailVerification).toEqual( + expect(fetchedEventType?.bookingLimitsCount).toEqual(eventType.bookingLimitsCount); + expect(fetchedEventType?.onlyShowFirstAvailableSlot).toEqual(eventType.onlyShowFirstAvailableSlot); + expect(fetchedEventType?.bookingLimitsDuration).toEqual(eventType.bookingLimitsDuration); + expect(fetchedEventType?.offsetStart).toEqual(eventType.offsetStart); + expect(fetchedEventType?.bookingWindow).toEqual(eventType.bookingWindow); + expect(fetchedEventType?.bookerLayouts).toEqual(eventType.bookerLayouts); + expect(fetchedEventType?.confirmationPolicy).toEqual(eventType.confirmationPolicy); + expect(fetchedEventType?.recurrence).toEqual(eventType.recurrence); + expect(fetchedEventType?.customName).toEqual(eventType.customName); + expect(fetchedEventType?.requiresBookerEmailVerification).toEqual( eventType.requiresBookerEmailVerification ); - expect(fetchedEventType.hideCalendarNotes).toEqual(eventType.hideCalendarNotes); - expect(fetchedEventType.hideCalendarEventDetails).toEqual(eventType.hideCalendarEventDetails); - expect(fetchedEventType.hideOrganizerEmail).toEqual(eventType.hideOrganizerEmail); - expect(fetchedEventType.lockTimeZoneToggleOnBookingPage).toEqual( + expect(fetchedEventType?.hideCalendarNotes).toEqual(eventType.hideCalendarNotes); + expect(fetchedEventType?.hideCalendarEventDetails).toEqual(eventType.hideCalendarEventDetails); + expect(fetchedEventType?.hideOrganizerEmail).toEqual(eventType.hideOrganizerEmail); + expect(fetchedEventType?.lockTimeZoneToggleOnBookingPage).toEqual( eventType.lockTimeZoneToggleOnBookingPage ); - expect(fetchedEventType.color).toEqual(eventType.color); + expect(fetchedEventType?.color).toEqual(eventType.color); + expect(fetchedEventType?.hidden).toEqual(false); + }); + + it(`/GET/event-types by username and eventSlug should not return hidden event type if auth of non event type owner provided`, async () => { + const response = await request(app.getHttpServer()) + .get(`/api/v2/event-types?username=${user.username}&eventSlug=${hiddenEventType.slug}`) + .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) + .set("Authorization", `Bearer ${apiKeyOrgUser}`) + .expect(200); + + const responseBody: ApiSuccessResponse = response.body; + + expect(responseBody.status).toEqual(SUCCESS_STATUS); + expect(responseBody.data).toBeDefined(); + expect(responseBody.data?.length).toEqual(0); + }); + + it(`/GET/event-types by username and eventSlug should not return hidden event type if no auth provided`, async () => { + const response = await request(app.getHttpServer()) + .get(`/api/v2/event-types?username=${user.username}&eventSlug=${hiddenEventType.slug}`) + .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) + .expect(200); + + const responseBody: ApiSuccessResponse = response.body; + + expect(responseBody.status).toEqual(SUCCESS_STATUS); + expect(responseBody.data).toBeDefined(); + expect(responseBody.data?.length).toEqual(0); }); it(`/GET/event-types by username and orgSlug`, async () => { const response = await request(app.getHttpServer()) .get(`/api/v2/event-types?username=${orgUser.username}&orgSlug=${organization.slug}`) .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) - // note: bearer token value mocked using "withAccessTokenAuth" for user which id is used when creating event type above - .set("Authorization", `Bearer whatever`) + .set("Authorization", `Bearer ${apiKeyString}`) .expect(200); const responseBody: ApiSuccessResponse = response.body; @@ -647,8 +809,7 @@ describe("Event types Endpoints", () => { `/api/v2/event-types?username=${orgUser.username}&orgSlug=${organization.slug}&eventSlug=${orgUserEventType1.slug}` ) .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) - // note: bearer token value mocked using "withAccessTokenAuth" for user which id is used when creating event type above - .set("Authorization", `Bearer whatever`) + .set("Authorization", `Bearer ${apiKeyString}`) .expect(200); const responseBody: ApiSuccessResponse = response.body; @@ -663,8 +824,7 @@ describe("Event types Endpoints", () => { const response = await request(app.getHttpServer()) .get(`/api/v2/event-types?username=${orgUser.username}&orgId=${organization.id}`) .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) - // note: bearer token value mocked using "withAccessTokenAuth" for user which id is used when creating event type above - .set("Authorization", `Bearer whatever`) + .set("Authorization", `Bearer ${apiKeyString}`) .expect(200); const responseBody: ApiSuccessResponse = response.body; @@ -705,6 +865,7 @@ describe("Event types Endpoints", () => { await request(app.getHttpServer()) .post("/api/v2/event-types") .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) + .set("Authorization", `Bearer ${apiKeyString}`) .send(body) .expect(400); }); @@ -732,6 +893,7 @@ describe("Event types Endpoints", () => { const createResponse = await request(app.getHttpServer()) .post("/api/v2/event-types") .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) + .set("Authorization", `Bearer ${apiKeyString}`) .send(body) .expect(201); @@ -748,6 +910,7 @@ describe("Event types Endpoints", () => { return request(app.getHttpServer()) .patch(`/api/v2/event-types/${createdEventType.id}`) + .set("Authorization", `Bearer ${apiKeyString}`) .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) .send({ seats: { @@ -779,6 +942,7 @@ describe("Event types Endpoints", () => { await request(app.getHttpServer()) .post("/api/v2/event-types") + .set("Authorization", `Bearer ${apiKeyString}`) .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) .send(body) .expect(400); @@ -799,6 +963,7 @@ describe("Event types Endpoints", () => { const createResponse = await request(app.getHttpServer()) .post("/api/v2/event-types") + .set("Authorization", `Bearer ${apiKeyString}`) .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) .send(body) .expect(201); @@ -817,6 +982,7 @@ describe("Event types Endpoints", () => { return request(app.getHttpServer()) .patch(`/api/v2/event-types/${createdEventType.id}`) .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) + .set("Authorization", `Bearer ${apiKeyString}`) .send({ seats: { seatsPerTimeSlot: 4, @@ -844,6 +1010,7 @@ describe("Event types Endpoints", () => { const createResponse = await request(app.getHttpServer()) .post("/api/v2/event-types") .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) + .set("Authorization", `Bearer ${apiKeyString}`) .send(body) .expect(201); @@ -860,6 +1027,7 @@ describe("Event types Endpoints", () => { return request(app.getHttpServer()) .patch(`/api/v2/event-types/${createdEventType.id}`) + .set("Authorization", `Bearer ${apiKeyString}`) .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) .send({ locations: [ @@ -897,6 +1065,7 @@ describe("Event types Endpoints", () => { await request(app.getHttpServer()) .post("/api/v2/event-types") + .set("Authorization", `Bearer ${apiKeyString}`) .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) .send(body) .expect(400); @@ -918,6 +1087,7 @@ describe("Event types Endpoints", () => { const createResponse = await request(app.getHttpServer()) .post("/api/v2/event-types") + .set("Authorization", `Bearer ${apiKeyString}`) .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) .send(body) .expect(201); @@ -935,6 +1105,7 @@ describe("Event types Endpoints", () => { return request(app.getHttpServer()) .patch(`/api/v2/event-types/${createdEventType.id}`) + .set("Authorization", `Bearer ${apiKeyString}`) .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) .send({ confirmationPolicy: { @@ -1034,6 +1205,7 @@ describe("Event types Endpoints", () => { return request(app.getHttpServer()) .patch(`/api/v2/event-types/${eventType.id}`) .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) + .set("Authorization", `Bearer ${apiKeyString}`) .send(body) .expect(200) .then(async (response) => { @@ -1135,6 +1307,7 @@ describe("Event types Endpoints", () => { return request(app.getHttpServer()) .patch(`/api/v2/event-types/${eventType.id}`) + .set("Authorization", `Bearer ${apiKeyString}`) .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) .send(body) .expect(404); @@ -1152,6 +1325,7 @@ describe("Event types Endpoints", () => { return request(app.getHttpServer()) .patch(`/api/v2/event-types/${eventType.id}`) + .set("Authorization", `Bearer ${apiKeyString}`) .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) .send(body) .expect(400); @@ -1161,8 +1335,7 @@ describe("Event types Endpoints", () => { const response = await request(app.getHttpServer()) .get(`/api/v2/event-types/${eventType.id}`) .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) - // note: bearer token value mocked using "withAccessTokenAuth" for user which id is used when creating event type above - .set("Authorization", `Bearer whatever`) + .set("Authorization", `Bearer ${apiKeyString}`) .expect(200); const responseBody: ApiSuccessResponse = response.body; @@ -1203,8 +1376,7 @@ describe("Event types Endpoints", () => { const response = await request(app.getHttpServer()) .get(`/api/v2/event-types?username=${username}&eventSlug=${eventType.slug}`) .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) - // note: bearer token value mocked using "withAccessTokenAuth" for user which id is used when creating event type above - .set("Authorization", `Bearer whatever`) + .set("Authorization", `Bearer ${apiKeyString}`) .expect(200); const responseBody: ApiSuccessResponse = response.body; @@ -1245,13 +1417,16 @@ describe("Event types Endpoints", () => { await request(app.getHttpServer()) .get(`/api/v2/event-types/1000`) .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) - // note: bearer token value mocked using "withAccessTokenAuth" for user which id is used when creating event type above - .set("Authorization", `Bearer whatever`) + .set("Authorization", `Bearer ${apiKeyString}`) .expect(404); }); it("should delete event type", async () => { - return request(app.getHttpServer()).delete(`/api/v2/event-types/${eventType.id}`).expect(200); + return request(app.getHttpServer()) + .delete(`/api/v2/event-types/${eventType.id}`) + .set(CAL_API_VERSION_HEADER, VERSION_2024_06_14) + .set("Authorization", `Bearer ${apiKeyString}`) + .expect(200); }); afterAll(async () => { diff --git a/apps/api/v2/src/ee/event-types/event-types_2024_06_14/controllers/event-types.controller.ts b/apps/api/v2/src/ee/event-types/event-types_2024_06_14/controllers/event-types.controller.ts index a9ac0d78ad4415..b338e3774a8549 100644 --- a/apps/api/v2/src/ee/event-types/event-types_2024_06_14/controllers/event-types.controller.ts +++ b/apps/api/v2/src/ee/event-types/event-types_2024_06_14/controllers/event-types.controller.ts @@ -6,11 +6,22 @@ import { UpdateEventTypeOutput_2024_06_14 } from "@/ee/event-types/event-types_2 import { EventTypeResponseTransformPipe } from "@/ee/event-types/event-types_2024_06_14/pipes/event-type-response.transformer"; import { EventTypesService_2024_06_14 } from "@/ee/event-types/event-types_2024_06_14/services/event-types.service"; import { InputEventTypesService_2024_06_14 } from "@/ee/event-types/event-types_2024_06_14/services/input-event-types.service"; +import { OutputEventTypesService_2024_06_14 } from "@/ee/event-types/event-types_2024_06_14/services/output-event-types.service"; import { VERSION_2024_06_14_VALUE } from "@/lib/api-versions"; -import { API_KEY_OR_ACCESS_TOKEN_HEADER } from "@/lib/docs/headers"; +import { + API_KEY_OR_ACCESS_TOKEN_HEADER, + OPTIONAL_API_KEY_OR_ACCESS_TOKEN_HEADER, + OPTIONAL_X_CAL_CLIENT_ID_HEADER, + OPTIONAL_X_CAL_SECRET_KEY_HEADER, +} from "@/lib/docs/headers"; +import { + AuthOptionalUser, + GetOptionalUser, +} from "@/modules/auth/decorators/get-optional-user/get-optional-user.decorator"; import { GetUser } from "@/modules/auth/decorators/get-user/get-user.decorator"; import { Permissions } from "@/modules/auth/decorators/permissions/permissions.decorator"; import { ApiAuthGuard } from "@/modules/auth/guards/api-auth/api-auth.guard"; +import { OptionalApiAuthGuard } from "@/modules/auth/guards/optional-api-auth/optional-api-auth.guard"; import { PermissionsGuard } from "@/modules/auth/guards/permissions/permissions.guard"; import { UserWithProfile } from "@/modules/users/users.repository"; import { @@ -40,7 +51,6 @@ import { UpdateEventTypeInput_2024_06_14, GetEventTypesQuery_2024_06_14, CreateEventTypeInput_2024_06_14, - EventTypeOutput_2024_06_14, } from "@calcom/platform-types"; @Controller({ @@ -62,7 +72,8 @@ export class EventTypesController_2024_06_14 { constructor( private readonly eventTypesService: EventTypesService_2024_06_14, private readonly inputEventTypesService: InputEventTypesService_2024_06_14, - private readonly eventTypeResponseTransformPipe: EventTypeResponseTransformPipe + private readonly eventTypeResponseTransformPipe: EventTypeResponseTransformPipe, + private readonly outputEventTypesService: OutputEventTypesService_2024_06_14 ) {} @Post("/") @@ -109,30 +120,23 @@ export class EventTypesController_2024_06_14 { } @Get("/") - @ApiOperation({ summary: "Get all event types" }) + @ApiOperation({ + summary: "Get all event types", + description: + "Hidden event types are returned only if authentication is provided and it belongs to the event type owner.", + }) + @UseGuards(OptionalApiAuthGuard) + @ApiHeader(OPTIONAL_X_CAL_CLIENT_ID_HEADER) + @ApiHeader(OPTIONAL_X_CAL_SECRET_KEY_HEADER) + @ApiHeader(OPTIONAL_API_KEY_OR_ACCESS_TOKEN_HEADER) async getEventTypes( - @Query() queryParams: GetEventTypesQuery_2024_06_14 + @Query() queryParams: GetEventTypesQuery_2024_06_14, + @GetOptionalUser() authUser: AuthOptionalUser ): Promise { - const eventTypes = await this.eventTypesService.getEventTypes(queryParams); - if (!eventTypes || eventTypes.length === 0) { - throw new NotFoundException(`Event types not found`); - } + const eventTypes = await this.eventTypesService.getEventTypes(queryParams, authUser); const eventTypesFormatted = this.eventTypeResponseTransformPipe.transform(eventTypes); - const eventTypesWithoutHiddenFields = eventTypesFormatted.map((eventType) => { - return { - ...eventType, - bookingFields: Array.isArray(eventType?.bookingFields) - ? eventType?.bookingFields - .map((field) => { - if ("hidden" in field) { - return field.hidden !== true ? field : null; - } - return field; - }) - .filter((f) => f) - : [], - }; - }) as EventTypeOutput_2024_06_14[]; + const eventTypesWithoutHiddenFields = + this.outputEventTypesService.getResponseEventTypesWithoutHiddenFields(eventTypesFormatted); return { status: SUCCESS_STATUS, diff --git a/apps/api/v2/src/ee/event-types/event-types_2024_06_14/event-types.repository.ts b/apps/api/v2/src/ee/event-types/event-types_2024_06_14/event-types.repository.ts index c648b0b4bfbdce..1df0950f5e50e6 100644 --- a/apps/api/v2/src/ee/event-types/event-types_2024_06_14/event-types.repository.ts +++ b/apps/api/v2/src/ee/event-types/event-types_2024_06_14/event-types.repository.ts @@ -75,6 +75,16 @@ export class EventTypesRepository_2024_06_14 { }); } + async getUserEventTypesPublic(userId: number) { + return this.dbRead.prisma.eventType.findMany({ + where: { + userId, + hidden: false, + }, + include: { users: true, schedule: true, destinationCalendar: true }, + }); + } + async getEventTypeById(eventTypeId: number) { return this.dbRead.prisma.eventType.findUnique({ where: { id: eventTypeId }, diff --git a/apps/api/v2/src/ee/event-types/event-types_2024_06_14/services/event-types.service.ts b/apps/api/v2/src/ee/event-types/event-types_2024_06_14/services/event-types.service.ts index 4374177029f41b..5e6cfde075ab40 100644 --- a/apps/api/v2/src/ee/event-types/event-types_2024_06_14/services/event-types.service.ts +++ b/apps/api/v2/src/ee/event-types/event-types_2024_06_14/services/event-types.service.ts @@ -3,6 +3,7 @@ import { EventTypesRepository_2024_06_14 } from "@/ee/event-types/event-types_20 import { InputEventTransformed_2024_06_14 } from "@/ee/event-types/event-types_2024_06_14/transformed"; import { SystemField, CustomField } from "@/ee/event-types/event-types_2024_06_14/transformers"; import { SchedulesRepository_2024_06_11 } from "@/ee/schedules/schedules_2024_06_11/schedules.repository"; +import { AuthOptionalUser } from "@/modules/auth/decorators/get-optional-user/get-optional-user.decorator"; import { MembershipsRepository } from "@/modules/memberships/memberships.repository"; import { PrismaWriteService } from "@/modules/prisma/prisma-write.service"; import { SelectedCalendarsRepository } from "@/modules/selected-calendars/selected-calendars.repository"; @@ -38,6 +39,7 @@ export class EventTypesService_2024_06_14 { } await this.checkCanCreateEventType(user.id, body); const eventTypeUser = await this.getUserToCreateEvent(user); + // eslint-disable-next-line @typescript-eslint/no-unused-vars const { destinationCalendar: _destinationCalendar, ...rest } = body; const { eventType: eventTypeCreated } = await createEventType({ @@ -93,34 +95,47 @@ export class EventTypesService_2024_06_14 { } } - async getEventTypeByUsernameAndSlug( - username: string, - eventTypeSlug: string, - orgSlug?: string, - orgId?: number - ) { - const user = await this.usersRepository.findByUsername(username, orgSlug, orgId); + async getEventTypeByUsernameAndSlug(params: { + username: string; + eventTypeSlug: string; + orgSlug?: string; + orgId?: number; + authUser?: AuthOptionalUser; + }) { + const user = await this.usersRepository.findByUsername(params.username, params.orgSlug, params.orgId); if (!user) { return null; } - const eventType = await this.eventTypesRepository.getUserEventTypeBySlug(user.id, eventTypeSlug); + const eventType = await this.eventTypesRepository.getUserEventTypeBySlug(user.id, params.eventTypeSlug); if (!eventType) { return null; } + if (eventType.hidden && params.authUser?.id !== user.id) { + return null; + } + return { ownerId: user.id, ...eventType, }; } - async getEventTypesByUsername(username: string, orgSlug?: string, orgId?: number) { - const user = await this.usersRepository.findByUsername(username, orgSlug, orgId); + async getEventTypesByUsername(params: { + username: string; + orgSlug?: string; + orgId?: number; + authUser?: AuthOptionalUser; + }) { + const user = await this.usersRepository.findByUsername(params.username, params.orgSlug, params.orgId); if (!user) { return []; } + if (params.authUser?.id !== user.id) { + return await this.getUserEventTypesPublic(user.id); + } return await this.getUserEventTypes(user.id); } @@ -172,6 +187,14 @@ export class EventTypesService_2024_06_14 { }); } + async getUserEventTypesPublic(userId: number) { + const eventTypes = await this.eventTypesRepository.getUserEventTypesPublic(userId); + + return eventTypes.map((eventType) => { + return { ownerId: userId, ...eventType }; + }); + } + async getEventTypesPublicByUsername(username: string): Promise { const user = await this.usersRepository.findByUsername(username); if (!user) { @@ -181,15 +204,26 @@ export class EventTypesService_2024_06_14 { return await getEventTypesPublic(user.id); } - async getEventTypes(queryParams: GetEventTypesQuery_2024_06_14) { + async getEventTypes(queryParams: GetEventTypesQuery_2024_06_14, authUser?: AuthOptionalUser) { const { username, eventSlug, usernames, orgSlug, orgId } = queryParams; if (username && eventSlug) { - const eventType = await this.getEventTypeByUsernameAndSlug(username, eventSlug, orgSlug, orgId); + const eventType = await this.getEventTypeByUsernameAndSlug({ + username, + eventTypeSlug: eventSlug, + orgSlug, + orgId, + authUser, + }); return eventType ? [eventType] : []; } if (username) { - return await this.getEventTypesByUsername(username, orgSlug, orgId); + return await this.getEventTypesByUsername({ + username, + orgSlug, + orgId, + authUser, + }); } if (usernames) { diff --git a/apps/api/v2/src/ee/event-types/event-types_2024_06_14/services/output-event-types.service.ts b/apps/api/v2/src/ee/event-types/event-types_2024_06_14/services/output-event-types.service.ts index 2df15e3c3d0abe..1326e382c396a4 100644 --- a/apps/api/v2/src/ee/event-types/event-types_2024_06_14/services/output-event-types.service.ts +++ b/apps/api/v2/src/ee/event-types/event-types_2024_06_14/services/output-event-types.service.ts @@ -31,6 +31,7 @@ import { EventTypeOutput_2024_06_14, OutputUnknownLocation_2024_06_14, OutputUnknownBookingField_2024_06_14, + OutputBookingField_2024_06_14, } from "@calcom/platform-types"; type EventTypeRelations = { @@ -253,7 +254,7 @@ export class OutputEventTypesService_2024_06_14 { type: "unknown", slug: "unknown", bookingField: JSON.stringify(bookingField), - }); + } satisfies OutputUnknownBookingField_2024_06_14); } } @@ -344,4 +345,26 @@ export class OutputEventTypesService_2024_06_14 { seatsShowAvailabilityCount: !!seatsShowAvailabilityCount, }); } + + getResponseEventTypesWithoutHiddenFields( + eventTypes: EventTypeOutput_2024_06_14[] + ): EventTypeOutput_2024_06_14[] { + return eventTypes.map((eventType) => this.getResponseEventTypeWithoutHiddenFields(eventType)); + } + + getResponseEventTypeWithoutHiddenFields(eventType: EventTypeOutput_2024_06_14): EventTypeOutput_2024_06_14 { + if (!Array.isArray(eventType?.bookingFields) || eventType.bookingFields.length === 0) return eventType; + + const visibleBookingFields: OutputBookingField_2024_06_14[] = []; + for (const bookingField of eventType.bookingFields) { + if ("hidden" in bookingField && bookingField.hidden === true) { + continue; + } + visibleBookingFields.push(bookingField); + } + return { + ...eventType, + bookingFields: visibleBookingFields, + }; + } } diff --git a/apps/api/v2/swagger/documentation.json b/apps/api/v2/swagger/documentation.json index 327b23877a0afb..a5248839b78018 100644 --- a/apps/api/v2/swagger/documentation.json +++ b/apps/api/v2/swagger/documentation.json @@ -9858,6 +9858,7 @@ "get": { "operationId": "EventTypesController_2024_06_14_getEventTypes", "summary": "Get all event types", + "description": "Hidden event types are returned only if authentication is provided and it belongs to the event type owner.", "parameters": [ { "name": "cal-api-version", @@ -9913,6 +9914,33 @@ "schema": { "type": "number" } + }, + { + "name": "Authorization", + "in": "header", + "description": "value must be `Bearer ` where `` is api key prefixed with cal_ or managed user access token", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "x-cal-secret-key", + "in": "header", + "description": "For platform customers - OAuth client secret key", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "x-cal-client-id", + "in": "header", + "description": "For platform customers - OAuth client ID", + "required": false, + "schema": { + "type": "string" + } } ], "responses": { diff --git a/docs/api-reference/v2/openapi.json b/docs/api-reference/v2/openapi.json index 322e220fe9e8a6..a5248839b78018 100644 --- a/docs/api-reference/v2/openapi.json +++ b/docs/api-reference/v2/openapi.json @@ -69,7 +69,9 @@ } } }, - "tags": ["Platform / Managed Users"] + "tags": [ + "Platform / Managed Users" + ] }, "post": { "operationId": "OAuthClientUsersController_createUser", @@ -115,7 +117,9 @@ } } }, - "tags": ["Platform / Managed Users"] + "tags": [ + "Platform / Managed Users" + ] } }, "/v2/oauth-clients/{clientId}/users/{userId}": { @@ -161,7 +165,9 @@ } } }, - "tags": ["Platform / Managed Users"] + "tags": [ + "Platform / Managed Users" + ] }, "patch": { "operationId": "OAuthClientUsersController_updateUser", @@ -215,7 +221,9 @@ } } }, - "tags": ["Platform / Managed Users"] + "tags": [ + "Platform / Managed Users" + ] }, "delete": { "operationId": "OAuthClientUsersController_deleteUser", @@ -259,7 +267,9 @@ } } }, - "tags": ["Platform / Managed Users"] + "tags": [ + "Platform / Managed Users" + ] } }, "/v2/oauth-clients/{clientId}/users/{userId}/force-refresh": { @@ -306,7 +316,9 @@ } } }, - "tags": ["Platform / Managed Users"] + "tags": [ + "Platform / Managed Users" + ] } }, "/v2/oauth/{clientId}/refresh": { @@ -355,7 +367,9 @@ } } }, - "tags": ["Platform / Managed Users"] + "tags": [ + "Platform / Managed Users" + ] } }, "/v2/oauth-clients/{clientId}/webhooks": { @@ -403,7 +417,9 @@ } } }, - "tags": ["Platform / Webhooks"] + "tags": [ + "Platform / Webhooks" + ] }, "get": { "operationId": "OAuthClientWebhooksController_getOAuthClientWebhooks", @@ -464,7 +480,9 @@ } } }, - "tags": ["Platform / Webhooks"] + "tags": [ + "Platform / Webhooks" + ] }, "delete": { "operationId": "OAuthClientWebhooksController_deleteAllOAuthClientWebhooks", @@ -500,7 +518,9 @@ } } }, - "tags": ["Platform / Webhooks"] + "tags": [ + "Platform / Webhooks" + ] } }, "/v2/oauth-clients/{clientId}/webhooks/{webhookId}": { @@ -548,7 +568,9 @@ } } }, - "tags": ["Platform / Webhooks"] + "tags": [ + "Platform / Webhooks" + ] }, "get": { "operationId": "OAuthClientWebhooksController_getOAuthClientWebhook", @@ -576,7 +598,9 @@ } } }, - "tags": ["Platform / Webhooks"] + "tags": [ + "Platform / Webhooks" + ] }, "delete": { "operationId": "OAuthClientWebhooksController_deleteOAuthClientWebhook", @@ -604,7 +628,9 @@ } } }, - "tags": ["Platform / Webhooks"] + "tags": [ + "Platform / Webhooks" + ] } }, "/v2/organizations/{orgId}/attributes": { @@ -667,7 +693,9 @@ } } }, - "tags": ["Orgs / Attributes"] + "tags": [ + "Orgs / Attributes" + ] }, "post": { "operationId": "OrganizationsAttributesController_createOrganizationAttribute", @@ -713,7 +741,9 @@ } } }, - "tags": ["Orgs / Attributes"] + "tags": [ + "Orgs / Attributes" + ] } }, "/v2/organizations/{orgId}/attributes/{attributeId}": { @@ -759,7 +789,9 @@ } } }, - "tags": ["Orgs / Attributes"] + "tags": [ + "Orgs / Attributes" + ] }, "patch": { "operationId": "OrganizationsAttributesController_updateOrganizationAttribute", @@ -813,7 +845,9 @@ } } }, - "tags": ["Orgs / Attributes"] + "tags": [ + "Orgs / Attributes" + ] }, "delete": { "operationId": "OrganizationsAttributesController_deleteOrganizationAttribute", @@ -857,7 +891,9 @@ } } }, - "tags": ["Orgs / Attributes"] + "tags": [ + "Orgs / Attributes" + ] } }, "/v2/organizations/{orgId}/attributes/{attributeId}/options": { @@ -913,7 +949,9 @@ } } }, - "tags": ["Orgs / Attributes / Options"] + "tags": [ + "Orgs / Attributes / Options" + ] }, "get": { "operationId": "OrganizationsAttributesOptionsController_getOrganizationAttributeOptions", @@ -957,7 +995,9 @@ } } }, - "tags": ["Orgs / Attributes / Options"] + "tags": [ + "Orgs / Attributes / Options" + ] } }, "/v2/organizations/{orgId}/attributes/{attributeId}/options/{optionId}": { @@ -1011,7 +1051,9 @@ } } }, - "tags": ["Orgs / Attributes / Options"] + "tags": [ + "Orgs / Attributes / Options" + ] }, "patch": { "operationId": "OrganizationsAttributesOptionsController_updateOrganizationAttributeOption", @@ -1073,7 +1115,9 @@ } } }, - "tags": ["Orgs / Attributes / Options"] + "tags": [ + "Orgs / Attributes / Options" + ] } }, "/v2/organizations/{orgId}/attributes/{attributeId}/options/assigned": { @@ -1163,7 +1207,9 @@ } } }, - "tags": ["Orgs / Attributes / Options"] + "tags": [ + "Orgs / Attributes / Options" + ] } }, "/v2/organizations/{orgId}/attributes/slugs/{attributeSlug}/options/assigned": { @@ -1253,7 +1299,9 @@ } } }, - "tags": ["Orgs / Attributes / Options"] + "tags": [ + "Orgs / Attributes / Options" + ] } }, "/v2/organizations/{orgId}/attributes/options/{userId}": { @@ -1309,7 +1357,9 @@ } } }, - "tags": ["Orgs / Attributes / Options"] + "tags": [ + "Orgs / Attributes / Options" + ] }, "get": { "operationId": "OrganizationsAttributesOptionsController_getOrganizationAttributeOptionsForUser", @@ -1353,7 +1403,9 @@ } } }, - "tags": ["Orgs / Attributes / Options"] + "tags": [ + "Orgs / Attributes / Options" + ] } }, "/v2/organizations/{orgId}/attributes/options/{userId}/{attributeOptionId}": { @@ -1407,7 +1459,9 @@ } } }, - "tags": ["Orgs / Attributes / Options"] + "tags": [ + "Orgs / Attributes / Options" + ] } }, "/v2/organizations/{orgId}/bookings": { @@ -1452,7 +1506,13 @@ "type": "array", "items": { "type": "string", - "enum": ["upcoming", "recurring", "past", "cancelled", "unconfirmed"] + "enum": [ + "upcoming", + "recurring", + "past", + "cancelled", + "unconfirmed" + ] } } }, @@ -1593,7 +1653,10 @@ "description": "Sort results by their start time in ascending or descending order.", "example": "?sortStart=asc OR ?sortStart=desc", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -1604,7 +1667,10 @@ "description": "Sort results by their end time in ascending or descending order.", "example": "?sortEnd=asc OR ?sortEnd=desc", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -1615,7 +1681,10 @@ "description": "Sort results by their creation time (when booking was made) in ascending or descending order.", "example": "?sortCreated=asc OR ?sortCreated=desc", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -1626,7 +1695,10 @@ "description": "Sort results by their updated time (for example when booking status changes) in ascending or descending order.", "example": "?sortUpdated=asc OR ?sortUpdated=desc", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -1683,7 +1755,9 @@ } } }, - "tags": ["Orgs / Bookings"] + "tags": [ + "Orgs / Bookings" + ] } }, "/v2/organizations/{orgId}/delegation-credentials": { @@ -1749,7 +1823,9 @@ } } }, - "tags": ["Orgs / Delegation Credentials"] + "tags": [ + "Orgs / Delegation Credentials" + ] } }, "/v2/organizations/{orgId}/delegation-credentials/{credentialId}": { @@ -1823,7 +1899,9 @@ } } }, - "tags": ["Orgs / Delegation Credentials"] + "tags": [ + "Orgs / Delegation Credentials" + ] } }, "/v2/organizations/{orgId}/memberships": { @@ -1904,7 +1982,9 @@ } } }, - "tags": ["Orgs / Memberships"] + "tags": [ + "Orgs / Memberships" + ] }, "post": { "operationId": "OrganizationsMembershipsController_createMembership", @@ -1968,7 +2048,9 @@ } } }, - "tags": ["Orgs / Memberships"] + "tags": [ + "Orgs / Memberships" + ] } }, "/v2/organizations/{orgId}/memberships/{membershipId}": { @@ -2032,7 +2114,9 @@ } } }, - "tags": ["Orgs / Memberships"] + "tags": [ + "Orgs / Memberships" + ] }, "delete": { "operationId": "OrganizationsMembershipsController_deleteMembership", @@ -2094,7 +2178,9 @@ } } }, - "tags": ["Orgs / Memberships"] + "tags": [ + "Orgs / Memberships" + ] }, "patch": { "operationId": "OrganizationsMembershipsController_updateMembership", @@ -2166,7 +2252,9 @@ } } }, - "tags": ["Orgs / Memberships"] + "tags": [ + "Orgs / Memberships" + ] } }, "/v2/organizations/{orgId}/routing-forms": { @@ -2215,7 +2303,10 @@ "in": "query", "description": "Sort by creation time", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -2225,7 +2316,10 @@ "in": "query", "description": "Sort by update time", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -2304,7 +2398,9 @@ } } }, - "tags": ["Orgs / Routing forms"] + "tags": [ + "Orgs / Routing forms" + ] } }, "/v2/organizations/{orgId}/routing-forms/{routingFormId}/responses": { @@ -2361,7 +2457,10 @@ "in": "query", "description": "Sort by creation time", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -2371,7 +2470,10 @@ "in": "query", "description": "Sort by update time", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -2437,7 +2539,9 @@ } } }, - "tags": ["Orgs / Routing forms"] + "tags": [ + "Orgs / Routing forms" + ] }, "post": { "operationId": "OrganizationsRoutingFormsResponsesController_createRoutingFormResponse", @@ -2515,7 +2619,10 @@ "description": "Format of slot times in response. Use 'range' to get start and end times.", "example": "range", "schema": { - "enum": ["range", "time"], + "enum": [ + "range", + "time" + ], "type": "string" } }, @@ -2552,7 +2659,9 @@ } } }, - "tags": ["Orgs / Routing forms"] + "tags": [ + "Orgs / Routing forms" + ] } }, "/v2/organizations/{orgId}/routing-forms/{routingFormId}/responses/{responseId}": { @@ -2616,7 +2725,9 @@ } } }, - "tags": ["Orgs / Routing forms"] + "tags": [ + "Orgs / Routing forms" + ] } }, "/v2/organizations/{orgId}/schedules": { @@ -2697,7 +2808,9 @@ } } }, - "tags": ["Orgs / Schedules"] + "tags": [ + "Orgs / Schedules" + ] } }, "/v2/organizations/{orgId}/teams": { @@ -2778,7 +2891,9 @@ } } }, - "tags": ["Orgs / Teams"] + "tags": [ + "Orgs / Teams" + ] }, "post": { "operationId": "OrganizationsTeamsController_createTeam", @@ -2842,7 +2957,9 @@ } } }, - "tags": ["Orgs / Teams"] + "tags": [ + "Orgs / Teams" + ] } }, "/v2/organizations/{orgId}/teams/me": { @@ -2923,7 +3040,9 @@ } } }, - "tags": ["Orgs / Teams"] + "tags": [ + "Orgs / Teams" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}": { @@ -2971,7 +3090,9 @@ } } }, - "tags": ["Orgs / Teams"] + "tags": [ + "Orgs / Teams" + ] }, "delete": { "operationId": "OrganizationsTeamsController_deleteTeam", @@ -3033,7 +3154,9 @@ } } }, - "tags": ["Orgs / Teams"] + "tags": [ + "Orgs / Teams" + ] }, "patch": { "operationId": "OrganizationsTeamsController_updateTeam", @@ -3105,7 +3228,9 @@ } } }, - "tags": ["Orgs / Teams"] + "tags": [ + "Orgs / Teams" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/bookings": { @@ -3150,7 +3275,13 @@ "type": "array", "items": { "type": "string", - "enum": ["upcoming", "recurring", "past", "cancelled", "unconfirmed"] + "enum": [ + "upcoming", + "recurring", + "past", + "cancelled", + "unconfirmed" + ] } } }, @@ -3221,7 +3352,10 @@ "description": "Sort results by their start time in ascending or descending order.", "example": "?sortStart=asc OR ?sortStart=desc", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -3232,7 +3366,10 @@ "description": "Sort results by their end time in ascending or descending order.", "example": "?sortEnd=asc OR ?sortEnd=desc", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -3243,7 +3380,10 @@ "description": "Sort results by their creation time (when booking was made) in ascending or descending order.", "example": "?sortCreated=asc OR ?sortCreated=desc", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -3299,7 +3439,9 @@ } } }, - "tags": ["Orgs / Teams / Bookings"] + "tags": [ + "Orgs / Teams / Bookings" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/bookings/{bookingUid}/references": { @@ -3373,7 +3515,9 @@ } } }, - "tags": ["Orgs / Teams / Bookings"] + "tags": [ + "Orgs / Teams / Bookings" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/connect": { @@ -3403,7 +3547,9 @@ "in": "path", "description": "Conferencing application type", "schema": { - "enum": ["google-meet"], + "enum": [ + "google-meet" + ], "type": "string" } } @@ -3420,7 +3566,9 @@ } } }, - "tags": ["Orgs / Teams / Conferencing"] + "tags": [ + "Orgs / Teams / Conferencing" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/oauth/auth-url": { @@ -3458,7 +3606,10 @@ "in": "path", "description": "Conferencing application type", "schema": { - "enum": ["zoom", "msteams"], + "enum": [ + "zoom", + "msteams" + ], "type": "string" } }, @@ -3491,7 +3642,9 @@ } } }, - "tags": ["Orgs / Teams / Conferencing"] + "tags": [ + "Orgs / Teams / Conferencing" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/conferencing": { @@ -3520,7 +3673,9 @@ } } }, - "tags": ["Orgs / Teams / Conferencing"] + "tags": [ + "Orgs / Teams / Conferencing" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/default": { @@ -3542,7 +3697,12 @@ "in": "path", "description": "Conferencing application type", "schema": { - "enum": ["google-meet", "zoom", "msteams", "daily-video"], + "enum": [ + "google-meet", + "zoom", + "msteams", + "daily-video" + ], "type": "string" } } @@ -3559,7 +3719,9 @@ } } }, - "tags": ["Orgs / Teams / Conferencing"] + "tags": [ + "Orgs / Teams / Conferencing" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/conferencing/default": { @@ -3581,7 +3743,12 @@ "in": "path", "description": "Conferencing application type", "schema": { - "enum": ["google-meet", "zoom", "msteams", "daily-video"], + "enum": [ + "google-meet", + "zoom", + "msteams", + "daily-video" + ], "type": "string" } } @@ -3598,7 +3765,9 @@ } } }, - "tags": ["Orgs / Teams / Conferencing"] + "tags": [ + "Orgs / Teams / Conferencing" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/disconnect": { @@ -3620,7 +3789,11 @@ "in": "path", "description": "Conferencing application type", "schema": { - "enum": ["google-meet", "zoom", "msteams"], + "enum": [ + "google-meet", + "zoom", + "msteams" + ], "type": "string" } } @@ -3637,7 +3810,9 @@ } } }, - "tags": ["Orgs / Teams / Conferencing"] + "tags": [ + "Orgs / Teams / Conferencing" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/conferencing/{app}/oauth/callback": { @@ -3691,7 +3866,9 @@ "description": "" } }, - "tags": ["Orgs / Teams / Conferencing"] + "tags": [ + "Orgs / Teams / Conferencing" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/event-types": { @@ -3765,7 +3942,9 @@ } } }, - "tags": ["Orgs / Teams / Event Types"] + "tags": [ + "Orgs / Teams / Event Types" + ] }, "get": { "operationId": "OrganizationsEventTypesController_getTeamEventTypes", @@ -3837,7 +4016,9 @@ } } }, - "tags": ["Orgs / Teams / Event Types"] + "tags": [ + "Orgs / Teams / Event Types" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}": { @@ -3901,7 +4082,9 @@ } } }, - "tags": ["Orgs / Teams / Event Types"] + "tags": [ + "Orgs / Teams / Event Types" + ] }, "patch": { "operationId": "OrganizationsEventTypesController_updateTeamEventType", @@ -3973,7 +4156,9 @@ } } }, - "tags": ["Orgs / Teams / Event Types"] + "tags": [ + "Orgs / Teams / Event Types" + ] }, "delete": { "operationId": "OrganizationsEventTypesController_deleteTeamEventType", @@ -4035,7 +4220,9 @@ } } }, - "tags": ["Orgs / Teams / Event Types"] + "tags": [ + "Orgs / Teams / Event Types" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}/create-phone-call": { @@ -4109,7 +4296,9 @@ } } }, - "tags": ["Orgs / Teams / Event Types"] + "tags": [ + "Orgs / Teams / Event Types" + ] } }, "/v2/organizations/{orgId}/teams/event-types": { @@ -4190,7 +4379,9 @@ } } }, - "tags": ["Orgs / Teams / Event Types"] + "tags": [ + "Orgs / Teams / Event Types" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}/private-links": { @@ -4264,7 +4455,9 @@ } } }, - "tags": ["Orgs / Teams / Event Types / Private Links"] + "tags": [ + "Orgs / Teams / Event Types / Private Links" + ] }, "get": { "operationId": "OrganizationsEventTypesPrivateLinksController_getPrivateLinks", @@ -4326,7 +4519,9 @@ } } }, - "tags": ["Orgs / Teams / Event Types / Private Links"] + "tags": [ + "Orgs / Teams / Event Types / Private Links" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/event-types/{eventTypeId}/private-links/{linkId}": { @@ -4398,7 +4593,9 @@ } } }, - "tags": ["Orgs / Teams / Event Types / Private Links"] + "tags": [ + "Orgs / Teams / Event Types / Private Links" + ] }, "delete": { "operationId": "OrganizationsEventTypesPrivateLinksController_deletePrivateLink", @@ -4468,7 +4665,9 @@ } } }, - "tags": ["Orgs / Teams / Event Types / Private Links"] + "tags": [ + "Orgs / Teams / Event Types / Private Links" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/memberships": { @@ -4557,7 +4756,9 @@ } } }, - "tags": ["Orgs / Teams / Memberships"] + "tags": [ + "Orgs / Teams / Memberships" + ] }, "post": { "operationId": "OrganizationsTeamsMembershipsController_createOrgTeamMembership", @@ -4629,7 +4830,9 @@ } } }, - "tags": ["Orgs / Teams / Memberships"] + "tags": [ + "Orgs / Teams / Memberships" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/memberships/{membershipId}": { @@ -4701,7 +4904,9 @@ } } }, - "tags": ["Orgs / Teams / Memberships"] + "tags": [ + "Orgs / Teams / Memberships" + ] }, "delete": { "operationId": "OrganizationsTeamsMembershipsController_deleteOrgTeamMembership", @@ -4771,7 +4976,9 @@ } } }, - "tags": ["Orgs / Teams / Memberships"] + "tags": [ + "Orgs / Teams / Memberships" + ] }, "patch": { "operationId": "OrganizationsTeamsMembershipsController_updateOrgTeamMembership", @@ -4851,7 +5058,9 @@ } } }, - "tags": ["Orgs / Teams / Memberships"] + "tags": [ + "Orgs / Teams / Memberships" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/routing-forms": { @@ -4908,7 +5117,10 @@ "in": "query", "description": "Sort by creation time", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -4918,7 +5130,10 @@ "in": "query", "description": "Sort by update time", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -4984,7 +5199,9 @@ } } }, - "tags": ["Orgs / Teams / Routing forms"] + "tags": [ + "Orgs / Teams / Routing forms" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/routing-forms/{routingFormId}/responses": { @@ -5049,7 +5266,10 @@ "in": "query", "description": "Sort by creation time", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -5059,7 +5279,10 @@ "in": "query", "description": "Sort by update time", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -5125,7 +5348,9 @@ } } }, - "tags": ["Orgs / Teams / Routing forms / Responses"] + "tags": [ + "Orgs / Teams / Routing forms / Responses" + ] }, "post": { "operationId": "OrganizationsTeamsRoutingFormsResponsesController_createRoutingFormResponse", @@ -5211,7 +5436,10 @@ "description": "Format of slot times in response. Use 'range' to get start and end times.", "example": "range", "schema": { - "enum": ["range", "time"], + "enum": [ + "range", + "time" + ], "type": "string" } }, @@ -5248,7 +5476,9 @@ } } }, - "tags": ["Orgs / Teams / Routing forms / Responses"] + "tags": [ + "Orgs / Teams / Routing forms / Responses" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/routing-forms/{routingFormId}/responses/{responseId}": { @@ -5312,7 +5542,9 @@ } } }, - "tags": ["Orgs / Teams / Routing forms / Responses"] + "tags": [ + "Orgs / Teams / Routing forms / Responses" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/schedules": { @@ -5401,7 +5633,9 @@ } } }, - "tags": ["Orgs / Teams / Schedules"] + "tags": [ + "Orgs / Teams / Schedules" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/stripe/connect": { @@ -5462,7 +5696,9 @@ } } }, - "tags": ["Orgs / Teams / Stripe"] + "tags": [ + "Orgs / Teams / Stripe" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/stripe/check": { @@ -5491,7 +5727,9 @@ } } }, - "tags": ["Orgs / Teams / Stripe"] + "tags": [ + "Orgs / Teams / Stripe" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/stripe/save": { @@ -5536,7 +5774,9 @@ } } }, - "tags": ["Orgs / Teams / Stripe"] + "tags": [ + "Orgs / Teams / Stripe" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/users/{userId}/schedules": { @@ -5608,7 +5848,9 @@ } } }, - "tags": ["Orgs / Teams / Users / Schedules"] + "tags": [ + "Orgs / Teams / Users / Schedules" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/workflows": { @@ -5697,7 +5939,9 @@ } } }, - "tags": ["Orgs / Teams / Workflows"] + "tags": [ + "Orgs / Teams / Workflows" + ] }, "post": { "operationId": "OrganizationTeamWorkflowsController_createWorkflow", @@ -5761,7 +6005,9 @@ } } }, - "tags": ["Orgs / Teams / Workflows"] + "tags": [ + "Orgs / Teams / Workflows" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/workflows/{workflowId}": { @@ -5825,7 +6071,9 @@ } } }, - "tags": ["Orgs / Teams / Workflows"] + "tags": [ + "Orgs / Teams / Workflows" + ] }, "patch": { "operationId": "OrganizationTeamWorkflowsController_updateWorkflow", @@ -5897,7 +6145,9 @@ } } }, - "tags": ["Orgs / Teams / Workflows"] + "tags": [ + "Orgs / Teams / Workflows" + ] }, "delete": { "operationId": "OrganizationTeamWorkflowsController_deleteWorkflow", @@ -5952,7 +6202,9 @@ "description": "" } }, - "tags": ["Orgs / Teams / Workflows"] + "tags": [ + "Orgs / Teams / Workflows" + ] } }, "/v2/organizations/{orgId}/users": { @@ -6051,7 +6303,11 @@ "example": "NONE", "schema": { "default": "AND", - "enum": ["OR", "AND", "NONE"], + "enum": [ + "OR", + "AND", + "NONE" + ], "type": "string" } }, @@ -6081,7 +6337,9 @@ } } }, - "tags": ["Orgs / Users"] + "tags": [ + "Orgs / Users" + ] }, "post": { "operationId": "OrganizationsUsersController_createOrganizationUser", @@ -6137,7 +6395,9 @@ } } }, - "tags": ["Orgs / Users"] + "tags": [ + "Orgs / Users" + ] } }, "/v2/organizations/{orgId}/users/{userId}": { @@ -6211,7 +6471,9 @@ } } }, - "tags": ["Orgs / Users"] + "tags": [ + "Orgs / Users" + ] }, "delete": { "operationId": "OrganizationsUsersController_deleteOrganizationUser", @@ -6273,7 +6535,9 @@ } } }, - "tags": ["Orgs / Users"] + "tags": [ + "Orgs / Users" + ] } }, "/v2/organizations/{orgId}/users/{userId}/bookings": { @@ -6334,7 +6598,13 @@ "type": "array", "items": { "type": "string", - "enum": ["upcoming", "recurring", "past", "cancelled", "unconfirmed"] + "enum": [ + "upcoming", + "recurring", + "past", + "cancelled", + "unconfirmed" + ] } } }, @@ -6475,7 +6745,10 @@ "description": "Sort results by their start time in ascending or descending order.", "example": "?sortStart=asc OR ?sortStart=desc", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -6486,7 +6759,10 @@ "description": "Sort results by their end time in ascending or descending order.", "example": "?sortEnd=asc OR ?sortEnd=desc", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -6497,7 +6773,10 @@ "description": "Sort results by their creation time (when booking was made) in ascending or descending order.", "example": "?sortCreated=asc OR ?sortCreated=desc", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -6508,7 +6787,10 @@ "description": "Sort results by their updated time (for example when booking status changes) in ascending or descending order.", "example": "?sortUpdated=asc OR ?sortUpdated=desc", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -6540,7 +6822,9 @@ "description": "" } }, - "tags": ["Orgs / Users / Bookings"] + "tags": [ + "Orgs / Users / Bookings" + ] } }, "/v2/organizations/{orgId}/users/{userId}/ooo": { @@ -6615,7 +6899,10 @@ "description": "Sort results by their start time in ascending or descending order.", "example": "?sortStart=asc OR ?sortStart=desc", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -6626,7 +6913,10 @@ "description": "Sort results by their end time in ascending or descending order.", "example": "?sortEnd=asc OR ?sortEnd=desc", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } } @@ -6636,7 +6926,9 @@ "description": "" } }, - "tags": ["Orgs / Users / OOO"] + "tags": [ + "Orgs / Users / OOO" + ] }, "post": { "operationId": "OrganizationsUsersOOOController_createOrganizationUserOOO", @@ -6693,7 +6985,9 @@ "description": "" } }, - "tags": ["Orgs / Users / OOO"] + "tags": [ + "Orgs / Users / OOO" + ] } }, "/v2/organizations/{orgId}/users/{userId}/ooo/{oooId}": { @@ -6760,7 +7054,9 @@ "description": "" } }, - "tags": ["Orgs / Users / OOO"] + "tags": [ + "Orgs / Users / OOO" + ] }, "delete": { "operationId": "OrganizationsUsersOOOController_deleteOrganizationUserOOO", @@ -6807,7 +7103,9 @@ "description": "" } }, - "tags": ["Orgs / Users / OOO"] + "tags": [ + "Orgs / Users / OOO" + ] } }, "/v2/organizations/{orgId}/ooo": { @@ -6882,7 +7180,10 @@ "description": "Sort results by their start time in ascending or descending order.", "example": "?sortStart=asc OR ?sortStart=desc", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -6893,7 +7194,10 @@ "description": "Sort results by their end time in ascending or descending order.", "example": "?sortEnd=asc OR ?sortEnd=desc", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -6913,7 +7217,9 @@ "description": "" } }, - "tags": ["Orgs / Users / OOO"] + "tags": [ + "Orgs / Users / OOO" + ] } }, "/v2/organizations/{orgId}/users/{userId}/schedules": { @@ -6979,7 +7285,9 @@ } } }, - "tags": ["Orgs / Users / Schedules"] + "tags": [ + "Orgs / Users / Schedules" + ] }, "get": { "operationId": "OrganizationsSchedulesController_getUserSchedules", @@ -7033,7 +7341,9 @@ } } }, - "tags": ["Orgs / Users / Schedules"] + "tags": [ + "Orgs / Users / Schedules" + ] } }, "/v2/organizations/{orgId}/users/{userId}/schedules/{scheduleId}": { @@ -7097,7 +7407,9 @@ } } }, - "tags": ["Orgs / Users / Schedules"] + "tags": [ + "Orgs / Users / Schedules" + ] }, "patch": { "operationId": "OrganizationsSchedulesController_updateUserSchedule", @@ -7169,7 +7481,9 @@ } } }, - "tags": ["Orgs / Users / Schedules"] + "tags": [ + "Orgs / Users / Schedules" + ] }, "delete": { "operationId": "OrganizationsSchedulesController_deleteUserSchedule", @@ -7231,7 +7545,9 @@ } } }, - "tags": ["Orgs / Users / Schedules"] + "tags": [ + "Orgs / Users / Schedules" + ] } }, "/v2/organizations/{orgId}/webhooks": { @@ -7312,7 +7628,9 @@ } } }, - "tags": ["Orgs / Webhooks"] + "tags": [ + "Orgs / Webhooks" + ] }, "post": { "operationId": "OrganizationsWebhooksController_createOrganizationWebhook", @@ -7376,7 +7694,9 @@ } } }, - "tags": ["Orgs / Webhooks"] + "tags": [ + "Orgs / Webhooks" + ] } }, "/v2/organizations/{orgId}/webhooks/{webhookId}": { @@ -7432,7 +7752,9 @@ } } }, - "tags": ["Orgs / Webhooks"] + "tags": [ + "Orgs / Webhooks" + ] }, "delete": { "operationId": "OrganizationsWebhooksController_deleteWebhook", @@ -7486,7 +7808,9 @@ } } }, - "tags": ["Orgs / Webhooks"] + "tags": [ + "Orgs / Webhooks" + ] }, "patch": { "operationId": "OrganizationsWebhooksController_updateOrgWebhook", @@ -7550,7 +7874,9 @@ } } }, - "tags": ["Orgs / Webhooks"] + "tags": [ + "Orgs / Webhooks" + ] } }, "/v2/api-keys/refresh": { @@ -7591,7 +7917,9 @@ } } }, - "tags": ["Api Keys"] + "tags": [ + "Api Keys" + ] } }, "/v2/bookings": { @@ -7644,7 +7972,9 @@ } } }, - "tags": ["Bookings"] + "tags": [ + "Bookings" + ] }, "get": { "operationId": "BookingsController_2024_08_13_getBookings", @@ -7670,7 +8000,13 @@ "type": "array", "items": { "type": "string", - "enum": ["upcoming", "recurring", "past", "cancelled", "unconfirmed"] + "enum": [ + "upcoming", + "recurring", + "past", + "cancelled", + "unconfirmed" + ] } } }, @@ -7811,7 +8147,10 @@ "description": "Sort results by their start time in ascending or descending order.", "example": "?sortStart=asc OR ?sortStart=desc", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -7822,7 +8161,10 @@ "description": "Sort results by their end time in ascending or descending order.", "example": "?sortEnd=asc OR ?sortEnd=desc", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -7833,7 +8175,10 @@ "description": "Sort results by their creation time (when booking was made) in ascending or descending order.", "example": "?sortCreated=asc OR ?sortCreated=desc", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -7844,7 +8189,10 @@ "description": "Sort results by their updated time (for example when booking status changes) in ascending or descending order.", "example": "?sortUpdated=asc OR ?sortUpdated=desc", "schema": { - "enum": ["asc", "desc"], + "enum": [ + "asc", + "desc" + ], "type": "string" } }, @@ -7892,7 +8240,9 @@ } } }, - "tags": ["Bookings"] + "tags": [ + "Bookings" + ] } }, "/v2/bookings/{bookingUid}": { @@ -7932,7 +8282,9 @@ } } }, - "tags": ["Bookings"] + "tags": [ + "Bookings" + ] } }, "/v2/bookings/{bookingUid}/recordings": { @@ -7972,7 +8324,9 @@ } } }, - "tags": ["Bookings"] + "tags": [ + "Bookings" + ] } }, "/v2/bookings/{bookingUid}/transcripts": { @@ -8012,7 +8366,9 @@ } } }, - "tags": ["Bookings"] + "tags": [ + "Bookings" + ] } }, "/v2/bookings/{bookingUid}/reschedule": { @@ -8070,7 +8426,9 @@ } } }, - "tags": ["Bookings"] + "tags": [ + "Bookings" + ] } }, "/v2/bookings/{bookingUid}/cancel": { @@ -8128,7 +8486,9 @@ } } }, - "tags": ["Bookings"] + "tags": [ + "Bookings" + ] } }, "/v2/bookings/{bookingUid}/mark-absent": { @@ -8187,7 +8547,9 @@ } } }, - "tags": ["Bookings"] + "tags": [ + "Bookings" + ] } }, "/v2/bookings/{bookingUid}/reassign": { @@ -8236,7 +8598,9 @@ } } }, - "tags": ["Bookings"] + "tags": [ + "Bookings" + ] } }, "/v2/bookings/{bookingUid}/reassign/{userId}": { @@ -8303,7 +8667,9 @@ } } }, - "tags": ["Bookings"] + "tags": [ + "Bookings" + ] } }, "/v2/bookings/{bookingUid}/confirm": { @@ -8352,7 +8718,9 @@ } } }, - "tags": ["Bookings"] + "tags": [ + "Bookings" + ] } }, "/v2/bookings/{bookingUid}/decline": { @@ -8411,7 +8779,9 @@ } } }, - "tags": ["Bookings"] + "tags": [ + "Bookings" + ] } }, "/v2/bookings/{bookingUid}/calendar-links": { @@ -8460,7 +8830,9 @@ } } }, - "tags": ["Bookings"] + "tags": [ + "Bookings" + ] } }, "/v2/bookings/{bookingUid}/references": { @@ -8526,7 +8898,9 @@ } } }, - "tags": ["Bookings"] + "tags": [ + "Bookings" + ] } }, "/v2/calendars/{calendar}/event/{eventUid}": { @@ -8540,7 +8914,9 @@ "required": true, "in": "path", "schema": { - "enum": ["google"], + "enum": [ + "google" + ], "type": "string" } }, @@ -8575,7 +8951,9 @@ } } }, - "tags": ["Cal Unified Calendars"] + "tags": [ + "Cal Unified Calendars" + ] } }, "/v2/calendars/{calendar}/events/{eventUid}": { @@ -8589,7 +8967,9 @@ "required": true, "in": "path", "schema": { - "enum": ["google"], + "enum": [ + "google" + ], "type": "string" } }, @@ -8634,7 +9014,9 @@ } } }, - "tags": ["Cal Unified Calendars"] + "tags": [ + "Cal Unified Calendars" + ] } }, "/v2/calendars/ics-feed/save": { @@ -8674,7 +9056,9 @@ } } }, - "tags": ["Calendars"] + "tags": [ + "Calendars" + ] } }, "/v2/calendars/ics-feed/check": { @@ -8704,7 +9088,9 @@ } } }, - "tags": ["Calendars"] + "tags": [ + "Calendars" + ] } }, "/v2/calendars/busy-times": { @@ -8781,7 +9167,9 @@ } } }, - "tags": ["Calendars"] + "tags": [ + "Calendars" + ] } }, "/v2/calendars": { @@ -8811,7 +9199,9 @@ } } }, - "tags": ["Calendars"] + "tags": [ + "Calendars" + ] } }, "/v2/calendars/{calendar}/connect": { @@ -8833,7 +9223,10 @@ "required": true, "in": "path", "schema": { - "enum": ["office365", "google"], + "enum": [ + "office365", + "google" + ], "type": "string" } }, @@ -8867,7 +9260,9 @@ } } }, - "tags": ["Calendars"] + "tags": [ + "Calendars" + ] } }, "/v2/calendars/{calendar}/save": { @@ -8896,7 +9291,10 @@ "required": true, "in": "path", "schema": { - "enum": ["office365", "google"], + "enum": [ + "office365", + "google" + ], "type": "string" } } @@ -8906,7 +9304,9 @@ "description": "" } }, - "tags": ["Calendars"] + "tags": [ + "Calendars" + ] } }, "/v2/calendars/{calendar}/credentials": { @@ -8919,7 +9319,9 @@ "required": true, "in": "path", "schema": { - "enum": ["apple"], + "enum": [ + "apple" + ], "type": "string" } }, @@ -8948,7 +9350,9 @@ "description": "" } }, - "tags": ["Calendars"] + "tags": [ + "Calendars" + ] } }, "/v2/calendars/{calendar}/check": { @@ -8961,7 +9365,11 @@ "required": true, "in": "path", "schema": { - "enum": ["apple", "google", "office365"], + "enum": [ + "apple", + "google", + "office365" + ], "type": "string" } }, @@ -8987,7 +9395,9 @@ } } }, - "tags": ["Calendars"] + "tags": [ + "Calendars" + ] } }, "/v2/calendars/{calendar}/disconnect": { @@ -9000,7 +9410,11 @@ "required": true, "in": "path", "schema": { - "enum": ["apple", "google", "office365"], + "enum": [ + "apple", + "google", + "office365" + ], "type": "string" } }, @@ -9036,7 +9450,9 @@ } } }, - "tags": ["Calendars"] + "tags": [ + "Calendars" + ] } }, "/v2/conferencing/{app}/connect": { @@ -9050,7 +9466,9 @@ "in": "path", "description": "Conferencing application type", "schema": { - "enum": ["google-meet"], + "enum": [ + "google-meet" + ], "type": "string" } }, @@ -9076,7 +9494,9 @@ } } }, - "tags": ["Conferencing"] + "tags": [ + "Conferencing" + ] } }, "/v2/conferencing/{app}/oauth/auth-url": { @@ -9099,7 +9519,10 @@ "in": "path", "description": "Conferencing application type", "schema": { - "enum": ["zoom", "msteams"], + "enum": [ + "zoom", + "msteams" + ], "type": "string" } }, @@ -9132,7 +9555,9 @@ } } }, - "tags": ["Conferencing"] + "tags": [ + "Conferencing" + ] } }, "/v2/conferencing/{app}/oauth/callback": { @@ -9154,7 +9579,10 @@ "in": "path", "description": "Conferencing application type", "schema": { - "enum": ["zoom", "msteams"], + "enum": [ + "zoom", + "msteams" + ], "type": "string" } }, @@ -9172,7 +9600,9 @@ "description": "" } }, - "tags": ["Conferencing"] + "tags": [ + "Conferencing" + ] } }, "/v2/conferencing": { @@ -9202,7 +9632,9 @@ } } }, - "tags": ["Conferencing"] + "tags": [ + "Conferencing" + ] } }, "/v2/conferencing/{app}/default": { @@ -9216,7 +9648,12 @@ "in": "path", "description": "Conferencing application type", "schema": { - "enum": ["google-meet", "zoom", "msteams", "daily-video"], + "enum": [ + "google-meet", + "zoom", + "msteams", + "daily-video" + ], "type": "string" } }, @@ -9242,7 +9679,9 @@ } } }, - "tags": ["Conferencing"] + "tags": [ + "Conferencing" + ] } }, "/v2/conferencing/default": { @@ -9272,7 +9711,9 @@ } } }, - "tags": ["Conferencing"] + "tags": [ + "Conferencing" + ] } }, "/v2/conferencing/{app}/disconnect": { @@ -9286,7 +9727,11 @@ "in": "path", "description": "Conferencing application type", "schema": { - "enum": ["google-meet", "zoom", "msteams"], + "enum": [ + "google-meet", + "zoom", + "msteams" + ], "type": "string" } }, @@ -9312,7 +9757,9 @@ } } }, - "tags": ["Conferencing"] + "tags": [ + "Conferencing" + ] } }, "/v2/destination-calendars": { @@ -9352,7 +9799,9 @@ } } }, - "tags": ["Destination Calendars"] + "tags": [ + "Destination Calendars" + ] } }, "/v2/event-types": { @@ -9402,11 +9851,14 @@ } } }, - "tags": ["Event Types"] + "tags": [ + "Event Types" + ] }, "get": { "operationId": "EventTypesController_2024_06_14_getEventTypes", "summary": "Get all event types", + "description": "Hidden event types are returned only if authentication is provided and it belongs to the event type owner.", "parameters": [ { "name": "cal-api-version", @@ -9462,25 +9914,54 @@ "schema": { "type": "number" } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetEventTypesOutput_2024_06_14" - } - } - } - } - }, - "tags": ["Event Types"] - } - }, - "/v2/event-types/{eventTypeId}": { - "get": { + }, + { + "name": "Authorization", + "in": "header", + "description": "value must be `Bearer ` where `` is api key prefixed with cal_ or managed user access token", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "x-cal-secret-key", + "in": "header", + "description": "For platform customers - OAuth client secret key", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "x-cal-client-id", + "in": "header", + "description": "For platform customers - OAuth client ID", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetEventTypesOutput_2024_06_14" + } + } + } + } + }, + "tags": [ + "Event Types" + ] + } + }, + "/v2/event-types/{eventTypeId}": { + "get": { "operationId": "EventTypesController_2024_06_14_getEventTypeById", "summary": "Get an event type", "parameters": [ @@ -9524,7 +10005,9 @@ } } }, - "tags": ["Event Types"] + "tags": [ + "Event Types" + ] }, "patch": { "operationId": "EventTypesController_2024_06_14_updateEventType", @@ -9580,7 +10063,9 @@ } } }, - "tags": ["Event Types"] + "tags": [ + "Event Types" + ] }, "delete": { "operationId": "EventTypesController_2024_06_14_deleteEventType", @@ -9626,7 +10111,9 @@ } } }, - "tags": ["Event Types"] + "tags": [ + "Event Types" + ] } }, "/v2/event-types/{eventTypeId}/webhooks": { @@ -9674,7 +10161,9 @@ } } }, - "tags": ["Event Types / Webhooks"] + "tags": [ + "Event Types / Webhooks" + ] }, "get": { "operationId": "EventTypeWebhooksController_getEventTypeWebhooks", @@ -9735,7 +10224,9 @@ } } }, - "tags": ["Event Types / Webhooks"] + "tags": [ + "Event Types / Webhooks" + ] }, "delete": { "operationId": "EventTypeWebhooksController_deleteAllEventTypeWebhooks", @@ -9771,7 +10262,9 @@ } } }, - "tags": ["Event Types / Webhooks"] + "tags": [ + "Event Types / Webhooks" + ] } }, "/v2/event-types/{eventTypeId}/webhooks/{webhookId}": { @@ -9819,7 +10312,9 @@ } } }, - "tags": ["Event Types / Webhooks"] + "tags": [ + "Event Types / Webhooks" + ] }, "get": { "operationId": "EventTypeWebhooksController_getEventTypeWebhook", @@ -9847,7 +10342,9 @@ } } }, - "tags": ["Event Types / Webhooks"] + "tags": [ + "Event Types / Webhooks" + ] }, "delete": { "operationId": "EventTypeWebhooksController_deleteEventTypeWebhook", @@ -9875,7 +10372,9 @@ } } }, - "tags": ["Event Types / Webhooks"] + "tags": [ + "Event Types / Webhooks" + ] } }, "/v2/event-types/{eventTypeId}/private-links": { @@ -9923,7 +10422,9 @@ } } }, - "tags": ["Event Types Private Links"] + "tags": [ + "Event Types Private Links" + ] }, "get": { "operationId": "EventTypesPrivateLinksController_getPrivateLinks", @@ -9959,7 +10460,9 @@ } } }, - "tags": ["Event Types Private Links"] + "tags": [ + "Event Types Private Links" + ] } }, "/v2/event-types/{eventTypeId}/private-links/{linkId}": { @@ -10015,7 +10518,9 @@ } } }, - "tags": ["Event Types Private Links"] + "tags": [ + "Event Types Private Links" + ] }, "delete": { "operationId": "EventTypesPrivateLinksController_deletePrivateLink", @@ -10059,7 +10564,9 @@ } } }, - "tags": ["Event Types Private Links"] + "tags": [ + "Event Types Private Links" + ] } }, "/v2/organizations/{orgId}/organizations": { @@ -10117,7 +10624,9 @@ } } }, - "tags": ["Managed Orgs"] + "tags": [ + "Managed Orgs" + ] }, "get": { "operationId": "OrganizationsOrganizationsController_getOrganizations", @@ -10218,7 +10727,9 @@ } } }, - "tags": ["Managed Orgs"] + "tags": [ + "Managed Orgs" + ] } }, "/v2/organizations/{orgId}/organizations/{managedOrganizationId}": { @@ -10266,7 +10777,9 @@ } } }, - "tags": ["Managed Orgs"] + "tags": [ + "Managed Orgs" + ] }, "patch": { "operationId": "OrganizationsOrganizationsController_updateOrganization", @@ -10330,7 +10843,9 @@ } } }, - "tags": ["Managed Orgs"] + "tags": [ + "Managed Orgs" + ] }, "delete": { "operationId": "OrganizationsOrganizationsController_deleteOrganization", @@ -10376,7 +10891,9 @@ } } }, - "tags": ["Managed Orgs"] + "tags": [ + "Managed Orgs" + ] } }, "/v2/me": { @@ -10406,7 +10923,9 @@ } } }, - "tags": ["Me"] + "tags": [ + "Me" + ] }, "patch": { "operationId": "MeController_updateMe", @@ -10444,7 +10963,9 @@ } } }, - "tags": ["Me"] + "tags": [ + "Me" + ] } }, "/v2/oauth-clients": { @@ -10484,7 +11005,9 @@ } } }, - "tags": ["OAuth Clients"] + "tags": [ + "OAuth Clients" + ] }, "get": { "operationId": "OAuthClientsController_getOAuthClients", @@ -10512,7 +11035,9 @@ } } }, - "tags": ["OAuth Clients"] + "tags": [ + "OAuth Clients" + ] } }, "/v2/oauth-clients/{clientId}": { @@ -10550,7 +11075,9 @@ } } }, - "tags": ["OAuth Clients"] + "tags": [ + "OAuth Clients" + ] }, "patch": { "operationId": "OAuthClientsController_updateOAuthClient", @@ -10596,7 +11123,9 @@ } } }, - "tags": ["OAuth Clients"] + "tags": [ + "OAuth Clients" + ] }, "delete": { "operationId": "OAuthClientsController_deleteOAuthClient", @@ -10632,7 +11161,9 @@ } } }, - "tags": ["OAuth Clients"] + "tags": [ + "OAuth Clients" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/verified-resources/emails/verification-code/request": { @@ -10673,7 +11204,9 @@ } } }, - "tags": ["Organization Team Verified Resources"] + "tags": [ + "Organization Team Verified Resources" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/verified-resources/phones/verification-code/request": { @@ -10714,7 +11247,9 @@ } } }, - "tags": ["Organization Team Verified Resources"] + "tags": [ + "Organization Team Verified Resources" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/verified-resources/emails/verification-code/verify": { @@ -10763,7 +11298,9 @@ } } }, - "tags": ["Organization Team Verified Resources"] + "tags": [ + "Organization Team Verified Resources" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/verified-resources/phones/verification-code/verify": { @@ -10812,7 +11349,9 @@ } } }, - "tags": ["Organization Team Verified Resources"] + "tags": [ + "Organization Team Verified Resources" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/verified-resources/emails": { @@ -10875,7 +11414,9 @@ } } }, - "tags": ["Organization Team Verified Resources"] + "tags": [ + "Organization Team Verified Resources" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/verified-resources/phones": { @@ -10938,7 +11479,9 @@ } } }, - "tags": ["Organization Team Verified Resources"] + "tags": [ + "Organization Team Verified Resources" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/verified-resources/emails/{id}": { @@ -10984,7 +11527,9 @@ } } }, - "tags": ["Organization Team Verified Resources"] + "tags": [ + "Organization Team Verified Resources" + ] } }, "/v2/organizations/{orgId}/teams/{teamId}/verified-resources/phones/{id}": { @@ -11030,7 +11575,9 @@ } } }, - "tags": ["Organization Team Verified Resources"] + "tags": [ + "Organization Team Verified Resources" + ] } }, "/v2/routing-forms/{routingFormId}/calculate-slots": { @@ -11095,7 +11642,10 @@ "description": "Format of slot times in response. Use 'range' to get start and end times.", "example": "range", "schema": { - "enum": ["range", "time"], + "enum": [ + "range", + "time" + ], "type": "string" } }, @@ -11130,7 +11680,9 @@ } } }, - "tags": ["Routing forms"] + "tags": [ + "Routing forms" + ] } }, "/v2/schedules": { @@ -11181,7 +11733,9 @@ } } }, - "tags": ["Schedules"] + "tags": [ + "Schedules" + ] }, "get": { "operationId": "SchedulesController_2024_06_11_getSchedules", @@ -11220,7 +11774,9 @@ } } }, - "tags": ["Schedules"] + "tags": [ + "Schedules" + ] } }, "/v2/schedules/default": { @@ -11261,7 +11817,9 @@ } } }, - "tags": ["Schedules"] + "tags": [ + "Schedules" + ] } }, "/v2/schedules/{scheduleId}": { @@ -11309,7 +11867,9 @@ } } }, - "tags": ["Schedules"] + "tags": [ + "Schedules" + ] }, "patch": { "operationId": "SchedulesController_2024_06_11_updateSchedule", @@ -11365,7 +11925,9 @@ } } }, - "tags": ["Schedules"] + "tags": [ + "Schedules" + ] }, "delete": { "operationId": "SchedulesController_2024_06_11_deleteSchedule", @@ -11411,7 +11973,9 @@ } } }, - "tags": ["Schedules"] + "tags": [ + "Schedules" + ] } }, "/v2/selected-calendars": { @@ -11451,7 +12015,9 @@ } } }, - "tags": ["Selected Calendars"] + "tags": [ + "Selected Calendars" + ] }, "delete": { "operationId": "SelectedCalendarsController_deleteSelectedCalendar", @@ -11511,7 +12077,9 @@ } } }, - "tags": ["Selected Calendars"] + "tags": [ + "Selected Calendars" + ] } }, "/v2/slots": { @@ -11714,7 +12282,9 @@ } } }, - "tags": ["Slots"] + "tags": [ + "Slots" + ] } }, "/v2/slots/reservations": { @@ -11774,7 +12344,9 @@ } } }, - "tags": ["Slots"] + "tags": [ + "Slots" + ] } }, "/v2/slots/reservations/{uid}": { @@ -11813,7 +12385,9 @@ } } }, - "tags": ["Slots"] + "tags": [ + "Slots" + ] }, "patch": { "operationId": "SlotsController_2024_09_04_updateReservedSlot", @@ -11860,7 +12434,9 @@ } } }, - "tags": ["Slots"] + "tags": [ + "Slots" + ] }, "delete": { "operationId": "SlotsController_2024_09_04_deleteReservedSlot", @@ -11900,7 +12476,9 @@ } } }, - "tags": ["Slots"] + "tags": [ + "Slots" + ] } }, "/v2/stripe/connect": { @@ -11930,7 +12508,9 @@ } } }, - "tags": ["Stripe"] + "tags": [ + "Stripe" + ] } }, "/v2/stripe/save": { @@ -11967,7 +12547,9 @@ } } }, - "tags": ["Stripe"] + "tags": [ + "Stripe" + ] } }, "/v2/stripe/check": { @@ -11997,7 +12579,9 @@ } } }, - "tags": ["Stripe"] + "tags": [ + "Stripe" + ] } }, "/v2/teams": { @@ -12037,7 +12621,9 @@ } } }, - "tags": ["Teams"] + "tags": [ + "Teams" + ] }, "get": { "operationId": "TeamsController_getTeams", @@ -12065,7 +12651,9 @@ } } }, - "tags": ["Teams"] + "tags": [ + "Teams" + ] } }, "/v2/teams/{teamId}": { @@ -12103,7 +12691,9 @@ } } }, - "tags": ["Teams"] + "tags": [ + "Teams" + ] }, "patch": { "operationId": "TeamsController_updateTeam", @@ -12149,7 +12739,9 @@ } } }, - "tags": ["Teams"] + "tags": [ + "Teams" + ] }, "delete": { "operationId": "TeamsController_deleteTeam", @@ -12185,7 +12777,9 @@ } } }, - "tags": ["Teams"] + "tags": [ + "Teams" + ] } }, "/v2/teams/{teamId}/event-types": { @@ -12233,7 +12827,9 @@ } } }, - "tags": ["Teams / Event Types"] + "tags": [ + "Teams / Event Types" + ] }, "get": { "operationId": "TeamsEventTypesController_getTeamEventTypes", @@ -12278,7 +12874,9 @@ } } }, - "tags": ["Teams / Event Types"] + "tags": [ + "Teams / Event Types" + ] } }, "/v2/teams/{teamId}/event-types/{eventTypeId}": { @@ -12324,7 +12922,9 @@ } } }, - "tags": ["Teams / Event Types"] + "tags": [ + "Teams / Event Types" + ] }, "patch": { "operationId": "TeamsEventTypesController_updateTeamEventType", @@ -12378,7 +12978,9 @@ } } }, - "tags": ["Teams / Event Types"] + "tags": [ + "Teams / Event Types" + ] }, "delete": { "operationId": "TeamsEventTypesController_deleteTeamEventType", @@ -12422,7 +13024,9 @@ } } }, - "tags": ["Teams / Event Types"] + "tags": [ + "Teams / Event Types" + ] } }, "/v2/teams/{teamId}/event-types/{eventTypeId}/create-phone-call": { @@ -12478,7 +13082,9 @@ } } }, - "tags": ["Teams / Event Types"] + "tags": [ + "Teams / Event Types" + ] } }, "/v2/teams/{teamId}/memberships": { @@ -12526,7 +13132,9 @@ } } }, - "tags": ["Teams / Memberships"] + "tags": [ + "Teams / Memberships" + ] }, "get": { "operationId": "TeamsMembershipsController_getTeamMemberships", @@ -12587,7 +13195,9 @@ } } }, - "tags": ["Teams / Memberships"] + "tags": [ + "Teams / Memberships" + ] } }, "/v2/teams/{teamId}/memberships/{membershipId}": { @@ -12633,7 +13243,9 @@ } } }, - "tags": ["Teams / Memberships"] + "tags": [ + "Teams / Memberships" + ] }, "patch": { "operationId": "TeamsMembershipsController_updateTeamMembership", @@ -12687,7 +13299,9 @@ } } }, - "tags": ["Teams / Memberships"] + "tags": [ + "Teams / Memberships" + ] }, "delete": { "operationId": "TeamsMembershipsController_deleteTeamMembership", @@ -12731,7 +13345,9 @@ } } }, - "tags": ["Teams / Memberships"] + "tags": [ + "Teams / Memberships" + ] } }, "/v2/teams/{teamId}/schedules": { @@ -12794,7 +13410,9 @@ } } }, - "tags": ["Teams / Schedules"] + "tags": [ + "Teams / Schedules" + ] } }, "/v2/teams/{teamId}/verified-resources/emails/verification-code/request": { @@ -12835,7 +13453,9 @@ } } }, - "tags": ["Teams Verified Resources"] + "tags": [ + "Teams Verified Resources" + ] } }, "/v2/teams/{teamId}/verified-resources/phones/verification-code/request": { @@ -12876,7 +13496,9 @@ } } }, - "tags": ["Teams Verified Resources"] + "tags": [ + "Teams Verified Resources" + ] } }, "/v2/teams/{teamId}/verified-resources/emails/verification-code/verify": { @@ -12925,7 +13547,9 @@ } } }, - "tags": ["Teams Verified Resources"] + "tags": [ + "Teams Verified Resources" + ] } }, "/v2/teams/{teamId}/verified-resources/phones/verification-code/verify": { @@ -12974,7 +13598,9 @@ } } }, - "tags": ["Teams Verified Resources"] + "tags": [ + "Teams Verified Resources" + ] } }, "/v2/teams/{teamId}/verified-resources/emails": { @@ -13037,7 +13663,9 @@ } } }, - "tags": ["Teams Verified Resources"] + "tags": [ + "Teams Verified Resources" + ] } }, "/v2/teams/{teamId}/verified-resources/phones": { @@ -13100,7 +13728,9 @@ } } }, - "tags": ["Teams Verified Resources"] + "tags": [ + "Teams Verified Resources" + ] } }, "/v2/teams/{teamId}/verified-resources/emails/{id}": { @@ -13146,7 +13776,9 @@ } } }, - "tags": ["Teams Verified Resources"] + "tags": [ + "Teams Verified Resources" + ] } }, "/v2/teams/{teamId}/verified-resources/phones/{id}": { @@ -13192,7 +13824,9 @@ } } }, - "tags": ["Teams Verified Resources"] + "tags": [ + "Teams Verified Resources" + ] } }, "/v2/verified-resources/emails/verification-code/request": { @@ -13233,7 +13867,9 @@ } } }, - "tags": ["Verified Resources"] + "tags": [ + "Verified Resources" + ] } }, "/v2/verified-resources/phones/verification-code/request": { @@ -13274,7 +13910,9 @@ } } }, - "tags": ["Verified Resources"] + "tags": [ + "Verified Resources" + ] } }, "/v2/verified-resources/emails/verification-code/verify": { @@ -13315,7 +13953,9 @@ } } }, - "tags": ["Verified Resources"] + "tags": [ + "Verified Resources" + ] } }, "/v2/verified-resources/phones/verification-code/verify": { @@ -13356,7 +13996,9 @@ } } }, - "tags": ["Verified Resources"] + "tags": [ + "Verified Resources" + ] } }, "/v2/verified-resources/emails": { @@ -13411,7 +14053,9 @@ } } }, - "tags": ["Verified Resources"] + "tags": [ + "Verified Resources" + ] } }, "/v2/verified-resources/phones": { @@ -13466,7 +14110,9 @@ } } }, - "tags": ["Verified Resources"] + "tags": [ + "Verified Resources" + ] } }, "/v2/verified-resources/emails/{id}": { @@ -13504,7 +14150,9 @@ } } }, - "tags": ["Verified Resources"] + "tags": [ + "Verified Resources" + ] } }, "/v2/verified-resources/phones/{id}": { @@ -13542,7 +14190,9 @@ } } }, - "tags": ["Verified Resources"] + "tags": [ + "Verified Resources" + ] } }, "/v2/webhooks": { @@ -13582,7 +14232,9 @@ } } }, - "tags": ["Webhooks"] + "tags": [ + "Webhooks" + ] }, "get": { "operationId": "WebhooksController_getWebhooks", @@ -13636,7 +14288,9 @@ } } }, - "tags": ["Webhooks"] + "tags": [ + "Webhooks" + ] } }, "/v2/webhooks/{webhookId}": { @@ -13684,7 +14338,9 @@ } } }, - "tags": ["Webhooks"] + "tags": [ + "Webhooks" + ] }, "get": { "operationId": "WebhooksController_getWebhook", @@ -13712,7 +14368,9 @@ } } }, - "tags": ["Webhooks"] + "tags": [ + "Webhooks" + ] }, "delete": { "operationId": "WebhooksController_deleteWebhook", @@ -13748,7 +14406,9 @@ } } }, - "tags": ["Webhooks"] + "tags": [ + "Webhooks" + ] } } }, @@ -13891,7 +14551,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "array", @@ -13900,7 +14563,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "CreateManagedUserInput": { "type": "object", @@ -13916,14 +14582,25 @@ }, "timeFormat": { "type": "number", - "enum": [12, 24], + "enum": [ + 12, + 24 + ], "example": 12, "description": "Must be a number 12 or 24" }, "weekStart": { "type": "string", "example": "Monday", - "enum": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"] + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ] }, "timeZone": { "type": "string", @@ -13997,7 +14674,10 @@ } } }, - "required": ["email", "name"] + "required": [ + "email", + "name" + ] }, "CreateManagedUserData": { "type": "object", @@ -14020,7 +14700,13 @@ "type": "number" } }, - "required": ["accessToken", "refreshToken", "user", "accessTokenExpiresAt", "refreshTokenExpiresAt"] + "required": [ + "accessToken", + "refreshToken", + "user", + "accessTokenExpiresAt", + "refreshTokenExpiresAt" + ] }, "CreateManagedUserOutput": { "type": "object", @@ -14028,7 +14714,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/CreateManagedUserData" @@ -14037,7 +14726,10 @@ "type": "object" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "GetManagedUserOutput": { "type": "object", @@ -14045,13 +14737,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/ManagedUserOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UpdateManagedUserInput": { "type": "object", @@ -14064,7 +14762,10 @@ }, "timeFormat": { "type": "number", - "enum": [12, 24], + "enum": [ + 12, + 24 + ], "example": 12, "description": "Must be 12 or 24" }, @@ -14073,7 +14774,15 @@ }, "weekStart": { "type": "string", - "enum": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], "example": "Monday" }, "timeZone": { @@ -14165,7 +14874,12 @@ "type": "number" } }, - "required": ["accessToken", "refreshToken", "accessTokenExpiresAt", "refreshTokenExpiresAt"] + "required": [ + "accessToken", + "refreshToken", + "accessTokenExpiresAt", + "refreshTokenExpiresAt" + ] }, "KeysResponseDto": { "type": "object", @@ -14173,13 +14887,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/KeysDto" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "CreateOAuthClientInput": { "type": "object", @@ -14239,7 +14959,11 @@ "description": "If true and if managed user has calendar connected, calendar events will be created. Disable it if you manually create calendar events. Default to true." } }, - "required": ["name", "redirectUris", "permissions"] + "required": [ + "name", + "redirectUris", + "permissions" + ] }, "CreateOAuthClientOutput": { "type": "object", @@ -14253,14 +14977,20 @@ "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoib2F1dGgtY2xpZW50Iiwi" } }, - "required": ["clientId", "clientSecret"] + "required": [ + "clientId", + "clientSecret" + ] }, "CreateOAuthClientResponseDto": { "type": "object", "properties": { "status": { "type": "string", - "enum": ["success", "error"], + "enum": [ + "success", + "error" + ], "example": "success" }, "data": { @@ -14275,7 +15005,10 @@ ] } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "PlatformOAuthClientDto": { "type": "object", @@ -14310,14 +15043,19 @@ "PROFILE_WRITE" ] }, - "example": ["BOOKING_READ", "BOOKING_WRITE"] + "example": [ + "BOOKING_READ", + "BOOKING_WRITE" + ] }, "logo": { "type": "object", "example": "https://example.com/logo.png" }, "redirectUris": { - "example": ["https://example.com/callback"], + "example": [ + "https://example.com/callback" + ], "type": "array", "items": { "type": "string" @@ -14378,7 +15116,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "array", @@ -14387,7 +15128,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "GetOAuthClientResponseDto": { "type": "object", @@ -14395,13 +15139,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/PlatformOAuthClientDto" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UpdateOAuthClientInput": { "type": "object", @@ -14448,7 +15198,9 @@ "description": "Managed user's refresh token." } }, - "required": ["refreshToken"] + "required": [ + "refreshToken" + ] }, "RefreshApiKeyInput": { "type": "object", @@ -14474,7 +15226,9 @@ "type": "string" } }, - "required": ["apiKey"] + "required": [ + "apiKey" + ] }, "RefreshApiKeyOutput": { "type": "object", @@ -14482,31 +15236,48 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/ApiKeyOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "BookerLayouts_2024_06_14": { "type": "object", "properties": { "defaultLayout": { "type": "string", - "enum": ["month", "week", "column"] + "enum": [ + "month", + "week", + "column" + ] }, "enabledLayouts": { "type": "array", "description": "Array of valid layouts - month, week or column", "items": { "type": "string", - "enum": ["month", "week", "column"] + "enum": [ + "month", + "week", + "column" + ] } } }, - "required": ["defaultLayout", "enabledLayouts"] + "required": [ + "defaultLayout", + "enabledLayouts" + ] }, "EventTypeColor_2024_06_14": { "type": "object", @@ -14522,7 +15293,10 @@ "example": "#fafafa" } }, - "required": ["lightThemeHex", "darkThemeHex"] + "required": [ + "lightThemeHex", + "darkThemeHex" + ] }, "DestinationCalendar_2024_06_14": { "type": "object", @@ -14536,7 +15310,10 @@ "description": "The external ID of the destination calendar. Refer to the /api/v2/calendars endpoint to retrieve the external IDs of your connected calendars." } }, - "required": ["integration", "externalId"] + "required": [ + "integration", + "externalId" + ] }, "InputAddressLocation_2024_06_14": { "type": "object", @@ -14554,7 +15331,11 @@ "type": "boolean" } }, - "required": ["type", "address", "public"] + "required": [ + "type", + "address", + "public" + ] }, "InputLinkLocation_2024_06_14": { "type": "object", @@ -14572,7 +15353,11 @@ "type": "boolean" } }, - "required": ["type", "link", "public"] + "required": [ + "type", + "link", + "public" + ] }, "InputIntegrationLocation_2024_06_14": { "type": "object", @@ -14585,10 +15370,18 @@ "integration": { "type": "string", "example": "cal-video", - "enum": ["cal-video", "google-meet", "office365-video", "zoom"] + "enum": [ + "cal-video", + "google-meet", + "office365-video", + "zoom" + ] } }, - "required": ["type", "integration"] + "required": [ + "type", + "integration" + ] }, "InputPhoneLocation_2024_06_14": { "type": "object", @@ -14606,7 +15399,11 @@ "type": "boolean" } }, - "required": ["type", "phone", "public"] + "required": [ + "type", + "phone", + "public" + ] }, "PhoneFieldInput_2024_06_14": { "type": "object", @@ -14639,7 +15436,14 @@ "description": "If true show under event type settings but don't show this booking field in the Booker. If false show in both." } }, - "required": ["type", "slug", "label", "required", "placeholder", "hidden"] + "required": [ + "type", + "slug", + "label", + "required", + "placeholder", + "hidden" + ] }, "AddressFieldInput_2024_06_14": { "type": "object", @@ -14674,7 +15478,14 @@ "description": "If true show under event type settings but don't show this booking field in the Booker. If false show in both." } }, - "required": ["type", "slug", "label", "required", "placeholder", "hidden"] + "required": [ + "type", + "slug", + "label", + "required", + "placeholder", + "hidden" + ] }, "TextFieldInput_2024_06_14": { "type": "object", @@ -14709,7 +15520,14 @@ "description": "If true show under event type settings but don't show this booking field in the Booker. If false show in both." } }, - "required": ["type", "slug", "label", "required", "placeholder", "hidden"] + "required": [ + "type", + "slug", + "label", + "required", + "placeholder", + "hidden" + ] }, "NumberFieldInput_2024_06_14": { "type": "object", @@ -14744,7 +15562,14 @@ "description": "If true show under event type settings but don't show this booking field in the Booker. If false show in both." } }, - "required": ["type", "slug", "label", "required", "placeholder", "hidden"] + "required": [ + "type", + "slug", + "label", + "required", + "placeholder", + "hidden" + ] }, "TextAreaFieldInput_2024_06_14": { "type": "object", @@ -14779,7 +15604,14 @@ "description": "If true show under event type settings but don't show this booking field in the Booker. If false show in both." } }, - "required": ["type", "slug", "label", "required", "placeholder", "hidden"] + "required": [ + "type", + "slug", + "label", + "required", + "placeholder", + "hidden" + ] }, "SelectFieldInput_2024_06_14": { "type": "object", @@ -14806,7 +15638,10 @@ "example": "Select..." }, "options": { - "example": ["Option 1", "Option 2"], + "example": [ + "Option 1", + "Option 2" + ], "type": "array", "items": { "type": "string" @@ -14821,8 +15656,16 @@ "description": "If true show under event type settings but don't show this booking field in the Booker. If false show in both." } }, - "required": ["type", "slug", "label", "required", "placeholder", "options", "hidden"] - }, + "required": [ + "type", + "slug", + "label", + "required", + "placeholder", + "options", + "hidden" + ] + }, "MultiSelectFieldInput_2024_06_14": { "type": "object", "properties": { @@ -14844,7 +15687,10 @@ "type": "boolean" }, "options": { - "example": ["Option 1", "Option 2"], + "example": [ + "Option 1", + "Option 2" + ], "type": "array", "items": { "type": "string" @@ -14859,7 +15705,14 @@ "description": "If true show under event type settings but don't show this booking field in the Booker. If false show in both." } }, - "required": ["type", "slug", "label", "required", "options", "hidden"] + "required": [ + "type", + "slug", + "label", + "required", + "options", + "hidden" + ] }, "MultiEmailFieldInput_2024_06_14": { "type": "object", @@ -14894,7 +15747,14 @@ "description": "If true show under event type settings but don't show this booking field in the Booker. If false show in both." } }, - "required": ["type", "slug", "label", "required", "placeholder", "hidden"] + "required": [ + "type", + "slug", + "label", + "required", + "placeholder", + "hidden" + ] }, "CheckboxGroupFieldInput_2024_06_14": { "type": "object", @@ -14917,7 +15777,10 @@ "type": "boolean" }, "options": { - "example": ["Checkbox 1", "Checkbox 2"], + "example": [ + "Checkbox 1", + "Checkbox 2" + ], "type": "array", "items": { "type": "string" @@ -14932,7 +15795,14 @@ "description": "If true show under event type settings but don't show this booking field in the Booker. If false show in both." } }, - "required": ["type", "slug", "label", "required", "options", "hidden"] + "required": [ + "type", + "slug", + "label", + "required", + "options", + "hidden" + ] }, "RadioGroupFieldInput_2024_06_14": { "type": "object", @@ -14955,7 +15825,10 @@ "type": "boolean" }, "options": { - "example": ["Radio 1", "Radio 2"], + "example": [ + "Radio 1", + "Radio 2" + ], "type": "array", "items": { "type": "string" @@ -14970,7 +15843,14 @@ "description": "If true show under event type settings but don't show this booking field in the Booker. If false show in both." } }, - "required": ["type", "slug", "label", "required", "options", "hidden"] + "required": [ + "type", + "slug", + "label", + "required", + "options", + "hidden" + ] }, "BooleanFieldInput_2024_06_14": { "type": "object", @@ -15001,7 +15881,13 @@ "description": "If true show under event type settings but don't show this booking field in the Booker. If false show in both." } }, - "required": ["type", "slug", "label", "required", "hidden"] + "required": [ + "type", + "slug", + "label", + "required", + "hidden" + ] }, "UrlFieldInput_2024_06_14": { "type": "object", @@ -15036,14 +15922,25 @@ "description": "If true show under event type settings but don't show this booking field in the Booker. If false show in both." } }, - "required": ["type", "slug", "label", "required", "placeholder", "hidden"] + "required": [ + "type", + "slug", + "label", + "required", + "placeholder", + "hidden" + ] }, "BusinessDaysWindow_2024_06_14": { "type": "object", "properties": { "type": { "type": "string", - "enum": ["businessDays", "calendarDays", "range"], + "enum": [ + "businessDays", + "calendarDays", + "range" + ], "description": "Whether the window should be business days, calendar days or a range of dates" }, "value": { @@ -15057,14 +15954,21 @@ "description": "\n Determines the behavior of the booking window:\n - If **true**, the window is rolling. This means the number of available days will always be equal the specified 'value' \n and adjust dynamically as bookings are made. For example, if 'value' is 3 and availability is only on Mondays, \n a booker attempting to schedule on November 10 will see slots on November 11, 18, and 25. As one of these days \n becomes fully booked, a new day (e.g., December 2) will open up to ensure 3 available days are always visible.\n - If **false**, the window is fixed. This means the booking window only considers the next 'value' days from the\n moment someone is trying to book. For example, if 'value' is 3, availability is only on Mondays, and the current \n date is November 10, the booker will only see slots on November 11 because the window is restricted to the next \n 3 calendar days (November 10–12).\n " } }, - "required": ["type", "value"] + "required": [ + "type", + "value" + ] }, "CalendarDaysWindow_2024_06_14": { "type": "object", "properties": { "type": { "type": "string", - "enum": ["businessDays", "calendarDays", "range"], + "enum": [ + "businessDays", + "calendarDays", + "range" + ], "description": "Whether the window should be business days, calendar days or a range of dates" }, "value": { @@ -15078,18 +15982,28 @@ "description": "\n Determines the behavior of the booking window:\n - If **true**, the window is rolling. This means the number of available days will always be equal the specified 'value' \n and adjust dynamically as bookings are made. For example, if 'value' is 3 and availability is only on Mondays, \n a booker attempting to schedule on November 10 will see slots on November 11, 18, and 25. As one of these days \n becomes fully booked, a new day (e.g., December 2) will open up to ensure 3 available days are always visible.\n - If **false**, the window is fixed. This means the booking window only considers the next 'value' days from the\n moment someone is trying to book. For example, if 'value' is 3, availability is only on Mondays, and the current \n date is November 10, the booker will only see slots on November 11 because the window is restricted to the next \n 3 calendar days (November 10–12).\n " } }, - "required": ["type", "value"] + "required": [ + "type", + "value" + ] }, "RangeWindow_2024_06_14": { "type": "object", "properties": { "type": { "type": "string", - "enum": ["businessDays", "calendarDays", "range"], + "enum": [ + "businessDays", + "calendarDays", + "range" + ], "description": "Whether the window should be business days, calendar days or a range of dates" }, "value": { - "example": ["2030-09-05", "2030-09-09"], + "example": [ + "2030-09-05", + "2030-09-09" + ], "description": "Date range for when this event can be booked.", "type": "array", "items": { @@ -15097,7 +16011,10 @@ } } }, - "required": ["type", "value"] + "required": [ + "type", + "value" + ] }, "BaseBookingLimitsCount_2024_06_14": { "type": "object", @@ -15138,7 +16055,9 @@ "default": false } }, - "required": ["disabled"] + "required": [ + "disabled" + ] }, "BaseBookingLimitsDuration_2024_06_14": { "type": "object", @@ -15180,10 +16099,18 @@ }, "frequency": { "type": "string", - "enum": ["yearly", "monthly", "weekly"] + "enum": [ + "yearly", + "monthly", + "weekly" + ] } }, - "required": ["interval", "occurrences", "frequency"] + "required": [ + "interval", + "occurrences", + "frequency" + ] }, "NoticeThreshold_2024_06_14": { "type": "object", @@ -15199,7 +16126,10 @@ "example": 30 } }, - "required": ["unit", "count"] + "required": [ + "unit", + "count" + ] }, "BaseConfirmationPolicy_2024_06_14": { "type": "object", @@ -15207,7 +16137,10 @@ "type": { "type": "string", "description": "The policy that determines when confirmation is required", - "enum": ["always", "time"], + "enum": [ + "always", + "time" + ], "example": "always" }, "noticeThreshold": { @@ -15223,7 +16156,10 @@ "description": "Unconfirmed bookings still block calendar slots." } }, - "required": ["type", "blockUnconfirmedBookingsInBooker"] + "required": [ + "type", + "blockUnconfirmedBookingsInBooker" + ] }, "Seats_2024_06_14": { "type": "object", @@ -15244,7 +16180,11 @@ "example": true } }, - "required": ["seatsPerTimeSlot", "showAttendeeInfo", "showAvailabilityCount"] + "required": [ + "seatsPerTimeSlot", + "showAttendeeInfo", + "showAvailabilityCount" + ] }, "InputAttendeeAddressLocation_2024_06_14": { "type": "object", @@ -15255,7 +16195,9 @@ "description": "only allowed value for type is `attendeeAddress`" } }, - "required": ["type"] + "required": [ + "type" + ] }, "InputAttendeePhoneLocation_2024_06_14": { "type": "object", @@ -15266,7 +16208,9 @@ "description": "only allowed value for type is `attendeePhone`" } }, - "required": ["type"] + "required": [ + "type" + ] }, "InputAttendeeDefinedLocation_2024_06_14": { "type": "object", @@ -15277,7 +16221,9 @@ "description": "only allowed value for type is `attendeeDefined`" } }, - "required": ["type"] + "required": [ + "type" + ] }, "NameDefaultFieldInput_2024_06_14": { "type": "object", @@ -15298,7 +16244,11 @@ "description": "Disable this booking field if the URL contains query parameter with key equal to the slug and prefill it with the provided value. For example, if URL contains query parameter `&name=bob`, the name field will be prefilled with this value and disabled. In case of Booker atom need to pass 'name' to defaultFormValues prop with the desired value e.g. `defaultFormValues={{name: 'bob'}}`. See guide https://cal.com/docs/platform/guides/booking-fields" } }, - "required": ["type", "label", "placeholder"] + "required": [ + "type", + "label", + "placeholder" + ] }, "EmailDefaultFieldInput_2024_06_14": { "type": "object", @@ -15327,7 +16277,11 @@ "description": "Disable this booking field if the URL contains query parameter with key equal to the slug and prefill it with the provided value. For example, if URL contains query parameter `&email=bob@gmail.com`, the email field will be prefilled with this value and disabled. In case of Booker atom need to pass 'email' to defaultFormValues prop with the desired value e.g. `defaultFormValues={{email: 'bob@gmail.com'}}`. See guide https://cal.com/docs/platform/guides/booking-field" } }, - "required": ["type", "label", "placeholder"] + "required": [ + "type", + "label", + "placeholder" + ] }, "TitleDefaultFieldInput_2024_06_14": { "type": "object", @@ -15355,7 +16309,9 @@ "description": "Disable this booking field if the URL contains query parameter with key equal to the slug and prefill it with the provided value. For example, if URL contains query parameter `&title=journey`, the title field will be prefilled with this value and disabled. In case of Booker atom need to pass 'title' to defaultFormValues prop with the desired value e.g. `defaultFormValues={{title: 'very important meeting'}}`. See guide https://cal.com/docs/platform/guides/booking-field" } }, - "required": ["slug"] + "required": [ + "slug" + ] }, "LocationDefaultFieldInput_2024_06_14": { "type": "object", @@ -15369,7 +16325,9 @@ "type": "string" } }, - "required": ["slug"] + "required": [ + "slug" + ] }, "NotesDefaultFieldInput_2024_06_14": { "type": "object", @@ -15397,7 +16355,9 @@ "description": "Disable this booking field if the URL contains query parameter with key equal to the slug and prefill it with the provided value. For example, if URL contains query parameter `¬es=journey`, the notes field will be prefilled with this value and disabled. In case of Booker atom need to pass 'notes' to defaultFormValues prop with the desired value e.g. `defaultFormValues={{notes: 'bring notebook and paper'}}`. See guide https://cal.com/docs/platform/guides/booking-field" } }, - "required": ["slug"] + "required": [ + "slug" + ] }, "GuestsDefaultFieldInput_2024_06_14": { "type": "object", @@ -15425,7 +16385,9 @@ "description": "Disable this booking field if the URL contains query parameter with key equal to the slug and prefill it with the provided value. For example, if URL contains query parameter `&guests=bob@cal.com`, the guests field will be prefilled with this value and disabled. In case of Booker atom need to pass 'guests' to defaultFormValues prop with the desired value e.g. `defaultFormValues={{guests: ['bob@gmail.com', 'alice@gmail.com']}}`. See guide https://cal.com/docs/platform/guides/booking-field" } }, - "required": ["slug"] + "required": [ + "slug" + ] }, "RescheduleReasonDefaultFieldInput_2024_06_14": { "type": "object", @@ -15453,7 +16415,9 @@ "description": "Disable this booking field if the URL contains query parameter with key equal to the slug and prefill it with the provided value. For example, if URL contains query parameter `&rescheduleReason=travel`, the rescheduleReason field will be prefilled with this value and disabled. In case of Booker atom need to pass 'rescheduleReason' to defaultFormValues prop with the desired value e.g. `defaultFormValues={{rescheduleReason: 'bob'}}`. See guide https://cal.com/docs/platform/guides/booking-field" } }, - "required": ["slug"] + "required": [ + "slug" + ] }, "InputOrganizersDefaultApp_2024_06_14": { "type": "object", @@ -15464,7 +16428,9 @@ "description": "only allowed value for type is `organizersDefaultApp`" } }, - "required": ["type"] + "required": [ + "type" + ] }, "CalVideoSettings": { "type": "object", @@ -15495,7 +16461,11 @@ "example": 60 }, "lengthInMinutesOptions": { - "example": [15, 30, 60], + "example": [ + 15, + 30, + 60 + ], "description": "If you want that user can choose between different lengths of the event you can specify them here. Must include the provided `lengthInMinutes`.", "type": "array", "items": { @@ -15772,7 +16742,11 @@ } } }, - "required": ["lengthInMinutes", "title", "slug"] + "required": [ + "lengthInMinutes", + "title", + "slug" + ] }, "OutputAddressLocation_2024_06_14": { "type": "object", @@ -15801,7 +16775,11 @@ "type": "boolean" } }, - "required": ["type", "address", "public"] + "required": [ + "type", + "address", + "public" + ] }, "OutputLinkLocation_2024_06_14": { "type": "object", @@ -15829,7 +16807,11 @@ "type": "boolean" } }, - "required": ["type", "link", "public"] + "required": [ + "type", + "link", + "public" + ] }, "OutputIntegrationLocation_2024_06_14": { "type": "object", @@ -15895,7 +16877,10 @@ "description": "Credential ID associated with the integration" } }, - "required": ["type", "integration"] + "required": [ + "type", + "integration" + ] }, "OutputPhoneLocation_2024_06_14": { "type": "object", @@ -15923,7 +16908,11 @@ "type": "boolean" } }, - "required": ["type", "phone", "public"] + "required": [ + "type", + "phone", + "public" + ] }, "OutputOrganizersDefaultAppLocation_2024_06_14": { "type": "object", @@ -15946,7 +16935,9 @@ "description": "only allowed value for type is `organizersDefaultApp`" } }, - "required": ["type"] + "required": [ + "type" + ] }, "OutputUnknownLocation_2024_06_14": { "type": "object", @@ -15972,7 +16963,10 @@ "type": "string" } }, - "required": ["type", "location"] + "required": [ + "type", + "location" + ] }, "EmailDefaultFieldOutput_2024_06_14": { "type": "object", @@ -16029,7 +17023,11 @@ "default": "email" } }, - "required": ["type", "isDefault", "slug"] + "required": [ + "type", + "isDefault", + "slug" + ] }, "NameDefaultFieldOutput_2024_06_14": { "type": "object", @@ -16080,7 +17078,12 @@ "type": "boolean" } }, - "required": ["type", "isDefault", "slug", "required"] + "required": [ + "type", + "isDefault", + "slug", + "required" + ] }, "LocationDefaultFieldOutput_2024_06_14": { "type": "object", @@ -16111,14 +17114,26 @@ "type": "string" } }, - "required": ["isDefault", "slug", "type", "required", "hidden"] + "required": [ + "isDefault", + "slug", + "type", + "required", + "hidden" + ] }, "RescheduleReasonDefaultFieldOutput_2024_06_14": { "type": "object", "properties": { "slug": { "type": "string", - "enum": ["title", "location", "notes", "guests", "rescheduleReason"], + "enum": [ + "title", + "location", + "notes", + "guests", + "rescheduleReason" + ], "example": "rescheduleReason", "description": "only allowed value for type is `rescheduleReason`", "default": "rescheduleReason" @@ -16151,14 +17166,24 @@ "default": "textarea" } }, - "required": ["slug", "isDefault", "type"] + "required": [ + "slug", + "isDefault", + "type" + ] }, "TitleDefaultFieldOutput_2024_06_14": { "type": "object", "properties": { "slug": { "type": "string", - "enum": ["title", "location", "notes", "guests", "rescheduleReason"], + "enum": [ + "title", + "location", + "notes", + "guests", + "rescheduleReason" + ], "example": "title", "description": "only allowed value for type is `title`", "default": "title" @@ -16191,14 +17216,24 @@ "default": "text" } }, - "required": ["slug", "isDefault", "type"] + "required": [ + "slug", + "isDefault", + "type" + ] }, "NotesDefaultFieldOutput_2024_06_14": { "type": "object", "properties": { "slug": { "type": "string", - "enum": ["title", "location", "notes", "guests", "rescheduleReason"], + "enum": [ + "title", + "location", + "notes", + "guests", + "rescheduleReason" + ], "example": "notes", "description": "only allowed value for type is `notes`", "default": "notes" @@ -16231,14 +17266,24 @@ "default": "textarea" } }, - "required": ["slug", "isDefault", "type"] + "required": [ + "slug", + "isDefault", + "type" + ] }, "GuestsDefaultFieldOutput_2024_06_14": { "type": "object", "properties": { "slug": { "type": "string", - "enum": ["title", "location", "notes", "guests", "rescheduleReason"], + "enum": [ + "title", + "location", + "notes", + "guests", + "rescheduleReason" + ], "example": "guests", "description": "only allowed value for type is `guests`", "default": "guests" @@ -16271,7 +17316,11 @@ "default": "multiemail" } }, - "required": ["slug", "isDefault", "type"] + "required": [ + "slug", + "isDefault", + "type" + ] }, "AddressFieldOutput_2024_06_14": { "type": "object", @@ -16328,7 +17377,14 @@ "example": false } }, - "required": ["type", "slug", "label", "required", "hidden", "isDefault"] + "required": [ + "type", + "slug", + "label", + "required", + "hidden", + "isDefault" + ] }, "BooleanFieldOutput_2024_06_14": { "type": "object", @@ -16381,7 +17437,14 @@ "example": false } }, - "required": ["type", "slug", "label", "required", "hidden", "isDefault"] + "required": [ + "type", + "slug", + "label", + "required", + "hidden", + "isDefault" + ] }, "CheckboxGroupFieldOutput_2024_06_14": { "type": "object", @@ -16420,7 +17483,10 @@ "type": "boolean" }, "options": { - "example": ["Checkbox 1", "Checkbox 2"], + "example": [ + "Checkbox 1", + "Checkbox 2" + ], "type": "array", "items": { "type": "string" @@ -16441,7 +17507,15 @@ "example": false } }, - "required": ["type", "slug", "label", "required", "options", "hidden", "isDefault"] + "required": [ + "type", + "slug", + "label", + "required", + "options", + "hidden", + "isDefault" + ] }, "MultiEmailFieldOutput_2024_06_14": { "type": "object", @@ -16498,7 +17572,14 @@ "example": false } }, - "required": ["type", "slug", "label", "required", "hidden", "isDefault"] + "required": [ + "type", + "slug", + "label", + "required", + "hidden", + "isDefault" + ] }, "MultiSelectFieldOutput_2024_06_14": { "type": "object", @@ -16537,7 +17618,10 @@ "type": "boolean" }, "options": { - "example": ["Option 1", "Option 2"], + "example": [ + "Option 1", + "Option 2" + ], "type": "array", "items": { "type": "string" @@ -16558,7 +17642,15 @@ "example": false } }, - "required": ["type", "slug", "label", "required", "options", "hidden", "isDefault"] + "required": [ + "type", + "slug", + "label", + "required", + "options", + "hidden", + "isDefault" + ] }, "UrlFieldOutput_2024_06_14": { "type": "object", @@ -16615,7 +17707,14 @@ "example": false } }, - "required": ["type", "slug", "label", "required", "hidden", "isDefault"] + "required": [ + "type", + "slug", + "label", + "required", + "hidden", + "isDefault" + ] }, "NumberFieldOutput_2024_06_14": { "type": "object", @@ -16672,7 +17771,14 @@ "example": false } }, - "required": ["type", "slug", "label", "required", "hidden", "isDefault"] + "required": [ + "type", + "slug", + "label", + "required", + "hidden", + "isDefault" + ] }, "PhoneFieldOutput_2024_06_14": { "type": "object", @@ -16727,7 +17833,14 @@ "example": false } }, - "required": ["type", "slug", "label", "required", "hidden", "isDefault"] + "required": [ + "type", + "slug", + "label", + "required", + "hidden", + "isDefault" + ] }, "RadioGroupFieldOutput_2024_06_14": { "type": "object", @@ -16766,7 +17879,10 @@ "type": "boolean" }, "options": { - "example": ["Radio 1", "Radio 2"], + "example": [ + "Radio 1", + "Radio 2" + ], "type": "array", "items": { "type": "string" @@ -16787,7 +17903,15 @@ "example": false } }, - "required": ["type", "slug", "label", "required", "options", "hidden", "isDefault"] + "required": [ + "type", + "slug", + "label", + "required", + "options", + "hidden", + "isDefault" + ] }, "SelectFieldOutput_2024_06_14": { "type": "object", @@ -16830,7 +17954,10 @@ "example": "Select..." }, "options": { - "example": ["Option 1", "Option 2"], + "example": [ + "Option 1", + "Option 2" + ], "type": "array", "items": { "type": "string" @@ -16851,7 +17978,15 @@ "example": false } }, - "required": ["type", "slug", "label", "required", "options", "hidden", "isDefault"] + "required": [ + "type", + "slug", + "label", + "required", + "options", + "hidden", + "isDefault" + ] }, "TextAreaFieldOutput_2024_06_14": { "type": "object", @@ -16908,7 +18043,14 @@ "example": false } }, - "required": ["type", "slug", "label", "required", "hidden", "isDefault"] + "required": [ + "type", + "slug", + "label", + "required", + "hidden", + "isDefault" + ] }, "TextFieldOutput_2024_06_14": { "type": "object", @@ -16965,7 +18107,14 @@ "example": false } }, - "required": ["type", "slug", "label", "required", "hidden", "isDefault"] + "required": [ + "type", + "slug", + "label", + "required", + "hidden", + "isDefault" + ] }, "EventTypeOutput_2024_06_14": { "type": "object", @@ -16979,7 +18128,11 @@ "example": 60 }, "lengthInMinutesOptions": { - "example": [15, 30, 60], + "example": [ + 15, + 30, + 60 + ], "description": "If you want that user can choose between different lengths of the event you can specify them here. Must include the provided `lengthInMinutes`.", "type": "array", "items": { @@ -17268,21 +18421,30 @@ "properties": { "status": { "type": "string", - "enum": ["success", "error"], + "enum": [ + "success", + "error" + ], "example": "success" }, "data": { "$ref": "#/components/schemas/EventTypeOutput_2024_06_14" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "GetEventTypeOutput_2024_06_14": { "type": "object", "properties": { "status": { "type": "string", - "enum": ["success", "error"], + "enum": [ + "success", + "error" + ], "example": "success" }, "data": { @@ -17294,14 +18456,20 @@ ] } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "GetEventTypesOutput_2024_06_14": { "type": "object", "properties": { "status": { "type": "string", - "enum": ["success", "error"], + "enum": [ + "success", + "error" + ], "example": "success" }, "data": { @@ -17311,7 +18479,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UpdateEventTypeInput_2024_06_14": { "type": "object", @@ -17321,7 +18492,11 @@ "example": 60 }, "lengthInMinutesOptions": { - "example": [15, 30, 60], + "example": [ + 15, + 30, + 60 + ], "description": "If you want that user can choose between different lengths of the event you can specify them here. Must include the provided `lengthInMinutes`.", "type": "array", "items": { @@ -17601,14 +18776,20 @@ "properties": { "status": { "type": "string", - "enum": ["success", "error"], + "enum": [ + "success", + "error" + ], "example": "success" }, "data": { "$ref": "#/components/schemas/EventTypeOutput_2024_06_14" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "DeleteData_2024_06_14": { "type": "object", @@ -17629,21 +18810,32 @@ "type": "string" } }, - "required": ["id", "lengthInMinutes", "title", "slug"] + "required": [ + "id", + "lengthInMinutes", + "title", + "slug" + ] }, "DeleteEventTypeOutput_2024_06_14": { "type": "object", "properties": { "status": { "type": "string", - "enum": ["success", "error"], + "enum": [ + "success", + "error" + ], "example": "success" }, "data": { "$ref": "#/components/schemas/DeleteData_2024_06_14" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "SelectedCalendarsInputDto": { "type": "object", @@ -17661,9 +18853,13 @@ "type": "string" } }, - "required": ["integration", "externalId", "credentialId"] - }, - "SelectedCalendarOutputDto": { + "required": [ + "integration", + "externalId", + "credentialId" + ] + }, + "SelectedCalendarOutputDto": { "type": "object", "properties": { "userId": { @@ -17680,7 +18876,12 @@ "nullable": true } }, - "required": ["userId", "integration", "externalId", "credentialId"] + "required": [ + "userId", + "integration", + "externalId", + "credentialId" + ] }, "SelectedCalendarOutputResponseDto": { "type": "object", @@ -17688,13 +18889,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/SelectedCalendarOutputDto" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "OrgTeamOutputDto": { "type": "object", @@ -17770,7 +18977,11 @@ "default": "Sunday" } }, - "required": ["id", "name", "isOrganization"] + "required": [ + "id", + "name", + "isOrganization" + ] }, "OrgTeamsOutputResponseDto": { "type": "object", @@ -17778,7 +18989,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "array", @@ -17787,7 +19001,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "OrgMeTeamsOutputResponseDto": { "type": "object", @@ -17795,7 +19012,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "array", @@ -17804,7 +19024,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "OrgTeamOutputResponseDto": { "type": "object", @@ -17812,13 +19035,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/OrgTeamOutputDto" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UpdateOrgTeamDto": { "type": "object", @@ -17983,19 +19212,40 @@ "description": "If you are a platform customer, don't pass 'false', because then team creator won't be able to create team event types." } }, - "required": ["name"] + "required": [ + "name" + ] }, "ScheduleAvailabilityInput_2024_06_11": { "type": "object", "properties": { "days": { "type": "array", - "enum": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], - "example": ["Monday", "Tuesday"], + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "example": [ + "Monday", + "Tuesday" + ], "description": "Array of days when schedule is active.", "items": { "type": "string", - "enum": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"] + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ] } }, "startTime": { @@ -18011,7 +19261,11 @@ "description": "endTime must be a valid time in format HH:MM e.g. 15:00" } }, - "required": ["days", "startTime", "endTime"] + "required": [ + "days", + "startTime", + "endTime" + ] }, "ScheduleOverrideInput_2024_06_11": { "type": "object", @@ -18033,7 +19287,11 @@ "description": "endTime must be a valid time in format HH:MM e.g. 13:00" } }, - "required": ["date", "startTime", "endTime"] + "required": [ + "date", + "startTime", + "endTime" + ] }, "ScheduleOutput_2024_06_11": { "type": "object", @@ -18057,12 +19315,18 @@ "availability": { "example": [ { - "days": ["Monday", "Tuesday"], + "days": [ + "Monday", + "Tuesday" + ], "startTime": "17:00", "endTime": "19:00" }, { - "days": ["Wednesday", "Thursday"], + "days": [ + "Wednesday", + "Thursday" + ], "startTime": "16:00", "endTime": "20:00" } @@ -18090,7 +19354,15 @@ } } }, - "required": ["id", "ownerId", "name", "timeZone", "availability", "isDefault", "overrides"] + "required": [ + "id", + "ownerId", + "name", + "timeZone", + "availability", + "isDefault", + "overrides" + ] }, "GetSchedulesOutput_2024_06_11": { "type": "object", @@ -18098,7 +19370,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "array", @@ -18110,7 +19385,10 @@ "type": "object" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "CreateScheduleInput_2024_06_11": { "type": "object", @@ -18128,12 +19406,18 @@ "description": "Each object contains days and times when the user is available. If not passed, the default availability is Monday to Friday from 09:00 to 17:00.", "example": [ { - "days": ["Monday", "Tuesday"], + "days": [ + "Monday", + "Tuesday" + ], "startTime": "17:00", "endTime": "19:00" }, { - "days": ["Wednesday", "Thursday"], + "days": [ + "Wednesday", + "Thursday" + ], "startTime": "16:00", "endTime": "20:00" } @@ -18163,7 +19447,11 @@ } } }, - "required": ["name", "timeZone", "isDefault"] + "required": [ + "name", + "timeZone", + "isDefault" + ] }, "CreateScheduleOutput_2024_06_11": { "type": "object", @@ -18171,13 +19459,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/ScheduleOutput_2024_06_11" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "GetScheduleOutput_2024_06_11": { "type": "object", @@ -18185,7 +19479,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "nullable": true, @@ -18199,7 +19496,10 @@ "type": "object" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UpdateScheduleInput_2024_06_11": { "type": "object", @@ -18215,7 +19515,10 @@ "availability": { "example": [ { - "days": ["Monday", "Tuesday"], + "days": [ + "Monday", + "Tuesday" + ], "startTime": "09:00", "endTime": "10:00" } @@ -18250,7 +19553,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/ScheduleOutput_2024_06_11" @@ -18259,7 +19565,10 @@ "type": "object" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "DeleteScheduleOutput_2024_06_11": { "type": "object", @@ -18267,10 +19576,15 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] } }, - "required": ["status"] + "required": [ + "status" + ] }, "ProfileOutput": { "type": "object", @@ -18297,7 +19611,11 @@ "example": "john_doe" } }, - "required": ["id", "organizationId", "userId"] + "required": [ + "id", + "organizationId", + "userId" + ] }, "GetOrgUsersWithProfileOutput": { "type": "object", @@ -18439,7 +19757,15 @@ ] } }, - "required": ["id", "email", "timeZone", "weekStart", "hideBranding", "createdDate", "profile"] + "required": [ + "id", + "email", + "timeZone", + "weekStart", + "hideBranding", + "createdDate", + "profile" + ] }, "GetOrganizationUsersResponseDTO": { "type": "object", @@ -18447,7 +19773,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "array", @@ -18456,7 +19785,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "CreateOrganizationUserInput": { "type": "object", @@ -18546,14 +19878,20 @@ "organizationRole": { "type": "string", "default": "MEMBER", - "enum": ["MEMBER", "ADMIN", "OWNER"] + "enum": [ + "MEMBER", + "ADMIN", + "OWNER" + ] }, "autoAccept": { "type": "boolean", "default": true } }, - "required": ["email"] + "required": [ + "email" + ] }, "GetOrganizationUserOutput": { "type": "object", @@ -18561,13 +19899,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/GetOrgUsersWithProfileOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UpdateOrganizationUserInput": { "type": "object", @@ -18583,7 +19927,10 @@ "type": "string" } }, - "required": ["id", "name"] + "required": [ + "id", + "name" + ] }, "TextAttribute": { "type": "object", @@ -18604,7 +19951,13 @@ "type": "string" } }, - "required": ["id", "name", "type", "option", "optionId"] + "required": [ + "id", + "name", + "type", + "option", + "optionId" + ] }, "NumberAttribute": { "type": "object", @@ -18625,7 +19978,13 @@ "type": "string" } }, - "required": ["id", "name", "type", "option", "optionId"] + "required": [ + "id", + "name", + "type", + "option", + "optionId" + ] }, "SingleSelectAttribute": { "type": "object", @@ -18646,7 +20005,13 @@ "type": "string" } }, - "required": ["id", "name", "type", "option", "optionId"] + "required": [ + "id", + "name", + "type", + "option", + "optionId" + ] }, "MultiSelectAttributeOption": { "type": "object", @@ -18658,7 +20023,10 @@ "type": "string" } }, - "required": ["optionId", "option"] + "required": [ + "optionId", + "option" + ] }, "MultiSelectAttribute": { "type": "object", @@ -18679,7 +20047,12 @@ } } }, - "required": ["id", "name", "type", "options"] + "required": [ + "id", + "name", + "type", + "options" + ] }, "MembershipUserOutputDto": { "type": "object", @@ -18706,7 +20079,9 @@ } } }, - "required": ["email"] + "required": [ + "email" + ] }, "OrganizationMembershipOutput": { "type": "object", @@ -18725,7 +20100,11 @@ }, "role": { "type": "string", - "enum": ["MEMBER", "OWNER", "ADMIN"] + "enum": [ + "MEMBER", + "OWNER", + "ADMIN" + ] }, "disableImpersonation": { "type": "boolean" @@ -18753,7 +20132,15 @@ } } }, - "required": ["id", "userId", "teamId", "accepted", "role", "user", "attributes"] + "required": [ + "id", + "userId", + "teamId", + "accepted", + "role", + "user", + "attributes" + ] }, "GetAllOrgMemberships": { "type": "object", @@ -18761,13 +20148,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/OrganizationMembershipOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "CreateOrgMembershipDto": { "type": "object", @@ -18782,7 +20175,11 @@ "role": { "type": "string", "default": "MEMBER", - "enum": ["MEMBER", "OWNER", "ADMIN"], + "enum": [ + "MEMBER", + "OWNER", + "ADMIN" + ], "description": "If you are platform customer then managed users should only have MEMBER role." }, "disableImpersonation": { @@ -18790,7 +20187,10 @@ "default": false } }, - "required": ["userId", "role"] + "required": [ + "userId", + "role" + ] }, "CreateOrgMembershipOutput": { "type": "object", @@ -18798,13 +20198,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/OrganizationMembershipOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "GetOrgMembership": { "type": "object", @@ -18812,13 +20218,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/OrganizationMembershipOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "DeleteOrgMembership": { "type": "object", @@ -18826,13 +20238,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/OrganizationMembershipOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UpdateOrgMembershipDto": { "type": "object", @@ -18842,7 +20260,11 @@ }, "role": { "type": "string", - "enum": ["MEMBER", "OWNER", "ADMIN"] + "enum": [ + "MEMBER", + "OWNER", + "ADMIN" + ] }, "disableImpersonation": { "type": "boolean" @@ -18855,13 +20277,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/OrganizationMembershipOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "Host": { "type": "object", @@ -18876,10 +20304,18 @@ }, "priority": { "type": "string", - "enum": ["lowest", "low", "medium", "high", "highest"] + "enum": [ + "lowest", + "low", + "medium", + "high", + "highest" + ] } }, - "required": ["userId"] + "required": [ + "userId" + ] }, "CreateTeamEventTypeInput_2024_06_14": { "type": "object", @@ -18889,7 +20325,11 @@ "example": 60 }, "lengthInMinutesOptions": { - "example": [15, 30, 60], + "example": [ + 15, + 30, + 60 + ], "description": "If you want that user can choose between different lengths of the event you can specify them here. Must include the provided `lengthInMinutes`.", "type": "array", "items": { @@ -19138,7 +20578,11 @@ }, "schedulingType": { "type": "string", - "enum": ["collective", "roundRobin", "managed"], + "enum": [ + "collective", + "roundRobin", + "managed" + ], "example": "collective", "description": "The scheduling type for the team event - collective, roundRobin or managed." }, @@ -19186,7 +20630,12 @@ } } }, - "required": ["lengthInMinutes", "title", "slug", "schedulingType"] + "required": [ + "lengthInMinutes", + "title", + "slug", + "schedulingType" + ] }, "CreateTeamEventTypeOutput": { "type": "object", @@ -19194,7 +20643,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "oneOf": [ @@ -19210,7 +20662,10 @@ ] } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "TeamEventTypeResponseHost": { "type": "object", @@ -19227,7 +20682,13 @@ "priority": { "type": "string", "default": "medium", - "enum": ["lowest", "low", "medium", "high", "highest"] + "enum": [ + "lowest", + "low", + "medium", + "high", + "highest" + ] }, "name": { "type": "string", @@ -19243,7 +20704,11 @@ "example": "https://cal.com/api/avatar/d95949bc-ccb1-400f-acf6-045c51a16856.png" } }, - "required": ["userId", "name", "username"] + "required": [ + "userId", + "name", + "username" + ] }, "EventTypeTeam": { "type": "object", @@ -19276,7 +20741,9 @@ "type": "string" } }, - "required": ["id"] + "required": [ + "id" + ] }, "TeamEventTypeOutput_2024_06_14": { "type": "object", @@ -19291,7 +20758,11 @@ "example": 60 }, "lengthInMinutesOptions": { - "example": [15, 30, 60], + "example": [ + 15, + 30, + 60 + ], "description": "If you want that user can choose between different lengths of the event you can specify them here. Must include the provided `lengthInMinutes`.", "type": "array", "items": { @@ -19569,7 +21040,11 @@ }, "schedulingType": { "type": "string", - "enum": ["roundRobin", "collective", "managed"] + "enum": [ + "roundRobin", + "collective", + "managed" + ] }, "team": { "$ref": "#/components/schemas/EventTypeTeam" @@ -19605,13 +21080,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/TeamEventTypeOutput_2024_06_14" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "CreatePhoneCallInput": { "type": "object", @@ -19637,7 +21118,10 @@ }, "templateType": { "default": "CUSTOM_TEMPLATE", - "enum": ["CHECK_IN_APPOINTMENT", "CUSTOM_TEMPLATE"], + "enum": [ + "CHECK_IN_APPOINTMENT", + "CUSTOM_TEMPLATE" + ], "type": "string", "description": "Template type" }, @@ -19666,7 +21150,13 @@ "description": "General prompt" } }, - "required": ["yourPhoneNumber", "numberToCall", "calApiKey", "enabled", "templateType"] + "required": [ + "yourPhoneNumber", + "numberToCall", + "calApiKey", + "enabled", + "templateType" + ] }, "Data": { "type": "object", @@ -19678,7 +21168,9 @@ "type": "string" } }, - "required": ["callId"] + "required": [ + "callId" + ] }, "CreatePhoneCallOutput": { "type": "object", @@ -19686,13 +21178,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/Data" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "GetTeamEventTypesOutput": { "type": "object", @@ -19700,7 +21198,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "array", @@ -19709,7 +21210,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UpdateTeamEventTypeInput_2024_06_14": { "type": "object", @@ -19719,7 +21223,11 @@ "example": 60 }, "lengthInMinutesOptions": { - "example": [15, 30, 60], + "example": [ + 15, + 30, + 60 + ], "description": "If you want that user can choose between different lengths of the event you can specify them here. Must include the provided `lengthInMinutes`.", "type": "array", "items": { @@ -20013,7 +21521,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "oneOf": [ @@ -20029,7 +21540,10 @@ ] } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "DeleteTeamEventTypeOutput": { "type": "object", @@ -20037,13 +21551,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "object" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "TeamMembershipOutput": { "type": "object", @@ -20062,7 +21582,11 @@ }, "role": { "type": "string", - "enum": ["MEMBER", "OWNER", "ADMIN"] + "enum": [ + "MEMBER", + "OWNER", + "ADMIN" + ] }, "disableImpersonation": { "type": "boolean" @@ -20071,7 +21595,14 @@ "$ref": "#/components/schemas/MembershipUserOutputDto" } }, - "required": ["id", "userId", "teamId", "accepted", "role", "user"] + "required": [ + "id", + "userId", + "teamId", + "accepted", + "role", + "user" + ] }, "OrgTeamMembershipsOutputResponseDto": { "type": "object", @@ -20079,7 +21610,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "array", @@ -20088,7 +21622,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "OrgTeamMembershipOutputResponseDto": { "type": "object", @@ -20096,15 +21633,21 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/TeamMembershipOutput" } }, - "required": ["status", "data"] - }, - "UpdateOrgTeamMembershipDto": { + "required": [ + "status", + "data" + ] + }, + "UpdateOrgTeamMembershipDto": { "type": "object", "properties": { "accepted": { @@ -20112,7 +21655,11 @@ }, "role": { "type": "string", - "enum": ["MEMBER", "OWNER", "ADMIN"] + "enum": [ + "MEMBER", + "OWNER", + "ADMIN" + ] }, "disableImpersonation": { "type": "boolean" @@ -20132,14 +21679,21 @@ "role": { "type": "string", "default": "MEMBER", - "enum": ["MEMBER", "OWNER", "ADMIN"] + "enum": [ + "MEMBER", + "OWNER", + "ADMIN" + ] }, "disableImpersonation": { "type": "boolean", "default": false } }, - "required": ["userId", "role"] + "required": [ + "userId", + "role" + ] }, "Attribute": { "type": "object", @@ -20157,7 +21711,12 @@ "type": { "type": "string", "description": "The type of the attribute", - "enum": ["TEXT", "NUMBER", "SINGLE_SELECT", "MULTI_SELECT"] + "enum": [ + "TEXT", + "NUMBER", + "SINGLE_SELECT", + "MULTI_SELECT" + ] }, "name": { "type": "string", @@ -20180,7 +21739,14 @@ "example": true } }, - "required": ["id", "teamId", "type", "name", "slug", "enabled"] + "required": [ + "id", + "teamId", + "type", + "name", + "slug", + "enabled" + ] }, "GetOrganizationAttributesOutput": { "type": "object", @@ -20188,7 +21754,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "array", @@ -20197,7 +21766,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "GetSingleAttributeOutput": { "type": "object", @@ -20205,7 +21777,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "nullable": true, @@ -20216,7 +21791,10 @@ ] } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "CreateOrganizationAttributeOptionInput": { "type": "object", @@ -20228,7 +21806,10 @@ "type": "string" } }, - "required": ["value", "slug"] + "required": [ + "value", + "slug" + ] }, "CreateOrganizationAttributeInput": { "type": "object", @@ -20241,7 +21822,12 @@ }, "type": { "type": "string", - "enum": ["TEXT", "NUMBER", "SINGLE_SELECT", "MULTI_SELECT"] + "enum": [ + "TEXT", + "NUMBER", + "SINGLE_SELECT", + "MULTI_SELECT" + ] }, "options": { "type": "array", @@ -20253,7 +21839,12 @@ "type": "boolean" } }, - "required": ["name", "slug", "type", "options"] + "required": [ + "name", + "slug", + "type", + "options" + ] }, "CreateOrganizationAttributesOutput": { "type": "object", @@ -20261,13 +21852,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/Attribute" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UpdateOrganizationAttributeInput": { "type": "object", @@ -20280,7 +21877,12 @@ }, "type": { "type": "string", - "enum": ["TEXT", "NUMBER", "SINGLE_SELECT", "MULTI_SELECT"] + "enum": [ + "TEXT", + "NUMBER", + "SINGLE_SELECT", + "MULTI_SELECT" + ] }, "enabled": { "type": "boolean" @@ -20293,13 +21895,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/Attribute" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "DeleteOrganizationAttributesOutput": { "type": "object", @@ -20307,13 +21915,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/Attribute" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "OptionOutput": { "type": "object", @@ -20339,7 +21953,12 @@ "example": "option-slug" } }, - "required": ["id", "attributeId", "value", "slug"] + "required": [ + "id", + "attributeId", + "value", + "slug" + ] }, "CreateAttributeOptionOutput": { "type": "object", @@ -20347,13 +21966,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/OptionOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "DeleteAttributeOptionOutput": { "type": "object", @@ -20361,13 +21986,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/OptionOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UpdateOrganizationAttributeOptionInput": { "type": "object", @@ -20386,13 +22017,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/OptionOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "GetAllAttributeOptionOutput": { "type": "object", @@ -20400,7 +22037,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "array", @@ -20409,7 +22049,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "AssignedOptionOutput": { "type": "object", @@ -20436,14 +22079,23 @@ }, "assignedUserIds": { "description": "Ids of the users assigned to the attribute option.", - "example": [124, 224], + "example": [ + 124, + 224 + ], "type": "array", "items": { "type": "string" } } }, - "required": ["id", "attributeId", "value", "slug", "assignedUserIds"] + "required": [ + "id", + "attributeId", + "value", + "slug", + "assignedUserIds" + ] }, "GetAllAttributeAssignedOptionOutput": { "type": "object", @@ -20451,7 +22103,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "array", @@ -20460,7 +22115,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "AssignOrganizationAttributeOptionToUserInput": { "type": "object", @@ -20475,7 +22133,9 @@ "type": "string" } }, - "required": ["attributeId"] + "required": [ + "attributeId" + ] }, "AssignOptionUserOutputData": { "type": "object", @@ -20493,7 +22153,11 @@ "description": "The value of the option" } }, - "required": ["id", "memberId", "attributeOptionId"] + "required": [ + "id", + "memberId", + "attributeOptionId" + ] }, "AssignOptionUserOutput": { "type": "object", @@ -20501,13 +22165,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/AssignOptionUserOutputData" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UnassignOptionUserOutput": { "type": "object", @@ -20515,13 +22185,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/AssignOptionUserOutputData" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "GetOptionUserOutputData": { "type": "object", @@ -20543,7 +22219,12 @@ "description": "The slug of the option" } }, - "required": ["id", "attributeId", "value", "slug"] + "required": [ + "id", + "attributeId", + "value", + "slug" + ] }, "GetOptionUserOutput": { "type": "object", @@ -20551,7 +22232,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "array", @@ -20560,7 +22244,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "TeamWebhookOutputDto": { "type": "object", @@ -20592,7 +22279,14 @@ "type": "string" } }, - "required": ["payloadTemplate", "teamId", "id", "triggers", "subscriberUrl", "active"] + "required": [ + "payloadTemplate", + "teamId", + "id", + "triggers", + "subscriberUrl", + "active" + ] }, "TeamWebhooksOutputResponseDto": { "type": "object", @@ -20600,7 +22294,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "array", @@ -20609,7 +22306,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "CreateWebhookInputDto": { "type": "object", @@ -20662,7 +22362,11 @@ "type": "string" } }, - "required": ["active", "subscriberUrl", "triggers"] + "required": [ + "active", + "subscriberUrl", + "triggers" + ] }, "TeamWebhookOutputResponseDto": { "type": "object", @@ -20670,13 +22374,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/TeamWebhookOutputDto" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UpdateWebhookInputDto": { "type": "object", @@ -20759,10 +22469,19 @@ "type": "string", "description": "the reason for the out of office entry, if applicable", "example": "vacation", - "enum": ["unspecified", "vacation", "travel", "sick", "public_holiday"] + "enum": [ + "unspecified", + "vacation", + "travel", + "sick", + "public_holiday" + ] } }, - "required": ["start", "end"] + "required": [ + "start", + "end" + ] }, "UpdateOutOfOfficeEntryDto": { "type": "object", @@ -20793,7 +22512,13 @@ "type": "string", "description": "the reason for the out of office entry, if applicable", "example": "vacation", - "enum": ["unspecified", "vacation", "travel", "sick", "public_holiday"] + "enum": [ + "unspecified", + "vacation", + "travel", + "sick", + "public_holiday" + ] } } }, @@ -20808,7 +22533,10 @@ }, "activeOnEventTypeIds": { "description": "List of Event Type IDs the workflow is specifically active on (if not active on all)", - "example": [698191, 698192], + "example": [ + 698191, + 698192 + ], "type": "array", "items": { "type": "number" @@ -20828,10 +22556,17 @@ "type": "string", "description": "Unit for the offset time", "example": "hour", - "enum": ["hour", "minute", "day"] + "enum": [ + "hour", + "minute", + "day" + ] } }, - "required": ["value", "unit"] + "required": [ + "value", + "unit" + ] }, "WorkflowTriggerOutputDto": { "type": "object", @@ -20859,7 +22594,9 @@ ] } }, - "required": ["type"] + "required": [ + "type" + ] }, "WorkflowMessageOutputDto": { "type": "object", @@ -20880,7 +22617,9 @@ "example": "Reminder for {EVENT_NAME}." } }, - "required": ["subject"] + "required": [ + "subject" + ] }, "WorkflowStepOutputDto": { "type": "object", @@ -20914,7 +22653,12 @@ "type": "string", "description": "Intended recipient type", "example": "const", - "enum": ["const", "attendee", "email", "phone_number"] + "enum": [ + "const", + "attendee", + "email", + "phone_number" + ] }, "email": { "type": "string", @@ -20929,7 +22673,14 @@ "type": "string", "description": "Template type used", "example": "reminder", - "enum": ["reminder", "custom", "rescheduled", "completed", "rating", "cancelled"] + "enum": [ + "reminder", + "custom", + "rescheduled", + "completed", + "rating", + "cancelled" + ] }, "includeCalendarEvent": { "type": "object", @@ -20951,7 +22702,15 @@ ] } }, - "required": ["id", "stepNumber", "action", "recipient", "template", "sender", "message"] + "required": [ + "id", + "stepNumber", + "action", + "recipient", + "template", + "sender", + "message" + ] }, "WorkflowOutput": { "type": "object", @@ -21010,7 +22769,13 @@ "example": "2024-05-12T11:30:00.000Z" } }, - "required": ["id", "name", "activation", "trigger", "steps"] + "required": [ + "id", + "name", + "activation", + "trigger", + "steps" + ] }, "GetWorkflowsOutput": { "type": "object", @@ -21019,7 +22784,10 @@ "type": "string", "description": "Indicates the status of the response", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "description": "List of workflows", @@ -21029,7 +22797,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "GetWorkflowOutput": { "type": "object", @@ -21038,7 +22809,10 @@ "type": "string", "description": "Indicates the status of the response", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "description": "workflow", @@ -21048,7 +22822,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "WorkflowTriggerOffsetDto": { "type": "object", @@ -21060,12 +22837,19 @@ }, "unit": { "type": "object", - "enum": ["hour", "minute", "day"], + "enum": [ + "hour", + "minute", + "day" + ], "description": "Unit for the offset time", "example": "hour" } }, - "required": ["value", "unit"] + "required": [ + "value", + "unit" + ] }, "OnBeforeEventTriggerDto": { "type": "object", @@ -21081,12 +22865,17 @@ "type": { "type": "string", "default": "beforeEvent", - "enum": ["beforeEvent"], + "enum": [ + "beforeEvent" + ], "description": "Trigger type for the workflow", "example": "beforeEvent" } }, - "required": ["offset", "type"] + "required": [ + "offset", + "type" + ] }, "OnAfterEventTriggerDto": { "type": "object", @@ -21102,12 +22891,17 @@ "type": { "type": "string", "default": "afterEvent", - "enum": ["afterEvent"], + "enum": [ + "afterEvent" + ], "description": "Trigger type for the workflow", "example": "afterEvent" } }, - "required": ["offset", "type"] + "required": [ + "offset", + "type" + ] }, "OnCancelTriggerDto": { "type": "object", @@ -21115,11 +22909,15 @@ "type": { "type": "string", "default": "eventCancelled", - "enum": ["eventCancelled"], + "enum": [ + "eventCancelled" + ], "description": "Trigger type for the workflow" } }, - "required": ["type"] + "required": [ + "type" + ] }, "OnCreationTriggerDto": { "type": "object", @@ -21127,11 +22925,15 @@ "type": { "type": "string", "default": "newEvent", - "enum": ["newEvent"], + "enum": [ + "newEvent" + ], "description": "Trigger type for the workflow" } }, - "required": ["type"] + "required": [ + "type" + ] }, "OnRescheduleTriggerDto": { "type": "object", @@ -21139,11 +22941,15 @@ "type": { "type": "string", "default": "rescheduleEvent", - "enum": ["rescheduleEvent"], + "enum": [ + "rescheduleEvent" + ], "description": "Trigger type for the workflow" } }, - "required": ["type"] + "required": [ + "type" + ] }, "OnAfterCalVideoGuestsNoShowTriggerDto": { "type": "object", @@ -21159,12 +22965,17 @@ "type": { "type": "string", "default": "afterGuestsCalVideoNoShow", - "enum": ["afterGuestsCalVideoNoShow"], + "enum": [ + "afterGuestsCalVideoNoShow" + ], "description": "Trigger type for the workflow", "example": "afterGuestsCalVideoNoShow" } }, - "required": ["offset", "type"] + "required": [ + "offset", + "type" + ] }, "OnAfterCalVideoHostsNoShowTriggerDto": { "type": "object", @@ -21180,12 +22991,17 @@ "type": { "type": "string", "default": "afterHostsCalVideoNoShow", - "enum": ["afterHostsCalVideoNoShow"], + "enum": [ + "afterHostsCalVideoNoShow" + ], "description": "Trigger type for the workflow", "example": "afterHostsCalVideoNoShow" } }, - "required": ["offset", "type"] + "required": [ + "offset", + "type" + ] }, "HtmlWorkflowMessageDto": { "type": "object", @@ -21201,7 +23017,10 @@ "example": "

This is a reminder from {ORGANIZER} of {EVENT_NAME} to {ATTENDEE} starting here {LOCATION} {MEETING_URL} at {START_TIME_h:mma} {TIMEZONE}.

" } }, - "required": ["subject", "html"] + "required": [ + "subject", + "html" + ] }, "WorkflowEmailAddressStepDto": { "type": "object", @@ -21231,13 +23050,25 @@ "type": "string", "description": "Recipient type", "example": "attendee", - "enum": ["const", "attendee", "email", "phone_number"] + "enum": [ + "const", + "attendee", + "email", + "phone_number" + ] }, "template": { "type": "string", "description": "Template type for the step", "example": "reminder", - "enum": ["reminder", "custom", "rescheduled", "completed", "rating", "cancelled"] + "enum": [ + "reminder", + "custom", + "rescheduled", + "completed", + "rating", + "cancelled" + ] }, "sender": { "type": "string", @@ -21305,13 +23136,25 @@ "type": "string", "description": "Recipient type", "example": "attendee", - "enum": ["const", "attendee", "email", "phone_number"] + "enum": [ + "const", + "attendee", + "email", + "phone_number" + ] }, "template": { "type": "string", "description": "Template type for the step", "example": "reminder", - "enum": ["reminder", "custom", "rescheduled", "completed", "rating", "cancelled"] + "enum": [ + "reminder", + "custom", + "rescheduled", + "completed", + "rating", + "cancelled" + ] }, "sender": { "type": "string", @@ -21370,13 +23213,25 @@ "type": "string", "description": "Recipient type", "example": "attendee", - "enum": ["const", "attendee", "email", "phone_number"] + "enum": [ + "const", + "attendee", + "email", + "phone_number" + ] }, "template": { "type": "string", "description": "Template type for the step", "example": "reminder", - "enum": ["reminder", "custom", "rescheduled", "completed", "rating", "cancelled"] + "enum": [ + "reminder", + "custom", + "rescheduled", + "completed", + "rating", + "cancelled" + ] }, "sender": { "type": "string", @@ -21421,7 +23276,10 @@ "example": "This is a reminder message from {ORGANIZER} of {EVENT_NAME} to {ATTENDEE} starting here {LOCATION} {MEETING_URL} at {START_TIME_h:mma} {TIMEZONE}." } }, - "required": ["subject", "text"] + "required": [ + "subject", + "text" + ] }, "WorkflowPhoneWhatsAppAttendeeStepDto": { "type": "object", @@ -21451,13 +23309,25 @@ "type": "string", "description": "Recipient type", "example": "attendee", - "enum": ["const", "attendee", "email", "phone_number"] + "enum": [ + "const", + "attendee", + "email", + "phone_number" + ] }, "template": { "type": "string", "description": "Template type for the step", "example": "reminder", - "enum": ["reminder", "custom", "rescheduled", "completed", "rating", "cancelled"] + "enum": [ + "reminder", + "custom", + "rescheduled", + "completed", + "rating", + "cancelled" + ] }, "sender": { "type": "string", @@ -21472,7 +23342,14 @@ ] } }, - "required": ["action", "stepNumber", "recipient", "template", "sender", "message"] + "required": [ + "action", + "stepNumber", + "recipient", + "template", + "sender", + "message" + ] }, "WorkflowPhoneWhatsAppNumberStepDto": { "type": "object", @@ -21502,13 +23379,25 @@ "type": "string", "description": "Recipient type", "example": "attendee", - "enum": ["const", "attendee", "email", "phone_number"] + "enum": [ + "const", + "attendee", + "email", + "phone_number" + ] }, "template": { "type": "string", "description": "Template type for the step", "example": "reminder", - "enum": ["reminder", "custom", "rescheduled", "completed", "rating", "cancelled"] + "enum": [ + "reminder", + "custom", + "rescheduled", + "completed", + "rating", + "cancelled" + ] }, "sender": { "type": "string", @@ -21531,7 +23420,15 @@ ] } }, - "required": ["action", "stepNumber", "recipient", "template", "sender", "verifiedPhoneId", "message"] + "required": [ + "action", + "stepNumber", + "recipient", + "template", + "sender", + "verifiedPhoneId", + "message" + ] }, "WorkflowPhoneNumberStepDto": { "type": "object", @@ -21561,13 +23458,25 @@ "type": "string", "description": "Recipient type", "example": "attendee", - "enum": ["const", "attendee", "email", "phone_number"] + "enum": [ + "const", + "attendee", + "email", + "phone_number" + ] }, "template": { "type": "string", "description": "Template type for the step", "example": "reminder", - "enum": ["reminder", "custom", "rescheduled", "completed", "rating", "cancelled"] + "enum": [ + "reminder", + "custom", + "rescheduled", + "completed", + "rating", + "cancelled" + ] }, "sender": { "type": "string", @@ -21590,7 +23499,15 @@ ] } }, - "required": ["action", "stepNumber", "recipient", "template", "sender", "verifiedPhoneId", "message"] + "required": [ + "action", + "stepNumber", + "recipient", + "template", + "sender", + "verifiedPhoneId", + "message" + ] }, "WorkflowPhoneAttendeeStepDto": { "type": "object", @@ -21620,13 +23537,25 @@ "type": "string", "description": "Recipient type", "example": "attendee", - "enum": ["const", "attendee", "email", "phone_number"] + "enum": [ + "const", + "attendee", + "email", + "phone_number" + ] }, "template": { "type": "string", "description": "Template type for the step", "example": "reminder", - "enum": ["reminder", "custom", "rescheduled", "completed", "rating", "cancelled"] + "enum": [ + "reminder", + "custom", + "rescheduled", + "completed", + "rating", + "cancelled" + ] }, "sender": { "type": "string", @@ -21645,7 +23574,14 @@ ] } }, - "required": ["action", "stepNumber", "recipient", "template", "sender", "message"] + "required": [ + "action", + "stepNumber", + "recipient", + "template", + "sender", + "message" + ] }, "BaseWorkflowTriggerDto": { "type": "object", @@ -21666,7 +23602,9 @@ "description": "Trigger type for the workflow" } }, - "required": ["type"] + "required": [ + "type" + ] }, "WorkflowActivationDto": { "type": "object", @@ -21680,14 +23618,18 @@ "activeOnEventTypeIds": { "default": [], "description": "List of event-types IDs the workflow applies to, required if isActiveOnAllEventTypes is false", - "example": [698191], + "example": [ + 698191 + ], "type": "array", "items": { "type": "number" } } }, - "required": ["isActiveOnAllEventTypes"] + "required": [ + "isActiveOnAllEventTypes" + ] }, "CreateWorkflowDto": { "type": "object", @@ -21761,7 +23703,12 @@ } } }, - "required": ["name", "activation", "trigger", "steps"] + "required": [ + "name", + "activation", + "trigger", + "steps" + ] }, "UpdateEmailAddressWorkflowStepDto": { "type": "object", @@ -21791,13 +23738,25 @@ "type": "string", "description": "Recipient type", "example": "attendee", - "enum": ["const", "attendee", "email", "phone_number"] + "enum": [ + "const", + "attendee", + "email", + "phone_number" + ] }, "template": { "type": "string", "description": "Template type for the step", "example": "reminder", - "enum": ["reminder", "custom", "rescheduled", "completed", "rating", "cancelled"] + "enum": [ + "reminder", + "custom", + "rescheduled", + "completed", + "rating", + "cancelled" + ] }, "sender": { "type": "string", @@ -21870,13 +23829,25 @@ "type": "string", "description": "Recipient type", "example": "attendee", - "enum": ["const", "attendee", "email", "phone_number"] + "enum": [ + "const", + "attendee", + "email", + "phone_number" + ] }, "template": { "type": "string", "description": "Template type for the step", "example": "reminder", - "enum": ["reminder", "custom", "rescheduled", "completed", "rating", "cancelled"] + "enum": [ + "reminder", + "custom", + "rescheduled", + "completed", + "rating", + "cancelled" + ] }, "sender": { "type": "string", @@ -21940,13 +23911,25 @@ "type": "string", "description": "Recipient type", "example": "attendee", - "enum": ["const", "attendee", "email", "phone_number"] + "enum": [ + "const", + "attendee", + "email", + "phone_number" + ] }, "template": { "type": "string", "description": "Template type for the step", "example": "reminder", - "enum": ["reminder", "custom", "rescheduled", "completed", "rating", "cancelled"] + "enum": [ + "reminder", + "custom", + "rescheduled", + "completed", + "rating", + "cancelled" + ] }, "sender": { "type": "string", @@ -22010,13 +23993,25 @@ "type": "string", "description": "Recipient type", "example": "attendee", - "enum": ["const", "attendee", "email", "phone_number"] + "enum": [ + "const", + "attendee", + "email", + "phone_number" + ] }, "template": { "type": "string", "description": "Template type for the step", "example": "reminder", - "enum": ["reminder", "custom", "rescheduled", "completed", "rating", "cancelled"] + "enum": [ + "reminder", + "custom", + "rescheduled", + "completed", + "rating", + "cancelled" + ] }, "sender": { "type": "string", @@ -22040,7 +24035,14 @@ "example": 67244 } }, - "required": ["action", "stepNumber", "recipient", "template", "sender", "message"] + "required": [ + "action", + "stepNumber", + "recipient", + "template", + "sender", + "message" + ] }, "UpdatePhoneWhatsAppNumberWorkflowStepDto": { "type": "object", @@ -22070,13 +24072,25 @@ "type": "string", "description": "Recipient type", "example": "attendee", - "enum": ["const", "attendee", "email", "phone_number"] + "enum": [ + "const", + "attendee", + "email", + "phone_number" + ] }, "template": { "type": "string", "description": "Template type for the step", "example": "reminder", - "enum": ["reminder", "custom", "rescheduled", "completed", "rating", "cancelled"] + "enum": [ + "reminder", + "custom", + "rescheduled", + "completed", + "rating", + "cancelled" + ] }, "sender": { "type": "string", @@ -22104,7 +24118,15 @@ "example": 67244 } }, - "required": ["action", "stepNumber", "recipient", "template", "sender", "verifiedPhoneId", "message"] + "required": [ + "action", + "stepNumber", + "recipient", + "template", + "sender", + "verifiedPhoneId", + "message" + ] }, "UpdateWhatsAppAttendeePhoneWorkflowStepDto": { "type": "object", @@ -22134,13 +24156,25 @@ "type": "string", "description": "Recipient type", "example": "attendee", - "enum": ["const", "attendee", "email", "phone_number"] + "enum": [ + "const", + "attendee", + "email", + "phone_number" + ] }, "template": { "type": "string", "description": "Template type for the step", "example": "reminder", - "enum": ["reminder", "custom", "rescheduled", "completed", "rating", "cancelled"] + "enum": [ + "reminder", + "custom", + "rescheduled", + "completed", + "rating", + "cancelled" + ] }, "sender": { "type": "string", @@ -22160,7 +24194,14 @@ "example": 67244 } }, - "required": ["action", "stepNumber", "recipient", "template", "sender", "message"] + "required": [ + "action", + "stepNumber", + "recipient", + "template", + "sender", + "message" + ] }, "UpdatePhoneNumberWorkflowStepDto": { "type": "object", @@ -22190,13 +24231,25 @@ "type": "string", "description": "Recipient type", "example": "attendee", - "enum": ["const", "attendee", "email", "phone_number"] + "enum": [ + "const", + "attendee", + "email", + "phone_number" + ] }, "template": { "type": "string", "description": "Template type for the step", "example": "reminder", - "enum": ["reminder", "custom", "rescheduled", "completed", "rating", "cancelled"] + "enum": [ + "reminder", + "custom", + "rescheduled", + "completed", + "rating", + "cancelled" + ] }, "sender": { "type": "string", @@ -22224,7 +24277,15 @@ "example": 67244 } }, - "required": ["action", "stepNumber", "recipient", "template", "sender", "verifiedPhoneId", "message"] + "required": [ + "action", + "stepNumber", + "recipient", + "template", + "sender", + "verifiedPhoneId", + "message" + ] }, "UpdateWorkflowDto": { "type": "object", @@ -22348,7 +24409,13 @@ "example": "2025-12-31T23:59:59.000Z" } }, - "required": ["linkId", "eventTypeId", "isExpired", "bookingUrl", "expiresAt"] + "required": [ + "linkId", + "eventTypeId", + "isExpired", + "bookingUrl", + "expiresAt" + ] }, "UsageBasedPrivateLinkOutput": { "type": "object", @@ -22385,7 +24452,14 @@ "example": 3 } }, - "required": ["linkId", "eventTypeId", "isExpired", "bookingUrl", "maxUsageCount", "usageCount"] + "required": [ + "linkId", + "eventTypeId", + "isExpired", + "bookingUrl", + "maxUsageCount", + "usageCount" + ] }, "CreatePrivateLinkOutput": { "type": "object", @@ -22407,7 +24481,10 @@ ] } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "GetPrivateLinksOutput": { "type": "object", @@ -22432,7 +24509,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UpdatePrivateLinkOutput": { "type": "object", @@ -22454,7 +24534,10 @@ ] } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "DeletePrivateLinkOutput": { "type": "object", @@ -22479,7 +24562,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "StripConnectOutputDto": { "type": "object", @@ -22488,7 +24574,9 @@ "type": "string" } }, - "required": ["authUrl"] + "required": [ + "authUrl" + ] }, "StripConnectOutputResponseDto": { "type": "object", @@ -22496,13 +24584,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/StripConnectOutputDto" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "StripCredentialsSaveOutputResponseDto": { "type": "object", @@ -22511,7 +24605,9 @@ "type": "string" } }, - "required": ["url"] + "required": [ + "url" + ] }, "StripCredentialsCheckOutputResponseDto": { "type": "object", @@ -22521,7 +24617,9 @@ "example": "success" } }, - "required": ["status"] + "required": [ + "status" + ] }, "GetDefaultScheduleOutput_2024_06_11": { "type": "object", @@ -22529,13 +24627,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/ScheduleOutput_2024_06_11" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "CreateTeamInput": { "type": "object", @@ -22619,7 +24723,9 @@ "description": "If you are a platform customer, don't pass 'false', because then team creator won't be able to create team event types." } }, - "required": ["name"] + "required": [ + "name" + ] }, "CreateTeamOutput": { "type": "object", @@ -22627,7 +24733,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "oneOf": [ @@ -22641,7 +24750,10 @@ "description": "Either an Output object or a TeamOutputDto." } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "TeamOutputDto": { "type": "object", @@ -22717,7 +24829,11 @@ "default": "Sunday" } }, - "required": ["id", "name", "isOrganization"] + "required": [ + "id", + "name", + "isOrganization" + ] }, "GetTeamOutput": { "type": "object", @@ -22725,13 +24841,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/TeamOutputDto" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "GetTeamsOutput": { "type": "object", @@ -22739,7 +24861,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "array", @@ -22748,7 +24873,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UpdateTeamOutput": { "type": "object", @@ -22756,13 +24884,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/TeamOutputDto" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "ConferencingAppsOutputDto": { "type": "object", @@ -22787,20 +24921,30 @@ "description": "Whether if the connection is working or not." } }, - "required": ["id", "type", "userId"] + "required": [ + "id", + "type", + "userId" + ] }, "ConferencingAppOutputResponseDto": { "type": "object", "properties": { "status": { "type": "string", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/ConferencingAppsOutputDto" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "GetConferencingAppsOauthUrlResponseDto": { "type": "object", @@ -22808,17 +24952,25 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] } }, - "required": ["status"] + "required": [ + "status" + ] }, "ConferencingAppsOutputResponseDto": { "type": "object", "properties": { "status": { "type": "string", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "array", @@ -22827,7 +24979,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "SetDefaultConferencingAppOutputResponseDto": { "type": "object", @@ -22835,10 +24990,15 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] } }, - "required": ["status"] + "required": [ + "status" + ] }, "DefaultConferencingAppsOutputDto": { "type": "object", @@ -22857,13 +25017,18 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/DefaultConferencingAppsOutputDto" } }, - "required": ["status"] + "required": [ + "status" + ] }, "DisconnectConferencingAppOutputResponseDto": { "type": "object", @@ -22871,10 +25036,15 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] } }, - "required": ["status"] + "required": [ + "status" + ] }, "GoogleServiceAccountKeyInput": { "type": "object", @@ -22889,7 +25059,11 @@ "type": "string" } }, - "required": ["private_key", "client_email", "client_id"] + "required": [ + "private_key", + "client_email", + "client_id" + ] }, "CreateDelegationCredentialInput": { "type": "object", @@ -22914,7 +25088,11 @@ } } }, - "required": ["workspacePlatformSlug", "domain", "serviceAccountKey"] + "required": [ + "workspacePlatformSlug", + "domain", + "serviceAccountKey" + ] }, "WorkspacePlatformDto": { "type": "object", @@ -22926,7 +25104,10 @@ "type": "string" } }, - "required": ["name", "slug"] + "required": [ + "name", + "slug" + ] }, "DelegationCredentialOutput": { "type": "object", @@ -22971,13 +25152,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/DelegationCredentialOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UpdateDelegationCredentialInput": { "type": "object", @@ -23006,20 +25193,29 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/DelegationCredentialOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "CreateIcsFeedInputDto": { "type": "object", "properties": { "urls": { "type": "array", - "example": ["https://cal.com/ics/feed.ics", "http://cal.com/ics/feed.ics"], + "example": [ + "https://cal.com/ics/feed.ics", + "http://cal.com/ics/feed.ics" + ], "description": "An array of ICS URLs", "items": { "type": "string", @@ -23033,7 +25229,9 @@ "description": "Whether to allowing writing to the calendar or not" } }, - "required": ["urls"] + "required": [ + "urls" + ] }, "CreateIcsFeedOutput": { "type": "object", @@ -23073,7 +25271,14 @@ "description": "Whether the calendar credentials are valid or not" } }, - "required": ["id", "type", "userId", "teamId", "appId", "invalid"] + "required": [ + "id", + "type", + "userId", + "teamId", + "appId", + "invalid" + ] }, "CreateIcsFeedOutputResponseDto": { "type": "object", @@ -23081,13 +25286,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/CreateIcsFeedOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "BusyTimesOutput": { "type": "object", @@ -23105,7 +25316,10 @@ "nullable": true } }, - "required": ["start", "end"] + "required": [ + "start", + "end" + ] }, "GetBusyTimesOutput": { "type": "object", @@ -23113,7 +25327,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "array", @@ -23122,7 +25339,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "Integration": { "type": "object", @@ -23231,7 +25451,13 @@ "nullable": true } }, - "required": ["externalId", "primary", "readOnly", "isSelected", "credentialId"] + "required": [ + "externalId", + "primary", + "readOnly", + "isSelected", + "credentialId" + ] }, "Calendar": { "type": "object", @@ -23266,7 +25492,12 @@ "nullable": true } }, - "required": ["externalId", "readOnly", "isSelected", "credentialId"] + "required": [ + "externalId", + "readOnly", + "isSelected", + "credentialId" + ] }, "ConnectedCalendar": { "type": "object", @@ -23291,7 +25522,10 @@ } } }, - "required": ["integration", "credentialId"] + "required": [ + "integration", + "credentialId" + ] }, "DestinationCalendar": { "type": "object", @@ -23365,7 +25599,10 @@ "$ref": "#/components/schemas/DestinationCalendar" } }, - "required": ["connectedCalendars", "destinationCalendar"] + "required": [ + "connectedCalendars", + "destinationCalendar" + ] }, "ConnectedCalendarsOutput": { "type": "object", @@ -23373,13 +25610,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/ConnectedCalendarsData" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "CreateCalendarCredentialsInput": { "type": "object", @@ -23391,7 +25634,10 @@ "type": "string" } }, - "required": ["username", "password"] + "required": [ + "username", + "password" + ] }, "DeleteCalendarCredentialsInputBodyDto": { "type": "object", @@ -23402,7 +25648,9 @@ "description": "Credential ID of the calendar to delete, as returned by the /calendars endpoint" } }, - "required": ["id"] + "required": [ + "id" + ] }, "DeletedCalendarCredentialsOutputDto": { "type": "object", @@ -23430,7 +25678,14 @@ "nullable": true } }, - "required": ["id", "type", "userId", "teamId", "appId", "invalid"] + "required": [ + "id", + "type", + "userId", + "teamId", + "appId", + "invalid" + ] }, "DeletedCalendarCredentialsOutputResponseDto": { "type": "object", @@ -23438,13 +25693,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/DeletedCalendarCredentialsOutputDto" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "CreateOrganizationInput": { "type": "object", @@ -23480,7 +25741,9 @@ } } }, - "required": ["name"] + "required": [ + "name" + ] }, "ManagedOrganizationWithApiKeyOutput": { "type": "object", @@ -23505,7 +25768,11 @@ "type": "string" } }, - "required": ["id", "name", "apiKey"] + "required": [ + "id", + "name", + "apiKey" + ] }, "CreateManagedOrganizationOutput": { "type": "object", @@ -23513,13 +25780,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/ManagedOrganizationWithApiKeyOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "ManagedOrganizationOutput": { "type": "object", @@ -23541,7 +25814,10 @@ } } }, - "required": ["id", "name"] + "required": [ + "id", + "name" + ] }, "GetManagedOrganizationOutput": { "type": "object", @@ -23549,13 +25825,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/ManagedOrganizationOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "PaginationMetaDto": { "type": "object", @@ -23623,7 +25905,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "array", @@ -23635,7 +25920,11 @@ "$ref": "#/components/schemas/PaginationMetaDto" } }, - "required": ["status", "data", "pagination"] + "required": [ + "status", + "data", + "pagination" + ] }, "UpdateOrganizationInput": { "type": "object", @@ -23684,7 +25973,14 @@ "type": "string" } }, - "required": ["id", "formId", "formFillerId", "routedToBookingUid", "response", "createdAt"] + "required": [ + "id", + "formId", + "formFillerId", + "routedToBookingUid", + "response", + "createdAt" + ] }, "GetRoutingFormResponsesOutput": { "type": "object", @@ -23692,13 +25988,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/RoutingFormResponseOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "Routing": { "type": "object", @@ -23717,7 +26019,10 @@ }, "teamMemberIds": { "description": "Array of team member IDs that were routed to handle this booking.", - "example": [101, 102], + "example": [ + 101, + 102 + ], "type": "array", "items": { "type": "number" @@ -23744,7 +26049,9 @@ "example": "Account" } }, - "required": ["teamMemberIds"] + "required": [ + "teamMemberIds" + ] }, "CreateRoutingFormResponseOutputData": { "type": "object", @@ -23759,7 +26066,10 @@ "example": { "eventTypeId": 123, "routing": { - "teamMemberIds": [101, 102], + "teamMemberIds": [ + 101, + 102 + ], "teamMemberEmail": "john.doe@example.com", "skipContactOwner": true } @@ -23798,13 +26108,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/CreateRoutingFormResponseOutputData" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UpdateRoutingFormResponseInput": { "type": "object", @@ -23821,13 +26137,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/RoutingFormResponseOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "RoutingFormOutput": { "type": "object", @@ -23903,7 +26225,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "array", @@ -23912,7 +26237,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "SlotsOutput_2024_09_04": { "type": "object", @@ -23939,7 +26267,10 @@ ] } }, - "required": ["eventTypeId", "slots"] + "required": [ + "eventTypeId", + "slots" + ] }, "ResponseSlotsOutput": { "type": "object", @@ -23947,13 +26278,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/ResponseSlotsOutputData" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "ReserveSlotInput_2024_09_04": { "type": "object", @@ -23979,7 +26316,10 @@ "description": "ONLY for authenticated requests with api key, access token or OAuth credentials (ID + secret).\n \n For how many minutes the slot should be reserved - for this long time noone else can book this event type at `start` time. If not provided, defaults to 5 minutes." } }, - "required": ["eventTypeId", "slotStart"] + "required": [ + "eventTypeId", + "slotStart" + ] }, "ReserveSlotOutput_2024_09_04": { "type": "object", @@ -24036,13 +26376,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/ReserveSlotOutput_2024_09_04" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "GetReservedSlotOutput_2024_09_04": { "type": "object", @@ -24050,7 +26396,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "nullable": true, @@ -24061,7 +26410,10 @@ ] } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UpdatePrivateLinkBody": { "type": "object", @@ -24090,7 +26442,10 @@ "type": "number" } }, - "required": ["isPlatform", "id"] + "required": [ + "isPlatform", + "id" + ] }, "MeOutput": { "type": "object", @@ -24142,13 +26497,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/MeOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UpdateMeOutput": { "type": "object", @@ -24156,13 +26517,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/MeOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "BookingInputAddressLocation_2024_08_13": { "type": "object", @@ -24173,7 +26540,9 @@ "description": "only allowed value for type is `address` - it refers to address defined by the organizer." } }, - "required": ["type"] + "required": [ + "type" + ] }, "BookingInputAttendeeAddressLocation_2024_08_13": { "type": "object", @@ -24188,7 +26557,10 @@ "example": "123 Example St, City, Country" } }, - "required": ["type", "address"] + "required": [ + "type", + "address" + ] }, "BookingInputAttendeeDefinedLocation_2024_08_13": { "type": "object", @@ -24203,7 +26575,10 @@ "example": "321 Example St, City, Country" } }, - "required": ["type", "location"] + "required": [ + "type", + "location" + ] }, "BookingInputAttendeePhoneLocation_2024_08_13": { "type": "object", @@ -24218,7 +26593,10 @@ "example": "+37120993151" } }, - "required": ["type", "phone"] + "required": [ + "type", + "phone" + ] }, "BookingInputIntegrationLocation_2024_08_13": { "type": "object", @@ -24264,7 +26642,10 @@ ] } }, - "required": ["type", "integration"] + "required": [ + "type", + "integration" + ] }, "BookingInputLinkLocation_2024_08_13": { "type": "object", @@ -24275,7 +26656,9 @@ "description": "only allowed value for type is `link` - it refers to link defined by the organizer." } }, - "required": ["type"] + "required": [ + "type" + ] }, "BookingInputPhoneLocation_2024_08_13": { "type": "object", @@ -24286,7 +26669,9 @@ "description": "only allowed value for type is `phone` - it refers to phone defined by the organizer." } }, - "required": ["type"] + "required": [ + "type" + ] }, "BookingInputOrganizersDefaultAppLocation_2024_08_13": { "type": "object", @@ -24297,7 +26682,9 @@ "description": "only available for team event types and the only allowed value for type is `organizersDefaultApp` - it refers to the default app defined by the organizer." } }, - "required": ["type"] + "required": [ + "type" + ] }, "ValidateBookingLocation_2024_08_13": { "type": "object", @@ -24378,7 +26765,10 @@ "default": "en" } }, - "required": ["name", "timeZone"] + "required": [ + "name", + "timeZone" + ] }, "CreateBookingInput_2024_08_13": { "type": "object", @@ -24430,7 +26820,10 @@ }, "guests": { "description": "An optional list of guest emails attending the event.", - "example": ["guest1@example.com", "guest2@example.com"], + "example": [ + "guest1@example.com", + "guest2@example.com" + ], "type": "array", "items": { "type": "string" @@ -24487,7 +26880,10 @@ "description": "Routing information from routing forms that determined the booking assignment. Both responseId and teamMemberIds are required if provided.", "example": { "responseId": 123, - "teamMemberIds": [101, 102] + "teamMemberIds": [ + 101, + 102 + ] }, "allOf": [ { @@ -24496,7 +26892,10 @@ ] } }, - "required": ["start", "attendee"] + "required": [ + "start", + "attendee" + ] }, "CreateInstantBookingInput_2024_08_13": { "type": "object", @@ -24548,7 +26947,10 @@ }, "guests": { "description": "An optional list of guest emails attending the event.", - "example": ["guest1@example.com", "guest2@example.com"], + "example": [ + "guest1@example.com", + "guest2@example.com" + ], "type": "array", "items": { "type": "string" @@ -24605,7 +27007,10 @@ "description": "Routing information from routing forms that determined the booking assignment. Both responseId and teamMemberIds are required if provided.", "example": { "responseId": 123, - "teamMemberIds": [101, 102] + "teamMemberIds": [ + 101, + 102 + ] }, "allOf": [ { @@ -24619,7 +27024,11 @@ "example": true } }, - "required": ["start", "attendee", "instant"] + "required": [ + "start", + "attendee", + "instant" + ] }, "CreateRecurringBookingInput_2024_08_13": { "type": "object", @@ -24671,7 +27080,10 @@ }, "guests": { "description": "An optional list of guest emails attending the event.", - "example": ["guest1@example.com", "guest2@example.com"], + "example": [ + "guest1@example.com", + "guest2@example.com" + ], "type": "array", "items": { "type": "string" @@ -24728,7 +27140,10 @@ "description": "Routing information from routing forms that determined the booking assignment. Both responseId and teamMemberIds are required if provided.", "example": { "responseId": 123, - "teamMemberIds": [101, 102] + "teamMemberIds": [ + 101, + 102 + ] }, "allOf": [ { @@ -24742,7 +27157,10 @@ "example": 5 } }, - "required": ["start", "attendee"] + "required": [ + "start", + "attendee" + ] }, "BookingHost": { "type": "object", @@ -24768,7 +27186,13 @@ "example": "America/Los_Angeles" } }, - "required": ["id", "name", "email", "username", "timeZone"] + "required": [ + "id", + "name", + "email", + "username", + "timeZone" + ] }, "EventType": { "type": "object", @@ -24782,7 +27206,10 @@ "example": "some-event" } }, - "required": ["id", "slug"] + "required": [ + "id", + "slug" + ] }, "BookingAttendee": { "type": "object", @@ -24857,7 +27284,12 @@ "example": "+1234567890" } }, - "required": ["name", "email", "timeZone", "absent"] + "required": [ + "name", + "email", + "timeZone", + "absent" + ] }, "BookingOutput_2024_08_13": { "type": "object", @@ -24886,7 +27318,12 @@ }, "status": { "type": "string", - "enum": ["cancelled", "accepted", "rejected", "pending"], + "enum": [ + "cancelled", + "accepted", + "rejected", + "pending" + ], "example": "accepted" }, "cancellationReason": { @@ -24980,7 +27417,10 @@ } }, "guests": { - "example": ["guest1@example.com", "guest2@example.com"], + "example": [ + "guest1@example.com", + "guest2@example.com" + ], "type": "array", "items": { "type": "string" @@ -25041,7 +27481,12 @@ }, "status": { "type": "string", - "enum": ["cancelled", "accepted", "rejected", "pending"], + "enum": [ + "cancelled", + "accepted", + "rejected", + "pending" + ], "example": "accepted" }, "cancellationReason": { @@ -25135,7 +27580,10 @@ } }, "guests": { - "example": ["guest1@example.com", "guest2@example.com"], + "example": [ + "guest1@example.com", + "guest2@example.com" + ], "type": "array", "items": { "type": "string" @@ -25264,7 +27712,14 @@ } } }, - "required": ["name", "email", "timeZone", "absent", "seatUid", "bookingFieldsResponses"] + "required": [ + "name", + "email", + "timeZone", + "absent", + "seatUid", + "bookingFieldsResponses" + ] }, "CreateSeatedBookingOutput_2024_08_13": { "type": "object", @@ -25293,7 +27748,12 @@ }, "status": { "type": "string", - "enum": ["cancelled", "accepted", "rejected", "pending"], + "enum": [ + "cancelled", + "accepted", + "rejected", + "pending" + ], "example": "accepted" }, "cancellationReason": { @@ -25438,7 +27898,12 @@ }, "status": { "type": "string", - "enum": ["cancelled", "accepted", "rejected", "pending"], + "enum": [ + "cancelled", + "accepted", + "rejected", + "pending" + ], "example": "accepted" }, "cancellationReason": { @@ -25567,7 +28032,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "oneOf": [ @@ -25593,7 +28061,10 @@ "description": "Booking data, which can be either a BookingOutput object or an array of RecurringBookingOutput objects" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "GetSeatedBookingOutput_2024_08_13": { "type": "object", @@ -25622,7 +28093,12 @@ }, "status": { "type": "string", - "enum": ["cancelled", "accepted", "rejected", "pending"], + "enum": [ + "cancelled", + "accepted", + "rejected", + "pending" + ], "example": "accepted" }, "cancellationReason": { @@ -25762,7 +28238,12 @@ }, "status": { "type": "string", - "enum": ["cancelled", "accepted", "rejected", "pending"], + "enum": [ + "cancelled", + "accepted", + "rejected", + "pending" + ], "example": "accepted" }, "cancellationReason": { @@ -25886,7 +28367,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "oneOf": [ @@ -25921,7 +28405,10 @@ "type": "object" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "RecordingItem": { "type": "object", @@ -25965,7 +28452,14 @@ "example": "Error message" } }, - "required": ["id", "roomName", "startTs", "status", "duration", "shareToken"] + "required": [ + "id", + "roomName", + "startTs", + "status", + "duration", + "shareToken" + ] }, "GetBookingRecordingsOutput": { "type": "object", @@ -25973,7 +28467,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "error": { "type": "object" @@ -25985,7 +28482,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "GetBookingTranscriptsOutput": { "type": "object", @@ -25993,10 +28493,16 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { - "example": ["https://transcript1.com", "https://transcript2.com"], + "example": [ + "https://transcript1.com", + "https://transcript2.com" + ], "type": "array", "items": { "type": "string" @@ -26006,7 +28512,10 @@ "type": "object" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "GetBookingsOutput_2024_08_13": { "type": "object", @@ -26014,7 +28523,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "array", @@ -26043,7 +28555,11 @@ "type": "object" } }, - "required": ["status", "data", "pagination"] + "required": [ + "status", + "data", + "pagination" + ] }, "RescheduleBookingInput_2024_08_13": { "type": "object", @@ -26063,7 +28579,9 @@ "description": "Reason for rescheduling the booking" } }, - "required": ["start"] + "required": [ + "start" + ] }, "RescheduleSeatedBookingInput_2024_08_13": { "type": "object", @@ -26083,7 +28601,10 @@ "description": "Uid of the specific seat within booking." } }, - "required": ["start", "seatUid"] + "required": [ + "start", + "seatUid" + ] }, "RescheduleBookingOutput_2024_08_13": { "type": "object", @@ -26091,7 +28612,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "oneOf": [ @@ -26111,7 +28635,10 @@ "description": "Booking data, which can be either a BookingOutput object or a RecurringBookingOutput object" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "CancelBookingInput_2024_08_13": { "type": "object", @@ -26135,7 +28662,9 @@ "description": "Uid of the specific seat within booking." } }, - "required": ["seatUid"] + "required": [ + "seatUid" + ] }, "CancelBookingOutput_2024_08_13": { "type": "object", @@ -26143,7 +28672,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "oneOf": [ @@ -26175,7 +28707,10 @@ "description": "Booking data, which can be either a BookingOutput object, a RecurringBookingOutput object, or an array of RecurringBookingOutput objects" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "MarkAbsentAttendee": { "type": "object", @@ -26187,7 +28722,10 @@ "type": "boolean" } }, - "required": ["email", "absent"] + "required": [ + "email", + "absent" + ] }, "MarkAbsentBookingInput_2024_08_13": { "type": "object", @@ -26211,7 +28749,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "oneOf": [ @@ -26225,7 +28766,10 @@ "description": "Booking data, which can be either a BookingOutput object or a RecurringBookingOutput object" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "ReassignedToDto": { "type": "object", @@ -26243,7 +28787,11 @@ "example": "john.doe@example.com" } }, - "required": ["id", "name", "email"] + "required": [ + "id", + "name", + "email" + ] }, "ReassignBookingOutput_2024_08_13": { "type": "object", @@ -26251,7 +28799,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "oneOf": [ @@ -26267,7 +28818,10 @@ ] } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "ReassignToUserBookingInput_2024_08_13": { "type": "object", @@ -26301,7 +28855,10 @@ "description": "The link to the calendar" } }, - "required": ["label", "link"] + "required": [ + "label", + "link" + ] }, "CalendarLinksOutput_2024_08_13": { "type": "object", @@ -26319,7 +28876,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "BookingReference": { "type": "object", @@ -26342,7 +28902,12 @@ "description": "The id of the booking reference" } }, - "required": ["type", "eventUid", "destinationCalendarId", "id"] + "required": [ + "type", + "eventUid", + "destinationCalendarId", + "id" + ] }, "BookingReferencesOutput_2024_08_13": { "type": "object", @@ -26360,7 +28925,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "CreateTeamMembershipInput": { "type": "object", @@ -26375,14 +28943,20 @@ "role": { "type": "string", "default": "MEMBER", - "enum": ["MEMBER", "OWNER", "ADMIN"] + "enum": [ + "MEMBER", + "OWNER", + "ADMIN" + ] }, "disableImpersonation": { "type": "boolean", "default": false } }, - "required": ["userId"] + "required": [ + "userId" + ] }, "CreateTeamMembershipOutput": { "type": "object", @@ -26390,13 +28964,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/TeamMembershipOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "GetTeamMembershipOutput": { "type": "object", @@ -26404,13 +28984,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/TeamMembershipOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "GetTeamMembershipsOutput": { "type": "object", @@ -26418,13 +29004,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/TeamMembershipOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UpdateTeamMembershipInput": { "type": "object", @@ -26434,7 +29026,11 @@ }, "role": { "type": "string", - "enum": ["MEMBER", "OWNER", "ADMIN"] + "enum": [ + "MEMBER", + "OWNER", + "ADMIN" + ] }, "disableImpersonation": { "type": "boolean" @@ -26447,13 +29043,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/TeamMembershipOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "DeleteTeamMembershipOutput": { "type": "object", @@ -26461,13 +29063,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/TeamMembershipOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UserWebhookOutputDto": { "type": "object", @@ -26499,7 +29107,14 @@ "type": "string" } }, - "required": ["payloadTemplate", "userId", "id", "triggers", "subscriberUrl", "active"] + "required": [ + "payloadTemplate", + "userId", + "id", + "triggers", + "subscriberUrl", + "active" + ] }, "UserWebhookOutputResponseDto": { "type": "object", @@ -26507,13 +29122,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/UserWebhookOutputDto" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UserWebhooksOutputResponseDto": { "type": "object", @@ -26521,7 +29142,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "array", @@ -26530,7 +29154,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "EventTypeWebhookOutputDto": { "type": "object", @@ -26562,7 +29189,14 @@ "type": "string" } }, - "required": ["payloadTemplate", "eventTypeId", "id", "triggers", "subscriberUrl", "active"] + "required": [ + "payloadTemplate", + "eventTypeId", + "id", + "triggers", + "subscriberUrl", + "active" + ] }, "EventTypeWebhookOutputResponseDto": { "type": "object", @@ -26570,13 +29204,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/EventTypeWebhookOutputDto" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "EventTypeWebhooksOutputResponseDto": { "type": "object", @@ -26584,7 +29224,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "array", @@ -26593,7 +29236,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "DeleteManyWebhooksOutputResponseDto": { "type": "object", @@ -26601,13 +29247,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "string" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "OAuthClientWebhookOutputDto": { "type": "object", @@ -26639,7 +29291,14 @@ "type": "string" } }, - "required": ["payloadTemplate", "oAuthClientId", "id", "triggers", "subscriberUrl", "active"] + "required": [ + "payloadTemplate", + "oAuthClientId", + "id", + "triggers", + "subscriberUrl", + "active" + ] }, "OAuthClientWebhookOutputResponseDto": { "type": "object", @@ -26647,13 +29306,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/OAuthClientWebhookOutputDto" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "OAuthClientWebhooksOutputResponseDto": { "type": "object", @@ -26661,7 +29326,10 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "type": "array", @@ -26670,7 +29338,10 @@ } } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "DestinationCalendarsInputBodyDto": { "type": "object", @@ -26679,7 +29350,11 @@ "type": "string", "example": "apple_calendar", "description": "The calendar service you want to integrate, as returned by the /calendars endpoint", - "enum": ["apple_calendar", "google_calendar", "office365_calendar"] + "enum": [ + "apple_calendar", + "google_calendar", + "office365_calendar" + ] }, "externalId": { "type": "string", @@ -26690,7 +29365,10 @@ "type": "string" } }, - "required": ["integration", "externalId"] + "required": [ + "integration", + "externalId" + ] }, "DestinationCalendarsOutputDto": { "type": "object", @@ -26709,7 +29387,12 @@ "nullable": true } }, - "required": ["userId", "integration", "externalId", "credentialId"] + "required": [ + "userId", + "integration", + "externalId", + "credentialId" + ] }, "DestinationCalendarsOutputResponseDto": { "type": "object", @@ -26717,18 +29400,29 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/DestinationCalendarsOutputDto" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "CalendarEventResponseStatus": { "type": "string", "description": "Response status of the attendee", - "enum": ["accepted", "pending", "declined", "needsAction"] + "enum": [ + "accepted", + "pending", + "declined", + "needsAction" + ] }, "CalendarEventAttendee": { "type": "object", @@ -26762,12 +29456,19 @@ "description": "Indicates if this attendee is the host" } }, - "required": ["email"] + "required": [ + "email" + ] }, "CalendarEventStatus": { "type": "string", "description": "Status of the event (accepted, pending, declined, cancelled)", - "enum": ["accepted", "pending", "declined", "cancelled"] + "enum": [ + "accepted", + "pending", + "declined", + "cancelled" + ] }, "CalendarEventHost": { "type": "object", @@ -26787,7 +29488,9 @@ "$ref": "#/components/schemas/CalendarEventResponseStatus" } }, - "required": ["email"] + "required": [ + "email" + ] }, "calendarEventOwner": { "type": "object", @@ -26802,12 +29505,18 @@ "description": "Display name of the event host" } }, - "required": ["email"] + "required": [ + "email" + ] }, "CalendarSource": { "type": "string", "description": "Calendar integration source (e.g., Google Calendar, Office 365, Apple Calendar). Currently only Google Calendar is supported.", - "enum": ["google", "office365", "apple"] + "enum": [ + "google", + "office365", + "apple" + ] }, "UnifiedCalendarEventOutput": { "type": "object", @@ -26910,7 +29619,13 @@ "$ref": "#/components/schemas/CalendarSource" } }, - "required": ["start", "end", "id", "title", "source"] + "required": [ + "start", + "end", + "id", + "title", + "source" + ] }, "GetUnifiedCalendarEventOutput": { "type": "object", @@ -26918,13 +29633,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/UnifiedCalendarEventOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UpdateCalendarEventAttendee": { "type": "object", @@ -27020,7 +29741,9 @@ "example": "acme@example.com" } }, - "required": ["email"] + "required": [ + "email" + ] }, "RequestEmailVerificationOutput": { "type": "object", @@ -27028,10 +29751,15 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] } }, - "required": ["status"] + "required": [ + "status" + ] }, "RequestPhoneVerificationInput": { "type": "object", @@ -27042,7 +29770,9 @@ "example": "+372 5555 6666" } }, - "required": ["phone"] + "required": [ + "phone" + ] }, "RequestPhoneVerificationOutput": { "type": "object", @@ -27050,10 +29780,15 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] } }, - "required": ["status"] + "required": [ + "status" + ] }, "VerifyEmailInput": { "type": "object", @@ -27069,7 +29804,10 @@ "example": "1ABG2C" } }, - "required": ["email", "code"] + "required": [ + "email", + "code" + ] }, "WorkingHours": { "type": "object", @@ -27091,7 +29829,11 @@ "nullable": true } }, - "required": ["days", "startTime", "endTime"] + "required": [ + "days", + "startTime", + "endTime" + ] }, "AvailabilityModel": { "type": "object", @@ -27131,7 +29873,12 @@ "nullable": true } }, - "required": ["id", "days", "startTime", "endTime"] + "required": [ + "id", + "days", + "startTime", + "endTime" + ] }, "ScheduleOutput": { "type": "object", @@ -27201,13 +29948,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/ScheduleOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "VerifyPhoneInput": { "type": "object", @@ -27223,7 +29976,10 @@ "example": "1ABG2C" } }, - "required": ["phone", "code"] + "required": [ + "phone", + "code" + ] }, "UserVerifiedPhoneOutput": { "type": "object", @@ -27231,13 +29987,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/ScheduleOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UserVerifiedEmailsOutput": { "type": "object", @@ -27245,13 +30007,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/ScheduleOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "UserVerifiedPhonesOutput": { "type": "object", @@ -27259,13 +30027,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/ScheduleOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "TeamVerifiedEmailOutput": { "type": "object", @@ -27273,13 +30047,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/ScheduleOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "TeamVerifiedPhoneOutput": { "type": "object", @@ -27287,13 +30067,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/ScheduleOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "TeamVerifiedEmailsOutput": { "type": "object", @@ -27301,13 +30087,19 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/ScheduleOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] }, "TeamVerifiedPhonesOutput": { "type": "object", @@ -27315,14 +30107,20 @@ "status": { "type": "string", "example": "success", - "enum": ["success", "error"] + "enum": [ + "success", + "error" + ] }, "data": { "$ref": "#/components/schemas/ScheduleOutput" } }, - "required": ["status", "data"] + "required": [ + "status", + "data" + ] } } } -} +} \ No newline at end of file