Getting started with the BlueDolphin API

The BlueDolphin APIs allow you to perform various operations available through our web platform or supporting tools.

BlueDolphin Public API is built using REST principles, which ensures predictable URLs and makes writing applications easy. This API follows HTTP rules, enabling a wide range of HTTP clients to be used for an interaction with the API.

Picture

Sources

Lets you view, manage, and upload sources in BlueDolphin. Useful for synchronizing the data from your organization.

Picture

Reports

Lets you retrieve output of the reports from your BlueDolphin environment.

Picture

File Sharing

Provides the glue to work with the sources and report data.

First steps

To start using BlueDolphin APIs to create integrations, you need to have:

  • A BlueDolphin environment

  • An API key. If you don't have one, see here.

  • And your favorite tool that can do REST

Authenticated request

The requests must include the apiKey and tenant headers.

$ curl GET "https://services.eu.bluedolphin.app/api/v1
/datasource-reports"
-H "apiKey: f08a2bb9-3ab4-451a-9099-2ef531375147"
-H "tenant: contoso"

Authentication

The BlueDolphin API uses API keys to authenticate requests. You can view and manage your API keys in the admin section of your BlueDolphin environment.

Authentication to the API is performed via HTTP headers.

  1. ApiKey - API key request header

  2. Tenant - Header containing the name of the tenant that you need to access

Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and similar.

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

Example

Using GET method, you can get the list of resources or details of a particular instance of a resource.

Below is a request to get a list of data sources.

$ curl GET "https://services.eu.bluedolphin.app/api/v1
/datasources"
-H "apiKey: f08a2bb9-3ab4-451a-9099-2ef531375147"
-H "tenant: contoso"

HTTP methods

BlueDolphin API uses appropriate HTTP verbs for every action.

Name

Description

GET

Used for retrieving resources.

POST

Used for creating resources and performing resource actions.

PUT

Used for updating resources.

PATCH

Used for updating a specific detail of the resource.

DELETE

Used for deleting resources.

Response structure

The response structure for the export API follows the below format.

{
"error_code": 0,
"error_message": null,
"error_message_explain": null,
"data": {
"file_name": "..."
}
}

Response

Responses will be in JSON and will have the following common format.

Name

Description

error_code

BlueDolphin error code. This will be zero for a success response and non-zero in case of an error.

error_message

In case of the failure of an API call, this will contain a short message describing the error; otherwise, it's null.

error_message

In case of a failure of an API call, this might contain more information on the error.

data

Comprises the invoked API’s data.

HTTP status codes

2xx

Success

4xx

Bad request sent to server

5xx

Server side error

Errors

BlueDolphin uses HTTP status codes to indicate success or failure of an API call. In general, status codes in the 2xx range mean success, 4xx range mean there was an error in the provided information, and those in the 5xx range indicate server side errors.

Versioned requests

Requests use a path-based versioning scheme.

https://services.eu.bluedolphin.app/api/v1

Versioning

When backwards-incompatible changes are made to the API, a new version is released. The current version is v1. Upgrades and breaking changes will be listed in the API reference page under the changelog section.