# Get usage series v1 - Checkly Docs

> Get paginated usage grouped by time, account, or check type.

Source: https://www.checklyhq.com/docs/api-reference/usage/get-usage-series/

---

Get paginated usage data grouped over time.

```
curl --request GET \
--url https://api.checklyhq.com/v1/usage/series \
--header 'Authorization: Bearer '
```

```
import requests

url = "https://api.checklyhq.com/v1/usage/series"

headers = {"Authorization": "Bearer "}

response = requests.get(url, headers=headers)

print(response.text)
```

```
const options = {method: 'GET', headers: {Authorization: 'Bearer '}};

fetch('https://api.checklyhq.com/v1/usage/series', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
```

```
"https://api.checklyhq.com/v1/usage/series",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer "
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
```

```
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.checklyhq.com/v1/usage/series"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer ")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
```

```
HttpResponse response = Unirest.get("https://api.checklyhq.com/v1/usage/series")
.header("Authorization", "Bearer ")
.asString();
```

```
require 'uri'
require 'net/http'

url = URI("https://api.checklyhq.com/v1/usage/series")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer '

response = http.request(request)
puts response.read_body
```

```
{
"usageTermsId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"period": {
"from": "2023-12-25",
"to": "2023-12-25",
"interval": "total",
"groupBy": "account"
},
"data": [
{
"credits": {
"used": 1,
"percentOfBudget": 1
},
"meters": [
{
"meterType": "CHECK_RUN",
"measures": {
"totalRuns": 1,
"finalRuns": 1,
"retryRuns": 1,
"cancelledRuns": 1,
"multiStepRequests": 1,
"playwrightBillableDurationMs": 1,
"degradedRuns": 1,
"failedRuns": 1,
"errorRuns": 1,
"abortedRuns": 1,
"overMaxResponseTimeRuns": 1,
"standardBillableUnits": 1,
"premiumBillableUnits": 1
}
}
],
"periodStart": "2023-12-25",
"periodEnd": "2023-12-25",
"accountId": " ",
"checkType": "AGENTIC"
}
],
"length": 1,
"nextId": " "
}
```

```
{
"statusCode": 123,
"error": " ",
"message": " "
}
```

```
{
"statusCode": 123,
"error": " ",
"message": " "
}
```

```
{
"statusCode": 123,
"error": " ",
"message": " "
}
```

```
{
"statusCode": 123,
"error": " ",
"message": " "
}
```

Usage

# Get usage series v1

deprecated

Get paginated usage grouped by time, account, or check type.

GET

/

v1

/

usage

/

series

Get paginated usage data grouped over time.

```
curl --request GET \
--url https://api.checklyhq.com/v1/usage/series \
--header 'Authorization: Bearer '
```

```
import requests

url = "https://api.checklyhq.com/v1/usage/series"

headers = {"Authorization": "Bearer "}

response = requests.get(url, headers=headers)

print(response.text)
```

```
const options = {method: 'GET', headers: {Authorization: 'Bearer '}};

fetch('https://api.checklyhq.com/v1/usage/series', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
```

```
"https://api.checklyhq.com/v1/usage/series",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer "
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
```

```
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.checklyhq.com/v1/usage/series"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer ")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
```

```
HttpResponse response = Unirest.get("https://api.checklyhq.com/v1/usage/series")
.header("Authorization", "Bearer ")
.asString();
```

```
require 'uri'
require 'net/http'

url = URI("https://api.checklyhq.com/v1/usage/series")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer '

response = http.request(request)
puts response.read_body
```

