# List datastores

> Source: https://truto.one/docs/api-reference/admin/datastores/list/

`GET /datastore`

Resource: **Datastores**

## Query parameters

- **`id`** _(string)_
  Filter by datastore ID.
- **`type`** _(string)_
  Filter by datastore type (e.g. `mongo_data_api`).

## Response body

- **`result`** _(array<object>)_
  - **`id`** _(string)_
    The unique ID of the datastore.
  - **`type`** _(string)_
    The datastore's backend type. Determines the shape of `config`.
    Allowed: `mongo_data_api`, `google_cloud_storage`, `s3`, `qdrant`
  - **`label`** _(string)_
    A friendly label for identifying this datastore.
  - **`config`** _(object)_
    Config object for the datastore connection (minus sensitive fields). The shape depends on `type`.
    _One of:_
    - **Mongo Data Api**
      - **`data_source`** _(string)_
        Name of the Atlas cluster (the Data API "data source").
      - **`database`** _(string)_
      - **`api_url`** _(string)_
        Base URL of your Atlas Data API endpoint.
      - **`api_key`** _(string)_
        Atlas Data API key. Treat as a secret.
    - **Google Cloud Storage**
      - **`bucket`** _(string)_
      - **`credentials`** _(object, required)_
        Service-account JSON used to authenticate against Google Cloud Storage.
    - **S3**
      - **`access_key_id`** _(string)_
      - **`secret_access_key`** _(string)_
        Secret access key. Treat as a secret.
      - **`region`** _(string)_
      - **`bucket`** _(string)_
      - **`base_url`** _(string)_
        Optional override for non-AWS S3 endpoints (e.g. R2, MinIO).
    - **Qdrant**
      - **`base_url`** _(string)_
      - **`api_key`** _(string)_
        Qdrant API key. Treat as a secret.
      - **`port`** _(integer)_
      - **`collection`** _(string)_
  - **`environment_id`** _(string)_
    The environment to which this datastore belongs.
  - **`created_at`** _(string)_
    Timestamp when the datastore record was created.
  - **`updated_at`** _(string)_
    Timestamp when the datastore record was last updated.
- **`next_cursor`** _(string)_
- **`limit`** _(number)_

## Code examples

### curl

```bash
curl -X GET 'https://api.truto.one/datastore' \
  -H 'Authorization: Bearer <your_api_token>' \
  -H 'Content-Type: application/json'
```

### JavaScript

```javascript
const response = await fetch('https://api.truto.one/datastore', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer <your_api_token>',
    'Content-Type': 'application/json',
  },
});

const data = await response.json();
console.log(data);
```

### Python

```python
import requests

url = "https://api.truto.one/datastore"
headers = {
    "Authorization": "Bearer <your_api_token>",
    "Content-Type": "application/json",
}
params = {
}

response = requests.get(url, headers=headers, params=params)
print(response.json())
```

### Truto TS SDK

```typescript
import Truto from '@truto/truto-ts-sdk';

const truto = new Truto({
  token: '<your_api_token>',
});

for await (const item of truto.datastore.list()) {
  console.log(item);
}
```

### Truto Python SDK

```python
import asyncio
from truto_python_sdk import TrutoApi

truto_api = TrutoApi(token="<your_api_token>")

async def main():
    async for item in truto_api.datastores.list():
        print(item)

asyncio.run(main())
```
