OnSched

The OnSched Developer Hub

Welcome to the OnSched Developer Hub. Here you'll find comprehensive guides and documentation to help you start working with the OnSched API as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started
Suggest Edits

Appointments

 
Suggest Edits

Returns a list of appointments.

The results are returned in pages. Use the offset and limit parameters to control the page start and size. Default offset is 0, and limit is 20.
Use the other query parameters to optionally filter the results list.

 
getsandbox-api.onsched.com/consumer/v1/appointments
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/appointments
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/appointments' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/appointments")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/appointments");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/appointments"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

locationId
string

The id of the business location. Defaults to first business location.

email
string

Filter appointments by email address.

serviceId
string

Filter appointments by service.

resourceId
string

Filter appointments by resource.

customerId
string

Filter appointments by customer.

status
string

Filter appointments by status: IN, BK, CN, RE, RS.

offset
int32

Starting row of page, default 0

limit
int32

Page limit, default 20. Maximum 100.

Response

Success

objectstring
urlstring
hasMoreboolean
countinteger
totalinteger
dataarray

Server Error

Suggest Edits

Returns an appointment object

This end point creates a new appointment in an Initial "IN" status.

A valid serviceId is required. Use GET consumer/v1/services to retrieve a list of your services.

A valid resourceId is required if your calendar is a resource based calendar. Use consumer/v1/resources to retrieve a list of your resources.

StartDateTime and EndDateTime are required. Use the ISO 8601 format for DateTime Timezone. e.g. 2016-10-30T9:00:00-5:00

 
postsandbox-api.onsched.com/consumer/v1/appointments
curl --request POST \
  --url http://sandbox-api.onsched.com/consumer/v1/appointments
var request = require("request");

