Create a new platform user with automatic availability and meeting type setup, making them immediately ready for bookings.
Endpoint
| Header | Required | Description |
|---|
Authorization | Yes | Bearer <your-api-key> |
Content-Type | Yes | application/json |
Request Body
Basic Fields
| Field | Type | Required | Description |
|---|
email | string | Yes | User’s email address |
givenName | string | Yes | User’s first name |
familyName | string | Yes | User’s last name |
timezone | string | Yes | IANA timezone identifier (e.g., Europe/London) |
Optional: Custom Availability
| Field | Type | Description |
|---|
availability.name | string | Display name for the availability schedule |
availability.timezone | string | Timezone for the schedule |
availability.schedule | array | Weekly schedule with day and time intervals |
Optional: Custom Meeting Type
| Field | Type | Description |
|---|
meetingType.name | string | Display name for the meeting type |
meetingType.duration | number | Meeting duration in minutes |
meetingType.slug | string | URL-friendly identifier for the booking page |
Examples
Basic Request
curl -X POST "https://api.meetergo.com/v4/user" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"givenName": "John",
"familyName": "Smith",
"timezone": "Europe/London"
}'
With Custom Availability & Meeting Type
{
"email": "[email protected]",
"givenName": "John",
"familyName": "Smith",
"timezone": "Europe/London",
"availability": {
"name": "John's Business Hours",
"timezone": "Europe/London",
"schedule": [
{
"dayOfWeek": "monday",
"intervals": [{ "from": "09:00", "to": "17:00" }]
},
{
"dayOfWeek": "tuesday",
"intervals": [{ "from": "09:00", "to": "17:00" }]
},
{
"dayOfWeek": "wednesday",
"intervals": [{ "from": "09:00", "to": "17:00" }]
},
{
"dayOfWeek": "thursday",
"intervals": [{ "from": "09:00", "to": "17:00" }]
},
{
"dayOfWeek": "friday",
"intervals": [{ "from": "09:00", "to": "17:00" }]
}
]
},
"meetingType": {
"name": "45 Minute Discovery Call",
"duration": 45,
"slug": "john-smith-45min"
}
}
With Split Availability (Lunch Break)
{
"email": "[email protected]",
"givenName": "John",
"familyName": "Smith",
"timezone": "Europe/London",
"availability": {
"name": "Business Hours with Lunch",
"timezone": "Europe/London",
"schedule": [
{
"dayOfWeek": "monday",
"intervals": [
{ "from": "09:00", "to": "12:00" },
{ "from": "13:00", "to": "17:00" }
]
},
{
"dayOfWeek": "tuesday",
"intervals": [
{ "from": "09:00", "to": "12:00" },
{ "from": "13:00", "to": "17:00" }
]
}
]
}
}
Response
Success (201 Created)
{
"userId": "550e8400-e29b-41d4-a716-446655440000",
"availabilityId": "660e8400-e29b-41d4-a716-446655440001",
"meetingTypeId": "770e8400-e29b-41d4-a716-446655440002",
"bookingUrl": "https://cal.meetergo.com/john-smith/45min-discovery-call",
"companyId": "880e8400-e29b-41d4-a716-446655440003"
}
| Field | Description |
|---|
userId | UUID of the created user |
availabilityId | UUID of the created availability schedule |
meetingTypeId | UUID of the created meeting type |
bookingUrl | Public URL where customers can book meetings |
companyId | UUID of the company the user belongs to |
User Ready! The user is immediately ready for bookings. The bookingUrl can be shared with customers right away.
What was created automatically:
- Platform user with the provided details
- Default availability schedule (Mon-Fri 9-17 if not specified)
- Default meeting type (30min Meeting if not specified)
- Public booking URL for immediate use
Error Responses
400 Bad Request - Validation Error
{
"statusCode": 400,
"message": "Validation failed",
"errors": [
{
"field": "email",
"message": "Invalid email format"
}
]
}
400 Bad Request - Invalid Timezone
{
"statusCode": 400,
"message": "Invalid timezone",
"error": "Bad Request"
}
409 Conflict - Email Already Exists
{
"statusCode": 409,
"message": "User with this email already exists",
"error": "Conflict"
}
The schedule array defines when the user is available for bookings.
Day of Week Values
monday
tuesday
wednesday
thursday
friday
saturday
sunday
Times are in 24-hour format (HH:mm):
{
"dayOfWeek": "monday",
"intervals": [
{ "from": "09:00", "to": "12:00" },
{ "from": "13:00", "to": "17:00" }
]
}
Days not included in the schedule are treated as unavailable. To make the user unavailable on weekends, simply omit saturday and sunday from the schedule.
Common Timezones
| Region | Timezone |
|---|
| UK | Europe/London |
| Germany | Europe/Berlin |
| France | Europe/Paris |
| US East | America/New_York |
| US West | America/Los_Angeles |
| Japan | Asia/Tokyo |
| Australia | Australia/Sydney |
See the full list of IANA timezone identifiers.