Introduction

Welcome to the Shepherd Public API documentation!

This release of the Shepherd Public API allows you to manage calendars, reservations, and properties in a simple, programmatic way, using conventional HTTP requests.

The API documentation will start with a general overview of the design and technology that has been implemented, followed by reference information about specific endpoints.

Requests

The Shepherd Public API conforms to the REST Architectural Standards.

Entities are represented as resources, each one with an URL and unique identifier, and can be manipulated with the GET, POST, PUT, PATCH, and DELETE HTTP methods. All methods except POST are idempotent.

Security

The API follows OAuth 2.0 to protect its endpoints.

You may authorize your application to make requests on your account's behalf by using the Client Credentials flow.

Generate API credentials from the "Apps" page in your Shepherd account.

More information on security.

Versioning

To reduce risk when using the Shepherd Public API in production, you must send a Content-Type header along with all requests containing the version of the API you are using. If this is not sent, you will be served the newest version of the API, including breaking changes.

More information on versioning

Including Resources

In some cases, requesting a superset of data to be returned is possible. These are labeled as Allowed Includes in the documentation. Using this may save you from making a second API request for more information.

More information on including resources