# Time Series Storage

### Overview

Every device on Qubitro has built-in **Time Series Storage**, which is **automatically created** when the device is created.&#x20;

This **fully managed, highly available, and horizontally scalable storage engine** eliminates database operations (DBOps) and the need for third-party databases.

### Core Features

* [x] **Automatic Storage Creation** – No setup required; storage is created per device.
* [x] **Dynamic Data Storage** – Supports **any valid JSON data** structure.
* [x] **Per-Device Retention Period** – Customizable based on **plan and project settings**.
* [x] **Scalability** – Handles high-ingestion workloads with horizontal scaling.
* [x] [**Storage Views**](/add-ons/storage-views.md) – Enables writing data to multiple views for advanced structuring.
* [x] **Multi-Access Support** – Available via APIs, dashboards, and UI-based views.

### Data Accessibility

Time Series Storage data is available through:

#### **Device Detail Page → Storage Tab** (Table view)

<figure><img src="/files/etxgB87agandgNeJmAMc" alt=""><figcaption><p>Qubitro Time Series Storage View</p></figcaption></figure>

#### **APIs** (For programmatic access)

{% content-ref url="/spaces/LXNwVpW4heD62GZhpd5I/pages/QahDA1wKakOsAZM0qrJG" %}
[Broken mention](broken://spaces/LXNwVpW4heD62GZhpd5I/pages/QahDA1wKakOsAZM0qrJG)
{% endcontent-ref %}

#### Example response:

```json
{
  "success": true,
  "action": "get device data",
  "status": 200,
  "message": "Device data fetched successfully.",
  "data": [
    {
      "acoustic_level": 45.425554079986945,
      "anomaly_detected": false,
      "equipment_health": "Good",
      "flow_rate": 159.9091980083704,
      "humidity": 80.84150406882252,
      "maintenance_needed": false,
      "pressure": 926.2272770144835,
      "temperature": 22.9795338621098,
      "time": "2025-03-02T20:30:21.202946Z",
      "timestamp": "2025-03-02T20:30:05Z",
      "vibration": 8.039540775151707
    },
    {
      "acoustic_level": 97.35889180403677,
      "anomaly_detected": false,
      "equipment_health": "Good",
      "flow_rate": 168.36617819046316,
      "humidity": 66.9764711069997,
      "maintenance_needed": false,
      "pressure": 1091.38434821347,
      "temperature": 37.229863557166354,
      "time": "2025-03-02T20:30:06.637564Z",
      "timestamp": "2025-03-02T20:30:06Z",
      "vibration": 1.0982245649319902
    }
  ]
}
```

#### **Dashboard Widgets** (For visualization)

<figure><img src="/files/YZIyzJkqwqNIAlMmFeK3" alt="" width="375"><figcaption></figcaption></figure>

### Retention Period

Retention periods vary based on **plan type** and **organization settings**:

| Plan Type                           | Default Retention Period |
| ----------------------------------- | ------------------------ |
| **Starter Plan (Personal)**         | 7 days                   |
| **Scale Plan (Personal)**           | 14 days                  |
| **Enterprise Plan (Organizations)** | Configurable per project |

For **Enterprise accounts**, retention can be set per projec&#x74;**, per device.**

Example:

* **Project A** → 3 months data retention per device.
* **Project B** → 6 months data retention per device.

{% hint style="info" %}
The default retention period for organizations is defined in the **agreement**.
{% endhint %}

### Data Size Limits

{% hint style="success" %}
The **data size limit** applies **per device**, meaning each device has its own maximum limit for individual data points.
{% endhint %}

| Plan Type                           | Max Data Point Size                 |
| ----------------------------------- | ----------------------------------- |
| **Starter Plan (Personal)**         | 1 KB                                |
| **Scale Plan (Personal)**           | 10 KB                               |
| **Enterprise Plan (Organizations)** | Custom (Up to 10 MB per data point) |

### Deleting Device Data

Qubitro provides multiple options for deleting device data, allowing you to remove data in bulk or delete specific data points as needed.

{% hint style="info" %}
This section covers **per-device data deletion**. To delete data for **all devices**, you can:

* Use the [**Qubitro API**](broken://spaces/LXNwVpW4heD62GZhpd5I/pages/5Os1Z8KvhOWsIgRfDWqX) to fetch all devices and delete their data.
* Delete the entire [**project**](/platform/project.md), which will remove all associated devices and data.
  {% endhint %}

{% hint style="danger" %}
Data deletion is **permanent** and cannot be undone. Once deleted, the data **cannot be recovered**.
{% endhint %}

#### Bulk Deletion

* You can delete **all stored data** for a device from the **Storage** tab.
* Click the **options menu (`...`)** and select **Delete all device data**.

{% hint style="danger" %}
This action removes **all historical data points** from **Time Series Storage** and cannot be undone.
{% endhint %}

#### Deleting Individual Data Points

This method is useful when only selective data needs to be removed without affecting the rest of the dataset.

* To delete a **specific data point**, expand the table view by clicking the **`+`** icon next to a data entry.
* Click the **red cross (❌)** next to the data point to remove it.

#### Deleting Data via API

This method is ideal for automated cleanup tasks or bulk deletions managed through scripts.

* Refer to the [API documentation](broken://spaces/LXNwVpW4heD62GZhpd5I/pages/5Os1Z8KvhOWsIgRfDWqX) for supported endpoints and usage details.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.qubitro.com/platform/storage/time-series-storage.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
