Build innovative mobile and web calendar applications using Skedbee APIs



Skedbee's APIs are powerful yet simple to use. You can use Skedbee's innovative APIs to easily integrate Calendar, Task or Project management features in your existing products and add value for your customers.


Typical Calendar Event

Team meeting from 1pm to 2pm tomorrow


Skedbee's Innovative Calendar Event

Team meeting from 1pm to 2pm tomorrow

OR

Science assignment due next week

OR

Complete presentation anytime before next week

OR

Read a book every 2 days between 6pm to 10pm next week for 30 minutes

OR

Follow up with customer @MyWorkingHours for 30 minutes before end of next month



These API's are innovative because we are changing the way Calendars work. Typical Calendars are just for meetings or appointments. Using Skedbee's APIs, you can also schedule any tasks (with or without due date) in Calendar. Don't worry, Skedbee takes care of adaptively planning and finding the best time to schedule these tasks in Calendar. You can also use APIs to teach Skedbee the best time to schedule certain tasks.


Skedbee API Pricing


$3 / MONTH *


For One User Account

Free 2000 API calls per month
($0.02 for each call after the free quota)

Storage Up-to 10GB

Includes All APIs


Already have an API account? Login

* Promotional price. Lock in your price!


Use cases

There are a number of use cases where this innovative calendar solution can help your customers. Here are a few.

Learning Management System (LMS)

Teachers can just post assignments with due dates and these assignments get scheduled in the student's calendar. So students get reminded at the right time.

Example : Complete Wk1 Math Homework by this Friday and spend at least 5 hours.

Skedbee uses its learning and student preferences to schedule this assignment in the student's calendar. Assignments get automatically re-scheduled (until the due date) if it's not marked complete.


Task Management Applications

Tasks can be automatically scheduled in the calendar and you can plan the day for your customers.

Example : Pickup Groceries every weekend for 1 hour.

Project Management Applications

Project activities can be automatically scheduled in the calendar for every team member based on priority, so they know when to complete their work. This helps team members get a good idea of the amount of work they have to complete.

Example : Test UI for ProjectX before wednesday. It may take 10 hours.

Appointment Booking Applications

If your customer's tasks are scheduled in their calendar, your customer can have a pretty good view of their availability and book appointments without getting stressed out.


Skedbee API Overview

Here, we will provide an overview of all the APIs available in Skedbee. You may not need all these APIs. Use those that adds value for your customers and your business. For detailed documentation like parameters and response samples, please sign up for Skedbee API account. If you would like to see all APIs in action, please sign up for Skedbee personal account


User API

Use these APIs to create and manage user accounts. Each user will have their own account to manage calendar, notes, time tracking, attachments and tasks.

Once you sign up for a Skedbee API account, you will get your OAuth2.0 credentials. You will use that to create users. There is a monthly charge associated with each user creation. It will be automatically billed to your Skedbee API account. See Skedbee API Pricing.

POST skedbeeapi/v1/users
    Creates a new user.

GET skedbeeapi/v1/users/all
    Retrieves all users for the Skedbee API account.

GET skedbeeapi/v1/users/{user_id}
    Retrieves one user using user_id.

UPDATE skedbeeapi/v1/users/{user_id}
    Updates the user account. IDs cannot be updated.

DELETE skedbeeapi/v1/users/{user_id}
    Deletes user account. Removes records associated with the user account.

You have to maintain the mapping between Skedbee user_id and your system's userid.


Calendar API

These APIs are used to create and manage calendar events. There are 3 types of Skedbee calendar events.

  1. Fixed event - Meetings, appointments.
  2. Custom Floating Event - Has a due date and gets scheduled in the calendar based on priority, preferences and learning.
  3. Floating event - Has no due date and gets scheduled in the calendar based on priority, preferences and learning.

Tip: Unlike typical Calendar events, Skedbee Calendar events can also have comments, tasks (see Tasks API), notes (see Notes API), time tracking records (see Time Tracking API) and attachments (see Attachments API). But if your application is already managing everything, you can just attach your external_record_id when creating an event. When retrieving the event, you can map the external_record_id back on your end. Skedbee can also manage the mapping on Skedbee's end (see below).

