On this page

    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
    {
        "name": "default-project",
        "id": "c683b988-aa93-439c-a9ac-0d7f72b53d23",
        "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 2021",
        "modifiedAt": "Thu Aug 19 14:39:46 UTC 2021",
        "projectStore": "my.dremio.store",
        "credentials": {
          "type": "ACCESS_KEY",
          "accessKeyId": "AKIAJIPU77TQL8LR6OIR",
          "secretAccessKey": null
        }
      }
    

    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


    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

    User that created the project.

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


    modifiedBy

    String

    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 2021


    modifiedAt

    String

    Date and time that the cloud was last modified.

    Example Thu Aug 19 14:39:46 UTC 2021


    projectStore

    String

    The Amazon S3 bucket for Dremio Cloud to store metadata for this project.

    Example my.dremio.store


    credentials

    object

    The credentials you are using to configure the storage settings for the cloud.

    Enum ACCESS_KEY , IAM_ROLE


    credentials

    type

    String

    The type of credentials you are using to configure the storage settings for the cloud.

    Enum ACCESS_KEY , IAM_ROLE

    Example ACCESS_KEY


    accessKeyId

    String

    The access key generated from the AWS IAM User you created to provide Dremio Cloud with storage capabilities. This field is required if you selected ACCESS_KEY for credentials.

    Example AKIAJIPU77TQL8LR6OIR


    secretAccessKey

    String

    The secret key generated from the AWS IAM User you created to provide Dremio Cloud with storage access. This field is required if you selected ACCESS_KEY for credentials.

    Example vJalrXUtnFEMI/K7MDENG/bPxRfiDYEXAMPLEKEY


    roleArn

    String

    The cross-account role used to access the project store bucket. To create this IAM Role, you need to provide the Trust Account ID (572051091487) and External ID. This field is required if you selected IAM_ROLE for credentials.

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


    instanceProfileArn

    String

    The instance profile used by Dremio Cloud engines to access the project store bucket. This field is required if you selected IAM_ROLE for credentials.

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


    externalId

    String

    An ID required to identify Dremio Cloud as a provider. This field is required if you selected IAM_ROLE for credentials.

    Example c9560ff9-2c21-472b-8d9e-139eaab6bb49


    Listing All Projects

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

    Listing All Projects
    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",
        "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 2021",
        "modifiedAt": "Thu Aug 19 14:39:46 UTC 2021",
        "projectStore": "my.dremio.store",
        "credentials": {
          "type": "ACCESS_KEY",
          "accessKeyId": "AKIAJIPU77TQL8LR6OIR",
          "secretAccessKey": null
        }
      }
    ]
    

    Responses

    200

    OK

    403

    Forbidden


    Adding a Project

    Add a project.

    Adding a Project
    POST /v0/projects
    

    Parameters

    Project

    name

    query

    String

    User defined name for the project.


    cloudId

    query

    String (UUID)

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


    projectStore

    query

    string

    The Amazon S3 bucket for Dremio Cloud to store metadata for this project.


    credentials

    query

    object

    The cross-account role ARN for the AWS IAM Role you created to provide Dremio Cloud with compute capabilities. To create this IAM Role, you need to provide the Trust Account ID (572051091487) and External ID (07d34bd0-7d63-43f1-92ca-9e54bb6a7135). This field is required if you selected IAM_ROLE for credentials.


    requestId

    query

    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. For more information, read idempotent requests.

    credentials

    type

    query

    String

    The type of credentials you are using to configure the storage settings for the cloud. Select from Access Key or IAM Role.


    accessKeyId

    query

    String

    The access key generated from the AWS IAM User you created to provide Dremio Cloud with storage capabilities. This field is required if you selected ACCESS_KEY for credentials.


    secretAccessKey

    query

    String

    The secret key generated from the AWS IAM User you created to provide Dremio Cloud with storage access. This field is required if you selected ACCESS_KEY for credentials.


    roleArn

    query

    String

    The cross-account role Dremio Cloud uses to access the project store bucket. To create this IAM Role, you need to provide the Trust Account ID (572051091487) and External ID. This field is required if you selected IAM_ROLE for credentials.


    instanceProfileArn

    query

    String

    The instance profile used by Dremio Cloud engines to access the project store bucket. This field is required if you selected IAM_ROLE for credentials.


    externalId

    query

    String

    An ID required to identify Dremio Cloud as a provider. This field is required if you selected IAM_ROLE for credentials.


    Example Request
    curl -X POST 'https://api.dremio.cloud/v0/projects' \
    -H 'Authorization: Bearer <personal access token>' \
    -H 'Content-Type: application/json' \
    -D '{
          "name": "docproject",
          "cloudId": "37b34779-13f1-48e5-b2c8-f3db4c824733",
          "projectStore": "my.dremio.store",
          "credentials": {
            "type": "ACCESS_KEY",
            "accessKeyId": "AKIAJIPU77TQL8LR6OIR",
            "secretAccessKey": "vJalrXUtnFEMI/K7MDENG/bPxRfiDYEXAMPLEKEY"
          },
          "requestId": "a7801e74-6c34-48b4-9e42-2cacdf06d31c"
        }'
    
    Example Response
    {
        "name": "docproject",
        "id": "c683b988-aa93-439c-a9ac-0d7f72b53d23",
        "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 2021",
        "modifiedAt": "Thu Aug 19 14:39:46 UTC 2021",
        "projectStore": "my.dremio.store",
        "credentials": {
          "type": "ACCESS_KEY",
          "accessKeyId": "AKIAJIPU77TQL8LR6OIR",
          "secretAccessKey": "vJalrXUtnFEMI/K7MDENG/bPxRfiDYEXAMPLEKEY"
        }
      }
    

    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.

    Retrieiving a Project
    GET /v0/projects/{id}
    

    Parameters

    id

    path

    String (UUID)

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

    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",
      "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 2021",
      "modifiedAt": "Sat Aug 21 12:22:59 UTC 2021",
      "projectStore": "my.dremio.store",
      "credentials": {
        "type": "ACCESS_KEY",
        "accessKeyId": "AKIAJIPU77TQL8LR6OIR",
        "secretAccessKey": null
      } 
    }
    

    Responses

    200

    OK

    400

    Bad Request

    403

    Access denied. You do not have OWNERSHIP privilege on the project.


    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.

    note:

    Currently only the name of a project can be modified.

    Modifying a Project
    PUT /v0/projects/{id}
    

    Parameters

    id

    path

    String (UUID)

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


    name

    query

    String

    Optional

    User defined name for the project.

    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" 
     }'
    
    Example Response
    {
        "name": "doc-project",
        "id": "c683b988-aa93-439c-a9ac-0d7f72b53d23",
        "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 2021",
        "modifiedAt": "Fri Aug 20 12:01:57 UTC 2021",
        "projectStore": "my.dremio.store",
        "credentials": {
          "type": "ACCESS_KEY",
          "accessKeyId": "AKIAJIPU77TQL8LR6OIR",
          "secretAccessKey": "vJalrXUtnFEMI/K7MDENG/bPxRfiDYEXAMPLEKEY"
        }
      }
    

    Responses

    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.

    Deleting a Project
    DELETE /v0/projects/{id}
    

    Parameters

    id

    path

    String

    The ID of the project that you want to delete.

    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
    

    Responses

    200

    OK

    500

    Internal Server Error