Skip to main content

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. This API allows you to add, modify, delete and list projects.

Project Object (AWS Example)
[
{
"name": "default-project",
"id": "c683b988-aa93-439c-a9ac-0d7f72b53d23",
"type": "QUERY_ENGINE",
"cloudId": "37b34779-13f1-48e5-b2c8-f3db4c824733",
"state": "ACTIVE",
"createdBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"modifiedBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"createdAt": "Thu Aug 19 14:39:38 UTC 2023",
"modifiedAt": "Thu Aug 19 14:39:46 UTC 2023",
"projectStore": "my.dremio.store",
"credentials": {
"type": "ACCESS_KEY",
"accessKeyId": "AKIAJIPU77TQL8LR6OIR",
"secretAccessKey": null
},
"numberOfEngines": 2,
"cloudType": "AWS",
"primaryCatalogId": "cc9d3b9c-4b16-01ed-8067-d1f871042d9f"
},
{
"name": "second-project",
"id": "ad22911e-c6a1-11ee-a506-0242ac120002",
"type": "QUERY_ENGINE",
"cloudId": "37b34779-13f1-48e5-b2c8-f3db4c824733",
"state": "INACTIVE",
"createdBy": "339d1654-879d-4eeb-8c96-d6999334a110",
"modifiedBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"createdAt": "Wed Feb 07 17:16:57 UTC 2024",
"modifiedAt": "Thu Feb 08 01:15:33 UTC 2024",
"projectStore": "my.dremio.store",
"credentials": {
"type": "ACCESS_KEY",
"accessKeyId": "AKIAKEKB8DSQNW7W9KFM",
"secretAccessKey": null
},
"numberOfEngines": 1,
"cloudType": "AWS",
"primaryCatalogId": "cc9d3b9c-4b16-01ed-8067-d1f871042d9f",
"lastStateError": {
"timestamp": 1707339965231,
"error": "INVALID_CREDENTIALS"
}
}
]
Project Object (Azure Example)
[
{
"name": "azure-project",
"id": "09d9e30d-0b10-4ea7-821c-8e902c47f908",
"type": "QUERY_ENGINE",
"cloudId": "3986c088-93f1-41b8-a45a-d51831478f71",
"state": "ACTIVE",
"createdBy": "c2697d8e-d455-495c-ae56-a5ce30d1b02e",
"modifiedBy": "c2697d8e-d455-495c-ae56-a5ce30d1b02e",
"createdAt": "Mon Oct 23 14:08:50 UTC 2023",
"modifiedAt": "Mon Oct 23 14:08:54 UTC 2023",
"projectStore": "teststoragecontainer",
"credentials": {
"type": "AZURE_STORAGE_CLIENT_CREDENTIALS",
"tenantId": "10070cc4-8877-4b2b-a8c8-b5c7e640d1cd",
"clientId": "ba71d0bb-d8ef-43b4-be0f-0cc5d080449b",
"clientSecret": "secret",
"accountName": "testaccount"
},
"numberOfEngines": 3,
"cloudType": "AZURE",
"primaryCatalogId": "cc9d3b9c-4b16-01ed-8067-d1f871042d9f"
},
{
"name": "second-azure-project",
"id": "89bd0e01-ec06-403e-a80e-01ca9c9b51df",
"type": "QUERY_ENGINE",
"cloudId": "3986c088-93f1-41b8-a45a-d51831478f71",
"state": "ARCHIVED",
"createdBy": "c2697d8e-d455-495c-ae56-a5ce30d1b02e",
"modifiedBy": "c2697d8e-d455-495c-ae56-a5ce30d1b02e",
"createdAt": "Wed Feb 07 17:16:57 UTC 2024",
"modifiedAt": "Wed Feb 07 17:17:05 UTC 2024",
"projectStore": "teststoragecontainer",
"credentials": {
"type": "AZURE_STORAGE_CLIENT_CREDENTIALS",
"tenantId": "10070cc4-8877-4b2b-a8c8-b5c7e640d1cd",
"clientId": "ba71d0bb-d8ef-43b4-be0f-0cc5d080449b",
"clientSecret": "secret",
"accountName": "departmentaccount"
},
"numberOfEngines": 3,
"cloudType": "AZURE",
"primaryCatalogId": "cc9d3b9c-4b16-01ed-8067-d1f871042d9f",
"lastStateError": {
"timestamp": 1707339965231,
"error": "INVALID_CREDENTIALS"
}
}
]

