> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.getunleash.io/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.getunleash.io/_mcp/server.

# [BETA] Get aggregated metered connections for a given time period.

GET https://app.unleash-instance.example.com/api/admin/metrics/connection

**Enterprise feature**

**[BETA]** This API is in beta state, which means it may change or be removed in the future.

Gets metered connections count for the selected period, either aggregated by day or by month.

Reference: https://docs.getunleash.io/api/get-connections-for-period

## Authentication

- `Authorization` header (required) — API key needed to access this API
- `Authorization` header (bearer token, required) — API key needed to access this API, in Bearer token format

## Request

### Query parameters

- `grouping` (enum, required) — Whether to aggregate the data by month or by day
  - Allowed values: `daily`, `monthly`
- `from` (string, required) — The starting date of the traffic data usage search in IS:yyyy-MM-dd format
- `to` (string, required) — The starting date of the traffic data usage search in IS:yyyy-MM-dd format

## Response

### 200

meteredConnectionsSchema

- `grouping` (enum, required) — Whether the data is aggregated by month or by day.
  - Allowed values: `monthly`, `daily`
- `dateRange` (object, required) — The date range there is data for. The range is inclusive and goes from the start of the `from` date to the end of the `to` date
  - `from` (string, required) — The start of the dateRange
  - `to` (string, required) — The end of the dateRange
- `apiData` (list of object, required) — Contains the recorded daily/monthly connections for each metered group
  - `meteredGroup` (string, required) — The metered group representing charging unit in the organization using Unleash
  - `dataPoints` (list of object, required) — The recorded data points for the metered group
    - `period` (string, required) — The date of the data point. Formatted as a full date (e.g. 2023-04-01) if the data is aggregated by day or as a month (e.g. 2023-04) if the data is aggregated by month.
    - `connections` (double, required) — Number of connections. 1 connection = 7200 backend SDK requests per day

## Examples

**Response**

```json
{
  "grouping": "monthly",
  "dateRange": {
    "from": "2023-04-01",
    "to": "2023-04-30"
  },
  "apiData": [
    {
      "meteredGroup": "default",
      "dataPoints": [
        {
          "period": "2023-04-01",
          "connections": 10.5
        }
      ]
    }
  ]
}
```

**SDK Code**

```python
import requests

url = "https://app.unleash-instance.example.com/api/admin/metrics/connection"

querystring = {"from":"2024-01-01","grouping":"daily","to":"2024-01-31"}

headers = {"Authorization": "<apiKey>"}

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

print(response.json())
```

```javascript
const url = 'https://app.unleash-instance.example.com/api/admin/metrics/connection?from=2024-01-01&grouping=daily&to=2024-01-31';
const options = {method: 'GET', headers: {Authorization: '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

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

func main() {

	url := "https://app.unleash-instance.example.com/api/admin/metrics/connection?from=2024-01-01&grouping=daily&to=2024-01-31"

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

	req.Header.Add("Authorization", "<apiKey>")

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

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

	fmt.Println(res)
	fmt.Println(string(body))

}
```

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

url = URI("https://app.unleash-instance.example.com/api/admin/metrics/connection?from=2024-01-01&grouping=daily&to=2024-01-31")

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

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

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

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://app.unleash-instance.example.com/api/admin/metrics/connection?from=2024-01-01&grouping=daily&to=2024-01-31")
  .header("Authorization", "<apiKey>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://app.unleash-instance.example.com/api/admin/metrics/connection?from=2024-01-01&grouping=daily&to=2024-01-31', [
  'headers' => [
    'Authorization' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://app.unleash-instance.example.com/api/admin/metrics/connection?from=2024-01-01&grouping=daily&to=2024-01-31");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Authorization": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://app.unleash-instance.example.com/api/admin/metrics/connection?from=2024-01-01&grouping=daily&to=2024-01-31")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```