Skip to main content

Telemetry

Ingest SDK telemetry from your application runtime. Uses sdk_key body authentication instead of Bearer token.

POST/v1/events
SDK Key (body)

Ingest SDK telemetry

Accepts telemetry events from the CheckUpstream SDK. Authentication is via the sdk_key field in the request body — not the Authorization header.

Supports both single-event ({sdk_key, event}) and batch ({sdk_key, batch}) formats.

Each event records an HTTP call your application made to an upstream service, including status code and latency. CheckUpstream aggregates this data to provide first-party observability alongside third-party status page data.

Rate limited per SDK key (1,000 events/minute) and per IP (100 requests/minute). When rate limited, the response includes Retry-After and X-RateLimit-* headers.

Request BodyRequired

sdk_keystringrequired

SDK key from your CheckUpstream dashboard. Used for authentication and rate limiting.

eventTelemetryEventoptional
hoststringrequired

Request hostname (e.g. api.stripe.com, api.openai.com). The server maps hosts to services.

endpointstringrequired

API endpoint path (e.g. /v1/charges)

methodstringoptional

HTTP method (e.g. GET, POST)

statusintegerrequired

HTTP response status code

latency_msnumberrequired

Request latency in milliseconds

tsintegerrequired

Unix timestamp (seconds) when the request was made

environmentstringoptional

Deployment environment (e.g. production, staging)

regionstringoptional

Deployment region (e.g. us-east-1)

error_classstringoptional

Standardized error classification

featurestringoptional

Feature context tag for grouping events

sdk_versionstringoptional

SDK version string

deployment_idstringoptional

Deployment identifier (e.g. git commit SHA)

runtimestringoptional

Runtime environment (e.g. node-22.0.0, bun-1.0.0)

tagsobjectoptional

Custom key-value metadata (max 20 tags)

batchTelemetryEvent[]optional

Array of telemetry events (max 500)

hoststringrequired

Request hostname (e.g. api.stripe.com, api.openai.com). The server maps hosts to services.

endpointstringrequired

API endpoint path (e.g. /v1/charges)

methodstringoptional

HTTP method (e.g. GET, POST)

statusintegerrequired

HTTP response status code

latency_msnumberrequired

Request latency in milliseconds

tsintegerrequired

Unix timestamp (seconds) when the request was made

environmentstringoptional

Deployment environment (e.g. production, staging)

regionstringoptional

Deployment region (e.g. us-east-1)

error_classstringoptional

Standardized error classification

featurestringoptional

Feature context tag for grouping events

sdk_versionstringoptional

SDK version string

deployment_idstringoptional

Deployment identifier (e.g. git commit SHA)

runtimestringoptional

Runtime environment (e.g. node-22.0.0, bun-1.0.0)

tagsobjectoptional

Custom key-value metadata (max 20 tags)

Responses

Code Samples

curl -X POST https://ingest.checkupstream.com/v1/events \
  -H 'Content-Type: application/json' \
  -d '{
    "sdk_key": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2",
    "batch": [{
      "host": "api.stripe.com",
      "endpoint": "/v1/charges",
      "method": "POST",
      "status": 200,
      "latency_ms": 342,
      "ts": 1710230400
    }]
  }'
Shell