Project Attributes

name String

User defined name for a project.

Example: my-first-project


id String (UUID)

Unique identifier of a project.

Example: c683b988-aa93-439c-a9ac-0d7f72b53d23


type String

Type of the project.

Example: QUERY_ENGINE


cloudId String (UUID)

The ID of the cloud where compute resources will be created.

Example: 37b34779-13f1-48e5-b2c8-f3db4c824733


state String

The current state of the project. If the state is ARCHIVING, ARCHIVED, or RESTORING, only users having the OWNERSHIP privilege on a project or users in the ADMIN role will have access to the project.

Enum: CREATING, ACTIVE, ARCHIVING, ARCHIVED, RESTORING, DEACTIVATING, INACTIVE, ACTIVATING

Example: ACTIVE


createdBy String (UUID)

The unique identifier for the user that created the project.

Example: de8a47bf-432a-4d83-b60e-90d86cda8d70


modifiedBy String (UUID)

The unique identifier for the user that last modified the project.

Example: de8a47bf-432a-4d83-b60e-90d86cda8d70


createdAt String

Date and time that the project was created.

Example: Thu Aug 19 14:39:38 UTC 2023


modifiedAt String

Date and time that the cloud was last modified.

Example: Thu Aug 19 14:39:46 UTC 2023


projectStore String

The Amazon S3 bucket or Azure storage container that Dremio Cloud uses to store metadata for this project.

Example: my.dremio.store


credentials Object

The credentials used to configure the storage settings for the cloud.


numberOfEngines Integer

Number of engines that manage compute resources for the project.

Example: 2


cloudType String

Type of the cloud where the project is saved.

Enum: AWS, AZURE, UNKNOWN

Example: AWS


primaryCatalogId String (UUID)

The unique identifier for the project's primary Arctic catalog.

Example: cc9d3b9c-4b16-01ed-8067-d1f871042d9f


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 credentials used to configure the storage settings for the project. For projects created on AWS clouds, the value is either ACCESS_KEY or IAM_ROLE. For projects created on Azure clouds, the value is AZURE_APP_CLIENT_CREDENTIALS.

Example: ACCESS_KEY


accessKeyId String

For projects created on AWS clouds, the access key generated from the AWS IAM User you created to provide Dremio Cloud with storage capabilities. Included only if you specified ACCESS_KEY as the value for credentials.type.

Example: AKIAJIPU77TQL8LR6OIR


secretAccessKey String

For projects created on AWS clouds, the secret key generated from the AWS IAM User you created to provide Dremio Cloud with storage access. Included only if you specified ACCESS_KEY as the value for credentials.type. The value is returned as null in API responses.

Example: vJalrXUtnFEMI/K7MDENG/bPxRfiDYEXAMPLEKEY


roleArn String

For projects created on AWS clouds, the cross-account role used to access the project store bucket. To create this IAM Role, you must provide the Trust Account ID and External ID (see Creating an IAM Role for Granting Access to Compute Resources - Prerequisites for retrieval instructions). Included only if you specified IAM_ROLE as the value for credentials.type.

Example: arn:aws:iam::461138020052:role/CustomerRole


instanceProfileArn String

For projects created on AWS clouds, the instance profile used by Dremio Cloud engines to access the project store bucket. Included only if you specified IAM_ROLE as the value for credentials.type. The value is returned as null in API responses.

Example: arn:aws:iam::461138020052:instance-profile/InstanceRole


externalId String

For projects created on AWS clouds that use the IAM_ROLE credentials.type, the external ID used identify Dremio Cloud as a provider.

Example: 075f6f33-1361-46c9-b266-78cbaEXAMPLE_1234567890


externalIdSignature String

For projects created on AWS clouds that use the IAM_ROLE credentials.type, the signature used to validate the externalId used to identify Dremio Cloud as a provider. The value is returned as null in API responses.


tenantId String (UUID)

For projects created on Azure clouds, the ID of the Azure tenant used for the cloud. Included only if you specified AZURE_APP_CLIENT_CREDENTIALS as the value for credentials.type.

Example: 10070cc4-8877-4b2b-a8c8-b5c7e640d1cd


clientId String (UUID)

For projects created on Azure clouds, the application (client) ID of the registered app used for compute access. Included only if you specified AZURE_APP_CLIENT_CREDENTIALS as the value for credentials.type.

