Getting Started with the Deputy API

📘

We are thrilled that you have chosen to integrate with Deputy, or are exploring the possibility.

We truly subscribe to the proverb "If you want to go fast go alone. if you want to go far, go together". We look forward to working together! 🤝

Deputy is the API-first workforce management platform, with nearly every piece of the application available for integration. If you find something missing from our documentation or have any questions, our friendly API support can be reached here. Alternately, you can use the suggest an edit feature.

Before you get started in earnest, there are a few things to know about the Deputy application and how customer installations are setup which can have an impact on how your application interacts with the Deputy platform.

Five ways developers can work with Deputy

The "Hello World" of Deputy - Using our main REST API

What is Deputy Embed - Embedding Deputy directly in your application interface

Singer Tap Data Stream - Using a Singer IO specified data stream

Zapier - Using the Zapier integrations platform

Workato - Using the Workato integrations platform.

How to get help when building with Deputy

Aside from this documentation there a few ways we can help you build with Deputy. If you become a Deputy Embedded Partner, we will assist you closely during your implementation with close access to our engineering and product team to make sure you reach a successful implementation

For regular integrations using our REST API we offer email support at [email protected] and our product team often meets with third party developers who are in the build phase to answer any questions about best practice you may have.

Of course this website has a significant amount of useful guides, such as those for POS Developers,Payroll Developers and HR Developers. We also have Developer Recipeswhich take you through line by line in a code example of how to connect to Deputy.

Finally, we've recently launched AI search as part of the Deputy documentation. Ask a simple question in the search box such as "how do I retrieve timesheets from Deputy using Python" and the AI search will use our documentation to generate sample code and information to help.

As always if you have any questions please feel free to reach out to [email protected]

Key details

  • Every Deputy customer runs on their own subdomain
  • The API endpoint is the subdomain on the customers installation. So for example if the customers install is https://simonssambos.au.deputy.com then the api endpoint is https://simonssambos.au.deputy.com/api/
  • Authentication is handled by either a permanent token or Oauth 2.0 login process
  • Returned data is always in a JSON format
  • POST data is generally included as a string
  • The maximum amount of records included in a single response is 500
  • There are two versions of Deputy - Premium and Enterprise. Enterprise is version which is generally customised specific to each client. When dealing with the Enterprise product, you may have access to additional custom data.
  • The API endpoint for both the Premium and Enterprise products is the same

📘

Developer Sandbox

If you're interested in using a sandbox, sign up for a Deputy account and contact [email protected] to request an extension of your trial period for the duration of your development phase.

Authentication

The API authentication in Deputy is handled by either a permanent token or having the user go through an Oauth 2.0 login process. Both options are detailed in the below guides

Guides

Getting your head around the way Deputy works and how each part interacts with each other can take some time. To get you started we've produced some guides for the most common integrations with Deputy

API Reference Documentation

Our API reference documentation is an overview of which endpoints are available, the data which is included in responses as well as any data that may be required for posting data to Deputy. You can also try the Deputy API from directly in the documentation.

Click here to access the API reference documentation.

Webhooks

Deputy also allows users and developers to setup webhooks within Deputy. This allows you as a developer to receive data as soon as an update is made in the Deputy install. With this setup you will not need to constantly poll the Deputy system for changes.

Information about Deputy webhooks can be found here

DeXML

DeXML is a custom scripting language built by Deputy allowing server side scripts to be built in the XML language. This can allow a developer to build integrations which are not currently possible via the RESTful API. DeXML is deployed per Deputy install allowing you as the owner of a Deputy installation, to run custom scripts. Due to the fact it is a per installation level deployment, it is generally not suitable for use by developers that want to offer their services to all Deputy users.

API Versioning

The majority of the current Deputy API endpoints run on the /api/v1 subfolder. However there are a few endpoints such as Agreed Hours and Sales Metrics utilising an /api/v2 subfolder. Please ensure when developing your integration, that you take note of the correct subfolder for the endpoint.