Traffic Summary Trend
Returns per-time-bucket traffic metrics for the selected date range, along with period totals and granularity metadata.
curl -X POST "https://api.5centscdn.com/v2/analytics/traffic/summary/line" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"r": "2026-01-01 00:00:00 - 2026-01-31 23:59:59",
"resource_type": "push",
"resource_hashes": [
"abc12hash",
"def34hash",
"ghi56hash"
],
"granularity": "1h"
}'
import requests
import json
url = "https://api.5centscdn.com/v2/analytics/traffic/summary/line"
headers = {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY"
}
data = {
"r": "2026-01-01 00:00:00 - 2026-01-31 23:59:59",
"resource_type": "push",
"resource_hashes": [
"abc12hash",
"def34hash",
"ghi56hash"
],
"granularity": "1h"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://api.5centscdn.com/v2/analytics/traffic/summary/line", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY"
},
body: JSON.stringify({
"r": "2026-01-01 00:00:00 - 2026-01-31 23:59:59",
"resource_type": "push",
"resource_hashes": [
"abc12hash",
"def34hash",
"ghi56hash"
],
"granularity": "1h"
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"r": "2026-01-01 00:00:00 - 2026-01-31 23:59:59",
"resource_type": "push",
"resource_hashes": [
"abc12hash",
"def34hash",
"ghi56hash"
],
"granularity": "1h"
}`)
req, err := http.NewRequest("POST", "https://api.5centscdn.com/v2/analytics/traffic/summary/line", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api.5centscdn.com/v2/analytics/traffic/summary/line')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['X-API-Key'] = 'YOUR_API_KEY'
request.body = '{
"r": "2026-01-01 00:00:00 - 2026-01-31 23:59:59",
"resource_type": "push",
"resource_hashes": [
"abc12hash",
"def34hash",
"ghi56hash"
],
"granularity": "1h"
}'
response = http.request(request)
puts response.body
{
"period": {
"current": {
"from": "2026-01-01T00:00:00Z",
"to": "2026-01-31T23:59:59Z"
},
"previous": {
"from": "2025-12-01T00:00:01Z",
"to": "2026-01-01T00:00:00Z"
}
},
"current": {
"-": {
"count": 1172166,
"formatted": "1.172M"
},
"BYPASS": {
"count": 1172166,
"formatted": "1.172M"
},
"MISS": {
"count": 1172166,
"formatted": "1.172M"
},
"HIT": {
"count": 1172166,
"formatted": "1.172M"
},
"STALE": {
"count": 1172166,
"formatted": "1.172M"
},
"EXPIRED": {
"count": 1172166,
"formatted": "1.172M"
},
"UPDATING": {
"count": 1172166,
"formatted": "1.172M"
}
},
"previous": {
"-": {
"count": 1172166,
"formatted": "1.172M"
},
"BYPASS": {
"count": 1172166,
"formatted": "1.172M"
},
"MISS": {
"count": 1172166,
"formatted": "1.172M"
},
"HIT": {
"count": 1172166,
"formatted": "1.172M"
},
"STALE": {
"count": 1172166,
"formatted": "1.172M"
},
"EXPIRED": {
"count": 1172166,
"formatted": "1.172M"
},
"UPDATING": {
"count": 1172166,
"formatted": "1.172M"
}
},
"deviation": {
"-": {
"percent": -0.08,
"formatted": "-8%"
},
"BYPASS": {
"percent": -0.08,
"formatted": "-8%"
},
"MISS": {
"percent": -0.08,
"formatted": "-8%"
},
"HIT": {
"percent": -0.08,
"formatted": "-8%"
},
"STALE": {
"percent": -0.08,
"formatted": "-8%"
},
"EXPIRED": {
"percent": -0.08,
"formatted": "-8%"
},
"UPDATING": {
"percent": -0.08,
"formatted": "-8%"
}
}
}
/analytics/traffic/summary/line
Target server for requests. Edit to use your own host.
API key (sent in header)
The media type of the request body
Date range in "YYYY-MM-DD HH:mm:ss - YYYY-MM-DD HH:mm:ss" format (UTC).
Resource category to filter by. Use all to include all resources (omit resource_hashes when using all).
Array of resource hashes to filter by (from /analytics/traffic/resources). Required when resource_type is push, pull, or livestream. Omit when resource_type is all.
Defines the time interval for data aggregation.
Request Preview
Response
Response will appear here after sending the request
Authentication
API Key for authentication. Provide your API key in the header.
Body
Date range in "YYYY-MM-DD HH:mm:ss - YYYY-MM-DD HH:mm:ss" format (UTC).
2026-01-01 00:00:00 - 2026-01-31 23:59:59Resource category to filter by. Use all to include all resources (omit resource_hashes when using all).
pushpullalllivestreamArray of resource hashes to filter by (from /analytics/traffic/resources). Required when resource_type is push, pull, or livestream. Omit when resource_type is all.
["abc12hash","def34hash","ghi56hash"]Defines the time interval for data aggregation.
1m5m15m30m1h3h6h12h24hResponses
Date range boundaries for the current and previous comparison periods.
Request counts keyed by cache status. Known statuses include HIT, MISS, EXPIRED, BYPASS, STALE, UPDATING, "-".
Request counts keyed by cache status. Known statuses include HIT, MISS, EXPIRED, BYPASS, STALE, UPDATING, "-".
Per-status period-over-period deviation values showing relative change for each cache status.