Client Login

API Documentation

This documentation describes the possibilities and processes surrounding the Kobas API. This API is intended for use by technical teams working for or acting on behalf of companies who use Kobas hospitality management software. If you need more information about integrating with Kobas please contact us at integrations@kobas.co.uk.

Definitions

API – Application Programming Interface, a set of defined methods that can be used to communicate with a software system.

HTTPS – Hyper Text Transfer Protocol Secure, the combination of SSL/TLS and HTTP resulting in a secure, stateless transfer of data over commonly used HTTP.

JSON – JavaScript Object Notation.

OAuth – OAuth 2.0 is the industry-standard protocol for authorisation.

RESTful – REpresentative State Transfer.

Technology

The Kobas API is RESTful and operates over HTTPS, exchanging data using JSON. No other notation or transfer protocol is supported at this time.

API is not available over HTTP without SSL/TLS encryption.

Authorisation

Our API uses OAuth 2.0’s ‘client credential access tokens’ that have a 1-hour expiry. This allows you to use any standard OAuth library or tools like Postman to easily communicate with our API. You can request an access token by submitting a POST request to https://oauth.kobas.co.uk/access_token with the following body:

grant_type: client_credentials

client_id: [your_client_id]

client_secret: [your_client_secret]

scope: [your_scope]

x-kobas-company-id: [your_kobas_company_id]

 

This will then return you a token + expiry time, allowing you to communicate with the API.

Note: To ensure compliance with all OAuth 2 libraries and tools, “x-kobas-company-id” can also be sent as a GET variable.

Making requests

All HTTPS requests should be directed to: https://api.kobas.co.uk/v3/ with an appropriate verb and endpoint.

Endpoints

The API exposes several endpoints for data exchange and activity.  All available endpoints are documented along with example output at https://api-doc.kobas.co.uk

Verbs

The API accepts the following verbs:

DELETE

GET

POST

PUT

 

The API will accept a PUT request that creates a new resource at the specified location. If a resource already exists at that location, it will be overwritten. A POST request must never attempt to specify a location.

Headers

Authorisation: Bearer [your_access_token]

x-kobas-company-id: [your_kobas_company_id]

Payload

DELETE and GET requests expect data in the query string. POST and PUT requests expect information in the request body.

 

Content-Type, Encoding and Compression

POST and PUT requests should be in one of the following formats, with a valid Content-Type header to match:

Content-Type: application/json

Content-Type: application/x-www-form-urlencoded

 

The API servers support gzip compression and customers are urged to use this where possible to minimise bandwidth usage for all concerned.