Example: ba71d0bb-d8ef-43b4-be0f-0cc5d080449b


clientSecret String

For projects created on Azure clouds, the client secret you created in the registered app used for compute access. To keep the secret secure, Dremio returns the clientSecret value as secret in API responses. Included only if you specified AZURE_APP_CLIENT_CREDENTIALS as the value for credentials.type.

Example: secret


accountName String

For projects created on Azure clouds, the name of the Azure storage account used for compute access. Included only if you specified AZURE_APP_CLIENT_CREDENTIALS as the value for credentials.type.

Example: testaccount

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.

Listing All Projects

Returns a list of all the projects and the metadata for each project.

Method and URL
GET /v0/projects
Example Request
curl -X GET 'https://api.dremio.cloud/v0/projects' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json'
Example Response
[
{
"name": "default-project",
"id": "c683b988-aa93-439c-a9ac-0d7f72b53d23",
"type": "QUERY_ENGINE",
"cloudId": "37b34779-13f1-48e5-b2c8-f3db4c824733",
"state": "ACTIVE",
"createdBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"modifiedBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"createdAt": "Thu Aug 19 14:39:38 UTC 2023",
"modifiedAt": "Thu Aug 19 14:39:46 UTC 2023",
"projectStore": "my.dremio.store",
"credentials": {
"type": "ACCESS_KEY",
"accessKeyId": "AKIAJIPU77TQL8LR6OIR",
"secretAccessKey": null
},
"numberOfEngines": 2,
"cloudType": "AWS",
"primaryCatalogId": "cc9d3b9c-4b16-01ed-8067-d1f871042d9f"
},
{
"name": "second-project",
"id": "ad22911e-c6a1-11ee-a506-0242ac120002",
"type": "QUERY_ENGINE",
"cloudId": "37b34779-13f1-48e5-b2c8-f3db4c824733",
"state": "INACTIVE",
"createdBy": "339d1654-879d-4eeb-8c96-d6999334a110",
"modifiedBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"createdAt": "Wed Feb 07 17:16:57 UTC 2024",
"modifiedAt": "Thu Feb 08 01:15:33 UTC 2024",
"projectStore": "my.dremio.store",
"credentials": {
"type": "IAM_ROLE",
"roleArn": "arn:aws:iam::388677480418:role/user-test3-DremioIAMCloudComputeRole-ULX75EXAMPLE",
"externalId": "075f6f33-1361-46c9-b266-78cbaEXAMPLE_1234567890",
"instanceProfileArn": null,
"externalIdSignature": null
},
"numberOfEngines": 1,
"cloudType": "AWS",
"primaryCatalogId": "cc9d3b9c-4b16-01ed-8067-d1f871042d9f",
"lastStateError": {
"timestamp": 1707339965231,
"error": "INVALID_CREDENTIALS"
}
},
{
"name": "azure-project",
"id": "09d9e30d-0b10-4ea7-821c-8e902c47f908",
"type": "QUERY_ENGINE",
"cloudId": "3986c088-93f1-41b8-a45a-d51831478f71",
"state": "ACTIVE",
"createdBy": "c2697d8e-d455-495c-ae56-a5ce30d1b02e",
"modifiedBy": "c2697d8e-d455-495c-ae56-a5ce30d1b02e",
"createdAt": "Mon Oct 23 14:08:50 UTC 2023",
"modifiedAt": "Mon Oct 23 14:08:54 UTC 2023",
"projectStore": "teststoragecontainer",
"credentials": {
"type": "AZURE_STORAGE_CLIENT_CREDENTIALS",
"tenantId": "10070cc4-8877-4b2b-a8c8-b5c7e640d1cd",
"clientId": "ba71d0bb-d8ef-43b4-be0f-0cc5d080449b",
"clientSecret": "secret",
"accountName": "testaccount"
},
"numberOfEngines": 3,
"cloudType": "AZURE",
"primaryCatalogId": "cc9d3b9c-4b16-01ed-8067-d1f871042d9f"
},
{
"name": "second-azure-project",
"id": "89bd0e01-ec06-403e-a80e-01ca9c9b51df",
"type": "QUERY_ENGINE",
"cloudId": "3986c088-93f1-41b8-a45a-d51831478f71",
"state": "ARCHIVED",
"createdBy": "c2697d8e-d455-495c-ae56-a5ce30d1b02e",
"modifiedBy": "c2697d8e-d455-495c-ae56-a5ce30d1b02e",
"createdAt": "Wed Feb 07 17:16:57 UTC 2024",
"modifiedAt": "Wed Feb 07 17:17:05 UTC 2024",
"projectStore": "teststoragecontainer",
"credentials": {
"type": "AZURE_STORAGE_CLIENT_CREDENTIALS",
"tenantId": "10070cc4-8877-4b2b-a8c8-b5c7e640d1cd",
"clientId": "ba71d0bb-d8ef-43b4-be0f-0cc5d080449b",
"clientSecret": "secret",
"accountName": "departmentaccount"
},
"numberOfEngines": 3,
"cloudType": "AZURE",
"primaryCatalogId": "cc9d3b9c-4b16-01ed-8067-d1f871042d9f",
"lastStateError": {
"timestamp": 1707339965231,
"error": "INVALID_CREDENTIALS"
}
}
]

