Platform / Managed Users
Force refresh tokens
Getting Started
Platform / Managed Users
Platform / Webhooks
Orgs / Attributes
Orgs / Attributes / Options
- GETGet all attribute options
- POSTCreate an attribute option
- DELDelete an attribute option
- PATCHUpdate an attribute option
- GETGet by attribute id all of the attribute options that are assigned to users
- GETGet by attribute slug all of the attribute options that are assigned to users
- GETGet all attribute options for a user
- POSTAssign an attribute to a user
- DELUnassign an attribute from a user
Orgs / Bookings
Orgs / Delegation Credentials
Orgs / Memberships
Orgs / Routing forms
Orgs / Schedules
Orgs / Teams
Orgs / Teams / Bookings
Orgs / Teams / Conferencing
- POSTConnect your conferencing application to a team
- GETGet OAuth conferencing app's auth url for a team
- GETList team conferencing applications
- POSTSet team default conferencing application
- GETGet team default conferencing application
- DELDisconnect team conferencing application
- GETSave conferencing app OAuth credentials
Orgs / Teams / Event Types
Orgs / Teams / Memberships
Orgs / Teams / Routing forms
Orgs / Teams / Routing forms / Responses
Orgs / Teams / Users / Schedules
Orgs / Users / Bookings
Orgs / Users / OOO
Orgs / Users / Schedules
Orgs / Webhooks
Api Keys
Bookings
Calendars
Conferencing
Destination Calendars
Event Types
Event Types / Webhooks
Managed Orgs
OAuth Clients
Organizations/Teams Stripe
Routing forms
Schedules
Selected Calendars
Slots
Teams / Event Types
Teams / Memberships
Platform / Managed Users
Force refresh tokens
If you have lost managed user access or refresh token, then you can get new ones by using OAuth credentials. Access token is valid for 60 minutes and refresh token for 1 year. Make sure to store them in your database, for example, in your User database model calAccessToken
and calRefreshToken
fields.
Response also contains accessTokenExpiresAt
and refreshTokenExpiresAt
fields, but if you decode the jwt token the payload will contain clientId
(OAuth client ID), ownerId
(user to whom token belongs ID), iat
(issued at time) and expiresAt
(when does the token expire) fields.
POST
/
v2
/
oauth-clients
/
{clientId}
/
users
/
{userId}
/
force-refresh
curl --request POST \
--url https://api.cal.com/v2/oauth-clients/{clientId}/users/{userId}/force-refresh \
--header 'x-cal-secret-key: <x-cal-secret-key>'
{
"status": "success",
"data": {
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9",
"refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9",
"accessTokenExpiresAt": 123,
"refreshTokenExpiresAt": 123
}
}
Headers
OAuth client secret key
Response
200 - application/json
Available options:
success
, error
Example:
"success"
Was this page helpful?
curl --request POST \
--url https://api.cal.com/v2/oauth-clients/{clientId}/users/{userId}/force-refresh \
--header 'x-cal-secret-key: <x-cal-secret-key>'
{
"status": "success",
"data": {
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9",
"refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9",
"accessTokenExpiresAt": 123,
"refreshTokenExpiresAt": 123
}
}