> ## Documentation Index
> Fetch the complete documentation index at: https://help.cryptolens.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Floating Capacity History

> This method retrieves the recorded floating-capacity states and historical limits of one license.

This method retrieves the recorded floating-capacity states and historical limits of one license.

This method requires **Usage Analytics** permission.

It returns chronological [history point](https://help.cryptolens.io/api-reference/generated/model/ReportResults.md#history-point-fields) objects.

### Parameters

This method is accessed by [https://api.cryptolens.io/api/ai/GetFloatingCapacityHistory](https://api.cryptolens.io/api/ai/GetFloatingCapacityHistory)

| **Parameter** | **Description** | **Remarks** |
| - | - | - |
| ProductId | The product containing the license. | Required. A positive integer identifying an owned product allowed by the token. |
| KeyId | The numeric ID of the license. | Required unless Key is supplied. A positive integer. If both identifiers are supplied, they must identify the same license in ProductId. |
| Key | The license key string. | Required unless KeyId is supplied. The license must still exist and be allowed by the token. |
| Start | The first UTC calendar date to include. | Optional, format yyyy-MM-dd. Supply with End, or omit both for the last 30 UTC calendar days including today. |
| End | The last UTC calendar date to include. | Optional, format yyyy-MM-dd. Supply with Start. The inclusive range must be ordered, contain at most 90 days, and not extend into the future. |
| Page | The page of results to return. | Optional. Default is 1; must be at least 1. |
| Limit | The maximum number of rows to return on this page. | Optional. Default is 100; values above 1000 are capped at 1000. Nonpositive values use the default. |
| token | An access token with Usage Analytics permission. | Required. The account must have analytics access; Free and Hobby tiers are excluded. |
| v | Method version. | Optional. Default is 1. |

### Results

| **Parameter** | **Description** | **Remarks** |
| - | - | - |
| Points | A list of [history point](https://help.cryptolens.io/api-reference/generated/model/ReportResults.md#history-point-fields) objects. | Returned on success. Ordered by TimestampUtc ascending. |
| Summary | A [history summary](https://help.cryptolens.io/api-reference/generated/model/ReportResults.md#history-summary) for the entire authorized date range. | Returned on success. Independent of Page and Limit. |
| ProductId | The resolved product ID. | An integer. Returned on success. |
| KeyId | The resolved license key ID. | An integer. Returned on success. |
| Start | The resolved first UTC calendar date. | A string in yyyy-MM-dd format. Returned on success. |
| End | The resolved last UTC calendar date. | A string in yyyy-MM-dd format. Returned on success. |
| Page | The resolved page number. | An integer, starting at 1. Returned on success. |
| Limit | The resolved page size. | An integer. Returned on success. |
| Total | The total number of history points in the authorized date range, including an available baseline and current state when applicable. | An integer, calculated before pagination. Returned on success. |
| Returned | The number of rows returned on this page. | An integer. Returned on success. |
| GeneratedUtc | The UTC time captured for this request. | Unix timestamp in seconds. Returned on success; does not freeze results across requests. |
| Result | This is either **0** (=success) or **1** (=error). | Always returned. |
| Message | Additional information about the result. | A string, or null when there is no message. Always returned. |

### Example results

This response follows license 12345 from the Get Floating Capacity Licenses example. A baseline is carried to midnight, usage exceeds the limit at 12:00 UTC, and a later state records lower usage. IDs and values are illustrative.

```text theme={null}
{
  "productId": 3349,
  "keyId": 12345,
  "start": "2026-10-01",
  "end": "2026-10-01",
  "summary": {
    "hasTrackedCapacityData": true,
    "peakFloatingMachines": 12,
    "peakConfiguredMaximum": 10,
    "peakCapacityExcess": 2
  },
  "points": [
    {
      "timestampUtc": 1790812800,
      "sourceUpdatedUtc": 1790809200,
      "nodeMachines": 0,
      "floatingMachines": 4,
      "maxNoOfMachines": 10,
      "isTracked": true,
      "hasValidTrackedCapacity": true,
      "isCurrent": false,
      "isBaseline": true
    },
    {
      "timestampUtc": 1790856000,
      "sourceUpdatedUtc": 1790856120,
      "nodeMachines": 0,
      "floatingMachines": 12,
      "maxNoOfMachines": 10,
      "isTracked": true,
      "hasValidTrackedCapacity": true,
      "isCurrent": false,
      "isBaseline": false
    },
    {
      "timestampUtc": 1790857800,
      "sourceUpdatedUtc": 1790857920,
      "nodeMachines": 0,
      "floatingMachines": 7,
      "maxNoOfMachines": 10,
      "isTracked": true,
      "hasValidTrackedCapacity": true,
      "isCurrent": false,
      "isBaseline": false
    }
  ],
  "page": 1,
  "limit": 100,
  "total": 3,
  "returned": 3,
  "generatedUtc": 1793102400,
  "result": 0,
  "message": null
}
```

### Remarks

* This method supports GET with query parameters and POST with a form or JSON body. Send the access token in the `token` header, query string, or form field. For JSON requests, use `Content-Type: application/json` and send the token separately; it is not read from the JSON body.
* JSON responses use camel-case field names. All timestamps are Unix seconds in UTC; date strings use `yyyy-MM-dd`.
* An out-of-range page returns an empty list. **Total** counts all rows in the authorized result before pagination; **Returned** counts only this page.
* Product and key locks must permit the requested license. The license must still exist. If both **KeyId** and **Key** are supplied, they must identify the same license in **ProductId**.
* A known state from before **Start** is carried to the range start with **IsBaseline=true**. A recorded change at that exact time replaces it. No state is invented when a baseline is unavailable.
* Tracking gaps and nonpositive capacity limits remain visible. **HasValidTrackedCapacity** is true only for tracked states with a positive limit. Historical limits remain attached to their recorded states.
* When **End** is today, the available current state is appended at **GeneratedUtc**. **SourceUpdatedUtc** preserves its actual source update time.
* The summary covers the entire date range before pagination. **PeakConfiguredMaximum** is the limit at the highest recorded floating-machine count; the latest timestamp wins ties. **PeakCapacityExcess** is calculated independently and may occur at another point.
* Use **Summary.HasTrackedCapacityData** to determine whether the full date range contains usable tracked capacity. An empty **Points** list can also mean the requested page is beyond the results, even when this flag is true. Check **Total** and **Returned**, and read all pages to reconstruct the series.
* History is asynchronously maintained state, not a log of every instantaneous peak. **GeneratedUtc** does not freeze results across requests.

#### Example request

Replace `YOUR_USAGE_ANALYTICS_TOKEN` and the sample identifiers with your own values. This POST example sends form-encoded parameters.

```text theme={null}
curl -X POST https://api.cryptolens.io/api/ai/GetFloatingCapacityHistory \
  --data-urlencode "token=YOUR_USAGE_ANALYTICS_TOKEN" \
  --data-urlencode "ProductId=3349" \
  --data-urlencode "KeyId=12345" \
  --data-urlencode "Start=2026-10-01" \
  --data-urlencode "End=2026-10-01" \
  --data-urlencode "Page=1" \
  --data-urlencode "Limit=100"
```

### Errors

Errors return **Result=1** with an explanation in **Message**. Common errors include:

| **Error** |
| - |
| Access denied. |
| Your subscription does not include access to this method. |
| The input parameters were incorrect. |
| Could not find the product. |
| The page is too large. |
| Could not find the key. |
| ProductId and KeyId or Key are required. |
| Supply both Start and End in yyyy-MM-dd format, or omit both. |
| The date range must be ordered, contain at most 90 days, and not extend into the future. |

[View the original Web API reference](https://app.cryptolens.io/docs/api/v3/GetFloatingCapacityHistory)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.