DataSet Operation

ListAuthStorageConfig

ListAuthStorageConfig

Acquire the list of authentication configuration

Request path

GET /v1/auth-storage-configs

Request parameter

Query

Request instance

curl --location --request GET '{service}/v1/auth-storage-configs?name=aws_1&limit=1&offset=0' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' 

Output

# Response status
HttpStatus 200
# Response result
{
    "configs": [
        {
            "name": "aws_1",
            "type": "s3",
            "endpoint": "s3.cn-northwest-1.amazonaws.com.cn",
            "accesskeyId": "AKIKU7KYZCWGOTEV5GNE",
            "bucketName": "graviti-210415"
        }
    ],
    "offset": 0,
    "recordSize": 1,
    "totalCount": 1
}

CreateDataset

Create a dataset

Create a TensorBay dataset with version control. The dataset name must be unique

Request path

POST /v1/datasets

Request parameter

Body

Request instance

curl --location --request POST '{service}/v1/datasets' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' \
--data-raw '{
   "name": "my first dataset",
   "type": 0,
   "storageConfig": {
        "name": "aws_1",
        "path": "graviti"
    }
}'

Output

# Response status
HttpStatus 201
# Response result
{
    "id": "154e35bae8954f09969ef8c9445efd2c"
}
  • id: the ID of the created dataset

DeleteDataset

Delete a dataset

DELETE /v1/datasets/{id}

Path

Body

Request instance

curl --location --request DELETE '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c' \
--header 'x-token: {your_accesskey}'

Output

# Response status
HttpStatus 200
# Response result
{}

UpdateDataset

Update dataset information

PATCH /v1/datasets/{id}

Path

Body

Request instance

curl --location --request PATCH '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c' \
--header 'x-token: {your_accesskey}'\
--data-raw '{
    "name": "my dataset",
}'

Output

# Response status
HttpStatus 200
# Response result
{}

ListDataset

List datasets

Return the list of datasets owned by the user:

  • Individual users acquire the list of datasets under their personal accounts

  • Team users acquire the list of datasets under their enterprise accounts

Request path

GET /v1/datasets

Request parameter

Query

Request instance

curl --location --request GET '{service}/v1/datasets?offset=0&limit=10'\
--header 'x-token: {your_accesskey}'\
--header 'Content-Type: application/json' 

Output

# Response status
HttpStatus 200
# Response result
{
    "datasets": [
      {
        "id": "154e35bae8954f09969ef8c9445efd2c",
        "name": "my-great-data-set",
        "defaultBranch": "main",
        "type": 0,
        "updateTime": 1604977282,
        "owner": ""
      }
    ],
    "offset": 0,
    "recordSize": 1,
    "totalCount": 1
}
  • datasets: List of datasets

    • id: Dataset ID

    • name: Dataset name

    • defaultBranch: default branch name

    • type: the default is 0, 0-normal dataset, 1-Fusion dataset

GetDataset

Request path

GET /v1/datasets/{id}

Request parameter

PATH

Request instance

curl --location --request GET '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c'\
--header 'x-token: {your_accesskey}'\
--header 'Content-Type: application/json' 

Output

# Response status
HttpStatus 200
# Response result
{
    "name": "my-great-data-set",
    "type": 1,
    "defaultBranch": "main",
    "commitId": "00000000000000000000000000000000",
    "updateTime": 1604977282,
    "owner": ""
}

CreateBranch

Create a branch

Create a branch

Request path

POST /v1/datasets/{id}/branches

Request parameter

Path

Query

Request instance

curl --location --request POST '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/branches' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json'\
--data-raw '{
  "name": main2,
  "commit": "fde63f357daf46088639e9f57fd81cad"
}'

Output

# Response status
HttpStatus 201
# Response result
{}

DeleteBranch

Delete branch

Delete branch

Request path

DELETE /v1/datasets/{id}/branches

Request parameter

Path

Query

Request instance

curl --location --request DELETE '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/branches' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json'\
--data-raw '{
  "name": main2
}'

Output

# Response status
HttpStatus 200
# Response result
{}

ListBranch

Acquire a branch list

Acquire a list of dataset branches

Request path

GET /v1/datasets/{id}/branches

Request parameter

Path

Query

Request instance

curl --location --request GET '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/branches?limit=1&offset=0' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' 

Output

# Response status
HttpStatus 200
# Response result
{
    "branches": [
        {
            "name": "main",
            "commitId": "fde63f357daf46088639e9f57fd81cad",
            "parentCommitId": "f68b1375454f459b8a486b8d1f4d9ddb",
            "title": "first commit",
            "committer": {
                "name": "graviti",
                "date": 1616579313
            }
        }
    ],
    "offset": 0,
    "recordSize": 1,
    "totalCount": 1
}

