REST API Overview
The Dremio REST API is organized by resource types such as sources
and is designed around RESTful principles. HTTP GET
is used to retrieve existing resources,
POST
creates new ones, PUT
updates them and DELETE
removes them.
Base URL
All API URLs referenced in this documentation have the following base URL unless otherwise specified:
{DREMIO_ORIGIN}/api/v3
Versions prior to v3
are considered internal and subject to change without version bumps.
In this documentation, curly braces ({}
) are used to indicate sections of URLs where you have to supply a value. For example:
/api/v3/source/{id}
Authentication
The Dremio REST API uses a token based authentication system.
To generate an authentication token, send a POST
request to (note the different base URL, we are using an older API right now for logging in):
{DREMIO_ORIGIN}/apiv2/login
with the following input body:
{
"userName": "dremio",
"password": "dremio123"
}
This will return a JSON user structure which contains a token
property:
{
...,
"token": "tokenstring"
}
When calling REST API endpoints, the request needs to have an Authorization
header set to _dremio{tokenstring}
.
Errors
Error messages will be sent back in the response body using the following format:
{
"errorMessage": "brief error message",
"moreInfo": "detailed error message"
}