Skedulo REST API

Skedulo provides a REST API that exposes access to data and scheduling functions.

Base URLs

The base URL for all operations is https://api.skedulo.com, with the following regionally-hosted base URLs for Australia, United Kingdom, and Canada:

Data is accessible only via the API subdomain for the tenant’s geographical deployment region. Note that the deployment region might not be the same as the physical location of the customer’s business.

All API clients must query the API first to determine the correct subdomain for subsequent requests. They can do this by calling the /customer/login/config/team endpoint with the team name, for example https://api.skedulo.com/customer/login/config/team?type=web&name=my-team, where my-team is the team name in any region.

All subsequent API calls must be to the subdomain that is returned in the result.server.api field of the response.

Format requests

All requests and results to REST calls are encoded in JSON (Content-Type: application/json).

Requests support the following HTTP verbs:

  • GET
  • POST
  • PUT
  • DELETE

Results are JSON-encoded and wrapped in the following structure:

{
  "result": ...
}

Errors are given as follows:

{
  "errorType": "bad_request",
  "message": "A Job Id or Job Allocation Id must be supplied"
}

For more detailed information about Skedulo APIs, please refer to the API documentation.

Skedulo API HTTP status codes

The REST API uses the HTTP status code to communicate the success or failure of the request. The following codes are used.

HTTP Status Code Description
200 OK Response to a successful GET, PUT, PATCH or DELETE. Can also be used for a POST that doesn’t result in a creation.
201 Created Response to a POST that results in a creation of a resource. Should append the JSON representation of the resource in the body.
202 Accepted Similar to "201 Created," but this is returned if we CANNOT create the object currently, e.g., When creation of the resource is queued but not processed yet.
400 Bad Request The request is malformed, such as if the body does not parse or a required field is missing.
401 Unauthorized When no or invalid authentication details are provided.
403 Forbidden Authentication succeeded but authenticated user doesn’t have access right to the resource.
404 Not Found When a non-existent endpoint or resource is requested (GET, DELETE etc.)
409 Conflicted When the request cannot be fulfilled due to a conflict with some business logic.
405 Method Not Allowed When an HTTP method is being requested that isn’t allowed for the authenticated user.
410 Gone Indicates that the resource at this end-point is no longer available. Useful as a blanket response for old API versions.
415 Unsupported Media Type If an incorrect content type is provided as part of the request.
429 Too Many Requests When a request is rejected due to rate limiting.