Dataiku REST API#
At its core, Dataiku’s public API is a collection of RESTful API endpoints that can be queried via HTTP. Working at this fine-grained level can be cumbersome and require lots of code to manage the HTTP query properly. While Dataiku’s REST API endpoints are fully documented, the use of this documentation may require a significant investment.
Prerequisites#
Access to a Dataiku DSS instance via an API key (see the documentation for explanations on how to generate one)
Introduction#
For example, if you want to retrieve the schema of a given dataset, you would send the following request:
GET /public/api/projects/yourProjectKey/datasets/yourDataset/schema
HTTP/1.1
Host: yourinstance.com
Content-Type: application/json
Authorization: Bearer your-api-key
If it’s successful, the response will look like this:
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
DSS-Version: x.x.x
DSS-API-Version 1
{
columns: [
{"name": "Column1", type: "string", maxLength: -1},
{"name": "Column2", type: "bigint"},
...
]
}
Sending requests#
All calls in the DSS public API are relative to the /public/api
path on the DSS server.
For example, if your DSS server is available at http://DSS_HOST:DSS_PORT/
,
and you want to call the List projects API,
you must make a GET request on http://DSS_HOST:DSS_PORT/public/api/projects/
Project list#
curl --request GET \
--url http://DSS_HOST:DSS_PORT/public/api/projects/ \
--header 'Authorization: Bearer YOUR_USER_API_KEY' \
--header 'Content-Type: application/json'
import axios from "axios";
const options = {
method: 'GET',
url: 'http://DSS_HOST:DSS_PORT/public/api/projects/',
headers: {
'Content-Type': 'application/json',
Authorization: 'Bearer YOUR_USER_API_KEY'
}
};
axios.request(options).then(function (response) {
console.log(response.data);
}).catch(function (error) {
console.error(error);
});