POST skedbeeapi/v1/calendar/{user_id}
    Creates a new event for the user.

POST skedbeeapi/v1/calendar/nlpevent/{user_id}
    Creates a new event using natural language.

POST skedbeeapi/v1/calendar/{user_id}/search
    Search calendar events using keywords.

POST skedbeeapi/v1/calendar/{user_id}/{event_id}/progress
    Updates progress for a calendar event. Used to mark an event as complete (100%, 20%, 70%).

GET skedbeeapi/v1/calendar/dayview/{user_id}/{date}
    Retrieves all events scheduled by Skedbee for a date YYYY-MM-DD.

GET skedbeeapi/v1/calendar/weekview/{user_id}/{date}
    Retrieves all events scheduled by Skedbee for a week using the date passed as parameter.

GET skedbeeapi/v1/calendar/monthview/{user_id}/{date}
    Retrieves all events scheduled by Skedbee for a month using the date passed as parameter.

GET skedbeeapi/v1/calendar/{user_id}/{event_id}
    Retrieves the event using Skedbee's event id.

GET skedbeeapi/v1/calendar/external/{user_id}/{external_record_id}
    Retrieves the event using caller's external_record_id (if passed while creating the event).

UPDATE skedbeeapi/v1/calendar/{user_id}/{event_id}
    Updates the event using Skedbee's event id.

UPDATE skedbeeapi/v1/calendar/external/{user_id}/{external_record_id}
    Updates the event using caller's external_record_id (if passed while creating the event).

DELETE skedbeeapi/v1/calendar/{user_id}/{event_id}
    Deletes the event using Skedbee's event id. Tasks and attachments associated with this event gets deleted.

DELETE skedbeeapi/v1/calendar/external/{user_id}/{external_record_id}
    Deletes the event using the caller's external_record_id (if passed while creating the event).


Tasks API

These APIs are used to create and manage Tasks for calendar events. Tasks can have comments, notes (see Notes API), time tracking records (see Time Tracking API) and attachments (see Attachments API).

POST skedbeeapi/v1/task/{user_id}/{event_id}
    Creates a new task for a calendar event.

POST skedbeeapi/v1/task/external/{user_id}/{external_record_id}
    Creates a new task for a calendar event using the caller's external_record_id (if passed while creating the event).

POST skedbeeapi/v1/task/{user_id}/search
    Search tasks using keywords.

GET skedbeeapi/v1/task/{user_id}/{event_id}/all
    Retrieves all tasks for event_id

GET skedbeeapi/v1/task/external/{user_id}/{external_record_id}/all
    Retrieves all tasks for caller's external_record_id

GET skedbeeapi/v1/task/{user_id}/{event_id}/{task_id}
    Retrieves a task for event_id using task_id

GET skedbeeapi/v1/task/external/{user_id}/{external_record_id}/{task_id}
    Retrieves a task for caller's external_record_id using task_id

UPDATE skedbeeapi/v1/task/{user_id}/{event_id}/{task_id}
    Updates the task using task_id

UPDATE skedbeeapi/v1/task/external/{user_id}/{external_record_id}/{task_id}
    Updates the task for caller's external_record_id using task_id

DELETE skedbeeapi/v1/task/{user_id}/{event_id}/{task_id}
    Deletes the task. Attachments associated with this task gets deleted.

DELETE skedbeeapi/v1/task/external/{user_id}/{external_record_id}/{task_id}
    Deletes the task.


Journal Notes API

These APIs are used to create and manage notes for calendar events and their tasks. Each note can have attachments (see Attachments API).

POST skedbeeapi/v1/notes/calendar/{user_id}/{event_id}
    Creates a new note for a calendar event.

POST skedbeeapi/v1/notes/calendar/external/{user_id}/{external_record_id}
    Creates a new note for a calendar event using caller's external_record_id (if passed while creating the event).

POST skedbeeapi/v1/notes/task/{user_id}/{task_id}
    Creates a new note for the task.

POST skedbeeapi/v1/notes/{user_id}
    Create a new note. This note is not associated with a calendar event or task.

POST skedbeeapi/v1/notes/{user_id}/search
    Search notes using keywords.

GET skedbeeapi/v1/notes/{user_id}/{fromDate}/{toDate}/all
    Retrieve all notes between fromDate and toDate.

