POST
/
v2
/
oauth-clients
curl --request POST \
  --url https://api.cal.com/v2/oauth-clients \
  --header 'Content-Type: application/json' \
  --data '{
  "logo": "<string>",
  "name": "<string>",
  "redirectUris": [
    "<string>"
  ],
  "permissions": [
    "EVENT_TYPE_READ"
  ],
  "bookingRedirectUri": "<string>",
  "bookingCancelRedirectUri": "<string>",
  "bookingRescheduleRedirectUri": "<string>",
  "areEmailsEnabled": true,
  "areDefaultEventTypesEnabled": false
}'
{
  "status": "success",
  "data": {
    "clientId": "clsx38nbl0001vkhlwin9fmt0",
    "clientSecret": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoib2F1dGgtY2xpZW50Iiwi"
  }
}

Body

application/json
name
string
required
redirectUris
string[]
required
permissions
enum<string>[]
required

Array of permission keys like ["BOOKING_READ", "BOOKING_WRITE"]. Use ["*"] to grant all permissions.

Available options:
EVENT_TYPE_READ,
EVENT_TYPE_WRITE,
BOOKING_READ,
BOOKING_WRITE,
SCHEDULE_READ,
SCHEDULE_WRITE,
APPS_READ,
APPS_WRITE,
PROFILE_READ,
PROFILE_WRITE,
*
bookingRedirectUri
string
bookingCancelRedirectUri
string
bookingRescheduleRedirectUri
string
areEmailsEnabled
boolean
areDefaultEventTypesEnabled
boolean
default:
false

If true, when creating a managed user the managed user will have 4 default event types: 30 and 60 minutes without Cal video, 30 and 60 minutes with Cal video. Set this as false if you want to create a managed user and then manually create event types for the user.

Response

201 - application/json
Create an OAuth client
status
enum<string>
required
Available options:
success,
error
data
object
required