var options = { method: 'POST',
  url: 'http://sandbox-api.onsched.com/consumer/v1/appointments' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/appointments")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "http://sandbox-api.onsched.com/consumer/v1/appointments");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/appointments"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

locationId
string
serviceId
string
resourceId
string
customerId
string
bookedBy
string
startDateTime
date-time
endDateTime
date-time

Response

Success

objectstring
idstring
locationIdstring
calendarIdstring
serviceIdstring
resourceIdstring
customerIdstring
rescheduledIdstring
createDatestring
startDateTimestring
endDateTimestring
datestring
timeinteger
durationinteger
timezoneinteger
statusstring
confirmationNumberstring
bookedBystring
onlineBookingboolean
confirmedboolean
emailstring
namestring
lastnamestring
firstnamestring
phonestring
phoneTypestring
phoneExtstring
customerMessagestring
lastModifiedOnstring
lastModifiedBystring
locationstring
latitudestring
longitudestring
stripeChargeIdstring
stripeRefundIdstring
paymentStatusinteger
customFieldsobject
appointmentBookingFieldsarray
customerBookingFieldsarray

Server Error

Suggest Edits

Returns an appointment object.

The result returned is a single appointment object. A valid id is required to find the appointment.

Find appointment id's using the GET consumer/v1/appointments end point.

 
getsandbox-api.onsched.com/consumer/v1/appointments/id
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/appointments/id
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/appointments/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/appointments/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/appointments/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/appointments/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The id of the appointment object.

Response

Success

objectstring
idstring
locationIdstring
calendarIdstring
serviceIdstring
resourceIdstring
customerIdstring
rescheduledIdstring
createDatestring
startDateTimestring
endDateTimestring
datestring
timeinteger
durationinteger
timezoneinteger
statusstring
confirmationNumberstring
bookedBystring
onlineBookingboolean
confirmedboolean
emailstring
namestring
lastnamestring
firstnamestring
phonestring
phoneTypestring
phoneExtstring
customerMessagestring
lastModifiedOnstring
lastModifiedBystring
locationstring
latitudestring
longitudestring
stripeChargeIdstring
stripeRefundIdstring
paymentStatusinteger
customFieldsobject

Server Error

Suggest Edits

Returns an appointment object

This end point deletes a booking. Only appointments in a "IN" initial status can be deleted.
Past dated appointments cannot be cancelled.

A valid appointment id is required. Use the appointmentId returned from GET /consumer/v1/appointments

 
deletesandbox-api.onsched.com/consumer/v1/appointments/id
curl --request DELETE \
  --url http://sandbox-api.onsched.com/consumer/v1/appointments/id
var request = require("request");

var options = { method: 'DELETE',
  url: 'http://sandbox-api.onsched.com/consumer/v1/appointments/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/appointments/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "http://sandbox-api.onsched.com/consumer/v1/appointments/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/appointments/id"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Response

Success

objectstring
idstring
locationIdstring
calendarIdstring
serviceIdstring
resourceIdstring
customerIdstring
rescheduledIdstring
createDatestring
startDateTimestring
endDateTimestring
datestring
timeinteger
durationinteger
timezoneinteger
statusstring
confirmationNumberstring
bookedBystring
onlineBookingboolean
confirmedboolean
emailstring
namestring
lastnamestring
firstnamestring
phonestring
phoneTypestring
phoneExtstring
customerMessagestring
lastModifiedOnstring
lastModifiedBystring
locationstring
latitudestring
longitudestring
stripeChargeIdstring
stripeRefundIdstring
paymentStatusinteger
customFieldsobject

Server Error

Suggest Edits

Returns an appointment object

This end point completes a new booking. Only appointments in the "IN" initial status can be booked.
by saving all the relevant details of the booking.

A valid appointment id is required. Use the appointmentId returned from POST /consumer/v1/appointments

To update appointment custom field values, use the GET /consumer/v1/appointments/customfields information
to understand your definitions of custom fields and what key and values to update.

 
putsandbox-api.onsched.com/consumer/v1/appointments/id/book
curl --request PUT \
  --url http://sandbox-api.onsched.com/consumer/v1/appointments/id/book
var request = require("request");

var options = { method: 'PUT',
  url: 'http://sandbox-api.onsched.com/consumer/v1/appointments/id/book' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/appointments/id/book")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "http://sandbox-api.onsched.com/consumer/v1/appointments/id/book");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/appointments/id/book"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Body Params

email
string
name
string
phone
string
phoneType
string
phoneExt
string
customerMessage
string
customFields
object
 
customFields.field1
string
customFields.field2
string
customFields.field3
string
customFields.field4
string
customFields.field5
string
customFields.field6
string
customFields.field7
string
customFields.field8
string
customFields.field9
string
customFields.field10
string
appointmentBookingFields
array of objects
name
value
customerBookingFields
array of objects
name
value

Response

Success

objectstring
idstring
locationIdstring
calendarIdstring
serviceIdstring
resourceIdstring
customerIdstring
rescheduledIdstring
createDatestring
startDateTimestring
endDateTimestring
datestring
timeinteger
durationinteger
timezoneinteger
statusstring
confirmationNumberstring
bookedBystring
onlineBookingboolean
confirmedboolean
emailstring
namestring
lastnamestring
firstnamestring
phonestring
phoneTypestring
phoneExtstring
customerMessagestring
lastModifiedOnstring
lastModifiedBystring
locationstring
latitudestring
longitudestring
stripeChargeIdstring
stripeRefundIdstring
paymentStatusinteger
customFieldsobject

Server Error

Suggest Edits

Returns an appointment object

This end point cancels a booking or reservation. Only appointments in a "BK" booked, or "RS" reserved status can be cancelled.
Past dated appointments cannot be cancelled.

A valid appointment id is required. Use the appointmentId returned from POST /consumer/v1/appointments

 
putsandbox-api.onsched.com/consumer/v1/appointments/id/cancel
curl --request PUT \
  --url http://sandbox-api.onsched.com/consumer/v1/appointments/id/cancel
var request = require("request");

var options = { method: 'PUT',
  url: 'http://sandbox-api.onsched.com/consumer/v1/appointments/id/cancel' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/appointments/id/cancel")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "http://sandbox-api.onsched.com/consumer/v1/appointments/id/cancel");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/appointments/id/cancel"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Response

Success

objectstring
idstring
locationIdstring
calendarIdstring
serviceIdstring
resourceIdstring
customerIdstring
rescheduledIdstring
createDatestring
startDateTimestring
endDateTimestring
datestring
timeinteger
durationinteger
timezoneinteger
statusstring
confirmationNumberstring
bookedBystring
onlineBookingboolean
confirmedboolean
emailstring
namestring
lastnamestring
firstnamestring
phonestring
phoneTypestring
phoneExtstring
customerMessagestring
lastModifiedOnstring
lastModifiedBystring
locationstring
latitudestring
longitudestring
stripeChargeIdstring
stripeRefundIdstring
paymentStatusinteger
customFieldsobject

Server Error

Suggest Edits

Returns an appointment object

This end point reschedules a booking. Only appointments in a "BK" booked status can be rescheduled.
Past dated appointments cannot be cancelled.

A valid appointment id is required. Use the appointmentId returned from GET /consumer/v1/appointments.

The serviceId and resourceId are optional. If you want your users to change the resource or service on a reschedule
you will have to use the regular availability endpoint rather than the reschedule availability end point.

Use the GET /consumer/v1/availability/{id}/reschedule endpoint to display a list of available times
for the end user to choose from to reschedule the original appointment.

 
putsandbox-api.onsched.com/consumer/v1/appointments/id/reschedule
curl --request PUT \
  --url http://sandbox-api.onsched.com/consumer/v1/appointments/id/reschedule
var request = require("request");

var options = { method: 'PUT',
  url: 'http://sandbox-api.onsched.com/consumer/v1/appointments/id/reschedule' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/appointments/id/reschedule")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "http://sandbox-api.onsched.com/consumer/v1/appointments/id/reschedule");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/appointments/id/reschedule"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

appointment id

Body Params

serviceId
string
resourceId
string
startDateTime
date-time
endDateTime
date-time

Response

Success

objectstring
idstring
locationIdstring
calendarIdstring
serviceIdstring
resourceIdstring
customerIdstring
rescheduledIdstring
createDatestring
startDateTimestring
endDateTimestring
datestring
timeinteger
durationinteger
timezoneinteger
statusstring
confirmationNumberstring
bookedBystring
onlineBookingboolean
confirmedboolean
emailstring
namestring
lastnamestring
firstnamestring
phonestring
phoneTypestring
phoneExtstring
customerMessagestring
lastModifiedOnstring
lastModifiedBystring
locationstring
latitudestring
longitudestring
stripeChargeIdstring
stripeRefundIdstring
paymentStatusinteger
customFieldsobject

Server Error

Suggest Edits

/consumer/v1/appointments/{id}/noshow

 
putsandbox-api.onsched.com/consumer/v1/appointments/id/noshow
curl --request PUT \
  --url http://sandbox-api.onsched.com/consumer/v1/appointments/id/noshow
var request = require("request");

var options = { method: 'PUT',
  url: 'http://sandbox-api.onsched.com/consumer/v1/appointments/id/noshow' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/appointments/id/noshow")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "http://sandbox-api.onsched.com/consumer/v1/appointments/id/noshow");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/appointments/id/noshow"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
int32
required

Response

Success

Server Error

Suggest Edits

Returns a list of appointment custom field definitions

This end point returns your Appointment custom field definitions.

Appointment custom fields are different than Customer custom fields. Appointment custom fields are
stored with each appointment. They are used when the information collected during the booking is specific
to a particular visit.

Use the field, and type to determine how to update field values
in PUT /consumer/v1/appointments/{id}/book

 
getsandbox-api.onsched.com/consumer/v1/appointments/customfields
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/appointments/customfields
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/appointments/customfields' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/appointments/customfields")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/appointments/customfields");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/appointments/customfields"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

locationId
string

The id of the business location. Defaults to first business location.

Response

Success

objectstring
totalinteger
customFieldsarray

Server Error

Suggest Edits

Returns a list of appointment booking fields

This end point returns Booking Field definitions.

Appointment booking fields are different than Customer booking fields. Appointment booking fields are
stored with each appointment. They are used when the information collected during the booking is specific
to a particular visit.

Use the field, and type to determine how to update field values
in PUT /consumer/v1/appointments/{id}/book

Booking Fields include any custom appointment fields you wish to capture with the Booking and also
miscellaneous appointment attributes including address information.

 
getsandbox-api.onsched.com/consumer/v1/appointments/bookingfields
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/appointments/bookingfields
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/appointments/bookingfields' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/appointments/bookingfields")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/appointments/bookingfields");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/appointments/bookingfields"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

locationId
string

The id of the business location. Defaults to first business location.

Response

Success

objectstring
totalinteger
bookingFieldsarray

Server Error

Suggest Edits

Availability

 
Suggest Edits

Returns a list of available times.

Choose your search criteria carefully. Availability is an expensive call. If you search availability for all resources
then you should only do so for a single date. If you decide to search availability for multiple dates you should only do so
for a specific resource by specifying the optional resourceId parameter.

Start and End times are specified as military times e.g. 800 = 8:00am, 2230 = 10:30pm.
You will only see availability within the boundary of your business start and end times.

dayAvailability will return day availablility for the number of days requested from the start date.

firstDayAvailable only works with day availability. If set to true it will look for the first day available within the range specified
by the dayAvailability parameter. The two parameters together can be a clever way to display availability for a week or month.
Tip - pass in the beginning of the week or month, and available times are displayed for the first available date if exists.

You should only specify the duration parameter if you let your customers choose the duration of the appointment. e.g. from a list.

The tz parameter allows you to select a suitable timezone for the customer to book in. Your app should be timezone aware if you
use this option. The requested timezone is specified as an offset(plus or minus) from GMT time.

 
getsandbox-api.onsched.com/consumer/v1/availability/serviceId/startDate/endDate
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/availability/serviceId/startDate/endDate
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/availability/serviceId/startDate/endDate' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/availability/serviceId/startDate/endDate")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/availability/serviceId/startDate/endDate");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/availability/serviceId/startDate/endDate"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

serviceId
string
required

Service Id for availability search.

startDate
date-time
required

Start Date for availability search.

endDate
date-time
required

End Date for availability search.

Query Params

startTime
int32

Start Time for availability search. Defaults to Business Hours Start.

endTime
int32

End Time for availability search. Defaults to Business Hours End.

locationId
string

The id of the business location. Defaults to first business location.

resourceId
string

Resource Id for availability search.

resourceGroupId
string

Resource Group Id for availability search.

resourceIds
string

Comma separated Resource Id's for availability search.

duration
int32

Duration of the service if different than the default.

tzOffset
int32

Request timezone offset to view availability.

dayAvailability
int32

Return day availability for number of days specified.

firstDayAvailable
boolean

Return available times for the first available day.

Response

Success

urlstring
objectstring
businessNamestring
serviceIdstring
serviceNamestring
serviceDescriptionstring
serviceDurationinteger
resourceIdstring
resourceNamestring
resourceDescriptionstring
tzRequestedinteger
firstAvailableDatestring
availableDaysarray
availableTimesarray

Server Error

Suggest Edits

Returns a list of available days.

This end point is used to show day level availability. For example if the business is closed, or there is a public holiday.

Day level availability is a good way to restrict your choices of dates in your app and improve usability.

 
getsandbox-api.onsched.com/consumer/v1/availability/serviceId/startDate/endDate/days
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/availability/serviceId/startDate/endDate/days
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/availability/serviceId/startDate/endDate/days' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/availability/serviceId/startDate/endDate/days")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/availability/serviceId/startDate/endDate/days");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/availability/serviceId/startDate/endDate/days"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

serviceId
string
required

Service Id for availability search.

startDate
date-time
required

Start Date for availability search.

endDate
date-time
required

End Date for availability search.

Query Params

locationId
string

The id of the business location. Defaults to first business location.

resourceId
string

Resource Id to filter on.

tzOffset
int32

Request timezone offset to view availability.

Response

Success

urlstring
objectstring
serviceIdstring
serviceNamestring
serviceDescriptionstring
resourceIdstring
resourceNamestring
resourceDescriptionstring
tzRequestedinteger
availableDaysarray

Server Error

Suggest Edits

Returns a list of unavailable times.

This endpoint is used to show unavailable times and provides information why the timeslot is unavailable.

 
getsandbox-api.onsched.com/consumer/v1/availability/serviceId/startDate/endDate/unavailable
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/availability/serviceId/startDate/endDate/unavailable
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/availability/serviceId/startDate/endDate/unavailable' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/availability/serviceId/startDate/endDate/unavailable")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/availability/serviceId/startDate/endDate/unavailable");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/availability/serviceId/startDate/endDate/unavailable"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

serviceId
string
required

Service Id for availability search.

startDate
date-time
required

Start Date for unavailable time search.

endDate
date-time
required

End Date for unavailable time search.

Query Params

locationId
string

The id of the business location. Defaults to first business location.

resourceId
string

Resource Id to filter on.

duration
int32

Duration of the service if different than the default.

tzOffset
int32

Request timezone offset to view unavailable times.

Response

Success

objectstring
urlstring
unavailableTimesarray

Server Error

Suggest Edits

Returns a list of available times.

This end point is used to find availability for the purpose of rescheduling an appointment.
Availability defaults to the serviceId, resourceId and timezone from the original appointment.
After choosing from the availability, you can call the appointment reschedule endpoint.

 
getsandbox-api.onsched.com/consumer/v1/availability/appointmentId/reschedule
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/availability/appointmentId/reschedule
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/availability/appointmentId/reschedule' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/availability/appointmentId/reschedule")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/availability/appointmentId/reschedule");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/availability/appointmentId/reschedule"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

appointmentId
int32
required

Appointment Id of the original appointment being rescheduled.

Query Params

tzOffset
int32

Request timezone offset to view availability.

Response

Success

urlstring
objectstring
businessNamestring
serviceIdstring
serviceNamestring
serviceDescriptionstring
serviceDurationinteger
resourceIdstring
resourceNamestring
resourceDescriptionstring
tzRequestedinteger
firstAvailableDatestring
availableDaysarray
availableTimesarray

Server Error

Suggest Edits

Customers

 
Suggest Edits

Returns a list of customers.

The results are returned in pages. Use the offset and limit parameters to control the page start and size. Default offset is 0, and limit is 20.
Use the other query parameters to optionally filter the results list.

 
getsandbox-api.onsched.com/consumer/v1/customers
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/customers
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/customers' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/customers")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/customers");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/customers"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

locationId
string

The id of the business location. Defaults to first business location.

groupId
string

Filter customers by group.

email
string

Filter customers by email address.

lastname
string

Search customers by lastname.

deleted
boolean

Filter customers by deleted status.

offset
int32

Starting row of page, default 0

limit
int32

Page limit, default 20. Maximum 100.

Response

Success

objectstring
urlstring
hasMoreboolean
countinteger
totalinteger
dataarray

Server Error

Suggest Edits

Creates a new customer object.

Use this endpoint to create a new customer. If not specified the business location id defaults to the first location in the company.
Email Address and a lastname are required for creating a new customer.

 
postsandbox-api.onsched.com/consumer/v1/customers
curl --request POST \
  --url http://sandbox-api.onsched.com/consumer/v1/customers
var request = require("request");

var options = { method: 'POST',
  url: 'http://sandbox-api.onsched.com/consumer/v1/customers' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/customers")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "http://sandbox-api.onsched.com/consumer/v1/customers");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/customers"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

locationId
string
email
string
name
string
lastname
string
firstname
string
type
int32
stripeCustomerId
string
address
object
 
address.addressLine1
string
address.addressLine2
string
address.city
string
address.state
string
address.country
string
address.postalCode
string
contact
object
 
contact.preferredPhoneType
string
contact.homePhone
string
contact.mobilePhone
string
contact.businessPhone
string
contact.businessPhoneExt
string
contact.skypeUsername
string
customFields
object
 
customFields.field1
string
customFields.field2
string
customFields.field3
string
customFields.field4
string
customFields.field5
string
customFields.field6
string
customFields.field7
string
customFields.field8
string
customFields.field9
string
customFields.field10
string

Response

Success

objectstring
idstring
locationIdstring
emailstring
namestring
lastnamestring
firstnamestring
companyNamestring
genderstring
birthdatestring
lastVisitDatestring
groupIdstring
resourceIdstring
createdOnstring
createdBystring
registeredBystring
verifiedBystring
modifiedBystring
modifiedOnstring
verificationDatestring
registrationDatestring
emailInfoboolean
emailPromotionboolean
disabledboolean
inviteEmailSentstring
welcomeEmailSentstring
deletedStatusboolean
deletedTimestring
notificationTypestring
subscriptionIdstring
latitudestring
longitudestring
stripeCustomerIdstring
contactobject
contact.phoneTypestring
contact.homePhonestring
contact.mobilePhonestring
contact.businessPhonestring
contact.businessPhoneExtstring
contact.skypeUsernamestring
addressobject
address.addressLine1string
address.addressLine2string
address.citystring
address.statestring
address.countrystring
address.postalCodestring
customFieldsobject

Server Error

Suggest Edits

Returns a customer object.

The result returned is a single customer object. An id is required to find the customer. Find customer id's using either the GET consumer/v1/customers end point,
or the GET consumer/v1/appointments end point. A customer object is automatically created with the first booking if it doesn't already exist.

 
getsandbox-api.onsched.com/consumer/v1/customers/id
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/customers/id
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/customers/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/customers/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/customers/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/customers/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The id of the customer object.

Response

Success

objectstring
idstring
locationIdstring
emailstring
namestring
lastnamestring
firstnamestring
companyNamestring
genderstring
birthdatestring
lastVisitDatestring
groupIdstring
resourceIdstring
createdOnstring
createdBystring
registeredBystring
verifiedBystring
modifiedBystring
modifiedOnstring
verificationDatestring
registrationDatestring
emailInfoboolean
emailPromotionboolean
disabledboolean
inviteEmailSentstring
welcomeEmailSentstring
deletedStatusboolean
deletedTimestring
notificationTypestring
subscriptionIdstring
latitudestring
longitudestring
stripeCustomerIdstring
contactobject
contact.phoneTypestring
contact.homePhonestring
contact.mobilePhonestring
contact.businessPhonestring
contact.businessPhoneExtstring
contact.skypeUsernamestring
addressobject
address.addressLine1string
address.addressLine2string
address.citystring
address.statestring
address.countrystring
address.postalCodestring
customFieldsobject

Server Error

Suggest Edits

Updates a customer object.

Use this endpoint to update customer information. If not specified the business location id defaults to the first location in the company.
Blank fields are not changed

 
putsandbox-api.onsched.com/consumer/v1/customers/id
curl --request PUT \
  --url http://sandbox-api.onsched.com/consumer/v1/customers/id
var request = require("request");

var options = { method: 'PUT',
  url: 'http://sandbox-api.onsched.com/consumer/v1/customers/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/customers/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "http://sandbox-api.onsched.com/consumer/v1/customers/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/customers/id"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Body Params

locationId
string
type
int32
email
string
name
string
lastname
string
firstname
string
stripeCustomerId
string
address
object
 
address.addressLine1
string
address.addressLine2
string
address.city
string
address.state
string
address.country
string
address.postalCode
string
contact
object
 
contact.preferredPhoneType
string
contact.homePhone
string
contact.mobilePhone
string
contact.businessPhone
string
contact.businessPhoneExt
string
contact.skypeUsername
string
customFields
object
 
customFields.field1
string
customFields.field2
string
customFields.field3
string
customFields.field4
string
customFields.field5
string
customFields.field6
string
customFields.field7
string
customFields.field8
string
customFields.field9
string
customFields.field10
string

Response

Success

Server Error

Suggest Edits

/consumer/v1/customers/{id}

 
deletesandbox-api.onsched.com/consumer/v1/customers/id
curl --request DELETE \
  --url http://sandbox-api.onsched.com/consumer/v1/customers/id
var request = require("request");

var options = { method: 'DELETE',
  url: 'http://sandbox-api.onsched.com/consumer/v1/customers/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/customers/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "http://sandbox-api.onsched.com/consumer/v1/customers/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/customers/id"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Response

Success

Server Error

Suggest Edits

Returns a list of customField objects

This end point returns your Customer custom field definitions.

Customer custom fields are different than Appointment custom fields. Appointment custom fields are
stored with each appointment. They are used when the information collected during the booking is specific
to a particular visit, where as Customer custom fields are stored with the customer profile.

Use the key field, and type to determine how to update field values
in POST /consumer/v1/customers and PUT /consumer/v1/customers/{id}

 
getsandbox-api.onsched.com/consumer/v1/customers/customfields
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/customers/customfields
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/customers/customfields' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/customers/customfields")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/customers/customfields");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/customers/customfields"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

locationId
string

The id of the business location. Defaults to first business location.

leadQuestions
boolean

A true/false indicator to filter on custom fields used for lead questions.

Response

Success

objectstring
totalinteger
customFieldsarray

Server Error

Suggest Edits

Returns a list of customer booking fields

This end point returns Booking Field definitions.

Customer booking fields are different than Appointment booking fields. Customer booking fields are
stored with each customer. They are used when the information collected during the booking is specific
to a particular visit.

Use the field, and type to determine how to update field values
in PUT /consumer/v1/appointments/{id}/book

Customer Booking Fields include any custom customer fields you wish to capture with the Booking and also
miscellaneous customer attributes including Company Name, Customer Demographic information and Address information.

 
getsandbox-api.onsched.com/consumer/v1/customers/bookingfields
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/customers/bookingfields
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/customers/bookingfields' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/customers/bookingfields")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/customers/bookingfields");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/customers/bookingfields"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

locationId
string

The id of the business location. Defaults to first business location.

Response

Success

objectstring
totalinteger
bookingFieldsarray

Server Error

Suggest Edits

Returns a list of customers.

The results are returned in pages. Use the offset and limit parameters to control the page start and size. Default offset is 0, and limit is 20.
Use the other query parameters to optionally filter the results list.

 
getsandbox-api.onsched.com/consumer/v1/customers/plans
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/customers/plans
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/customers/plans' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/customers/plans")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/customers/plans");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/customers/plans"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

locationId
string

The id of the business location. Defaults to first business location.

groupId
string

Filter customers by group.

offset
int32

Starting row of page, default 0

limit
int32

Page limit, default 20. Maximum 100.

Response

Success

objectstring
urlstring
hasMoreboolean
countinteger
totalinteger
dataarray

Server Error

Suggest Edits

Returns a customer object.

The result returned is a single customer object. An id is required to find the customer. Find customer id's using either the GET consumer/v1/customers end point,
or the GET consumer/v1/appointments end point. A customer object is automatically created with the first booking if it doesn't already exist.

 
getsandbox-api.onsched.com/consumer/v1/customers/plans/id
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/customers/plans/id
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/customers/plans/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/customers/plans/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/customers/plans/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/customers/plans/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The id of the customer object.

Response

Success

objectstring
idstring
locationIdstring
uidstring
serviceGroupIdstring
createdstring
namestring
descriptionstring
stripePlanIdstring

Server Error

Suggest Edits

Returns a list of customer booking limits.

The result returned is list of limit rules as defined by the subscribed customer plan along with Booking Counts/Minutes
The results indicate the remaining bookings count / minutes. Use the results in your app to determine if the customer should continue booking.
You can enforce Limits in periods: Daily,Weekly,Monthly and for maximum total limits. Maximum total limits is based on six months prior to
the DateTimeTz and six months after the DateTimeTz. Daily, Weekly and Monthly limits are based on the calculated period relative to the
subscription plan start. Daily,Weekly and Monthly limits can be setup on a per interval basis e.g. to biweekly, or daily every 10 days.
See customer plans setup in the Portal for more information.
All parameters are required. If resourceId is not applicable for a non-resource calendar, pass zero.
Format of the dateTimeTz field is 2018-10-30T10:00-5:00

 
getsandbox-api.onsched.com/consumer/v1/customers/id/planlimits/serviceId/resourceId/dateTimeTz
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/customers/id/planlimits/serviceId/resourceId/dateTimeTz
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/customers/id/planlimits/serviceId/resourceId/dateTimeTz' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/customers/id/planlimits/serviceId/resourceId/dateTimeTz")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/customers/id/planlimits/serviceId/resourceId/dateTimeTz");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/customers/id/planlimits/serviceId/resourceId/dateTimeTz"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The id of the customer object.

serviceId
string
required

The id of the service object.

resourceId
string
required

The id of the resource object.

dateTimeTz
date-time
required

The DateTimeTz to check

Response

Success

objectstring
urlstring
hasMoreboolean
countinteger
totalinteger
dataarray

Server Error

Suggest Edits

Returns a list of customer subscriptions.

The results are returned in pages. Use the offset and limit parameters to control the page start and size. Default offset is 0, and limit is 20.
Use the other query parameters to optionally filter the results list.

 
getsandbox-api.onsched.com/consumer/v1/customers/subscriptions
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/customers/subscriptions
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/customers/subscriptions' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/customers/subscriptions")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/customers/subscriptions");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/customers/subscriptions"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

locationId
string

The id of the business location. Defaults to first business location.

offset
int32

Starting row of page, default 0

limit
int32

Page limit, default 20. Maximum 100.

Response

Success

objectstring
urlstring
hasMoreboolean
countinteger
totalinteger
dataarray

Server Error

Suggest Edits

Returns a customer subscription object.

The result returned is a single customer subscription object. A customer can only be subsribed to a single Customer Plan

 
getsandbox-api.onsched.com/consumer/v1/customers/id/subscriptions
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/customers/id/subscriptions
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/customers/id/subscriptions' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/customers/id/subscriptions")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/customers/id/subscriptions");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/customers/id/subscriptions"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The id of the customer object.

Response

Success

objectstring
idstring
customerIdstring
customerPlanIdstring
customerPlanNamestring
planStartstring
trialPeriodStartstring
trialPeriodEndstring

Server Error

Suggest Edits

Creates a new customer subscription object.

Use this endpoint to create a new customer subscription.

 
postsandbox-api.onsched.com/consumer/v1/customers/id/subscriptions
curl --request POST \
  --url http://sandbox-api.onsched.com/consumer/v1/customers/id/subscriptions
var request = require("request");

var options = { method: 'POST',
  url: 'http://sandbox-api.onsched.com/consumer/v1/customers/id/subscriptions' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/customers/id/subscriptions")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "http://sandbox-api.onsched.com/consumer/v1/customers/id/subscriptions");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/customers/id/subscriptions"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The id of the customer object.

Body Params

customerPlanId
string
planStart
date-time
trialPeriodEnd
date-time

Response

Success

objectstring
idstring
customerIdstring
customerPlanIdstring
customerPlanNamestring
planStartstring
trialPeriodStartstring
trialPeriodEndstring

Server Error

Suggest Edits

Returns a customer subscription object.

The result returned is a single customer subscription object.

 
getsandbox-api.onsched.com/consumer/v1/customers/subscriptions/id
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/customers/subscriptions/id
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/customers/subscriptions/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/customers/subscriptions/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/customers/subscriptions/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/customers/subscriptions/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The id of the customer subscription object.

Response

Success

objectstring
idstring
customerIdstring
customerPlanIdstring
customerPlanNamestring
planStartstring
trialPeriodStartstring
trialPeriodEndstring

Server Error

Suggest Edits

Updates a customer subscription object.

Use this endpoint to update customer subscription information.

 
putsandbox-api.onsched.com/consumer/v1/customers/subscriptions/id
curl --request PUT \
  --url http://sandbox-api.onsched.com/consumer/v1/customers/subscriptions/id
var request = require("request");

var options = { method: 'PUT',
  url: 'http://sandbox-api.onsched.com/consumer/v1/customers/subscriptions/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/customers/subscriptions/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "http://sandbox-api.onsched.com/consumer/v1/customers/subscriptions/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/customers/subscriptions/id"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The id of the customer subscription object.

Body Params

customerPlanId
string
planStart
date-time
trialPeriodEnd
date-time

Response

Success

Server Error

Suggest Edits

/consumer/v1/customers/subscriptions/{id}

 
deletesandbox-api.onsched.com/consumer/v1/customers/subscriptions/id
curl --request DELETE \
  --url http://sandbox-api.onsched.com/consumer/v1/customers/subscriptions/id
var request = require("request");

var options = { method: 'DELETE',
  url: 'http://sandbox-api.onsched.com/consumer/v1/customers/subscriptions/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/customers/subscriptions/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "http://sandbox-api.onsched.com/consumer/v1/customers/subscriptions/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/customers/subscriptions/id"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Response

Success

Server Error

Suggest Edits

Returns a list of country objects

Returns a list of countries with the associated country code. Country codes are based on the 2 character ANSI standard.

 
getsandbox-api.onsched.com/consumer/v1/customers/countries
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/customers/countries
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/customers/countries' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/customers/countries")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/customers/countries");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/customers/countries"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Response

Success

Server Error

Suggest Edits

Returns a list of state objects

Returns a list of states with the associated state code and country.

Contact us if states for your countries of operation are not currently loaded.

 
getsandbox-api.onsched.com/consumer/v1/customers/states
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/customers/states
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/customers/states' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/customers/states")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/customers/states");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/customers/states"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

country
string

Response

Success

Server Error

Suggest Edits

Locations

 
Suggest Edits

Returns a list of business locations.

Use this api end point if you have multiple business locations in your company.
The results are returned in pages. Use the offset and limit parameters to control the page start and size. Default offset is 0, and limit is 20.
Use the other query parameters to optionally filter the results list.

 
getsandbox-api.onsched.com/consumer/v1/locations
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/locations
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/locations' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/locations")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/locations");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/locations"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

name
string

Location name(full or partial) to filter on

offset
int32

Starting row of page, default 0

limit
int32

Page limit, default 20. Maximum 100.

Response

Success

objectstring
urlstring
hasMoreboolean
countinteger
totalinteger
dataarray

Server Error

Suggest Edits

Returns a business location object.

The result returned is a single location object. An id is required to find the location. Find location id's using the GET consumer/v1/locations end point,

 
getsandbox-api.onsched.com/consumer/v1/locations/id
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/locations/id
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/locations/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/locations/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/locations/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/locations/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The id of the business location object.

Response

Success

objectstring
idstring
friendlyIdstring
companyIdstring
namestring
phonestring
faxstring
emailstring
websitestring
logostring
addressobject
address.addressLine1string
address.addressLine2string
address.citystring
address.statestring
address.countrystring
address.postalCodestring
businessHoursobject
businessHours.monobject
businessHours.mon.isOpenboolean
businessHours.mon.startTimeinteger
businessHours.mon.endTimeinteger
businessHours.mon.is24Hoursboolean
businessHours.tueobject
businessHours.tue.isOpenboolean
businessHours.tue.startTimeinteger
businessHours.tue.endTimeinteger
businessHours.tue.is24Hoursboolean
businessHours.wedobject
businessHours.wed.isOpenboolean
businessHours.wed.startTimeinteger
businessHours.wed.endTimeinteger
businessHours.wed.is24Hoursboolean
businessHours.thuobject
businessHours.thu.isOpenboolean
businessHours.thu.startTimeinteger
businessHours.thu.endTimeinteger
businessHours.thu.is24Hoursboolean
businessHours.friobject
businessHours.fri.isOpenboolean
businessHours.fri.startTimeinteger
businessHours.fri.endTimeinteger
businessHours.fri.is24Hoursboolean
businessHours.satobject
businessHours.sat.isOpenboolean
businessHours.sat.startTimeinteger
businessHours.sat.endTimeinteger
businessHours.sat.is24Hoursboolean
businessHours.sunobject
businessHours.sun.isOpenboolean
businessHours.sun.startTimeinteger
businessHours.sun.endTimeinteger
businessHours.sun.is24Hoursboolean
businessHolidaysarray
settingsobject
settings.objectstring
settings.companyIdstring
settings.enabledboolean
settings.familyMembersEnabledboolean
settings.customerVerificationboolean
settings.serviceLabelstring
settings.resourceSelectionboolean
settings.resourceLabelstring
settings.resourceAnyLabelstring
settings.businessIdstring
settings.idinteger
settings.defaultServiceboolean
settings.liveModeboolean
settings.firstAvailableboolean
settings.formFlowinteger
settings.availabilityForminteger
settings.showServiceGroupsboolean
settings.bookWithAccountboolean
settings.bookingPolicystring
settings.bookingMessagestring
settings.showOnSchedLogoboolean
settings.showBusinessLogoboolean
settings.enableWorldTimezonesboolean
settings.disableAuthorizationboolean
settings.hideNavBarboolean
settings.hideLocationNavboolean
settings.hideServiceGroupsNavboolean
settings.hideServicesNavboolean
settings.hideContinueBookingboolean
settings.bookingTimerMinsinteger
settings.defaultToCustomerTimezoneboolean
settings.returnToServiceboolean
settings.returnToAvailabilityboolean
settings.hideBreadCrumbNavboolean
settings.lateCancelHoursinteger
settings.lateCancelActioninteger
settings.lateRescheduleHoursinteger
settings.lateRescheduleActioninteger
settings.bookingConfirmationMessagestring

Server Error

Suggest Edits

Resources

 
Suggest Edits

Returns a list of resources.

The results are returned in pages. Use the offset and limit parameters to control the page start and size. Default offset is 0, and limit is 20.
Use the other query parameters to optionally filter the results list.

 
getsandbox-api.onsched.com/consumer/v1/resources
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/resources
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/resources' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/resources")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/resources");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/resources"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

locationId
string

The id of the business location. Defaults to first business location.

resourceGroupId
int32

Filter resources by group.

email
string

Filter resources by email address.

name
string

Search resources by name.

sortOrder
string

Specify sort order of response.

offset
int32

Starting row of page, default 0

limit
int32

Page limit, default 20. Maximum 100.

Response

resource object

objectstring
urlstring
hasMoreboolean
countinteger
totalinteger
dataarray

Missing or invalid values in the request

Resource was not found

Server Error

Suggest Edits

Returns a resource object.

The result returned is a single resource object. An id is required to find the resource. Find customer id's using either the GET consumer/v1/resources end point,
or the GET consumer/v1/appointments end point.

 
getsandbox-api.onsched.com/consumer/v1/resources/id
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/resources/id
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/resources/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/resources/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/resources/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/resources/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
int32
required

The id of the resource object.

Response

Success

objectstring
idstring
locationIdstring
namestring
emailstring
groupIdstring
descriptionstring
imageUrlstring
deletedStatusboolean
deletedTimestring
notificationTypeinteger
bookingNotificationinteger
googleCalendarIdstring
outlookCalendarIdstring
ignoreBusinessHoursboolean
genderstring
hourlynumber
calendarAvailabilityinteger
sortKeyinteger
skypeNamestring
bioLinkstring
timezoneOffsetinteger
timezoneIdstring
effectiveDatestring
contactobject
contact.phoneTypestring
contact.homePhonestring
contact.mobilePhonestring
contact.businessPhonestring
contact.businessPhoneExtstring
contact.skypeUsernamestring
addressobject
address.addressLine1string
address.addressLine2string
address.citystring
address.statestring
address.countrystring
address.postalCodestring

Server Error

Suggest Edits

Returns a list of resource services.

The results are returned in pages. Use the offset and limit parameters to control the page start and size. Default offset is 0, and limit is 20.
Use the other query parameters to optionally filter the results list.
Resource services are used to explicitly define the services that can be booked for a resource. If no resource services are defined then by
default all services can be booked for the resource.

 
getsandbox-api.onsched.com/consumer/v1/resources/id/services
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/resources/id/services
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/resources/id/services' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/resources/id/services")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/resources/id/services");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/resources/id/services"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
int32
required

The id of the resource object.

Query Params

offset
int32

Starting row of page, default 0

limit
int32

Page limit, default 20. Maximum 100.

Response

list of resource services

objectstring
urlstring
hasMoreboolean
countinteger
totalinteger
dataarray

Missing or invalid values in the request

Unauthorized request

Resource was not found

Server Error

Suggest Edits

ServiceGroups

 
Suggest Edits

Returns a list of service groups.

The results are returned in pages. Use the offset and limit parameters to control the page start and size. Default offset is 0, and limit is 20.
Use the other query parameters to optionally filter the results list.

 
getsandbox-api.onsched.com/consumer/v1/servicegroups
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/servicegroups
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/servicegroups' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/servicegroups")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/servicegroups");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/servicegroups"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

locationId
string

The id of the business location. Defaults to first business location.

offset
int32

Starting row of page, default 0

limit
int32

Page limit, default 20. Maximum 100.

Response

Success

objectstring
urlstring
hasMoreboolean
countinteger
totalinteger
dataarray

Server Error

Suggest Edits

Returns a serviceGroup object.

The result returned is a single serviceGroup object. An id is required to find the serviceGroup. Find serviceGroup id's using
the GET consumer/v1/servicegroups end point,

 
getsandbox-api.onsched.com/consumer/v1/servicegroups/id
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/servicegroups/id
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/servicegroups/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/servicegroups/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/servicegroups/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/servicegroups/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
int32
required

The id of the serviceGroup object.

Response

Success

objectstring
imageUrlstring
idstring
companyIdstring
namestring
descriptionstring
labelstring

Server Error

 
Suggest Edits

Returns a list of services.

The results are returned in pages. Use the offset and limit parameters to control the page start and size. Default offset is 0, and limit is 20.
Use the other query parameters to optionally filter the results list.

 
getsandbox-api.onsched.com/consumer/v1/services
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/services
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/services' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/services")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/services");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/services"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

locationId
string

The id of the business location. Defaults to first business location.

serviceGroupId
int32

Filter services by group.

defaultService
boolean

Filter services by default service.

offset
int32

Starting row of page, default 0

limit
int32

Page limit, default 20. Maximum 100.

Response

Success

objectstring
urlstring
hasMoreboolean
countinteger
totalinteger
dataarray

Server Error

Suggest Edits

Returns a service object.

The result returned is a single service object. An id is required to find the service. Find service id's using either the GET consumer/v1/service end point,
or the GET consumer/v1/appointments end point.

 
getsandbox-api.onsched.com/consumer/v1/services/id
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/services/id
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/services/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/services/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/services/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/services/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
int32
required

The id of the service object.

Response

Success

objectstring
idstring
companyIdstring
locationIdstring
namestring
descriptionstring
imageUrlstring
serviceGroupIdinteger
serviceGroupNamestring
showOnlineboolean
defaultServiceboolean
durationinteger
durationSelectboolean
durationMininteger
durationMaxinteger
durationIntervalinteger
paddinginteger
consumerPaddingboolean
feeAmountnumber
feeTaxableboolean
cancellationFeeAmountnumber
cancellationFeeTaxableboolean
nonRefundableboolean
dailyBookingLimitCountinteger
dailyBookingLimitMinutesinteger
maxBookingLimitinteger
maxResourceBookingLimitinteger

Server Error

Suggest Edits

Returns a list of resources.

The results are returned in pages. Use the offset and limit parameters to control the page start and size. Default offset is 0, and limit is 20.
Use the other query parameters to optionally filter the results list.

 
getsandbox-api.onsched.com/consumer/v1/services/id/resources
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/services/id/resources
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/services/id/resources' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/services/id/resources")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/services/id/resources");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/services/id/resources"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The id of the service object.

Query Params

offset
int32

Starting row of page, default 0

limit
int32

Page limit, default 20. Maximum 100.

Response

Success

objectstring
urlstring
hasMoreboolean
countinteger
totalinteger
dataarray

Server Error

 
Suggest Edits

Returns a list of customers.

The results are returned in pages. Use the offset and limit parameters to control the page start and size. Default offset is 0, and limit is 20.
Use the other query parameters to optionally filter the results list.

 
getsandbox-api.onsched.com/consumer/v1/settings
curl --request GET \
  --url http://sandbox-api.onsched.com/consumer/v1/settings
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/consumer/v1/settings' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/consumer/v1/settings")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/consumer/v1/settings");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/consumer/v1/settings"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

locationId
string

The id of the business location. Defaults to first business location.

Response

Success

objectstring
companyIdstring
enabledboolean
familyMembersEnabledboolean
customerVerificationboolean
serviceLabelstring
resourceSelectionboolean
resourceLabelstring
resourceAnyLabelstring
businessIdstring
idinteger
defaultServiceboolean
liveModeboolean
firstAvailableboolean
formFlowinteger
availabilityForminteger
showServiceGroupsboolean
bookWithAccountboolean
bookingPolicystring
bookingMessagestring
showOnSchedLogoboolean
showBusinessLogoboolean
enableWorldTimezonesboolean
disableAuthorizationboolean
hideNavBarboolean
hideLocationNavboolean
hideServiceGroupsNavboolean
hideServicesNavboolean
hideContinueBookingboolean
bookingTimerMinsinteger
defaultToCustomerTimezoneboolean
returnToServiceboolean
returnToAvailabilityboolean
hideBreadCrumbNavboolean
lateCancelHoursinteger
lateCancelActioninteger
lateRescheduleHoursinteger
lateRescheduleActioninteger
bookingConfirmationMessagestring

Server Error

Suggest Edits

Locations

 
Suggest Edits

Returns a list of business locations.

Use this api end point if you have multiple business locations in your company.
The results are returned in pages. Use the offset and limit parameters to control the page start and size. Default offset is 0, and limit is 20.
Use the other query parameters to optionally filter the results list.

 
getsandbox-api.onsched.com/setup/v1/locations
curl --request GET \
  --url http://sandbox-api.onsched.com/setup/v1/locations
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/setup/v1/locations' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/setup/v1/locations")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/setup/v1/locations");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/setup/v1/locations"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

name
string

Location name(full or partial) to filter on

offset
int32

Starting row of page, default 0

limit
int32

Page limit, default 20. Maximum 100.

Response

Success

objectstring
urlstring
hasMoreboolean
countinteger
totalinteger
dataarray

Server Error

Suggest Edits

Creates a new location object.

Use this endpoint to create a new business location.

 
postsandbox-api.onsched.com/setup/v1/locations
curl --request POST \
  --url http://sandbox-api.onsched.com/setup/v1/locations
var request = require("request");

var options = { method: 'POST',
  url: 'http://sandbox-api.onsched.com/setup/v1/locations' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/setup/v1/locations")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "http://sandbox-api.onsched.com/setup/v1/locations");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/setup/v1/locations"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

name
string
adminEmail
string
adminName
string
timezoneName
string
phone
string
fax
string
website
string
email
string
address
object
 
address.addressLine1
string
address.addressLine2
string
address.city
string
address.state
string
address.country
string
address.postalCode
string
businessHours
object
 
businessHours.mon
object
 
businessHours.mon.startTime
int32
businessHours.mon.endTime
int32
businessHours.mon.isOpen
boolean
businessHours.mon.is24Hours
boolean
businessHours.tue
object
 
businessHours.tue.startTime
int32
businessHours.tue.endTime
int32
businessHours.tue.isOpen
boolean
businessHours.tue.is24Hours
boolean
businessHours.wed
object
 
businessHours.wed.startTime
int32
businessHours.wed.endTime
int32
businessHours.wed.isOpen
boolean
businessHours.wed.is24Hours
boolean
businessHours.thu
object
 
businessHours.thu.startTime
int32
businessHours.thu.endTime
int32
businessHours.thu.isOpen
boolean
businessHours.thu.is24Hours
boolean
businessHours.fri
object
 
businessHours.fri.startTime
int32
businessHours.fri.endTime
int32
businessHours.fri.isOpen
boolean
businessHours.fri.is24Hours
boolean
businessHours.sat
object
 
businessHours.sat.startTime
int32
businessHours.sat.endTime
int32
businessHours.sat.isOpen
boolean
businessHours.sat.is24Hours
boolean
businessHours.sun
object
 
businessHours.sun.startTime
int32
businessHours.sun.endTime
int32
businessHours.sun.isOpen
boolean
businessHours.sun.is24Hours
boolean

Response

Success

objectstring
idstring
locationIdstring
namestring
emailstring
groupIdinteger
descriptionstring
imageUrlstring
deletedStatusboolean
deletedTimestring
notificationTypeinteger
bookingNotificationinteger
googleCalendarIdstring
outlookCalendarIdstring
ignoreBusinessHoursboolean
genderstring
hourlynumber
calendarAvailabilityinteger
sortKeyinteger
skypeNamestring
bioLinkstring
timezoneOffsetinteger
timezoneIdstring
effectiveDatestring
phoneobject
phone.phoneTypestring
phone.homePhonestring
phone.mobilePhonestring
phone.businessPhonestring
phone.businessPhoneExtstring
addressobject
address.addressLine1string
address.addressLine2string
address.citystring
address.statestring
address.countrystring
address.postalCodestring
optionsobject
options.effectiveDatestring
options.notificationTypeinteger
options.displayColorstring
options.googleCalendarIdstring
options.outlookCalendarIdstring
options.ignoreBusinessHoursboolean
options.genderstring
options.hourlynumber
options.calendarAvailabilityinteger
options.sortKeyinteger
options.bioLinkstring

Server Error

Suggest Edits

Returns a business location object.

The result returned is a single location object. An id is required to find the location. Find location id's using the GET consumer/v1/locations end point,

 
getsandbox-api.onsched.com/setup/v1/locations/id
curl --request GET \
  --url http://sandbox-api.onsched.com/setup/v1/locations/id
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/setup/v1/locations/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/setup/v1/locations/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/setup/v1/locations/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/setup/v1/locations/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The id of the business location object.

Response

Success

objectstring
idstring
friendlyIdstring
companyIdstring
namestring
phonestring
faxstring
emailstring
websitestring
logostring
addressobject
address.addressLine1string
address.addressLine2string
address.citystring
address.statestring
address.countrystring
address.postalCodestring
businessHoursobject
businessHours.monobject
businessHours.mon.isOpenboolean
businessHours.mon.startTimeinteger
businessHours.mon.endTimeinteger
businessHours.mon.is24Hoursboolean
businessHours.tueobject
businessHours.tue.isOpenboolean
businessHours.tue.startTimeinteger
businessHours.tue.endTimeinteger
businessHours.tue.is24Hoursboolean
businessHours.wedobject
businessHours.wed.isOpenboolean
businessHours.wed.startTimeinteger
businessHours.wed.endTimeinteger
businessHours.wed.is24Hoursboolean
businessHours.thuobject
businessHours.thu.isOpenboolean
businessHours.thu.startTimeinteger
businessHours.thu.endTimeinteger
businessHours.thu.is24Hoursboolean
businessHours.friobject
businessHours.fri.isOpenboolean
businessHours.fri.startTimeinteger
businessHours.fri.endTimeinteger
businessHours.fri.is24Hoursboolean
businessHours.satobject
businessHours.sat.isOpenboolean
businessHours.sat.startTimeinteger
businessHours.sat.endTimeinteger
businessHours.sat.is24Hoursboolean
businessHours.sunobject
businessHours.sun.isOpenboolean
businessHours.sun.startTimeinteger
businessHours.sun.endTimeinteger
businessHours.sun.is24Hoursboolean
businessHolidaysarray
settingsobject
settings.objectstring
settings.companyIdstring
settings.enabledboolean
settings.familyMembersEnabledboolean
settings.customerVerificationboolean
settings.serviceLabelstring
settings.resourceSelectionboolean
settings.resourceLabelstring
settings.resourceAnyLabelstring
settings.businessIdstring
settings.idinteger
settings.defaultServiceboolean
settings.liveModeboolean
settings.firstAvailableboolean
settings.formFlowinteger
settings.availabilityForminteger
settings.showServiceGroupsboolean
settings.bookWithAccountboolean
settings.bookingPolicystring
settings.bookingMessagestring
settings.showOnSchedLogoboolean
settings.showBusinessLogoboolean
settings.enableWorldTimezonesboolean
settings.disableAuthorizationboolean
settings.hideNavBarboolean
settings.hideLocationNavboolean
settings.hideServiceGroupsNavboolean
settings.hideServicesNavboolean
settings.hideContinueBookingboolean
settings.bookingTimerMinsinteger
settings.defaultToCustomerTimezoneboolean
settings.returnToServiceboolean
settings.returnToAvailabilityboolean
settings.hideBreadCrumbNavboolean
settings.lateCancelHoursinteger
settings.lateCancelActioninteger
settings.lateRescheduleHoursinteger
settings.lateRescheduleActioninteger
settings.bookingConfirmationMessagestring

Server Error

Suggest Edits

Updates a resource object.

Use this endpoint to update a resource.

 
putsandbox-api.onsched.com/setup/v1/locations/id
curl --request PUT \
  --url http://sandbox-api.onsched.com/setup/v1/locations/id
var request = require("request");

var options = { method: 'PUT',
  url: 'http://sandbox-api.onsched.com/setup/v1/locations/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/setup/v1/locations/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "http://sandbox-api.onsched.com/setup/v1/locations/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/setup/v1/locations/id"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Body Params

locationId
string
name
string
email
string
description
string
groupId
string
timezoneId
string
address
object
 
address.addressLine1
string
address.addressLine2
string
address.city
string
address.state
string
address.country
string
address.postalCode
string
contact
object
 
contact.preferredPhoneType
string
contact.homePhone
string
contact.mobilePhone
string
contact.businessPhone
string
contact.businessPhoneExt
string
contact.skypeUsername
string
options
object
 
options.effectiveDate
date-time
options.notificationType
int32
options.displayColor
string
options.googleCalendarId
string
options.outlookCalendarId
string
options.ignoreBusinessHours
boolean
options.gender
string
options.hourly
double
options.calendarAvailability
int32
options.sortKey
int32
options.bioLink
string

Response

Success

objectstring
idstring
locationIdstring
namestring
emailstring
groupIdinteger
descriptionstring
imageUrlstring
deletedStatusboolean
deletedTimestring
notificationTypeinteger
bookingNotificationinteger
googleCalendarIdstring
outlookCalendarIdstring
ignoreBusinessHoursboolean
genderstring
hourlynumber
calendarAvailabilityinteger
sortKeyinteger
skypeNamestring
bioLinkstring
timezoneOffsetinteger
timezoneIdstring
effectiveDatestring
phoneobject
phone.phoneTypestring
phone.homePhonestring
phone.mobilePhonestring
phone.businessPhonestring
phone.businessPhoneExtstring
addressobject
address.addressLine1string
address.addressLine2string
address.citystring
address.statestring
address.countrystring
address.postalCodestring
optionsobject
options.effectiveDatestring
options.notificationTypeinteger
options.displayColorstring
options.googleCalendarIdstring
options.outlookCalendarIdstring
options.ignoreBusinessHoursboolean
options.genderstring
options.hourlynumber
options.calendarAvailabilityinteger
options.sortKeyinteger
options.bioLinkstring

Server Error

Suggest Edits

Resources

 
Suggest Edits

Returns a list of resources.

The results are returned in pages. Use the offset and limit parameters to control the page start and size. Default offset is 0, and limit is 20.
Use the other query parameters to optionally filter the results list.

 
getsandbox-api.onsched.com/setup/v1/resources
curl --request GET \
  --url http://sandbox-api.onsched.com/setup/v1/resources
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/setup/v1/resources' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/setup/v1/resources")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/setup/v1/resources");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/setup/v1/resources"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

locationId
string

The id of the business location. Defaults to first business location.

resourceGroupId
string

Filter resources by group.

email
string

Filter resources by email address.

name
string

Search resources by name.

offset
int32

Starting row of page, default 0

limit
int32

Page limit, default 20. Maximum 100.

Response

resource object

objectstring
urlstring
hasMoreboolean
countinteger
totalinteger
dataarray

Missing or invalid values in the request

Resource was not found

Server Error

Suggest Edits

Creates a new resource object.

Use this endpoint to create a new resource. If not specified the business location id defaults to the first location in the company.
Email Address and a Name are required for creating a new resource.

 
postsandbox-api.onsched.com/setup/v1/resources
curl --request POST \
  --url http://sandbox-api.onsched.com/setup/v1/resources
var request = require("request");

var options = { method: 'POST',
  url: 'http://sandbox-api.onsched.com/setup/v1/resources' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/setup/v1/resources")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "http://sandbox-api.onsched.com/setup/v1/resources");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/setup/v1/resources"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

locationId
string
name
string
email
string
description
string
groupId
string
timezoneId
string
address
object
 
address.addressLine1
string
address.addressLine2
string
address.city
string
address.state
string
address.country
string
address.postalCode
string
contact
object
 
contact.preferredPhoneType
string
contact.homePhone
string
contact.mobilePhone
string
contact.businessPhone
string
contact.businessPhoneExt
string
contact.skypeUsername
string
options
object
 
options.effectiveDate
date-time
options.notificationType
int32
options.displayColor
string
options.googleCalendarId
string
options.outlookCalendarId
string
options.ignoreBusinessHours
boolean
options.gender
string
options.hourly
double
options.calendarAvailability
int32
options.sortKey
int32
options.bioLink
string

Response

Success

objectstring
idstring
locationIdstring
namestring
emailstring
groupIdinteger
descriptionstring
imageUrlstring
deletedStatusboolean
deletedTimestring
notificationTypeinteger
bookingNotificationinteger
googleCalendarIdstring
outlookCalendarIdstring
ignoreBusinessHoursboolean
genderstring
hourlynumber
calendarAvailabilityinteger
sortKeyinteger
skypeNamestring
bioLinkstring
timezoneOffsetinteger
timezoneIdstring
effectiveDatestring
phoneobject
phone.phoneTypestring
phone.homePhonestring
phone.mobilePhonestring
phone.businessPhonestring
phone.businessPhoneExtstring
addressobject
address.addressLine1string
address.addressLine2string
address.citystring
address.statestring
address.countrystring
address.postalCodestring
optionsobject
options.effectiveDatestring
options.notificationTypeinteger
options.displayColorstring
options.googleCalendarIdstring
options.outlookCalendarIdstring
options.ignoreBusinessHoursboolean
options.genderstring
options.hourlynumber
options.calendarAvailabilityinteger
options.sortKeyinteger
options.bioLinkstring

Server Error

Suggest Edits

Returns a resource object.

The result returned is a single resource object. An id is required to find the resource. Find customer id's using either the GET consumer/v1/resources end point,
or the GET consumer/v1/appointments end point.

 
getsandbox-api.onsched.com/setup/v1/resources/id
curl --request GET \
  --url http://sandbox-api.onsched.com/setup/v1/resources/id
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/setup/v1/resources/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/setup/v1/resources/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/setup/v1/resources/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/setup/v1/resources/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The id of the resource object.

Response

Success

objectstring
idstring
locationIdstring
namestring
emailstring
groupIdinteger
descriptionstring
imageUrlstring
deletedStatusboolean
deletedTimestring
notificationTypeinteger
bookingNotificationinteger
googleCalendarIdstring
outlookCalendarIdstring
ignoreBusinessHoursboolean
genderstring
hourlynumber
calendarAvailabilityinteger
sortKeyinteger
skypeNamestring
bioLinkstring
timezoneOffsetinteger
timezoneIdstring
effectiveDatestring
phoneobject
phone.phoneTypestring
phone.homePhonestring
phone.mobilePhonestring
phone.businessPhonestring
phone.businessPhoneExtstring
addressobject
address.addressLine1string
address.addressLine2string
address.citystring
address.statestring
address.countrystring
address.postalCodestring
optionsobject
options.effectiveDatestring
options.notificationTypeinteger
options.displayColorstring
options.googleCalendarIdstring
options.outlookCalendarIdstring
options.ignoreBusinessHoursboolean
options.genderstring
options.hourlynumber
options.calendarAvailabilityinteger
options.sortKeyinteger
options.bioLinkstring

Server Error

Suggest Edits

Updates a resource object.

Use this endpoint to update a resource.

 
putsandbox-api.onsched.com/setup/v1/resources/id
curl --request PUT \
  --url http://sandbox-api.onsched.com/setup/v1/resources/id
var request = require("request");

var options = { method: 'PUT',
  url: 'http://sandbox-api.onsched.com/setup/v1/resources/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/setup/v1/resources/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "http://sandbox-api.onsched.com/setup/v1/resources/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/setup/v1/resources/id"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Body Params

locationId
string
name
string
email
string
description
string
groupId
string
timezoneId
string
address
object
 
address.addressLine1
string
address.addressLine2
string
address.city
string
address.state
string
address.country
string
address.postalCode
string
contact
object
 
contact.preferredPhoneType
string
contact.homePhone
string
contact.mobilePhone
string
contact.businessPhone
string
contact.businessPhoneExt
string
contact.skypeUsername
string
options
object
 
options.effectiveDate
date-time
options.notificationType
int32
options.displayColor
string
options.googleCalendarId
string
options.outlookCalendarId
string
options.ignoreBusinessHours
boolean
options.gender
string
options.hourly
double
options.calendarAvailability
int32
options.sortKey
int32
options.bioLink
string

Response

Success

objectstring
idstring
locationIdstring
namestring
emailstring
groupIdinteger
descriptionstring
imageUrlstring
deletedStatusboolean
deletedTimestring
notificationTypeinteger
bookingNotificationinteger
googleCalendarIdstring
outlookCalendarIdstring
ignoreBusinessHoursboolean
genderstring
hourlynumber
calendarAvailabilityinteger
sortKeyinteger
skypeNamestring
bioLinkstring
timezoneOffsetinteger
timezoneIdstring
effectiveDatestring
phoneobject
phone.phoneTypestring
phone.homePhonestring
phone.mobilePhonestring
phone.businessPhonestring
phone.businessPhoneExtstring
addressobject
address.addressLine1string
address.addressLine2string
address.citystring
address.statestring
address.countrystring
address.postalCodestring
optionsobject
options.effectiveDatestring
options.notificationTypeinteger
options.displayColorstring
options.googleCalendarIdstring
options.outlookCalendarIdstring
options.ignoreBusinessHoursboolean
options.genderstring
options.hourlynumber
options.calendarAvailabilityinteger
options.sortKeyinteger
options.bioLinkstring

Server Error

Suggest Edits

Deletes a resource object.

Use this endpoint to delete a resource. The resource is not permanently deleted and can be recovered.

 
deletesandbox-api.onsched.com/setup/v1/resources/id
curl --request DELETE \
  --url http://sandbox-api.onsched.com/setup/v1/resources/id
var request = require("request");

var options = { method: 'DELETE',
  url: 'http://sandbox-api.onsched.com/setup/v1/resources/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/setup/v1/resources/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "http://sandbox-api.onsched.com/setup/v1/resources/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/setup/v1/resources/id"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The id of the resource to list blocks

Response

Success

objectstring
idstring
locationIdstring
namestring
emailstring
groupIdinteger
descriptionstring
imageUrlstring
deletedStatusboolean
deletedTimestring
notificationTypeinteger
bookingNotificationinteger
googleCalendarIdstring
outlookCalendarIdstring
ignoreBusinessHoursboolean
genderstring
hourlynumber
calendarAvailabilityinteger
sortKeyinteger
skypeNamestring
bioLinkstring
timezoneOffsetinteger
timezoneIdstring
effectiveDatestring
phoneobject
phone.phoneTypestring
phone.homePhonestring
phone.mobilePhonestring
phone.businessPhonestring
phone.businessPhoneExtstring
addressobject
address.addressLine1string
address.addressLine2string
address.citystring
address.statestring
address.countrystring
address.postalCodestring
optionsobject
options.effectiveDatestring
options.notificationTypeinteger
options.displayColorstring
options.googleCalendarIdstring
options.outlookCalendarIdstring
options.ignoreBusinessHoursboolean
options.genderstring
options.hourlynumber
options.calendarAvailabilityinteger
options.sortKeyinteger
options.bioLinkstring

Server Error

Suggest Edits

/setup/v1/resources/timezones

 
getsandbox-api.onsched.com/setup/v1/resources/timezones
curl --request GET \
  --url http://sandbox-api.onsched.com/setup/v1/resources/timezones
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/setup/v1/resources/timezones' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/setup/v1/resources/timezones")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/setup/v1/resources/timezones");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/setup/v1/resources/timezones"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Response

Success

objectstring
idstring
locationIdstring
namestring
emailstring
groupIdinteger
descriptionstring
imageUrlstring
deletedStatusboolean
deletedTimestring
notificationTypeinteger
bookingNotificationinteger
googleCalendarIdstring
outlookCalendarIdstring
ignoreBusinessHoursboolean
genderstring
hourlynumber
calendarAvailabilityinteger
sortKeyinteger
skypeNamestring
bioLinkstring
timezoneOffsetinteger
timezoneIdstring
effectiveDatestring
phoneobject
phone.phoneTypestring
phone.homePhonestring
phone.mobilePhonestring
phone.businessPhonestring
phone.businessPhoneExtstring
addressobject
address.addressLine1string
address.addressLine2string
address.citystring
address.statestring
address.countrystring
address.postalCodestring
optionsobject
options.effectiveDatestring
options.notificationTypeinteger
options.displayColorstring
options.googleCalendarIdstring
options.outlookCalendarIdstring
options.ignoreBusinessHoursboolean
options.genderstring
options.hourlynumber
options.calendarAvailabilityinteger
options.sortKeyinteger
options.bioLinkstring

Server Error

Suggest Edits

Recovers a resource object.

Use this endpoint to recover a deleted resource.

 
putsandbox-api.onsched.com/setup/v1/resources/id/recover
curl --request PUT \
  --url http://sandbox-api.onsched.com/setup/v1/resources/id/recover
var request = require("request");

var options = { method: 'PUT',
  url: 'http://sandbox-api.onsched.com/setup/v1/resources/id/recover' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/setup/v1/resources/id/recover")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "http://sandbox-api.onsched.com/setup/v1/resources/id/recover");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/setup/v1/resources/id/recover"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Response

Success

objectstring
idstring
locationIdstring
namestring
emailstring
groupIdinteger
descriptionstring
imageUrlstring
deletedStatusboolean
deletedTimestring
notificationTypeinteger
bookingNotificationinteger
googleCalendarIdstring
outlookCalendarIdstring
ignoreBusinessHoursboolean
genderstring
hourlynumber
calendarAvailabilityinteger
sortKeyinteger
skypeNamestring
bioLinkstring
timezoneOffsetinteger
timezoneIdstring
effectiveDatestring
phoneobject
phone.phoneTypestring
phone.homePhonestring
phone.mobilePhonestring
phone.businessPhonestring
phone.businessPhoneExtstring
addressobject
address.addressLine1string
address.addressLine2string
address.citystring
address.statestring
address.countrystring
address.postalCodestring
optionsobject
options.effectiveDatestring
options.notificationTypeinteger
options.displayColorstring
options.googleCalendarIdstring
options.outlookCalendarIdstring
options.ignoreBusinessHoursboolean
options.genderstring
options.hourlynumber
options.calendarAvailabilityinteger
options.sortKeyinteger
options.bioLinkstring

Server Error

Suggest Edits

Returns a list of weekly availability

Use this endpoint to get weekly availability for a resource. The displayed
available times represent the resource timezone. The resource timezone can
be set to any world timezone. By default it is set to the Business timezone.

 
getsandbox-api.onsched.com/setup/v1/resources/id/availability
curl --request GET \
  --url http://sandbox-api.onsched.com/setup/v1/resources/id/availability
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/setup/v1/resources/id/availability' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/setup/v1/resources/id/availability")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/setup/v1/resources/id/availability");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/setup/v1/resources/id/availability"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Response

Success

businessIdinteger
resourceIdinteger
resourceNamestring
resourceTzointeger
ignoreBusinessHoursboolean
weekdaysobject
weekdays.sunobject
weekdays.sun.startTimeinteger
weekdays.sun.endTimeinteger
weekdays.sun.displayStartTimestring
weekdays.sun.displayEndTimestring
weekdays.monobject
weekdays.mon.startTimeinteger
weekdays.mon.endTimeinteger
weekdays.mon.displayStartTimestring
weekdays.mon.displayEndTimestring
weekdays.tueobject
weekdays.tue.startTimeinteger
weekdays.tue.endTimeinteger
weekdays.tue.displayStartTimestring
weekdays.tue.displayEndTimestring
weekdays.wedobject
weekdays.wed.startTimeinteger
weekdays.wed.endTimeinteger
weekdays.wed.displayStartTimestring
weekdays.wed.displayEndTimestring
weekdays.thuobject
weekdays.thu.startTimeinteger
weekdays.thu.endTimeinteger
weekdays.thu.displayStartTimestring
weekdays.thu.displayEndTimestring
weekdays.friobject
weekdays.fri.startTimeinteger
weekdays.fri.endTimeinteger
weekdays.fri.displayStartTimestring
weekdays.fri.displayEndTimestring
weekdays.satobject
weekdays.sat.startTimeinteger
weekdays.sat.endTimeinteger
weekdays.sat.displayStartTimestring
weekdays.sat.displayEndTimestring

Server Error

Suggest Edits

Updates Weekly Availability

Use this endpoint to update resource availability. The Id parameter specifies the resource
for which you are updating availability. Availability day entries do not need to be created.
The availbility day entries are created when a resource object is created. They default to
the business hours.

Create an entry for each weekday you wish to update. Days are defined as sun,mon,tue,wed,thu,fri,sat.
Start and End Times are entered in miltary format. e.g 2230 is 10:30pm.

OnSched API provides support for 24 hour availability. For midnight start of day use 0. For midnight end of day use 2400.

To set a day as unavailable, set both the StartTime and EndTime to 0. If you require times in between specified hours
to be unavailable, use the resource blocks endpoints.

Times entered represent the
timezone of the resource. Resources can belong to any world timezone.

 
putsandbox-api.onsched.com/setup/v1/resources/id/availability
curl --request PUT \
  --url http://sandbox-api.onsched.com/setup/v1/resources/id/availability
var request = require("request");

var options = { method: 'PUT',
  url: 'http://sandbox-api.onsched.com/setup/v1/resources/id/availability' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/setup/v1/resources/id/availability")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "http://sandbox-api.onsched.com/setup/v1/resources/id/availability");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/setup/v1/resources/id/availability"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Valid id of a resource object

Body Params

sun
object
 
sun.startTime
int32
sun.endTime
int32
mon
object
 
mon.startTime
int32
mon.endTime
int32
tue
object
 
tue.startTime
int32
tue.endTime
int32
wed
object
 
wed.startTime
int32
wed.endTime
int32
thu
object
 
thu.startTime
int32
thu.endTime
int32
fri
object
 
fri.startTime
int32
fri.endTime
int32
sat
object
 
sat.startTime
int32
sat.endTime
int32

Response

Success

businessIdinteger
resourceIdinteger
resourceNamestring
resourceTzointeger
ignoreBusinessHoursboolean
weekdaysobject
weekdays.sunobject
weekdays.sun.startTimeinteger
weekdays.sun.endTimeinteger
weekdays.sun.displayStartTimestring
weekdays.sun.displayEndTimestring
weekdays.monobject
weekdays.mon.startTimeinteger
weekdays.mon.endTimeinteger
weekdays.mon.displayStartTimestring
weekdays.mon.displayEndTimestring
weekdays.tueobject
weekdays.tue.startTimeinteger
weekdays.tue.endTimeinteger
weekdays.tue.displayStartTimestring
weekdays.tue.displayEndTimestring
weekdays.wedobject
weekdays.wed.startTimeinteger
weekdays.wed.endTimeinteger
weekdays.wed.displayStartTimestring
weekdays.wed.displayEndTimestring
weekdays.thuobject
weekdays.thu.startTimeinteger
weekdays.thu.endTimeinteger
weekdays.thu.displayStartTimestring
weekdays.thu.displayEndTimestring
weekdays.friobject
weekdays.fri.startTimeinteger
weekdays.fri.endTimeinteger
weekdays.fri.displayStartTimestring
weekdays.fri.displayEndTimestring
weekdays.satobject
weekdays.sat.startTimeinteger
weekdays.sat.endTimeinteger
weekdays.sat.displayStartTimestring
weekdays.sat.displayEndTimestring

Server Error

Suggest Edits

Returns a list of resource blocks.

The results are returned in pages. Use the offset and limit parameters to control the page start and size. Default offset is 0, and limit is 20.
Use the other query parameters to optionally filter the results list.

 
getsandbox-api.onsched.com/setup/v1/resources/id/blocks
curl --request GET \
  --url http://sandbox-api.onsched.com/setup/v1/resources/id/blocks
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/setup/v1/resources/id/blocks' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/setup/v1/resources/id/blocks")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/setup/v1/resources/id/blocks");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/setup/v1/resources/id/blocks"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The id of the resource to list blocks

Query Params

offset
int32

Starting row of page, default 0

limit
int32

Page limit, default 20. Maximum 100.

Response

resource object

objectstring
urlstring
hasMoreboolean
countinteger
totalinteger
dataarray

Missing or invalid values in the request

Authorization error.

Resource was not found

Server Error

Suggest Edits

Update a resource block

 
getsandbox-api.onsched.com/setup/v1/resources/blocks/id
curl --request GET \
  --url http://sandbox-api.onsched.com/setup/v1/resources/blocks/id
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/setup/v1/resources/blocks/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/setup/v1/resources/blocks/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/setup/v1/resources/blocks/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/setup/v1/resources/blocks/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Valid id of a resource block object

Response

Success

objectstring
idinteger
businessIdinteger
resourceIdinteger
startDatestring
endDatestring
startTimeinteger
endTimeinteger
reasonstring
repeatsboolean
repeatobject
repeat.frequencystring
repeat.intervalinteger
repeat.weekdaysstring
repeat.monthDaystring
repeat.monthTypestring

Server Error

Suggest Edits

Create a new resource block

Creates a new resource block. You must specify a StartDateTime and EndDateTime.
A reason for the block is also required. This reason will display in the OnSched Portal Calendar.

Resource blocks can be set to specific time ranges or for the whole day. Use the AllDay setting to create an all day block.

Resource blocks can be for a specific date range instance or set to repeat at a specified frequency.
The frequency can be set to a value of D,W,M,Y for Day, Week, Month, or Year respecitively.

Daily blocks will repeat for each day of the week for the date range specified.

Weekly blocks will repeat only on the specified days of the week for the date range specified. For a weekly block
you must also specify the weekdays. Weekdays are expressed as a string of digits with each single digit in the string representing a day
of the week. The possible values are 0,1,2,3,4,5,6 where 0=Sunday, 1=Monday, 2=Tuesday, 3=Wed, 4=Thursday, 5=Friday, 6=Saturday.
For example a repeat weekly entry with weekdays 24 repeats each week on Tuesday and Thursday.

Use the interval property to specify the interval that the block repeats. For example an interval of 2 for a weekly block means that
the block will repeat every second week beginning at the day specified. A daily block with an interval of 10 means the block will
repeat every 10 days. The interval property applies to all repeat frequencies.

Monthly blocks repeat either on the day of the month specified in the month day property or on the day of the week and week of the month specified by
the start date. For example, repeat every 3rd friday of each month, repeat on the 21st day of the month.

Repeat blocks will end on the date specified by the end date. You can specify never in the EndDateTime field to indicate the repeating block
should continue indefinitely.

 
postsandbox-api.onsched.com/setup/v1/resources/id/block
curl --request POST \
  --url http://sandbox-api.onsched.com/setup/v1/resources/id/block
var request = require("request");

var options = { method: 'POST',
  url: 'http://sandbox-api.onsched.com/setup/v1/resources/id/block' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/setup/v1/resources/id/block")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "http://sandbox-api.onsched.com/setup/v1/resources/id/block");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/setup/v1/resources/id/block"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Valid id of a resource object

Body Params

startDate
date-time
endDate
date-time
startTime
int32
endTime
int32
reason
string
allDay
boolean
repeats
boolean
repeat
object
 
repeat.frequency
string
repeat.interval
int32
repeat.weekdays
string
repeat.monthDay
int32
repeat.monthType
string

Response

Success

objectstring
idinteger
businessIdinteger
resourceIdinteger
startDatestring
endDatestring
startTimeinteger
endTimeinteger
reasonstring
repeatsboolean
repeatobject
repeat.frequencystring
repeat.intervalinteger
repeat.weekdaysstring
repeat.monthDaystring
repeat.monthTypestring

Server Error

Suggest Edits

Update a resource block

Updates a resource block. Refer to the details in the POST resource block for setting each of the required parameters.

 
putsandbox-api.onsched.com/setup/v1/resources/block/id
curl --request PUT \
  --url http://sandbox-api.onsched.com/setup/v1/resources/block/id
var request = require("request");

var options = { method: 'PUT',
  url: 'http://sandbox-api.onsched.com/setup/v1/resources/block/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/setup/v1/resources/block/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "http://sandbox-api.onsched.com/setup/v1/resources/block/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/setup/v1/resources/block/id"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Valid id of a resource block object

Body Params

startDate
date-time
endDate
date-time
startTime
int32
endTime
int32
reason
string
allDay
boolean
repeats
boolean
repeat
object
 
repeat.frequency
string
repeat.interval
int32
repeat.weekdays
string
repeat.monthDay
int32
repeat.monthType
string

Response

Success

objectstring
idinteger
businessIdinteger
resourceIdinteger
startDatestring
endDatestring
startTimeinteger
endTimeinteger
reasonstring
repeatsboolean
repeatobject
repeat.frequencystring
repeat.intervalinteger
repeat.weekdaysstring
repeat.monthDaystring
repeat.monthTypestring

Server Error

Suggest Edits

Delete a resource block object

Deletes a resource block.

 
deletesandbox-api.onsched.com/setup/v1/resources/block/id
curl --request DELETE \
  --url http://sandbox-api.onsched.com/setup/v1/resources/block/id
var request = require("request");

var options = { method: 'DELETE',
  url: 'http://sandbox-api.onsched.com/setup/v1/resources/block/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/setup/v1/resources/block/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "http://sandbox-api.onsched.com/setup/v1/resources/block/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/setup/v1/resources/block/id"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Valid id of a resource block object

Response

Success

objectstring
idinteger
businessIdinteger
resourceIdinteger
startDatestring
endDatestring
startTimeinteger
endTimeinteger
reasonstring
repeatsboolean
repeatobject
repeat.frequencystring
repeat.intervalinteger
repeat.weekdaysstring
repeat.monthDaystring
repeat.monthTypestring

Server Error

Suggest Edits

Calendars

 
Suggest Edits

Returns a list of calendars.

The results are returned in pages. Use the offset and limit parameters to control the page start and size. Default offset is 0, and limit is 20.
Use the other query parameters to optionally filter the results list.

 
getsandbox-api.onsched.com/setup/v1/calendars
curl --request GET \
  --url http://sandbox-api.onsched.com/setup/v1/calendars
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/setup/v1/calendars' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/setup/v1/calendars")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/setup/v1/calendars");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/setup/v1/calendars"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

locationId
string

The id of the business location. Defaults to first business location.

offset
int32

Starting row of page, default 0

limit
int32

Page limit, default 20. Maximum 100.

Response

Success

objectstring
urlstring
hasMoreboolean
countinteger
totalinteger
dataarray

Server Error

Suggest Edits

Returns a calendar object.

The result returned is a single calendar object. An id is required to find the service. Find calendar id's using either the GET setup/v1/calendars end point

 
getsandbox-api.onsched.com/setup/v1/calendars/id
curl --request GET \
  --url http://sandbox-api.onsched.com/setup/v1/calendars/id
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/setup/v1/calendars/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/setup/v1/calendars/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/setup/v1/calendars/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/setup/v1/calendars/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

The id of the calendar object.

Response

Success

objectstring
idstring
locationIdstring
namestring
typestring
primaryboolean
intervalinteger
bookingsPerSlotinteger

Server Error

 
Suggest Edits

Returns a list of services.

The results are returned in pages. Use the offset and limit parameters to control the page start and size. Default offset is 0, and limit is 20.
Use the other query parameters to optionally filter the results list.

 
getsandbox-api.onsched.com/setup/v1/services
curl --request GET \
  --url http://sandbox-api.onsched.com/setup/v1/services
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/setup/v1/services' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/setup/v1/services")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/setup/v1/services");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/setup/v1/services"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

locationId
string

The id of the business location. Defaults to first business location.

serviceGroupId
int32

Filter services by group.

offset
int32

Starting row of page, default 0

limit
int32

Page limit, default 20. Maximum 100.

Response

Success

objectstring
urlstring
hasMoreboolean
countinteger
totalinteger
dataarray

Server Error

Suggest Edits

Returns a service object.

The result returned is a single service object. An id is required to find the service. Find service id's using either the GET consumer/v1/service end point,
or the GET consumer/v1/appointments end point.

 
getsandbox-api.onsched.com/setup/v1/services/id
curl --request GET \
  --url http://sandbox-api.onsched.com/setup/v1/services/id
var request = require("request");

var options = { method: 'GET',
  url: 'http://sandbox-api.onsched.com/setup/v1/services/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://sandbox-api.onsched.com/setup/v1/services/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://sandbox-api.onsched.com/setup/v1/services/id");

xhr.send(data);
import requests

url = "http://sandbox-api.onsched.com/setup/v1/services/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
int32
required

The id of the service object.

Response

Success

objectstring
idstring
companyIdstring
locationIdstring
namestring
descriptionstring
imageUrlstring
serviceGroupIdinteger
serviceGroupNamestring
showOnlineboolean
defaultServiceboolean
durationinteger
durationSelectboolean
durationMininteger
durationMaxinteger
durationIntervalinteger
paddinginteger
consumerPaddingboolean
feeAmountnumber
feeTaxableboolean
cancellationFeeAmountnumber
cancellationFeeTaxableboolean
nonRefundableboolean
dailyBookingLimitCountinteger
dailyBookingLimitMinutesinteger
maxBook