POST
/
v2
/
oauth-clients
/
{clientId}
/
users
curl --request POST \
  --url https://api.cal.com/v2/oauth-clients/{clientId}/users \
  --header 'Content-Type: application/json' \
  --data '{
  "email": "[email protected]",
  "name": "Alice Smith",
  "timeFormat": 12,
  "weekStart": "Monday",
  "timeZone": "America/New_York",
  "locale": "en",
  "avatarUrl": "https://cal.com/api/avatar/2b735186-b01b-46d3-87da-019b8f61776b.png"
}'
{
  "status": "success",
  "data": {
    "user": {
      "id": 1,
      "email": "[email protected]",
      "username": "alice",
      "name": "alice",
      "timeZone": "America/New_York",
      "weekStart": "Sunday",
      "createdDate": "2024-04-01T00:00:00.000Z",
      "timeFormat": 12,
      "defaultScheduleId": null,
      "locale": "en",
      "avatarUrl": "https://cal.com/api/avatar/2b735186-b01b-46d3-87da-019b8f61776b.png"
    },
    "accessToken": "<string>",
    "refreshToken": "<string>",
    "accessTokenExpiresAt": 123
  },
  "error": {}
}

Path Parameters

clientId
string
required

Body

application/json
email
string
required
name
string
required

Managed user's name is used in emails

timeFormat
enum<number>

Must be a number 12 or 24

Available options:
12,
24
weekStart
enum<string>
Available options:
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
timeZone
string

Timezone is used to create user's default schedule from Monday to Friday from 9AM to 5PM. If it is not passed then user does not have a default schedule and it must be created manually via the /schedules endpoint. Until the schedule is created, the user can't access availability atom to set his / her availability nor booked. It will default to Europe/London if not passed.

locale
enum<string>
Available options:
ar,
ca,
de,
es,
eu,
he,
id,
ja,
lv,
pl,
ro,
sr,
th,
vi,
az,
cs,
el,
es-419,
fi,
hr,
it,
km,
nl,
pt,
ru,
sv,
tr,
zh-CN,
bg,
da,
en,
et,
fr,
hu,
iw,
ko,
no,
pt-BR,
sk,
ta,
uk,
zh-TW
avatarUrl
string

URL of the user's avatar image

Response

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