GET skedbeeapi/v1/notes/{user_id}/{fromDate}/{toDate}/{event_id or task_id}
    Retrieve notes between fromDate and toDate for a calendar event or task.

GET skedbeeapi/v1/notes/{user_id}/{notes_id}
    Retrieve a note using notes_id.

UPDATE skedbeeapi/v1/notes/{user_id}/{notes_id}
    Update a note using notes_id.

DELETE skedbeeapi/v1/notes/{user_id}/{notes_id}
    Delete a note using notes_id. Attachments associated with this note get deleted.


Time Tracking API

These APIs are used to track work hours for calendar events, tasks and activities across projects. Each time record can have comments, duration (how long did it take for the work?) and attachments (see Attachments API). Skedbee can automatically learn from these APIs.

POST skedbeeapi/v1/tracktime/calendar/{user_id}/{event_id}
    Creates a new time record for the calendar event.

POST skedbeeapi/v1/tracktime/calendar/external/{user_id}/{external_record_id}
    Creates a new time record for the calendar event using caller's external_record_id (if passed while creating the event).

POST skedbeeapi/v1/tracktime/task/{user_id}/{task_id}
    Creates a new time record for the task.

POST skedbeeapi/v1/tracktime/{user_id}
    Create a new time record. This record is not associated with a calendar event or task.

POST skedbeeapi/v1/tracktime/{user_id}/search
    Search time records using keywords.

GET skedbeeapi/v1/tracktime/calendar/{user_id}/{fromDate}/{toDate}/all
    Retrieves all time records between fromDate and toDate.

GET skedbeeapi/v1/tracktime/calendar/{user_id}/{fromDate}/{toDate}/{event_id}
    Retrieves time records for a calendar event between fromDate and toDate.

GET skedbeeapi/v1/tracktime/calendar/external/{user_id}/{external_record_id}/{fromDate}/{toDate}
    Retrieves time records for a calendar event between fromDate and toDate using caller's external_record_id (if passed while creating the event).

GET skedbeeapi/v1/tracktime/task/{user_id}/{fromDate}/{toDate}/{task_id}
    Retrieves time records for a task between fromDate and toDate.

GET skedbeeapi/v1/tracktime/{user_id}/{tracktime_record_id}
    Retrieves time record using tracktime_record_id.

UPDATE skedbeeapi/v1/tracktime/{user_id}/{tracktime_record_id}
    Updates time record using tracktime_record_id.

DELETE skedbeeapi/v1/tracktime/{user_id}/{tracktime_record_id}
    Deletes time record using tracktime_record_id.


Toggle Timer API

These APIs are used to start and stop timers. You can also call these APIs from your IOT devices like sensors, appliances, gadgets to track time. Skedbee can automatically learn from these APIs.

POST skedbeeapi/v1/toggle/calendar/punchin/{user_id}/{event_id}
    This request starts a timer for a calendar event. This action stops all other running timers

POST skedbeeapi/v1/toggle/calendar/punchout/{user_id}/{event_id}
    This request stops a running timer for a calendar event. If there is no running timer, this action is ignored.

POST skedbeeapi/v1/toggle/punchin/{user_id}
    Creates a new task and starts a timer for that task. This action stops all other running timers

POST skedbeeapi/v1/toggle/punchout/{user_id}/{task_id}
    This request stops a running timer for a task created using the above API. If there is no running timer, this action is ignored.

GET skedbeeapi/v1/toggle/{user_id}/{fromDate}/{toDate}/all
    Retrieves all toggle records for the user between fromDate and toDate

GET skedbeeapi/v1/toggle/{user_id}/{fromDate}/{toDate}/{event_id or task_id}
    Retrieves toggle records for calendar event or tasks between fromDate and toDate

GET skedbeeapi/v1/toggle/{user_id}/{toggle_log_id}
    Retrieves toggle record using toggle_log_id

UPDATE skedbeeapi/v1/toggle/{user_id}/{toggle_log_id}
    Updates toggle record using toggle_log_id

DELETE skedbeeapi/v1/toggle/{user_id}/{toggle_log_id}
    Deletes toggle record using toggle_log_id