Response Status Codes

200   OK

403   Forbidden

Adding a Project

Add a project.

note

Adding a new project creates an engine named default of size 2XS in the new project.

Method and URL
POST /v0/projects

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 register consequent retries of the same request. Generate the request ID by using a UUID generator tool. Read idempotent requests for more information.

Example: a7801e74-6c34-48b4-9e42-2cacdf06d31c


cloudId Body   String (UUID)

The ID of the cloud where compute resources will be created.

Example: 37b34779-13f1-48e5-b2c8-f3db4c824733


projectStore Body   String

The Amazon S3 bucket or Azure storage container for Dremio Cloud to use to store metadata for this project.

Example: my.dremio.store


credentials Body   Object

The credentials for Dremio to use to configure the storage settings for the cloud.


type Body   String   Optional

Type of the project.

Example: QUERY_ENGINE


catalogName Body   String

For projects that use an AWS compute environment, the name to use for the project's primary Arctic catalog. The catalogName can contain only alphanumeric characters, underscores, and hyphens. The catalogName cannot match the name of an existing Arctic catalog.

Example: newCatalog

Parameters of the credentials Object

type Body   String

The type of credentials to use to configure the storage settings for the cloud. For projects created on AWS clouds, the value is either ACCESS_KEY or IAM_ROLE. For projects created on Azure clouds, the value is AZURE_APP_CLIENT_CREDENTIALS.

Example: ACCESS_KEY


accessKeyId Body   String

For projects created on AWS clouds, the access key generated from the AWS IAM User you created to provide Dremio Cloud with storage capabilities. This parameter is required if you specify ACCESS_KEY as the value for credentials.type.

Example: AKIAJIPU77TQL8LR6OIR


secretAccessKey Body   String

For projects created on AWS clouds, the secret key generated from the AWS IAM User you created to provide Dremio Cloud with storage access. This parameter is required if you specify ACCESS_KEY as the value for credentials.type.

Example: vJalrXUtnFEMI/K7MDENG/bPxRfiDYEXAMPLEKEY


roleArn Body   String

For projects created on AWS clouds, the cross-account role Dremio Cloud uses to access the project store bucket. To create this IAM Role, you must provide the Trust Account ID and External ID (see Creating an IAM Role for Granting Access to Compute Resources - Prerequisites for retrieval instructions). This parameter is required if you specify IAM_ROLE as the value for credentials.type.

Example: arn:aws:iam::461138020052:role/CustomerRole


instanceProfileArn Body   String

For projects created on AWS clouds, the instance profile used by Dremio Cloud engines to access the project store bucket. This parameter is required if you specify IAM_ROLE as the value for credentials.type.

Example: arn:aws:iam::461138020052:instance-profile/InstanceRole


externalId Body   String   Optional

For projects created on AWS clouds, the external ID to use to identify Dremio Cloud as a provider. This field is required if you specify IAM_ROLE as the value for credentials.type. Use the endpoint for generating an external ID and signature to generate the externalId.

Example: 075f6f33-1361-46c9-b266-78cbaEXAMPLE_1234567890


externalIdSignature Body   String   Optional

For projects created on AWS clouds, the signature to use to validate the externalId used to identify Dremio Cloud as a provider. This field is required if you specify IAM_ROLE as the value for credentials.type. The value is returned as null in API responses.

Use the endpoint for generating an external ID and signature to generate the externalIdSignature.

