Projects
A project is the logical entity for isolating compute, data, and other resources needed by a team for data analysis. An organization may contain multiple projects. Projects are linked to your cloud account—your first project was created and linked to your cloud account as part of the signup process. This API allows you to add, modify, delete, and list projects.
Project Object{
"name": "default-project",
"id": "c683b988-aa93-439c-a9ac-0d7f72b53d23",
"type": "QUERY_ENGINE",
"cloudId": "dremio-aws-us-east-1",
"state": "ACTIVE",
"createdBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"modifiedBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"createdAt": "2023-08-19T14:39:38Z",
"modifiedAt": "2023-08-19T14:39:46Z",
"projectStore": "my.dremio.store",
"credentials": {
"type": "IAM_ROLE",
"roleArn": "arn:aws:iam::362243112345:role/CustomerRole",
"externalId": "c683b988-aa93-439c-a9ac-0d7f72b53d23"
},
"numberOfEngines": 2,
"cloudType": "AWS",
"catalog": {
"storageLocation": "my.dremio.store"
}
}
Project Attributes
name String
User-defined name for a project.
Example: my-first-project
id String (UUID)
UUID of the project.
type String
Type of the project.
Example: QUERY_ENGINE
cloudId String
Designation for cloud type and region.
Example: dremio-aws-us-east-1
state String
The current state of the project. If the state is ARCHIVING, ARCHIVED, or RESTORING, only users with the OWNERSHIP privilege on a project or users in the ADMIN role will have access to the project.
Valid Values: CREATING, ACTIVE, ARCHIVING, ARCHIVED, RESTORING, DEACTIVATING, INACTIVE, ACTIVATING
Example: ACTIVE
createdBy String (UUID)
UUID of the user who created the project.
modifiedBy String (UUID)
UUID of the user who last modified the project.
createdAt String
Timestamp when the project was created.
modifiedAt String
Timestamp when the project was last modified.
projectStore String
The external storage location for project metadata.
Example: my.dremio.store
credentials Object
The credentials used to access external project storage.
numberOfEngines Integer
Number of engines that manage compute resources for the project.
cloudType String
Type of the cloud where the project is saved; must be AWS.
catalog Object
Attributes of the catalog included within the project.
lastStateError Object
Information about any invalid credentials error for the project. Included only if the project credentials are invalid.
Attributes of the credentials Object
type String
The type of credential to use to access external project storage. The only valid value is IAM_ROLE.
Example: IAM_ROLE
roleArn String
For projects created on AWS clouds, the cross-account role Dremio uses to access the project store bucket. To create this IAM role, you must use the appropriate Dremio trust account ID.
Example: arn:aws:iam::461138020052:role/CustomerRole
externalId String (UUID)
UUID that is the same as the id of the project.
Attributes of the lastStateError Object
timestamp String
The time at which the project credentials became invalid, in 13-digit Unix timestamp format.
Example: 1707339965231
error String
The type of error. The value is always INVALID_CREDENTIALS.
Attributes of the catalog Object
storageLocation String
The external storage location for catalog tables and views.
Example: my.dremio.store
List All Projects
Method and URLGET /v0/projects
Example
Requestcurl -X GET 'https://api.dremio.cloud/v0/projects' \
-H "Authorization: Bearer $DREMIO_TOKEN" \
-H 'Content-Type: application/json'
[
{
"name": "default-project",
"id": "c683b988-aa93-439c-a9ac-0d7f72b53d23",
"type": "QUERY_ENGINE",
"cloudId": "dremio-aws-us-east-1",
"state": "ACTIVE",
"createdBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"modifiedBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"createdAt": "2023-08-19T14:39:38Z",
"modifiedAt": "2023-08-19T14:39:46Z",
"projectStore": "my.dremio.store",
"credentials": {
"type": "IAM_ROLE",
"roleArn": "arn:aws:iam::362243112345:role/CustomerRole",
"externalId": "c683b988-aa93-439c-a9ac-0d7f72b53d23"
},
"numberOfEngines": 2,
"cloudType": "AWS",
"catalog": {
"storageLocation": "my.dremio.store"
}
}
]
Response Status Codes
200 OK
403 Forbidden
Add a Project
Method and URLPOST /v0/projects
Adding a new project creates an engine named default of size 2XS in the new project.
Parameters
name Body String
User-defined name for the project.
Example: docproject
requestId Body String (UUID) Optional
User-defined idempotency key, which is a unique value generated by the user that the server uses to recognize subsequent retries of the same request. Generate the request ID by using a UUID generator tool. See idempotent requests for more information.
Example: a7801e74-6c34-48b4-9e42-2cacdf06d31c
cloudId Body String
The cloud and region designation for storage for this project.
Example: dremio-aws-us-east-1
projectStore Body String
The external storage location for project metadata.
Example: my.dremio.store
credentials Body Object
The credentials used to access external project storage.
type Body String Optional
Type of the project.
Example: QUERY_ENGINE
Parameters of the credentials Object
type Body String
The type of credential to use to access external project storage. The only valid value is IAM_ROLE.
Example: IAM_ROLE
roleArn Body String
For projects created on AWS clouds, the cross-account role Dremio uses to access the project store bucket. To create this IAM role, you must use the appropriate Dremio trust account ID.
Example: arn:aws:iam::461138020052:role/CustomerRole
Example
Requestcurl -X POST 'https://api.dremio.cloud/v0/projects' \
-H "Authorization: Bearer $DREMIO_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"name": "docproject",
"requestId": "a7801e74-6c34-48b4-9e42-2cacdf06d31c",
"cloudId": "dremio-aws-us-east-1",
"projectStore": "my.dremio.store",
"credentials": {
"type": "IAM_ROLE",
"roleArn": "arn:aws:iam::362243112345:role/CustomerRole"
},
"type": "QUERY_ENGINE"
}'
{
"name": "docproject",
"id": "05e2d620-5978-4269-8c96-aa463df830b7",
"cloudId": "dremio-aws-us-east-1",
"type": "QUERY_ENGINE",
"state": "ACTIVE",
"createdBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"modifiedBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"createdAt": "2023-08-21T12:22:51Z",
"modifiedAt": "2023-08-21T12:22:59Z",
"projectStore": "my.dremio.store",
"credentials": {
"type": "IAM_ROLE",
"roleArn": "arn:aws:iam::362243142826:role/CustomerRole",
"externalId": "05e2d620-5978-4269-8c96-aa463df830b7"
},
"numberOfEngines": 2,
"cloudType": "AWS",
"catalog": {
"storageLocation": "my.dremio.store"
}
}
Response Status Codes
200 OK
400 Bad Request
403 Forbidden
500 Internal Server Error
Retrieve a Project
Method and URLGET /v0/projects/{id}
Parameters
id Path String (UUID)
UUID of the project.
Example
Requestcurl -X GET "https://api.dremio.cloud/v0/projects/$PROJECT_ID" \
-H "Authorization: Bearer $DREMIO_TOKEN" \
-H 'Content-Type: application/json'
{
"name": "docproject",
"id": "05e2d620-5978-4269-8c96-aa463df830b7",
"cloudId": "dremio-aws-us-east-1",
"type": "QUERY_ENGINE",
"state": "ACTIVE",
"createdBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"modifiedBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"createdAt": "2023-08-21T12:22:51Z",
"modifiedAt": "2023-08-21T12:22:59Z",
"projectStore": "my.dremio.store",
"credentials": {
"type": "IAM_ROLE",
"roleArn": "arn:aws:iam::362243142826:role/CustomerRole",
"externalId": "05e2d620-5978-4269-8c96-aa463df830b7"
},
"numberOfEngines": 2,
"cloudType": "AWS",
"catalog": {
"storageLocation": "my.dremio.store"
}
}
Response Status Codes
200 OK
400 Bad Request
403 Forbidden
Modify a Project
Method and URLPUT /v0/projects/{id}
Parameters
id Path String (UUID)
UUID of the project.
name Body String Optional
User-defined name for the project.
Example: doc-project
credentials Body Object Optional
The credentials used to access external project storage.
Parameters of the credentials Object
type Body String
The type of credential to use to access external project storage. The only valid value is IAM_ROLE.
Example: IAM_ROLE
roleArn Body String
For projects created on AWS clouds, the cross-account role Dremio uses to access the project store bucket. To create this IAM role, you must use the appropriate Dremio trust account ID.
Example: arn:aws:iam::461138020052:role/CustomerRole
Example
Requestcurl -X PUT "https://api.dremio.cloud/v0/projects/$PROJECT_ID" \
-H "Authorization: Bearer $DREMIO_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"name": "doc-project"
}'
{
"name": "doc-project",
"id": "05e2d620-5978-4269-8c96-aa463df830b7",
"cloudId": "dremio-aws-us-east-1",
"type": "QUERY_ENGINE",
"state": "ACTIVE",
"createdBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"modifiedBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"createdAt": "2023-08-21T12:22:51Z",
"modifiedAt": "2023-08-21T12:22:59Z",
"projectStore": "my.dremio.store",
"credentials": {
"type": "IAM_ROLE",
"roleArn": "arn:aws:iam::362243142826:role/CustomerRole",
"externalId": "05e2d620-5978-4269-8c96-aa463df830b7"
},
"numberOfEngines": 2,
"cloudType": "AWS",
"catalog": {
"storageLocation": "my.dremio.store"
}
}
Response Status Codes
200 OK
400 Bad Request
Delete a Project
Method and URLDELETE /v0/projects/{id}
Dremio does not allow you to delete a project that is the only project in an organization.
Parameters
id Path String (UUID)
UUID of the project.
Example
Requestcurl -X DELETE "https://api.dremio.cloud/v0/projects/$PROJECT_ID" \
-H "Authorization: Bearer $DREMIO_TOKEN" \
-H 'Content-Type: application/json'
A successful request returns an empty response body with HTTP status 204 No Content.
Response Status Codes
204 No Content
500 Internal Server Error