# Graviti Open API

## Api Overview <a href="#api-overview" id="api-overview"></a>

### Actions on Datasets <a href="#actions-on-datasets" id="actions-on-datasets"></a>

| API                                                                                                                                                                                                     | Description                                      |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
| [ListAuthStorageConfig](https://docs.graviti.com/dev-doc/tools/graviti-open-api/dataset-operation#listauthstorageconfig)                                                                                | Acquire the list of authentication configuration |
| [CreateDataset](https://docs.graviti.com/dev-doc/tools/graviti-open-api/dataset-operation#createdataset)                                                                                                | Create a dataset                                 |
| [DeleteDataset](https://docs.graviti.com/dev-doc/tools/graviti-open-api/dataset-operation#listauthstorageconfighttps://docs.graviti.com/dev-doc/tools/graviti-open-api/dataset-operation#deletedataset) | Delete a dataset                                 |
| [updateDataset](https://docs.graviti.com/dev-doc/tools/graviti-open-api/dataset-operation#updatedataset)                                                                                                | Update a dataset                                 |
| [ListDataset](https://docs.graviti.com/dev-doc/tools/graviti-open-api/dataset-operation#listdataset)                                                                                                    | List datasets                                    |
| [GetDataset](https://docs.graviti.com/dev-doc/tools/graviti-open-api/dataset-operation#getdataset)                                                                                                      | Get a dataset                                    |
| [CreateBranch](https://docs.graviti.com/dev-doc/tools/graviti-open-api/dataset-operation#createbranch)                                                                                                  | Create a branch                                  |
| [DeleteBranch](https://docs.graviti.com/dev-doc/tools/graviti-open-api/dataset-operation#deletebranch)                                                                                                  | Delete a branch                                  |
| [ListBranch](https://docs.graviti.com/dev-doc/tools/graviti-open-api/dataset-operation#listbranch)                                                                                                      | List branches                                    |
| [CreateDraft](https://docs.graviti.com/dev-doc/tools/graviti-open-api/dataset-operation#createdraft)                                                                                                    | Create a draft                                   |
| [ListDraft](https://docs.graviti.com/dev-doc/tools/graviti-open-api/dataset-operation#listdraft)                                                                                                        | List drafts                                      |
| [CommitDataset](https://docs.graviti.com/dev-doc/tools/graviti-open-api/dataset-operation#commitdataset)                                                                                                | Commit a dataset                                 |
| [ListCommit](https://docs.graviti.com/dev-doc/tools/graviti-open-api/dataset-operation#listcommit)                                                                                                      | List commits                                     |
| [CreateTag](https://docs.graviti.com/dev-doc/tools/graviti-open-api/dataset-operation#createtag)                                                                                                        | Create a tag                                     |
| [DeleteTag](https://docs.graviti.com/dev-doc/tools/graviti-open-api/dataset-operation#deletetag)                                                                                                        | Delete a tag                                     |
| [ListTag](https://docs.graviti.com/dev-doc/tools/graviti-open-api/dataset-operation#listtag)                                                                                                            | List tags                                        |
| [UploadNote](https://docs.graviti.com/dev-doc/tools/graviti-open-api/dataset-operation#updatenote)                                                                                                      | Upload a dataset note                            |
| [GetNote](https://docs.graviti.com/dev-doc/tools/graviti-open-api/dataset-operation#getnote)                                                                                                            | Get the note of a dataset                        |

### Actions on Data <a href="#actions-on-data" id="actions-on-data"></a>

| API                                                                                                                                                                                       | Description                            |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- |
| [GetPolicy](https://docs.graviti.com/dev-doc/tools/graviti-open-api/data-operation#getpolicy)                                                                                             | Acquire data upload token              |
| [PutCallback](https://docs.graviti.com/dev-doc/tools/graviti-open-api/data-operation#putcallback)                                                                                         | Put callback                           |
| [MultiPutCallback](https://docs.graviti.com/dev-doc/tools/graviti-open-api/data-operation#multiputcallback)                                                                               | Batch callback                         |
| [CreateSegment](https://docs.graviti.com/dev-doc/tools/graviti-open-api/data-operation#createsegment)                                                                                     | Create a segment                       |
| [DeleteSegment](https://docs.graviti.com/dev-doc/tools/graviti-open-api/data-operation#deletesegment)                                                                                     | Delete a segment                       |
| [ListSegment](https://docs.graviti.com/dev-doc/tools/graviti-open-api/data-operation#listsegment)                                                                                         | List segments                          |
| [UploadLabelCatalog](https://docs.graviti.com/dev-doc/tools/graviti-open-api/data-operation#uploadlabelcatalog)                                                                           | Upload label catalog                   |
| [GetLabelCatalog](https://docs.graviti.com/dev-doc/tools/graviti-open-api/data-operation#getlabelcatalog)                                                                                 | Acquire label catalog                  |
| [UploadSensor](https://docs.graviti.com/dev-doc/tools/graviti-open-api/data-operation#getlabelcataloghttps://docs.graviti.com/dev-doc/tools/graviti-open-api/data-operation#uploadsensor) | Create a sensor                        |
| [DeleteSensor](https://docs.graviti.com/dev-doc/tools/graviti-open-api/data-operation#deletesensor)                                                                                       | Delete a sensor                        |
| [ListSensor](https://docs.graviti.com/dev-doc/tools/graviti-open-api/data-operation#listsensor)                                                                                           | List sensors                           |
| [ListData](https://docs.graviti.com/dev-doc/tools/graviti-open-api/data-operation#listdata)                                                                                               | List data                              |
| [ListDataUri](https://docs.graviti.com/dev-doc/tools/graviti-open-api/data-operation#listdatauri)                                                                                         | Acquire data URL                       |
| [UploadLabel](https://docs.graviti.com/dev-doc/tools/graviti-open-api/data-operation#uploadlabel)                                                                                         | Upload label                           |
| [ListLabel](https://docs.graviti.com/dev-doc/tools/graviti-open-api/data-operation#listlabel)                                                                                             | Acquire annotation labels of a dataset |
| [DeleteData](https://docs.graviti.com/dev-doc/tools/graviti-open-api/data-operation#listlabelhttps://docs.graviti.com/dev-doc/tools/graviti-open-api/data-operation#deletedata)           | Delete data                            |

## Common <a href="#common" id="common"></a>

### Common Parameters <a href="#common-parameters" id="common-parameters"></a>

Some common parameters in the doc

| Name            | Descriptions                                                                              | Value                                                  |
| --------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------------------ |
| service         | Prefix of API request address                                                             | <https://gas.graviti.com/gatewayv2/tensorbay-open-api> |
| your\_accesskey | Get the AccessKey at [GAS Help Center](https://docs.graviti.com/dev-doc/tools/api-center) |                                                        |

This module mainly illustrates HTTP common request headers and common response headers.

| Name         | Type   | Descriptions                                                                  |
| ------------ | ------ | ----------------------------------------------------------------------------- |
| Content-Type | string | HTTP request content type defined in RFC2616. Default value: application/json |
| X-Token      | string | The AccessKey obtained by the user                                            |

| Name         | Type   | Descriptions                                                                                                                                                                                  |
| ------------ | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| X-Request-Id | string | X-Request-Id is created by Graviti and is the only UUID that identifies this response. If you encounter any difficulties when using this service, please contact Graviti. Default value: null |

### Error code description <a href="#error-code-description" id="error-code-description"></a>

#### Error Code Return Type <a href="#error-code-return-type" id="error-code-return-type"></a>

```
{
  "code": "error_code",
  "message": "***"
}
```

The server may return any of the following type of errors when your request generates an error. For example, the 404 error code occurs when acquiring a dataset. 。

```
# Response status
HttpStatus 404
#  Response result
{
    "code": "ResourceNotExist", 
    "message": "dataset not exist!"
}
```

#### Error Code <a href="#error-code" id="error-code"></a>

| Code                 | Description                                             |
| -------------------- | ------------------------------------------------------- |
| AccessDenied         | Request is denied and lack of authorized access.        |
| InvalidParamsValue   | Invalid parameter value, e.g., invalid parameter format |
| NameConflict         | Name is conflicted                                      |
| RequestParamsMissing | The required parameters are missing                     |
| ResourceNotExist     | The resource does not exist when requested              |
| SystemError          | System error                                            |

#### Fuzzy Query <a href="#fuzzy-query" id="fuzzy-query"></a>

**For API that supports fuzzy query, please follow these rules:**

1. Support MySQL wildcard query, such as %, \_, and other wildcard characters.
2. If there is no MySQL wildcard, the default is %{fuzzy query}% with fuzzy matching before and after.
3. If the query field contains MySQL wildcard, automatic fuzzy matching is disabled.
4. If you want the wildcard to be treated only as a normal string, you need to transcribe it, and degrade it to non-fuzzy matching. If you still need fuzzy matching, you need to construct the wildcard query manually.

**For example： result： graviti\_1, great\_graviti\_1, graviti%1**

1. name = graviti, return graviti\_1, great\_graviti\_1, graviti%1
2. name = graviti\\\_%, return graviti\_1, great\_graviti\_1
3. name = graviti\\\_, return none
4. name = graviti%, return graviti\_1，graviti%1
5. name = graviti\\%%, return graviti%1
6. name = graviti\\%, return none
7. name = graviti\\%1, return graviti%1
8. name = %graviti, return none