CreateDraft

Create a dataset draft

Create a TensorBay dataset draft. Only one draft can be created on a branch

Request path

POST /v1/datasets/{id}/drafts

Request parameter

Path

Body

Request instance

curl --location --request POST '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/drafts' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "title": "my first draft",
  "branchName": "main"
}'

Output

# Response status
HttpStatus 201
# Response result
{
    "draftNumber": 1
}
  • draftNumber: draft number

ListDraft

Acquire a list of dataset drafts

Acquire a list of dataset drafts

Request path

GET /v1/datasets/{id}/drafts

Request parameter

Path

Query

Request instance

curl --location --request GET '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/drafts?limit=1&offset=0' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' 

Output

# Response status
HttpStatus 200
# Response result
{
  "drafts": [
    {
      "draftNumber": "1",
      "branchName": "main",
      "title": "my first draft"
    }
  ],
  "offset": 0,
  "recordSize": 1,
  "totalCount": 10
}

CommitDataset

Commit a dataset

Update a dataset with a pending status to a committed status. Once a dataset is published, it cannot be modified.

Request path

POST /v1/datasets/{id}

Request parameter

Path

Body

Request instance

curl --location --request POST '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c'\
--header 'x-token: {your_accesskey}'\
--header 'Content-Type: application/json' \
--data-raw '{
  "draftNumber": "1",
  "title": "checkout a new version dataset",
  "tag": "v1.0"
}'

Output

# Response status
HttpStatus 200
# Response result
{
  "commitId": "fde63f357daf46088639e9f57fd81cad"
}

ListCommit

list commits

Acquire a list of dataset commits

Request path

GET /v1/datasets/{id}/commits

Request parameter Path

Query

Request instance

curl --location --request GET '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/commits?commit=main&limit=1&offset=0' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' 

Output

# Response status
HttpStatus 200
# Response result
{
  "commits": [
    {
      "parentCommitId": "0d213a06a85d46fa8662946bdb1afe7e",
      "commitId": "fde63f357daf46088639e9f57fd81cad",
      "title": "checkout a new version dataset",
      "committer": {
        "date": 1617268600,
        "name": "graviti"
      }
    }
  ],
  "offset": 0,
  "recordSize": 1,
  "totalCount": 10
}

CreateTag

Create a tag

Create a tag

Request path

POST /v1/datasets/{id}/tags

Request parameter

Path

Body

Request instance

curl --location --request POST '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/tags' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "commit": "fde63f357daf46088639e9f57fd81cad",
  "name": "v1"
}'

Output

# Response status
HttpStatus 201
# Response result
{}

DeleteTag

Delete a tag

Delete a tag

Request path

DELETE /v1/datasets/{id}/tags

Request parameter

Path

Body

Request instance

curl --location --request DELETE '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/tags' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "name": "v1"
}'

Output

# Response status
HttpStatus 200
# Response result
{}

ListTag

List tags

Acquire a list of dataset tags

Request path

GET /v1/datasets/{id}/tags

Request parameter

Path

Query

Request instance

curl --location --request GET '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/tags?name=v1&limit=1&offset=0' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' 

Output

# Response status
HttpStatus 200
# Response result
{
    "tags": [
        {
            "name": "v1",
            "commitId": "fde63f357daf46088639e9f57fd81cad",
            "parentCommitId": "f68b1375454f459b8a486b8d1f4d9ddb",
            "title": "first commit",
            "committer": {
                "name": "graviti",
                "date": 1617268600
            }
        }
    ],
    "offset": 0,
    "recordSize": 1,
    "totalCount": 1
}

updateNote

Update a dataset note

Update a dataset note

Request path

PATCH /v1/datasets/{id}/notes

Request parameter

Path

Body

Request instance

curl --location --request PATCH '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/notes' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "draftNumber": 1,
  "fileFormat": {
    "draftNumber": 1,
    "binPointCloudFields": [
       "X",
       "Y",
       "Z",
       "Intensity"
    ],
    "isContinuous": true
}'

Output

# Response status
HttpStatus 200
# Response result
{}

GetNote

Get note

Get the note of a dataset

Request path

GET /v1/datasets/{id}/notes

Request parameter

Path

Query

Request instance

curl --location --request GET '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/notes?draftNumber=1' \
--header 'x-token: {your_accesskey}' \
--header 'Content-Type: application/json' 

Output

# Response status
HttpStatus 200
# Response result
{
    "isContinuous": true,
    "binPointCloudFields": [
        "X",
        "Y",
        "Z",
        "Intensity"
    ]
}

Last updated