Before you start
Start from CI, a script, a Worker, or a Pages Function.
Manual telemetry is just the Logister HTTP API with Cloudflare Pages context. Use it when you already know a deployment finished, a build took a certain amount of time, a route received traffic, or a Pages Function logged a useful event.
| Value | Use |
|---|---|
LOGISTER_ENDPOINT | Your Logister base URL, such as https://logister.example.com. |
LOGISTER_API_KEY | The API token for the Cloudflare Pages project. |
service | A stable Pages site name, such as marketing-site. |
environment | production, preview, or the release channel you review in Logister. |
Metric example
Use the standard ingest endpoint.
curl -i "$LOGISTER_ENDPOINT/api/v1/ingest_events" \
-H "Authorization: Bearer $LOGISTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"event": {
"event_type": "metric",
"message": "cloudflare.deployment_build_ms",
"environment": "production",
"context": {
"platform": "cloudflare_pages",
"service": "marketing-site",
"deployment_id": "abc123",
"branch": "main",
"value": 42150,
"unit": "ms"
}
}
}'Keep platform, service, deployment_id, and branch stable. Use context.value and context.unit for numeric Cloudflare Pages metrics so Insights can chart the value instead of only counting events.
Deployment example
Record the deploy when CI knows the commit.
curl -i "$LOGISTER_ENDPOINT/api/v1/deployments" \
-H "Authorization: Bearer $LOGISTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"deployment": {
"release": "pages-abc123",
"environment": "production",
"repository": "acme/marketing-site",
"commit_sha": "4f8c2d1",
"branch": "main",
"workflow_url": "https://dash.cloudflare.com/..."
}
}'Deployment records are stronger than metric-only release strings because they tell Logister which commit was deployed for a release and environment.
Verification
Confirm one Pages signal before sending more.
- Run the metric request and confirm the HTTP response is
201 Created. - Open the Cloudflare Pages project in Logister.
- Open Events, filter to
metric, and look forcloudflare.deployment_build_ms. - Open Insights and check the recent stream for the same service, branch, and environment.
- If you sent a deployment record, open Deployments and confirm the release appears there too.
Troubleshooting
Most missing events are token, URL, or payload problems.
| Symptom | What to check |
|---|---|
401 Unauthorized | The API key is missing, wrong, revoked, or belongs to a different project. |
422 Unprocessable Entity | The payload is missing the event or deployment root key, event type, message, or required field. |
429 Too Many Requests | The project token hit a rate limit. Read the Retry-After header before retrying. |
| Request succeeds but Inbox is empty | Metrics and deployments do not appear in the error inbox. Check Events, Insights, or Deployments. |
| Insights filters are empty | Send stable environment, release, service, and low-cardinality context values. |
Use the HTTP API response reference for exact status codes and troubleshooting for deeper ingestion checks.