From db76f7c4d1e633d31cb9deb42531f8679655af48 Mon Sep 17 00:00:00 2001 From: Peer Richelsen Date: Thu, 15 Jan 2026 12:49:05 +0100 Subject: [PATCH] Documentation edits made through Mintlify web editor --- docs/oauth.mdx | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 docs/oauth.mdx diff --git a/docs/oauth.mdx b/docs/oauth.mdx new file mode 100644 index 0000000000..ed1b11951d --- /dev/null +++ b/docs/oauth.mdx @@ -0,0 +1,83 @@ +--- +title: "How to use OAuth to authorize apps with cal.com accounts" +--- + +As an example, you can view our OAuth flow in action on Zapier. Try to connect your cal.com account [here](https://zapier.com/apps/calcom/integrations). To enable OAuth in one of your apps, you will need a Client ID, Client Secret, Authorization URL, Access Token Request URL, and Refresh Token Request URL. + + + ![](/images/oauth-zapier.png) + + +### Get your OAuth "Continue with [Cal.com](http://Cal.com)" Badge + +https://app.cal.com/continue-with-calcom-coss-ui-light.svg + +### OAuth Client Credentials + +Only the cal.com team can create new OAuth clients. Please fill out [this form](https://i.cal.com/forms/4052adda-bc79-4a8d-9f63-5bc3bead4cd3) and book us to get started. + +The Cal.com team will register the app and provide you with the Client ID and Client Secret. Keep these credentials confidential and secure. + +### Authorization URL + +To initiate the OAuth flow, direct users to the following authorization URL: + +- `https://app.cal.com/auth/oauth2/authorize` +- URL Parameters: + - _client_id_ + - _state_: A securely generated random string to mitigate CSRF attacks + - _redirect_uri_: This is where users will be redirected after authorization + +After users click _Allow_, they will be redirected to the redirect_uri with the code (authorization code) and state as URL parameters. + +### Access Token Request + +Endpoint: `POST https://app.cal.com/api/auth/oauth/token` + +Request Body: + +- _code_: The authorization code received in the redirect URI +- _client_id_ +- _client_secret_ +- _grant_type_: "authorization_code" +- _redirect_uri_ + +Response: + +``` +{ + access_token: “exampleAccessToken” + refresh_token: “exampleRefreshToken” +} +``` + +### Refresh Token Request + +Endpoint: `POST https://app.cal.com/api/auth/oauth/refreshToken` + +Headers: + +- Authorization: Bearer _exampleRefreshToken_ + +Request Body: + +- _grant_type_: "refresh_token" +- _client_id_ +- _client_secret_ + +Response: + +``` +{ + access_token: “exampleAccessToken”, + refresh_token: "exampleRefreshToken" +} +``` + +### Testing OAuth Credentials + +To verify the correct setup and functionality of OAuth credentials you can use the following endpoint: `GET https://api.cal.com/v2/me` + +Headers: + +- Authorization: Bearer _exampleAccessToken_ \ No newline at end of file