Cloudflare Pages / Manual telemetry

Send one metric first.

Manual telemetry is the supported path until the Cloudflare importer fetcher lands.

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.

ValueUse
LOGISTER_ENDPOINTYour Logister base URL, such as https://logister.example.com.
LOGISTER_API_KEYThe API token for the Cloudflare Pages project.
serviceA stable Pages site name, such as marketing-site.
environmentproduction, preview, or the release channel you review in Logister.

Metric example

Use the standard ingest endpoint.

shell
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.

shell
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.

  1. Run the metric request and confirm the HTTP response is 201 Created.
  2. Open the Cloudflare Pages project in Logister.
  3. Open Events, filter to metric, and look for cloudflare.deployment_build_ms.
  4. Open Insights and check the recent stream for the same service, branch, and environment.
  5. 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.

SymptomWhat to check
401 UnauthorizedThe API key is missing, wrong, revoked, or belongs to a different project.
422 Unprocessable EntityThe payload is missing the event or deployment root key, event type, message, or required field.
429 Too Many RequestsThe project token hit a rate limit. Read the Retry-After header before retrying.
Request succeeds but Inbox is emptyMetrics and deployments do not appear in the error inbox. Check Events, Insights, or Deployments.
Insights filters are emptySend 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.