Teach Skedbee API

Everyone is different and has their own calendar schedule or schedule preferences. You can personalize the user's calendar schedule preferences using these APIs. Skedbee uses this data to make corrective actions and create time blocks. Though Skedbee can automatically learn from time tracking (see Time Tracking API) and toggle records (see Toggle Timer API), it is important for Skedbee to make corrective decisions if its learning is wrong. Use these APIs for those scenarios.

You can also call these APIs from your IOT devices like sensors, appliances, gadgets.

POST skedbeeapi/v1/schedule/{user_id}/{event_id}/{preferredStartTime}/{preferredEndTime}
    Creates preferences for a calendar event. Skedbee corrects its learning using the user's preferred time.

POST skedbeeapi/v1/schedule/{user_id}/{event_id}/reschedule
    Reschedules a calendar event to a different time based on user preferences.

POST skedbeeapi/v1/timeblock/{user_id}
    Creates a new time block where calendar events can be scheduled. Example MyOfficeHours, MyReadingHours. By default, these are learnable time blocks. Skedbee learns and updates a new schedule automatically. You have an option to disable this feature.

POST skedbeeapi/v1/timeblock/{user_id}/{time_block_id}/{preferredStartTime}/{preferredEndTime}
    Adds preferred start time and end time to a time block.

DELETE skedbeeapi/v1/timeblock/{user_id}/{time_block_id}/{startTime}/{endTime}
    Deletes preferred start time and end time from a time block.

GET skedbeeapi/v1/timeblock/{user_id}/all
    Retrieves all time blocks created for the user.

GET skedbeeapi/v1/timeblock/{user_id}/{time_block_id}
    Retrieves a time block by using time_block_id.

DELETE skedbeeapi/v1/timeblock/{user_id}/{time_block_id}
    Deletes a time block by using time_block_id.


Attachments API

These APIs are used to upload and download files. Calendar events, Tasks, Time logs can have attachments. The content type that you pass in the header of your request should be multipart/form-data or application/octet-stream.

POST skedbeeapi/v1/calendar/{user_id}/{event_id}/attachments
    Uploads a new file as an attachment for a calendar event.

POST skedbeeapi/v1/task/{user_id}/{task_id}/attachments
    Uploads a new file as attachment for a task.

POST skedbeeapi/v1/notes/{user_id}/{notes_id}/attachments
    Uploads a new file as attachment for journal note record.

POST skedbeeapi/v1/tracktime/{user_id}/{tracktime_record_id}/attachments
    Uploads a new file as attachment for time record.

GET skedbeeapi/v1/calendar/{user_id}/{event_id}/attachments/all
    Retrieves all attachments for a calendar event. The response has the URL where you can download the file.

GET skedbeeapi/v1/task/{user_id}/{task_id}/attachments/all
    Retrieves all attachments for a task. The response has the URL where you can download the file.

GET skedbeeapi/v1/notes/{user_id}/{task_id}/attachments/all
    Retrieves all attachments for notes. The response has the URL where you can download the file.

GET skedbeeapi/v1/tracktime/{user_id}/{tracktime_record_id}/attachments/all
    Retrieves all attachments for time record. The response has the URL where you can download the file.

DELETE skedbeeapi/v1/attachments/{user_id}/{attachment_id}
    Deletes the attached file and removes all relations.


Early Warning API

One of the powerful features in Skedbee is forecasting if user has time to complete a task. If Skedbee finds that the chances of completing a task before it's due is less, Skedbee raises an early warning alert depending on how bad the situation is in the predicted future. You need this API to retrieve all tasks that either cannot be scheduled or there is very less time to schedule.

GET skedbeeapi/v1/forecast/{user_id}/all
    Retrieves all tasks that have chances of missing the due date.

GET skedbeeapi/v1/forecast/{user_id}/critical
    Retrieves all tasks that have a very high chance of missing the due date.

GET skedbeeapi/v1/forecast/{user_id}/warning
    Retrieves all tasks that have a moderate chance of missing the due date.


Risk API

This API retrieves all calendar events that are not marked as complete and its already past the due date.

GET skedbeeapi/v1/risk/{user_id}
    Returns all calendar events that are past due date and not marked complete in Skedbee.