Example: 1-x6e8rhWR2A+o7kepPZJPX6CLw+1PFeAq7f69EXAMPLE=


tenantId Body   String (UUID)

For projects created on Azure clouds, the ID of the Azure tenant used for the cloud. This parameter is required if you specify AZURE_APP_CLIENT_CREDENTIALS as the value for credentials.type.

Example: 10070cc4-8877-4b2b-a8c8-b5c7e640d1cd


clientId Body   String (UUID)

For projects created on Azure clouds, the application (client) ID of the registered app used for compute access. This parameter is required if you specify AZURE_APP_CLIENT_CREDENTIALS as the value for credentials.type.

Example: ba71d0bb-d8ef-43b4-be0f-0cc5d080449b


clientSecret Body   String

For projects created on Azure clouds, the client secret you created in the registered app used for compute access. This parameter is required if you specify AZURE_APP_CLIENT_CREDENTIALS as the value for credentials.type.

Example: odj+a]xWAk2E*2.WmjU0wtfiLEXAMPLE


accountName Body   String

For projects created on Azure clouds, the name of the Azure storage account used for compute access. This parameter is required if you specify AZURE_APP_CLIENT_CREDENTIALS as the value for credentials.type.

Example: testaccount

Example Request to Add a Project on an AWS Cloud
curl -X POST 'https://api.dremio.cloud/v0/projects' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json' \
-d '{
"name": "docproject",
"requestId": "a7801e74-6c34-48b4-9e42-2cacdf06d31c",
"cloudId": "37b34779-13f1-48e5-b2c8-f3db4c824733",
"projectStore": "my.dremio.store",
"credentials": {
"type": "ACCESS_KEY",
"accessKeyId": "AKIAJIPU77TQL8LR6OIR",
"secretAccessKey": "vJalrXUtnFEMI/K7MDENG/bPxRfiDYEXAMPLEKEY"
},
"type": "QUERY_ENGINE"
}'
Example Response to Add a Project on an AWS Cloud
{
"name": "docproject",
"id": "05e2d620-5978-4269-8c96-aa463df830b7",
"type": "QUERY_ENGINE",
"cloudId": "37b34779-13f1-48e5-b2c8-f3db4c824733",
"state": "ACTIVE",
"createdBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"modifiedBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"createdAt": "Sat Aug 21 12:22:51 UTC 2023",
"modifiedAt": "Sat Aug 21 12:22:59 UTC 2023",
"projectStore": "my.dremio.store",
"credentials": {
"type": "ACCESS_KEY",
"accessKeyId": "AKIAJIPU77TQL8LR6OIR",
"secretAccessKey": null
},
"numberOfEngines": 2,
"cloudType": "AWS",
"primaryCatalogId": "cc9d3b9c-4b16-01ed-8067-d1f871042d9f"
}
Example Request to Add a Project on an Azure Cloud
curl -X POST 'https://api.dremio.cloud/v0/projects' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json' \
-d '{
"name": "azure-project",
"requestId": "ex301e74-6c34-48b4-9e42-72d00f0d6c71",
"cloudId": "b913a696-449b-4005-8d99-cdd302c5fe82",
"projectStore": "teststoragecontainer",
"credentials": {
"type": "AZURE_STORAGE_CLIENT_CREDENTIALS",
"tenantId": "10070cc4-8877-4b2b-a8c8-b5c7e640d1cd",
"clientId": "ba71d0bb-d8ef-43b4-be0f-0cc5d080449b",
"clientSecret": "odj+a]xWAk2E*2.WmjU0wtfiLEXAMPLE",
"accountName": "testaccount"
}
}'
Example Response to Add a Project on an Azure Cloud
{
"name": "azure-project",
"id": "09d9e30d-0b10-4ea7-821c-8e902c47f908",
"type": "QUERY_ENGINE",
"cloudId": "3986c088-93f1-41b8-a45a-d51831478f71",
"state": "ACTIVE",
"createdBy": "c2697d8e-d455-495c-ae56-a5ce30d1b02e",
"modifiedBy": "c2697d8e-d455-495c-ae56-a5ce30d1b02e",
"createdAt": "Mon Oct 23 14:08:50 UTC 2023",
"modifiedAt": "Mon Oct 23 14:08:54 UTC 2023",
"projectStore": "teststoragecontainer",
"credentials": {
"type": "AZURE_STORAGE_CLIENT_CREDENTIALS",
"tenantId": "10070cc4-8877-4b2b-a8c8-b5c7e640d1cd",
"clientId": "ba71d0bb-d8ef-43b4-be0f-0cc5d080449b",
"clientSecret": "secret",
"accountName": "testaccount"
},
"numberOfEngines": 3,
"cloudType": "AZURE",
"primaryCatalogId": "cc9d3b9c-4b16-01ed-8067-d1f871042d9f"
}

