Metrics API
Send and query time-series metrics data.
Send Metric
Metric name (lowercase, dot-separated)
ISO 8601 timestamp. Defaults to current time.
Key-value pairs for filtering and grouping
curl -X POST https://api.itsfriday.in/v1/metrics/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "api.request.duration.ms",
"value": 42.5,
"timestamp": "2024-01-15T10:30:00Z",
"tags": {
"endpoint": "/users",
"method": "GET",
"status": "200"
}
}'
Response
{
"data": {
"accepted": true
},
"meta": {
"request_id": "req_abc123"
}
}
Send Batch Metrics
Send multiple metrics in a single request.
curl -X POST https://api.itsfriday.in/v1/metrics/batch/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"metrics": [
{
"name": "api.request.count",
"value": 1,
"tags": {"endpoint": "/users"}
},
{
"name": "api.request.duration.ms",
"value": 45.2,
"tags": {"endpoint": "/users"}
}
]
}'
Response
{
"data": {
"accepted": 2,
"failed": 0
}
}
Query Metrics
Query aggregated metrics data.
Aggregation function: sum, avg, min, max, count, p50, p95, p99
Time bucket size: 1m, 5m, 15m, 1h, 1d
Comma-separated tag names to group by
curl -G "https://api.itsfriday.in/v1/metrics/query/" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "name=api.request.duration.ms" \
--data-urlencode "from=2024-01-15T00:00:00Z" \
--data-urlencode "to=2024-01-16T00:00:00Z" \
--data-urlencode "aggregation=avg" \
--data-urlencode "interval=1h" \
--data-urlencode "group_by=endpoint"
Response
{
"data": {
"series": [
{
"tags": {"endpoint": "/users"},
"datapoints": [
{"timestamp": "2024-01-15T00:00:00Z", "value": 42.5},
{"timestamp": "2024-01-15T01:00:00Z", "value": 38.2},
{"timestamp": "2024-01-15T02:00:00Z", "value": 45.8}
]
},
{
"tags": {"endpoint": "/orders"},
"datapoints": [
{"timestamp": "2024-01-15T00:00:00Z", "value": 125.3},
{"timestamp": "2024-01-15T01:00:00Z", "value": 118.7}
]
}
]
}
}
List Available Metrics
Get a list of all metric names.
curl -G "https://api.itsfriday.in/v1/metrics/names/" \
-H "Authorization: Bearer YOUR_API_KEY"
Response
{
"data": {
"names": [
"api.request.count",
"api.request.duration.ms",
"api.error.count"
]
}
}
Get Tag Values
Get possible values for a metric tag.
curl -G "https://api.itsfriday.in/v1/metrics/tags/" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "name=api.request.count" \
--data-urlencode "tag=endpoint"
Response
{
"data": {
"values": ["/users", "/orders", "/products"]
}
}