Calendar
Using our robust API you can customize and manage the appointment scheduling workflow that works for your products and services while we do all the leg work behind the scenes.
Calendar/Team
Fetch calendar and team
GET/v1/calendars/teams
https://rest.reisoftware.com/v1/calendars/teams
Get all teams.
Authorization:
Provide your location api key (Bearer Token). You can find here
AUTHORIZATION Bearer Token
Token
<token>
Successful response
Example Request
curl --location --request GET 'https://rest.reisoftware.com/v1/calendars/teams' \
--header 'Authorization: Bearer <token>'
Example Response
200 OK
BodyHeader(1)
View More
{
"teams": [
{
"id": "OW59k4IchTgKjIDy3VMO",
"name": "Test Team",
"members": [
{
"id": "mnUXmpG2MhhHKmjegzBZ",
"name": "Elon Musk",
"email": "elon@musk.com"
},
GET/v1/calendars/check-slug-availability/:slug
https://rest.reisoftware.com/v1/calendars/check-slug-availability/:slug
Check Calendar (Provider) slug availability.
Authorization:
Provide your location api key (Bearer Token). You can find here
AUTHORIZATION Bearer Token
Token
<token>
PATH VARIABLES
slug
xyz
(Required) Slug
Successful response
Example Request
curl --location --request GET 'https://rest.reisoftware.com/v1/calendars/check-slug-availability/xyz' \
--header 'Authorization: Bearer <token>'
Example Response
200 OK
BodyHeader(1)
{
"slug": "sales-services",
"isSlugAvailable": true
}
POST/v1/calendars/teams/
https://rest.reisoftware.com/v1/calendars/teams/
Create a team.
Required JSON fields in the body
Required JSON fields in the calendarConfig
Allowed JSON fields in the calendarConfig
Authorization:
Provide your location api key (Bearer Token).
AUTHORIZATION Bearer Token
Token
<token>
HEADERS
Content-Type
application/json
BODYraw
View More
{
"name": "Sales Team",
"userIds": [
"nisi incididunt",
"laboris veniam Ut"
],
"calendarConfig": {
"calendarName": "Sales Team Calendar",
"description": "Sales Team Calendar Services",
"slug": "sales-team",
"shouldAssignContactToTeamMember": false,
Successful response
Example Request
View More
curl --location --request POST 'https://rest.reisoftware.com/v1/calendars/teams/' \
--header 'Authorization: Bearer <token>' \
--data-raw '{
"name": "Sales Team",
"userIds": [
"ea est esse ad velit",
"ex ut et eiusmod"
],
"calendarConfig": {
"calendarName": "Sales Team Calendar",
"description": "Sales Team Calendar Services",
Example Response
200 OK
BodyHeader(1)
View More
{
"id": "OW59k4IchTgKjIDy3VMO",
"name": "Test Team",
"members": [
{
"id": "mnUXmpG2MhhHKmjegzBZ",
"name": "Elon Musk",
"email": "elon@musk.com"
},
{
"id": "mnUXmpG2MhhHKmjegzBZ",
PUT/v1/calendars/teams/:teamId
https://rest.reisoftware.com/v1/calendars/teams/:teamId
Updating existing team.
Required JSON fields in the body
Required JSON fields in the calendarConfig
Allowed JSON fields in the calendarConfig
Authorization:
Provide your location api key (Bearer Token).
AUTHORIZATION Bearer Token
Token
<token>
HEADERS
Content-Type
application/json
PATH VARIABLES
teamId
0nU7uKSrtT2RVM1KknuF
(Required) Team Id
BODYraw
View More
{
"name": "Sales Team",
"userIds": [
"ea est esse ad velit",
"ex ut et eiusmod"
],
"calendarConfig": {
"calendarName": "Sales Team Calendar",
"description": "Sales Team Calendar Services",
"slug": "sales-team",
"shouldAssignContactToTeamMember": false,
Successful response
Example Request
View More
curl --location --request PUT 'https://rest.reisoftware.com/v1/calendars/teams/0nU7uKSrtT2RVM1KknuF' \
--header 'Authorization: Bearer <token>' \
--data-raw '{
"name": "Sales Team",
"userIds": [
"ea est esse ad velit",
"ex ut et eiusmod"
],
"calendarConfig": {
"calendarName": "Sales Team Calendar",
"description": "Sales Team Calendar Services",
Example Response
200 OK
BodyHeader(1)
View More
{
"id": "OW59k4IchTgKjIDy3VMO",
"name": "Test Team",
"members": [
{
"id": "mnUXmpG2MhhHKmjegzBZ",
"name": "Elon Musk",
"email": "elon@musk.com"
},
{
"id": "mnUXmpG2MhhHKmjegzBZ",
DEL/v1/calendars/teams/:teamId
https://rest.reisoftware.com/v1/calendars/teams/:teamId
Delete Team.
Authorization:
Provide your location api key (Bearer Token).
AUTHORIZATION Bearer Token
Token
<token>
PATH VARIABLES
teamId
0nU7uKSrtT2RVM1KknuF
(Required) Team Id
Successful response
Example Request
curl --location --request DELETE 'https://rest.reisoftware.com/v1/calendars/teams/0nU7uKSrtT2RVM1KknuF' \
--header 'Authorization: Bearer <token>'
Example Response
200 OK
BodyHeader(1)
No response body
This request doesn't return a response body
Calendar/Service
GET/v1/calendars/services
https://rest.reisoftware.com/v1/calendars/services?teamId=ABXdTR0kegkPcTvtdr1L
Get all calendar services.
Authorization:
Provide your location api key (Bearer Token).
AUTHORIZATION Bearer Token
Token
<token>
PARAMS
teamId
ABXdTR0kegkPcTvtdr1L
Filter service by team id.
Successful response
Example Request
curl --location --request GET 'https://rest.reisoftware.com/v1/calendars/services?teamId=ABXdTR0kegkPcTvtdr1L' \
--header 'Authorization: Bearer <token>'
Example Response
200 OK
BodyHeader(1)
View More
{
"services": [
{
"id": "OW59k4IchTgKjIDy3VMO",
"name": "Test Service",
"description": "Test Service Desc.",
"appointmentTitle": "{{contact.name}}",
"meetingLocation": "location",
"eventColor": "#FF0000",
"teamId": "#FF0000",
"linkedCalendars": {
POST/v1/calendars/services/
https://rest.reisoftware.com/v1/calendars/services/
Create a service
Required JSON fields in the body
View More
Allowed JSON fields in the body
Allowed JSON fields in the teamMembers
Allowed JSON fields in the availability
Allowed JSON fields in the availability.eventTiming
View More
Allowed JSON fields in the availability.appointmentInfo
Allowed JSON fields in the availability.schedule
View More
Allowed JSON fields in the availability.officeHours
Allowed JSON fields in the availability.officeHours.days
Allowed JSON fields in the confirmation
View More
Allowed JSON fields in the confirmation.form
Allowed JSON fields in the confirmation.notificationAndOther
Allowed JSON fields in the confirmation.formSubmission
Authorization:
Provide your location api key (Bearer Token).
AUTHORIZATION Bearer Token
Token
<token>
HEADERS
Content-Type
application/json
BODYraw
View More
{
"teamId": "0RXEzw5UVe5oLFm6GQls",
"eventType": "RoundRobin_OptimizeForAvailability",
"teamMembers": [
{
"selected": true,
"userId": "0nU7uKSrtT2RVM1KknuF",
"priority": "Low",
"meetingLocation": "PhoneNumber/ZoomLink/GoogleMeet/Location"
},
{
Successful response
Example Request
View More
curl --location --request POST 'https://rest.reisoftware.com/v1/calendars/services/' \
--header 'Authorization: Bearer <token>' \
--data-raw '{
"teamId": "0RXEzw5UVe5oLFm6GQls",
"eventType": "RoundRobin_OptimizeForAvailability",
"teamMembers": [
{
"selected": true,
"userId": "0nU7uKSrtT2RVM1KknuF",
"priority": "Low",
"meetingLocation": "PhoneNumber/ZoomLink/GoogleMeet/Location"
Example Response
200 OK
BodyHeader(1)
View More
{
"id": "OW59k4IchTgKjIDy3VMO",
"name": "Test Service",
"description": "Test Service Desc.",
"appointmentTitle": "{{contact.name}}",
"meetingLocation": "location",
"eventColor": "#FF0000",
"teamId": "#FF0000",
"linkedCalendars": {
"google": {
"id": "adipisicing laboris veniam ",
PUT/v1/calendars/services/:serviceId
https://rest.reisoftware.com/v1/calendars/services/:serviceId
Update existing service
Required JSON fields in the body
View More
Allowed JSON fields in the body
Allowed JSON fields in the teamMembers
Allowed JSON fields in the availability
Allowed JSON fields in the availability.eventTiming
View More
Allowed JSON fields in the availability.appointmentInfo
Allowed JSON fields in the availability.schedule
View More
Allowed JSON fields in the availability.officeHours
Allowed JSON fields in the availability.officeHours.days
Allowed JSON fields in the confirmation
View More
Allowed JSON fields in the confirmation.form
Allowed JSON fields in the confirmation.notificationAndOther
Allowed JSON fields in the confirmation.formSubmission
Authorization:
Provide your location api key (Bearer Token).
AUTHORIZATION Bearer Token
Token
<token>
HEADERS
Content-Type
application/json
PATH VARIABLES
serviceId
0RXEzw5UVe5oLFm6GQls
(Required) Service Id
BODYraw
View More
{
"teamId": "0RXEzw5UVe5oLFm6GQls",
"eventType": "RoundRobin_OptimizeForAvailability",
"teamMembers": [
{
"selected": true,
"userId": "0nU7uKSrtT2RVM1KknuF",
"priority": "Low",
"meetingLocation": "PhoneNumber/ZoomLink/GoogleMeet/Location"
},
{
Successful response
Example Request
View More
curl --location --request PUT 'https://rest.reisoftware.com/v1/calendars/services/0RXEzw5UVe5oLFm6GQls' \
--header 'Authorization: Bearer <token>' \
--data-raw '{
"teamId": "0RXEzw5UVe5oLFm6GQls",
"eventType": "RoundRobin_OptimizeForAvailability",
"teamMembers": [
{
"selected": true,
"userId": "0nU7uKSrtT2RVM1KknuF",
"priority": "Low",
"meetingLocation": "PhoneNumber/ZoomLink/GoogleMeet/Location"
Example Response
200 OK
BodyHeader(1)
View More
{
"id": "OW59k4IchTgKjIDy3VMO",
"name": "Test Service",
"description": "Test Service Desc.",
"appointmentTitle": "{{contact.name}}",
"meetingLocation": "location",
"eventColor": "#FF0000",
"teamId": "#FF0000",
"linkedCalendars": {
"google": {
"id": "adipisicing laboris veniam ",
DEL/v1/calendars/services/:serviceId
https://rest.reisoftware.com/v1/calendars/services/:serviceId
Delete Service.
Authorization:
Provide your location api key (Bearer Token).
AUTHORIZATION Bearer Token
Token
<token>
PATH VARIABLES
serviceId
0RXEzw5UVe5oLFm6GQls
(Required) Service Id
Successful response
Example Request
curl --location --request DELETE 'https://rest.reisoftware.com/v1/calendars/services/0RXEzw5UVe5oLFm6GQls' \
--header 'Authorization: Bearer <token>'
Example Response
200 OK
BodyHeader(1)
No response body
This request doesn't return a response body
Appointment
Booking Appointment
GET/v1/appointments/slots
https://rest.reisoftware.com/v1/appointments/slots?calendarId=CVokAlI8fgw4WYWoCtQz&startDate=1598898600000&endDate=1601490599999&timezone=America/Chihuahua&userId=082goXVW3lIExEQPOnd3
Get free slots.
Required fields in the query
View More
Allowed field in the query
Authorization:
Provide your location api key (Bearer Token).
AUTHORIZATION Bearer Token
Token
<token>
PARAMS
calendarId
CVokAlI8fgw4WYWoCtQz
(Required) Calendar Id
startDate
1598898600000
(Required) epoch timestamp
endDate
1601490599999
(Required) epoch timestamp
timezone
America/Chihuahua
Timezone
userId
082goXVW3lIExEQPOnd3
User Id
Successful response
Example Request
curl --location --request GET 'https://rest.reisoftware.com/v1/appointments/slots?calendarId=CVokAlI8fgw4WYWoCtQz&startDate=1598898600000&endDate=1601490599999&timezone=America/Chihuahua&userId=082goXVW3lIExEQPOnd3' \
--header 'Authorization: Bearer <token>'
Example Response
200 OK
BodyHeader(1)
{
"_dates_": {
"slots": [
"2020-09-04T08:00:00+05:30",
"2020-09-04T08:00:00+05:30"
]
}
}
GET/v1/appointments/
https://rest.reisoftware.com/v1/appointments/?startDate=1548898600000&endDate=1601490599999&userId=082goXVW3lIExEQPOnd3&calendarId=0nU7uKSrtT2RVM1KknuF&teamId=O4qa8K1M6xA4oPXu1b8O&includeAll=true
Get all booked events.
Required fields in the query
View More
Allowed field in the query
Authorization:
Provide your location api key (Bearer Token).
AUTHORIZATION Bearer Token
Token
<token>
PARAMS
startDate
1548898600000
(Required) epoch timestamp
endDate
1601490599999
(Required) epoch timestamp
userId
082goXVW3lIExEQPOnd3
User Id
calendarId
0nU7uKSrtT2RVM1KknuF
Calendar Id
teamId
O4qa8K1M6xA4oPXu1b8O
Team Id
includeAll
true
Include contact and more data.
Successful response
Example Request
curl --location --request GET 'https://rest.reisoftware.com/v1/appointments/?startDate=1548898600000&endDate=1601490599999&userId=082goXVW3lIExEQPOnd3&calendarId=0nU7uKSrtT2RVM1KknuF&teamId=O4qa8K1M6xA4oPXu1b8O&includeAll=true' \
--header 'Authorization: Bearer <token>'
Example Response
200 OK
BodyHeader(1)
View More
{
"appointments": [
{
"id": "EaALh02zfPo8VB3JOnpq",
"userId": "GCs5KuzPqTls7vWclkEV",
"calendarProviderId": "0nU7uKSrtT2RVM1KknuF",
"calendarId": "9qFx5qCKr3jIdBw0DiqB",
"contactId": "v1kbP2GBSZq6yzRkh7KT",
"calendarServiceId": "CVokAlI8fgw4WYWoCtQz",
"isRecurring": false,
"status": "booked",
POST/v1/appointments/
https://rest.reisoftware.com/v1/appointments/
Booking Appoinment.
HL Appointments API provides several different ways the endpoints can be leveraged, You can examine its application depending on any of the following use cases:
Use case #1: Schedule Appointments
This predominantly focuses on consumer facing online booking applications. To be able to use it effectively, consider the following parameters during your set-up.
Required JSON fields in the body
View More
Allowed JSON fields in the body
Use case #2: Block Off Time (Event Blocks)
This focuses specifically on actions surrounding internal applications such as posting a custom event block availability within your own application. While its application covers a range of different scenarios, you can use the following parameters during your set-up.
Required JSON fields in the body
Allowed JSON fields in the body
View More
Authorization:
Provide your location api key (Bearer Token).
AUTHORIZATION Bearer Token
Token
<token>
HEADERS
Content-Type
application/json
BODYraw
{
"calendarId": "CVokAlI8fgw4WYWoCtQz",
"selectedTimezone": "Asia/Calcutta",
"selectedSlot": "2021-06-23T03:30:00+01:00",
"email": "john@deo.com",
"phone": "+18887324197"
}
Successful response
Example Request
curl --location --request POST 'https://rest.reisoftware.com/v1/appointments/' \
--header 'Authorization: Bearer <token>' \
--data-raw '{
"calendarId": "CVokAlI8fgw4WYWoCtQz",
"selectedTimezone": "Asia/Calcutta",
"selectedSlot": "2021-06-23T03:30:00+01:00",
"email": "john@deo.com",
"phone": "+18887324197"
}'
Example Response
200 OK
BodyHeader(1)
View More
{
"id": "004B1SpcAvh3s9E3rqk8",
"contactId": "0007BWpSzSwfiuSl0tR2",
"contact": {
"id": "0007BWpSzSwfiuSl0tR2",
"locationId": "C2QujeCh8ZnC7al2InWR",
"email": "JohnDeo@gmail.com",
"emailLowerCase": "johndeo@gmail.com",
"fingerprint": "91f4f0e0-e2dd-11ea-9b16-53b2d72e8a24",
"timezone": "Asia/Calcutta",
"country": "DE",
GET/v1/appointments/:appointmentId
https://rest.reisoftware.com/v1/appointments/:appointmentId
Get appointment by id.
Authorization:
Provide your location api key (Bearer Token).
AUTHORIZATION Bearer Token
Token
<token>
PATH VARIABLES
appointmentId
004B1SpcAvh3s9E3rqk8
(Required) Appointment Id
Successful response
Example Request
curl --location --request GET 'https://rest.reisoftware.com/v1/appointments/004B1SpcAvh3s9E3rqk8' \
--header 'Authorization: Bearer <token>'
Example Response
200 OK
BodyHeader(1)
View More
{
"id": "EaALh02zfPo8VB3JOnpq",
"userId": "GCs5KuzPqTls7vWclkEV",
"calendarProviderId": "0nU7uKSrtT2RVM1KknuF",
"calendarId": "9qFx5qCKr3jIdBw0DiqB",
"contactId": "v1kbP2GBSZq6yzRkh7KT",
"calendarServiceId": "CVokAlI8fgw4WYWoCtQz",
"isRecurring": false,
"status": "booked",
"appoinmentStatus": "confirmed",
"title": "Calendar Standup",
PUT/v1/appointments/:appointmentId
https://rest.reisoftware.com/v1/appointments/:appointmentId
Update exisiting appoinment.
Authorization:
Provide your location api key (Bearer Token).
AUTHORIZATION Bearer Token
Token
<token>
HEADERS
Content-Type
application/json
PATH VARIABLES
appointmentId
004B1SpcAvh3s9E3rqk8
(Required) Appointment Id
BODYraw
{
"selectedTimezone": "Asia/Calcutta",
"selectedSlot": "2020-08-28T15:30:00"
}
Successful response
Example Request
curl --location --request PUT 'https://rest.reisoftware.com/v1/appointments/004B1SpcAvh3s9E3rqk8' \
--header 'Authorization: Bearer <token>' \
--data-raw '{
"selectedTimezone": "Asia/Calcutta",
"selectedSlot": "2020-08-28T15:30:00"
}'
Example Response
200 OK
BodyHeader(1)
View More
{
"id": "004B1SpcAvh3s9E3rqk8",
"contactId": "0007BWpSzSwfiuSl0tR2",
"contact": {
"id": "0007BWpSzSwfiuSl0tR2",
"locationId": "C2QujeCh8ZnC7al2InWR",
"email": "JohnDeo@gmail.com",
"emailLowerCase": "johndeo@gmail.com",
"fingerprint": "91f4f0e0-e2dd-11ea-9b16-53b2d72e8a24",
"timezone": "Asia/Calcutta",
"country": "DE",
DEL/v1/appointments/:appointmentId
https://rest.reisoftware.com/v1/appointments/:appointmentId
Delete exisiting appoinment.
Authorization:
Provide your location api key (Bearer Token).
AUTHORIZATION Bearer Token
Token
<token>
PATH VARIABLES
appointmentId
004B1SpcAvh3s9E3rqk8
(Required) Appointment Id
Successful response
Example Request
curl --location --request DELETE 'https://rest.reisoftware.com/v1/appointments/004B1SpcAvh3s9E3rqk8' \
--header 'Authorization: Bearer <token>'
Example Response
200 OK
BodyHeader(1)
""
PUT/v1/appointments/:appointmentId/status
https://rest.reisoftware.com/v1/appointments/:appointmentId/status
Update exisiting appoinment status.
Required JSON fields in the body
View More
Authorization:
Provide your location api key (Bearer Token).
AUTHORIZATION Bearer Token
Token
<token>
HEADERS
Content-Type
application/json
PATH VARIABLES
appointmentId
004B1SpcAvh3s9E3rqk8
(Required) Appointment Id
BODYraw
{
"status": "confirmed"
}
Successful response
Example Request
curl --location --request PUT 'https://rest.reisoftware.com/v1/appointments/004B1SpcAvh3s9E3rqk8/status' \
--header 'Authorization: Bearer <token>' \
--data-raw '{
"status": "confirmed"
}'
Example Response
200 OK
BodyHeader(1)
No response body
This request doesn't return a response body