Responses

200   OK

400   Bad Request

403   Forbidden

500   Internal Server Error

Retrieving a Project

Get the project metadata for an existing project by providing the project ID that was returned on creation of the project.

Method and URL
GET /v0/projects/{id}

Parameters

id Path   String (UUID)

The ID of the project for which you want to retrieve metadata.

Example: 05e2d620-5978-4269-8c96-aa463df830b7

Example Request
curl -X GET 'https://api.dremio.cloud/v0/projects/05e2d620-5978-4269-8c96-aa463df830b7' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json'
Example Response
{
"name": "docproject",
"id": "05e2d620-5978-4269-8c96-aa463df830b7",
"type": "QUERY_ENGINE",
"cloudId": "37b34779-13f1-48e5-b2c8-f3db4c824733",
"state": "ACTIVE",
"createdBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"modifiedBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"createdAt": "Sat Aug 21 12:22:51 UTC 2023",
"modifiedAt": "Sat Aug 21 12:22:59 UTC 2023",
"projectStore": "my.dremio.store",
"credentials": {
"type": "ACCESS_KEY",
"accessKeyId": "AKIAJIPU77TQL8LR6OIR",
"secretAccessKey": null
},
"numberOfEngines": 2,
"cloudType": "AWS",
"primaryCatalogId": "cc9d3b9c-4b16-01ed-8067-d1f871042d9f"
}

Response Status Codes

200   OK

400   Bad Request

403   Forbidden

Modifying a Project

Modify the project by providing the project ID that was returned on creation of the project. Parameters that are not provided will be left unchanged.

Method and URL
PUT /v0/projects/{id}

Parameters

id Path   String (UUID)

The ID of the project you want to update.

Example: 05e2d620-5978-4269-8c96-aa463df830b7


name Body   String   Optional

User defined name for the project.

Example: doc-project


credentials Body   Object   Optional

The credentials for Dremio to use to configure the storage settings for the cloud.

Parameters of the credentials Object

type Body   String

The type of credentials to use to configure the storage settings for the cloud. For projects created on AWS clouds, the value is either ACCESS_KEY or IAM_ROLE. For projects created on Azure clouds, the value is AZURE_APP_CLIENT_CREDENTIALS.

Example: ACCESS_KEY


accessKeyId Body   String

For projects created on AWS clouds, the access key generated from the AWS IAM User you created to provide Dremio Cloud with storage capabilities. This parameter is required if you specify ACCESS_KEY as the value for credentials.type.

Example: AKIAZXZG48MTGT42TJ8D


secretAccessKey Body   String

For projects created on AWS clouds, the secret key generated from the AWS IAM User you created to provide Dremio Cloud with storage access. This parameter is required if you specify ACCESS_KEY as the value for credentials.type.

Example: qdkU4MCwGxLVzNo2kZe4paxbWWeo5mEXAMPLEKEY


roleArn Body   String

For projects created on AWS clouds, the cross-account role Dremio Cloud uses to access the project store bucket. To create this IAM Role, you must provide the Trust Account ID and External ID (see Creating an IAM Role for Granting Access to Compute Resources - Prerequisites for retrieval instructions). This parameter is required if you specify IAM_ROLE as the value for credentials.type.

Example: arn:aws:iam::461138020052:role/CustomerRole


instanceProfileArn Body   String

For projects created on AWS clouds, the instance profile used by Dremio Cloud engines to access the project store bucket. This parameter is required if you specify IAM_ROLE as the value for credentials.type.

Example: arn:aws:iam::461138020052:instance-profile/InstanceRole


externalId Body   String   Optional

For projects created on AWS clouds, the external ID to use to identify Dremio Cloud as a provider. This field is required if you specify IAM_ROLE as the value for credentials.type. Use the endpoint for generating an external ID and signature to generate the externalId.

Example: 075f6f33-1361-46c9-b266-78cbaEXAMPLE_1234567890


externalIdSignature Body   String   Optional

