Skip to main content

Introduction

The Osano developer API is a simple REST API to interact with the Osano platform. Before use, you must sign up at https://osano.com. You are bound by the Osano terms of service and limits placed by those terms.

Versioning

All interactions with the API require authentication using the Osano API key in the x-osano-api-key header detailed in the "Authentication" section. All resources are versioned according to semantic versioning with the major version being specified in the endpoints URI such as v1. Below is an example on getting data stores using curl.

curl --header 'x-osano-api-key: myapikey' https://api.osano.com/v1/data-stores

All major versioning will maintain backwards compatibility in that major version. Resources may add new minor versions that are not specified in the URI. The minor versions will never break backward compatibility but may add new resources or enhancements. The enhancements may include new data in the schema. We will never remove data from a schema in the same major version. To prevent your scripts or applications from breaking due to newly added data, do not error on unexpected data.

We will make a best effort to notify users when we release new major versions. We will deprecate the previous major version. Major versions may have breaking changes from previous versions such as schema changes or resource removal. All users should upgrade to the new major version in a timely manner.

Authentication

The Osano API uses API keys to authenticate requests that are generated on a per-user basis. All calls require a valid, unexpired API key.

API keys may be generated within the Osano settings -> API Keys page. You must be an admin or have the correct privileges to generate an API key.

Once generated, the API key should be included in the x-osano-api-key header of all requests. For example:

curl --header 'x-osano-api-key: <API_KEY>' https://api.osano.com/v1/<API_PATH>

Pagination, Limits, and Sorting

Except where noted, all "list" resources will be sorted in descending order by creation time, and this may not be changed. The number of results returned may be controlled via the limit param, but may not exceed 500.

Within the response of each "list" API call, there will be a "next" field, which represents the pagination token. This token may be added as a query parameter, i.e. ?next=<...> to retrieve subsequent pages of the same resource.