forked from calcom/cal.com
-
Notifications
You must be signed in to change notification settings - Fork 0
/
calendso.yaml
263 lines (263 loc) · 8.66 KB
/
calendso.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
openapi: 3.0.0
info:
title: Calendso API
description: The open source Calendly alternative.
contact:
name: Support
email: [email protected]
license:
name: MIT License
url: https://opensource.org/licenses/MIT
version: 1.0.0
server:
url: http://localhost:{port}
description: Local Development Server
variables:
port:
default: '3000'
tags:
- name: Authentication
description: Auth routes, powered by Next-Auth.js
externalDocs:
url: http://next-auth.js.org/
- name: Availability
description: Checking and setting user availability
- name: Booking
description: Create and manage bookings
- name: Integrations
description: Manage integrations
- name: User
description: Manage the user's profile and settings
- name: Teams
description: Manage teams
paths:
/api/auth/signin:
get:
description: Displays the sign in page.
summary: Displays the sign in page
tags:
- Authentication
/api/auth/signin/:provider:
post:
description: Starts an OAuth signin flow for the specified provider. The POST submission requires CSRF token from /api/auth/csrf.
summary: Starts an OAuth signin flow for the specified provider
tags:
- Authentication
/api/auth/callback/:provider:
get:
description: Handles returning requests from OAuth services during sign in. For OAuth 2.0 providers that support the state option, the value of the state parameter is checked against the one that was generated when the sign in flow was started - this uses a hash of the CSRF token which MUST match for both the POST and GET calls during sign in.
summary: Handles returning requests from OAuth services
tags:
- Authentication
/api/auth/signout:
get:
description: Displays the sign out page.
summary: Displays the sign out page
tags:
- Authentication
post:
description: Handles signing out - this is a POST submission to prevent malicious links from triggering signing a user out without their consent. Handles signing out - this is a POST submission to prevent malicious links from triggering signing a user out without their consent.
summary: Handles signing out
tags:
- Authentication
/api/auth/signup:
post:
description: Creates a new user from an invitation.
summary: Create a new user
tags:
- Authentication
/api/auth/session:
get:
description: Returns client-safe session object - or an empty object if there is no session. The contents of the session object that is returned are configurable with the session callback.
summary: Returns client-safe session object
tags:
- Authentication
/api/auth/csrf:
get:
description: Returns object containing CSRF token. In NextAuth.js, CSRF protection is present on all authentication routes. It uses the "double submit cookie method", which uses a signed HttpOnly, host-only cookie. The CSRF token returned by this endpoint must be passed as form variable named csrfToken in all POST submissions to any API endpoint.
summary: Returns object containing CSRF token
tags:
- Authentication
/api/auth/providers:
get:
description: Returns a list of configured OAuth services and details (e.g. sign in and callback URLs) for each service. It can be used to dynamically generate custom sign up pages and to check what callback URLs are configured for each OAuth provider that is configured.
summary: Returns configured OAuth services
tags:
- Authentication
/api/auth/changepw:
post:
description: Changes the password for the currently logged in account.
summary: Changes the password for the currently logged in account
tags:
- Authentication
/api/auth/forgot-password:
post:
description: Send a password reset email.
summary: Send a password reset email
tags:
- Authentication
/api/auth/reset-password:
post:
description: Reset a user's password with their password reset token.
summary: Reset a user's password
tags:
- Authentication
/api/availability/:user:
get:
description: Gets the busy times for a particular user, by username.
summary: Gets the busy times for a user
tags:
- Availability
/api/availability/calendar:
get:
description: Gets the user's selected calendars.
summary: Gets the user's selected calendars
tags:
- Availability
post:
description: Adds a selected calendar for the user.
summary: Adds a selected calendar for the user
tags:
- Availability
delete:
description: Removes a selected calendar for the user.
summary: Removes a selected calendar for the user
tags:
- Availability
/api/availability/day:
patch:
description: Updates the start and end times for a user's availability.
summary: Updates the user's start and end times
tags:
- Availability
/api/availability/eventtype:
post:
description: Adds a new event type for the user.
summary: Adds a new event type
tags:
- Availability
patch:
description: Updates an event type for the user.
summary: Updates an event type
tags:
- Availability
delete:
description: Deletes an event type for the user.
summary: Deletes an event type
tags:
- Availability
/api/availability/calendars:
post:
description: Selects calendar for availability checking.
summary: Adds selected calendar
tags:
- Availability
delete:
description: Removes a calendar from availability checking.
summary: Deletes a selected calendar
tags:
- Availability
/api/book/:user:
post:
description: Creates a booking in the user's calendar.
summary: Creates a booking for a user
tags:
- Booking
/api/book/confirm:
post:
description: Accepts an opt-in booking.
summary: Accepts an opt-in booking
tags:
- Booking
/api/integrations:
get:
description: Gets a list of the user's integrations.
summary: Gets the user's integrations
tags:
- Integrations
delete:
description: Deletes a user's integration
summary: Deletes a user's integration
tags:
- Integrations
/api/integrations/googlecalendar/add:
get:
description: Gets the OAuth URL for a Google Calendar integration.
summary: Gets the OAuth URL
tags:
- Integrations
/api/integrations/googlecalendar/callback:
post:
description: Gets and stores the OAuth token for a Google Calendar integration.
summary: Gets and stores the OAuth token
tags:
- Integrations
/api/integrations/office365calendar/add:
get:
description: Gets the OAuth URL for a Microsoft 365/Outlook integration.
summary: Gets the OAuth URL
tags:
- Integrations
/api/integrations/office365calendar/callback:
post:
description: Gets and stores the OAuth token for a Microsoft 365/Outlook integration.
summary: Gets and stores the OAuth token
tags:
- Integrations
/api/integrations/zoomvideo/add:
get:
description: Gets the OAuth URL for a Zoom integration.
summary: Gets the OAuth URL
tags:
- Integrations
/api/integrations/zoomvideo/callback:
post:
description: Gets and stores the OAuth token for a Zoom integration.
summary: Gets and stores the OAuth token
tags:
- Integrations
/api/user/profile:
patch:
description: Updates a user's profile.
summary: Updates a user's profile
tags:
- User
/api/user/membership:
get:
description: Get a list of the teams the user has joined.
summary: Get the teams a user is joined to
tags:
- User
patch:
description: Accept team invitation
summary: Accept team invitation.
tags:
- User
delete:
description: Leave team or decline membership invite of current user
summary: Leave team or decline team invite.
tags:
- User
/api/:team:
delete:
description: Deletes a team
summary: Deletes a team
tags:
- Teams
/api/:team/invite:
post:
description: Invites someone to a team.
summary: Invites someone to a team
tags:
- Teams
/api/:team/membership:
get:
description: Lists the members of a team.
summary: Lists members of a team
tags:
- Teams
delete:
description: Cancels a membership (invite) to a team
summary: Cancels a membership
tags:
- Teams