For projects created on AWS clouds, the signature to use to validate the externalId used to identify Dremio Cloud as a provider. This field is required if you specify IAM_ROLE as the value for credentials.type. The value is returned as null in API responses.

Use the endpoint for generating an external ID and signature to generate the externalIdSignature.

Example: 1-x6e8rhWR2A+o7kepPZJPX6CLw+1PFeAq7f69EXAMPLE=


tenantId Body   String (UUID)

For projects created on Azure clouds, the ID of the Azure tenant used for the cloud. This parameter is required if you specify AZURE_APP_CLIENT_CREDENTIALS as the value for credentials.type.

Example: 10070cc4-8877-4b2b-a8c8-b5c7e640d1cd


clientId Body   String (UUID)

For projects created on Azure clouds, the application (client) ID of the registered app used for compute access. This parameter is required if you specify AZURE_APP_CLIENT_CREDENTIALS as the value for credentials.type.

Example: ba71d0bb-d8ef-43b4-be0f-0cc5d080449b


clientSecret Body   String

For projects created on Azure clouds, the client secret you created in the registered app used for compute access. This parameter is required if you specify AZURE_APP_CLIENT_CREDENTIALS as the value for credentials.type.

Example: odj+a]xWAk2E*2.WmjU0wtfiLEXAMPLE


accountName Body   String

For projects created on Azure clouds, the name of the Azure storage account used for compute access. This parameter is required if you specify AZURE_APP_CLIENT_CREDENTIALS as the value for credentials.type.

Example: testaccount

Example Request
curl -X PUT 'https://api.dremio.cloud/v0/projects/05e2d620-5978-4269-8c96-aa463df830b7' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json' \
-d '{
"name": "doc-project",
"credentials": {
"type": "ACCESS_KEY",
"accessKeyId": "AKIAZXZG48MTGT42TJ8D",
"secretAccessKey": "qdkU4MCwGxLVzNo2kZe4paxbWWeo5mEXAMPLEKEY"
}
}'
Example Response
{
"name": "doc-project",
"id": "05e2d620-5978-4269-8c96-aa463df830b7",
"type": "QUERY_ENGINE",
"cloudId": "37b34779-13f1-48e5-b2c8-f3db4c824733",
"state": "ACTIVE",
"createdBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"modifiedBy": "de8a47bf-432a-4d83-b60e-90d86cda8d70",
"createdAt": "Sat Aug 21 12:22:51 UTC 2023",
"modifiedAt": "Sat Aug 21 12:22:59 UTC 2023",
"projectStore": "my.dremio.store",
"credentials": {
"type": "ACCESS_KEY",
"accessKeyId": "AKIAZXZG48MTGT42TJ8D",
"secretAccessKey": null
},
"numberOfEngines": 2,
"cloudType": "AWS",
"primaryCatalogId": "cc9d3b9c-4b16-01ed-8067-d1f871042d9f"
}

Response Status Codes

200   OK

400   Bad Request

Deleting a Project

Delete the project by providing the project ID that was returned on creation of the project.

note

Dremio Cloud does not allow you to delete a project that is the only project in an organization.

Method and URL
DELETE /v0/projects/{id}

Parameters

id Path   String (UUID)

The ID of the project you want to delete.

Example: 05e2d620-5978-4269-8c96-aa463df830b7

Example Request
curl -X DELETE 'https://api.dremio.cloud/v0/projects/05e2d620-5978-4269-8c96-aa463df830b7' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json'
Example Response
No response

Response Status Codes

200   OK

500   Internal Server Error

Generating an External ID and Signature

Generate an externalId for use in adding a project on an AWS cloud that uses IAM Role to authenticate, as well as an externalIdSignature to use to validate the externalId. The externalId and externalIdSignature are valid for 90 minutes after they are generated.

Generating an External ID and Signature
GET /v0/projects/externalId
Example Request
curl -X GET 'https://api.dremio.cloud/v0/projects/externalId' \
-H 'Authorization: Bearer <personal access token>' \
-H 'Content-Type: application/json'
Example Response
{
"externalId": "075f6f33-1361-46c9-b266-78cbaEXAMPLE_1234567890",
"externalIdSignature": "1-x6e8rhWR2A+o7kepPZJPX6CLw+1PFeAq7f69EXAMPLE="
}

Responses

204   No Content

400   Bad Request

401   Unauthorized

403   Forbidden

500   Internal Server Error