Get Floating Capacity History

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 objects.

Parameters

This method is accessed by 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 objects. Returned on success. Ordered by TimestampUtc ascending.
Summary A 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.

{
  "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.

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.