Sending Telemetry Data
Send telemetry data to NextEpoch Cloud using the Air API. Telemetry data (logs, metrics, traces) is stored durably and made queryable via the Insights API.
Endpoint
POST https://air.nextepoch.cloud/v1/ingest/{type}Where {type} is one of: logs, metrics, traces.
Authentication
Include a JWT token from the Identity service in the Authorization header:
bash
Authorization: Bearer <your-jwt-token>See Authentication for details on obtaining a token.
Sending Logs
bash
curl -X POST https://air.nextepoch.cloud/v1/ingest/logs \
-H "Authorization: Bearer <your-jwt-token>" \
-H "Content-Type: application/json" \
-d '{
"entries": [
{
"timestamp": "2025-01-15T10:30:00Z",
"level": "info",
"message": "User signed in",
"attributes": {
"user_id": "usr_123",
"method": "sso"
}
}
]
}'Sending Metrics
bash
curl -X POST https://air.nextepoch.cloud/v1/ingest/metrics \
-H "Authorization: Bearer <your-jwt-token>" \
-H "Content-Type: application/json" \
-d '{
"entries": [
{
"timestamp": "2025-01-15T10:30:00Z",
"name": "http_request_duration_ms",
"value": 42.5,
"tags": {
"method": "GET",
"path": "/api/users",
"status": "200"
}
}
]
}'Sending Traces
bash
curl -X POST https://air.nextepoch.cloud/v1/ingest/traces \
-H "Authorization: Bearer <your-jwt-token>" \
-H "Content-Type: application/json" \
-d '{
"entries": [
{
"timestamp": "2025-01-15T10:30:00Z",
"trace_id": "abc123",
"span_id": "span_1",
"name": "handle_request",
"duration_ms": 85,
"status": "ok",
"attributes": {
"service": "api-gateway"
}
}
]
}'Batch Ingestion
You can send up to 1000 entries in a single request.
Next Steps
- Query your data with SQL
- Air API Reference for full endpoint documentation