```
{
"usageTermsId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"period": {
"from": "2023-12-25",
"to": "2023-12-25",
"interval": "total",
"groupBy": "account"
},
"data": [
{
"credits": {
"used": 1,
"percentOfBudget": 1
},
"meters": [
{
"meterType": "CHECK_RUN",
"measures": {
"totalRuns": 1,
"finalRuns": 1,
"retryRuns": 1,
"cancelledRuns": 1,
"multiStepRequests": 1,
"playwrightBillableDurationMs": 1,
"degradedRuns": 1,
"failedRuns": 1,
"errorRuns": 1,
"abortedRuns": 1,
"overMaxResponseTimeRuns": 1,
"standardBillableUnits": 1,
"premiumBillableUnits": 1
}
}
],
"periodStart": "2023-12-25",
"periodEnd": "2023-12-25",
"accountId": " ",
"checkType": "AGENTIC"
}
],
"length": 1,
"nextId": " "
}
```

```
{
"statusCode": 123,
"error": " ",
"message": " "
}
```

```
{
"statusCode": 123,
"error": " ",
"message": " "
}
```

```
{
"statusCode": 123,
"error": " ",
"message": " "
}
```

```
{
"statusCode": 123,
"error": " ",
"message": " "
}
```

This v1 endpoint is deprecated. Use [v2 series](https://www.checklyhq.com/docs/api-reference/usage/get-paginated-consumption-across-usage-terms-group-by-account-usage-term-pricing-rule-and-check-type) for reporting across terms and pricing rules.

#### Authorizations

​

Authorization

string

header

required

The Checkly Public API uses API keys to authenticate requests. You can get the API Key [here](https://app.checklyhq.com/settings/user/api-keys).
Your API key is like a password:
keep it secure!

Authentication to the API is performed using the Bearer auth method in the Authorization header and using the account ID.

For example, set Authorization header while using cURL: `curl -H "Authorization: Bearer [apiKey]" "X-Checkly-Account: [accountId]"`

#### Headers

​

x-checkly-account

string<uuid>

Your Checkly account ID, you can find it at [https://app.checklyhq.com/settings/account/general](https://app.checklyhq.com/settings/account/general)

#### Query Parameters

​

to

string<date>

Date used to resolve usage terms. Defaults to today.

​

from

string<date>

Start date, inclusive. Defaults to the resolved usage start date.

​

accountIds

string[] | null

Account IDs included in the resolved usage terms. Repeat or comma-separate values.

​

checkTypes

enum<string>[] | null

Check types to include. Repeat or comma-separate values.

Available options: `AGENTIC`,

`API`,

`BROWSER`,

`HEARTBEAT`,

`ICMP`,

`MULTI_STEP`,

`TCP`,

`PLAYWRIGHT`,

`URL`,

`DNS`,

`SSL`,

`GRPC`,

`TRACEROUTE`

​

interval

enum<string>

default: day

Aggregation interval for response rows.

Available options: `total`,

`day`,

`week`,

`month`

​

groupBy

enum<string>

default: account,checkType

Dimensions to group response rows by.

Available options: `account`,

`checkType`,

`account,checkType`

​

limit

integer

default: 100

Maximum number of rows to return.

Required range: `1 ​

nextId

string

Opaque cursor returned by the previous page.

Minimum string length: `1`

#### Response

Successful

​

usageTermsId

string<uuid> | null

required

​

period

object

required

Show child attributes

​

data

object[]

required

Show child attributes

​

length

integer

required

Required range: `x >= 0`

​

nextId

string | null

required

Was this page helpful?

[Suggest edits](https://github.com/checkly/docs/edit/main/api-reference/usage/get-usage-series.mdx)[Raise issue](https://github.com/checkly/docs/issues/new?title=Issue%20on%20docs&body=Path:%20/api-reference/usage/get-usage-series)

[Get usage summary v1 Previous](https://www.checklyhq.com/docs/api-reference/usage/get-usage-summary)[List IPs for check runs Next](https://www.checklyhq.com/docs/api-reference/static-ips/lists-all-source-ips-for-check-runs)

[x](https://x.com/checklyhq)[github](https://github.com/checkly)[linkedin](https://linkedin.com/company/checkly)

[Powered by This documentation is built and hosted on Mintlify, a developer documentation platform](https://www.mintlify.com/?utm_campaign=poweredBy&utm_medium=referral&utm_source=checkly-422f444a)
