The REST APIs provide programmatic access to read and write EasyCalendar data. Create a new meeting, delete them, add notes, and more.
Below are some points that will help you get going with the REST APIs as quickly as possible.
To make a REST API call, you must include request headers including the Authorization header with your API Key and API Secret.
To get an API Key head over to developers section. Then, to authenticate your requests, you pass the api_key:api_secret credentials in the Authorization header. The authorization server then allows you to make REST API requests.
Request Header | Description |
Authorization | When you request an endpoint, send the value as the HTTP basic authentication credentials by using your api_key and api_secret. For example: Authorization: api_key:api_secret.If you use cURL, specify -u “api_key:api_secret”.Required. |
Accept | Set to application/json. Required. |
Use the HTTP headers in order to understand where the application is at for a given rate limit, on the method that was just utilized.
Note that the HTTP headers are contextual. When using api_key and api_secret, they indicate the rate limit for the application context.
When an application exceeds the rate limit for a given API endpoint, the API will return a HTTP 429 “Too Many Requests” response code, along with a detailed error message in response body.
To predict the rate limits available in a better format, consider periodic usage of GET application / rate_limit_status.
We have endpoints for your meetings. We can also customize this data for your business or your own custom needs.
This endpoint lets you create, delete or update meetings that you have on EasyCalendar. A sample meeting object on EasyCalendar is on the right
curl -X POST \
-H "Accept: application/json" \
-H "Authorization: {api_key}:{api_secret}" \
--data
'{
"firstname":"James",
"lastname":"harden",
"email":"james.harden@gmail.com",
"title":"Meeting with James and Lakshya",
"starttime":"2020-11-18T09:15:00Z",
"endtime":"2020-11-18T10:16:10Z",
"attendees":
{
"0":"lakshya@easycalendar.com",
"1":"kartikay@hotmail.com",
"3":"arunav@gmail.com"
},
"description":"Discuss invoice status of customers",
"google_calendar_log":true,
"google_calendar":
{
"name":"help@easycalendar.com"
}'
You can use this endpoint, to create meetings on Easycalendar using your api_key and api_secret.
POST : https://easycalendar.com/api/v1/meetings/new
Fields | Type | Details |
firstname | string | Invitee's first name |
lastname | string | Invitee's last name (optional) |
string | Email address associated with the Invitee | |
title | string | Meeting title associated with the meeting |
starttime | string | Meeting start time. Format YYYYY-mm-dd HH:mm:ssZ. The time must be in UTC. |
endtime | string | Meeting end time. Format YYYYY-mm-dd HH:mm:ssZ. The time must be in UTC. |
attendees | array | Array of attendees taking part in meeting |
description | string | Description of meeting. Additional information you need for this meeting. (optional) |
google_calendar_log | boolean | Log your appointment to Google calendar. (optional) |
google_calendar | object | The name of the Google calendar. Must be provided, if google_calendar_log is true |
curl -X POST \
-H "Accept: application/json" \
-H "Authorization: {api_key}:{api_secret}" \
--data
'{
"firstname":"James",
"lastname":"harden",
"email":"james.harden@gmail.com",
"title":"Meeting with James and Lakshya",
"starttime":"2020-11-18T09:15:00Z",
"endtime":"2020-11-18T10:16:10Z",
"attendees":
{
"0":"lakshya@easycalendar.com",
"1":"kartikay@easycalendar.com",
"2":"arunav@easycalendar.com",
"3":"testjim@hotmail.com"
},
"description":"Discuss invoice status of customers",
"google_calendar_log":true,
"google_calendar":
{
"name":"test@easycalendar.com"
}
}' \
--url
"https://easycalendar.com/api/v1/meetings/new"
"status":"success",
"meeting_id":"1245",
"created_at":"2020-11-18T15:00:10Z",
"message":"Meeting created"
You can use this endpoint, to update a single meeting on EasyCalendar using your api_key and api_secret.
PATCH : https://easycalendar.com/api/v1/meetings/update/{meeting_id}
Parameter | Type | Details |
meeting_id | numeric | Id of the meeting you want to update. Only this particular meeting will be updated. |
Fields | Type | Details |
firstname | string | Invitee's first name (optional) |
lastname | string | Invitee's last name (optional) |
title | string | Meeting title associated with the meeting (optional) |
starttime | string | Meeting start time. Format YYYYY-mm-dd HH:mm:ssZ. The time must be in UTC. Must be smaller than meeting end time. (optional) |
endtime | string | Meeting end time. Format YYYYY-mm-dd HH:mm:ssZ. The time must be in UTC. Must be greater than meeting start time. (optional) |
attendees | array | Array of attendees taking part in meeting. New attendees will overwrite the previously added ones. (optional) |
description | string | Description of meeting. Additional information you need for this meeting. (optional) |
Note : Atleast one field must be provided in the request body in order to update the meeting.
curl -X PATCH \
-H "Accept: application/json" \
-H "Authorization: {api_key}:{api_secret}" \
--data
'{
"firstname":"Jimmy",
"lastname":"harden",
"title":"Meeting with James and Lakshya",
"starttime":"2020-11-18T09:15:00Z",
"endtime":"2020-11-18T10:16:10Z",
"attendees":{
"0":"lakshya@easycalendar.com",
"1":"kartikay@easycalendar.com",
"2":"arunav@easycalendar.com",
"3":"testjim@hotmail.com"
}
"description":"Discuss invoice status of customers"
}' \
--url
"https://easycalendar.com/api/v1/meetings/update/2454"
"status": "success",
"meeting_id": "2454",
"updated_at": "2020-11-18T09:38:15Z",
"message": "Meeting details updated"
You can use this endpoint to get meetings of a specified period on EasyCalendar using your api_key and api_secret.
GET : https://easycalendar.com/api/v1/meetings/list
Fields | Type | Details |
start | numeric | It gives the starting point for the API to return the result. if skipped, then the API will return data from the beginning of the search result (optional) |
limit | numeric | Set the limit for the API search result. By default 10, maximum 100 |
starttime | string | Starting from this time onwards. Format YYYYY-mm-dd HH:mm:ssZ. The time must be in UTC. Must be smaller than the endtime. |
endtime | string | The ending before this time. Format YYYYY-mm-dd HH:mm:ssZ. The time must be in UTC. Must be greater than the starttime. |
curl -X GET \
-H "Accept: application/json" \
-H "Authorization: {api_key}:{api_secret}" \
--url
"https://easycalendar.com/api/v1/meetings/list"
{
"start":2469,
"limit":2,
"starttime":"2020-11-19T07:15:00Z",
"endtime":"2020-11-19T23:00:00Z"
}
"status": "success",
"total": 1,
"data": [
{
"meeting_id": "2469",
"clientemail": "jim.harden@gmail.com",
"user_startime": "2020-11-19 16:59:00",
"user_endtime": "2020-11-19T23:00:00Z",
"client_fname": "James",
"client_lname": "harden",
"description": "Discuss invoice status of customers",
"meeting_title": "Meeting with James and Lakshya",
"attendees": [
"arunav@easycalendar.com",
"jim.harden@gmail.com",
"lakshya@easycalendar.com"
],
"meeting_timezone": null,
"meeting_type": 0,
"created_at": null,
"client_starttime": "2020-11-19T07:15:00Z",
"client_endtime": "2020-11-19T23:00:00Z",
"google_calendar": "arunav@easycalendar.com"
}
],
"pagination":
{
"next_meeting_id": 0
}
}
You can use this endpoint, to get a single meeting on EasyCalendar using your api_key and api_secret.
GET : https://easycalendar.com/api/v1/meetings/get/{meeting_id}
Parameters | Type | Details |
meeting_id | numeric | Meeting id to get details. Only this particular meeting will be returned |
curl -X GET \
-H "Accept: application/json" \
-H "Authorization: {api_key}:{api_secret}" \
--url
"https://easycalendar.com/api/v1/meetings/get/2454"
"status": "success",
"meeting_id": "2454",
"message": "Meeting details found",
"data":
{
"meeting_title": "Meeting with James and Lakshya",
"client_fname": "Jimmy",
"client_lname": "harden",
"client_email": "jim.harden@gmail.com",
"description": "Discuss invoice status of customers and some more queries",
"attendees":
[
"lakshya@easycalendar.com",
"kartikay@easycalendar.com",
"arunav@easycalendar.com",
"testjim@hotmail.com"
],
"created_at": "2020-11-18 09:10:06",
"meeting_type": 0,
"client_starttime": "2020-11-18 16:45:00",
"client_endtime": "2020-11-18 17:46:00",
"user_startime": "2020-11-18 16:45:00",
"user_endtime": "2020-11-18 17:46:00",
"meeting_timezone": "America/New_York",
"google_calendar": "lakshya@easycalendar.com"
}
You can use this endpoint, to delete a meeting on EasyCalendar using your api_key and api_secret.
DELETE : https://easycalendar.com/api/v1/meetings/delete/{meeting_id}
Parameters | Type | Details |
meeting_id | numeric | Id of the meeting you want to delete. Only this particular meeting will be deleted. |
curl -X DELETE \
-H "Accept: application/json" \
-H "Authorization: {api_key}:{api_secret}" \
--url
"https://easycalendar.com/api/v1/meetings/delete/2453"
"status": "success",
"meeting_id":"2453",
"message": "Meeting deleted"
The Easycalendar API uses HTTP status codes to reflect a successful or unsuccessful request 200 status codes represent a successful request. If you receive any other error status code, check the body for an error code and message.
Error code | Error | Description |
200 | Successful Request | |
500 | Internal Server Error server error | Contact support if this error persists |
401 | Unauthorized | Invalid/missing credentials |
429 | Too Many Requests | API request has exceeded the API hit rate limit |
400 | Bad Request | Invalid/missing data |
404 | Not Found | The resource doesn’t exist. Ex. invalid/non-existent meeting-id |