About
This is the help page for the Halo REST API. The API is the primary way to interact with Halo, and can be used to build apps and extensions that interact with Halo. This API applies to the Halo Web platform. This page documents the authentication methods available, and the API endpoints and examples of how to call each of the endpoints and their expected http responses.
Information
The Halo REST API is a token based API which comes as part of your Halo Web Application installation. The Halo Web application is completely driven from this API, so anything that is possible in the the Web Application will be possible to achieve in your integrations.
The API is secured using OAUTH2, and is split into a Resource Server and Authentication server. Most endpoints are protected and require an access token to access. Access Tokens must be included in the "Authorization" Header of the request, preceded by "Bearer ". In order to create an integration with the API, you will need to register your Application within the Halo API settings, and a Client ID and Client Secret/Redirect URI.
The API accepts and returns JSON only.
Getting started
If you are hosting the Halo application on your own server, the Halo API will be available on the same site as your Halo Web Application instance. For example, if the Halo web application is hosted at https://support.haloservicedesk.com, your authorisation endpoint and Resource Server urls will be as follows:
Authorisation Endpoint: https://support.haloservicedesk.com/auth
Resource Server: https://support.haloservicedesk.com/api
If your application is hosted by Halo, then using the same example as above, your authorisation endpoint and resource server urls will be as follows:
Authorisation Endpoint: https://auth.haloservicedesk.com
Resource Server: https://support.haloservicedesk.com/api
If you're unsure on what your Authorisation Endpoint or Resource Server are you can find these in Configuration > Integrations > Halo API under API Details.
You will need to allow your application to use the API, and then choose a method to authenticate. See
Authorisation for information regarding how to do this.