Analytics
Time-bucketed metrics for your serverless app endpoints, including request counts, success/error rates, and latency percentiles across all inbound traffic. prepare_duration reflects queue/prepare time before execution; duration is request execution time.
This endpoint shows all inbound requests to endpoints you own — not just your own calls. This is ideal for monitoring your deployed apps, tracking SLAs, and exporting data to tools like BigQuery or Grafana. You must own all requested endpoints; returns 403 otherwise.
A bare app id ('<owner>/<name>') automatically includes the app's registered route-level endpoints (e.g. '<owner>/<name>/turbo'); results stay grouped by the route-level id they were recorded under. Pass a route-level id to filter to that route exactly.
Metric Selection: You must specify which metrics to include using the expand query parameter. Only requested metrics will be populated in the response, allowing you to optimize query performance and data transfer.
Available Metrics:
The expand parameter accepts these values, grouped by category:
Volume
- request_count: Total number of requests in the time bucket
- success_count: Successful requests (2xx responses)
- user_error_count: User errors (4xx responses)
- error_count: Server errors (5xx responses)
Error type breakdown
- startup_error_count: Startup errors (startup timeout, scheduling failure)
- connection_error_count: Connection errors (timeout, disconnected, refused)
- timeout_error_count: Request timeout errors
- runtime_error_count: Runtime errors (internal error, server error)
Queue / prepare latency
- p50_prepare_duration, p75_prepare_duration, p90_prepare_duration, p95_prepare_duration, p99_prepare_duration: Time from request submission until execution starts
Request execution latency
- p25_duration, p50_duration, p75_duration, p90_duration, p95_duration, p99_duration: Time spent processing the request
Cold boot
- cold_boot_count: Requests with cold boot (startup > 1s)
- p50_cold_boot_duration, p75_cold_boot_duration, p90_cold_boot_duration: Cold boot duration percentiles
Billing
- total_billable_duration: Aggregate billed execution time
Key Features:
- See all traffic to your apps across all callers
- Selective metric inclusion via expand parameter
- Performance metrics (latency percentiles, duration stats)
- Reliability metrics (success/error rates, request counts)
- Error type breakdown (startup, connection, timeout, runtime)
- Cold boot metrics (count, latency percentiles)
- Billing duration tracking
- Time-bucketed data for trend analysis
- Flexible date range and timeframe options
Common Use Cases:
- Monitor your serverless app performance and reliability
- Export analytics to your own observability tools
- Analyze latency trends across all callers
- Track error rates and SLA compliance
Query parameters
Maximum number of items to return. Actual maximum depends on query type and expansion parameters.
Maximum number of items to return. Actual maximum depends on query type and expansion parameters.
Pagination cursor from previous response. Encodes the page number.
Pagination cursor from previous response. Encodes the page number.
Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.
End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.
Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.
Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.
Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).
Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).
Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.
Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.
Filter by specific endpoint ID(s). Accepts 1-50 endpoint IDs. Supports comma-separated values: ?endpoint_id=model1,model2 or array syntax: ?endpoint_id=model1&endpoint_id=model2
Data and metrics to include in the response. Use 'time_series' for time-bucketed data, metric names for specific metrics in time series, and 'summary' for aggregate statistics. At least one of 'time_series' or 'summary' and at least one metric are required.
Response
Analytics data retrieved successfully