Observability
Track endpoint health with Activity charts, outcome filters, and log analysis.
Use Request activity to detect failures quickly and confirm fixes.
Purpose
This guide helps you:
- Read request volume trends.
- Investigate request outcomes and error reasons.
- Isolate endpoint-specific problems.
Prerequisites and permissions
- Signed-in access to
Request activity. - At least one endpoint receiving traffic.
Step-by-step workflow
1. Open Request activity
The page has two views:
Volume ChartRequest Log
Both support endpoint filtering.
2. Analyze request volume
In Volume Chart:
- Choose endpoint (
All endpointsor one endpoint). - Choose window (
Month,Week,Day). - Navigate previous/next windows.
- Review
total,average, andpeakcounts.
UI cue: chart labels and summary metrics update immediately when endpoint/window changes.
3. Investigate request outcomes
In Request Log:
- Use outcome filters (
All,Success,Pending,Errors,Test). - Review
OutcomeandError reasoncolumns. - Page through results for large datasets.
Current outcomes:
ACCEPTED— Request passed all checks and was dispatched to outputs.AUTH_FAILED— Inbound authentication failed (wrong credentials, expired HMAC signature, or SPF/DKIM/DMARC enforcement rejection for email endpoints).CAPTCHA_FAILED— Human verification (Turnstile/reCAPTCHA) token was missing or invalid.DELIVERY_FAILED— Request was accepted, all delivery attempts have settled, and at least one output target failed.EMAIL_INGESTION_ACCEPTED— Inbound email was accepted and dispatched. It may appear asPENDINGwhile output deliveries are still in progress.EMAIL_INGESTION_DISABLED— Historical outcome for email sent to a disabled endpoint. Current disabled endpoint hits are omitted from request activity.EMAIL_INGESTION_REJECTED— Inbound email was rejected by an email-specific policy or setup check, such as sending to a non-email endpoint, using an unsupported body-as-payload format, an empty/HTML-only body wheretext/plainis required, or a null SMTP sender rejected by an allow-list. The specific reason is in the log entry'serrorReasonfield.FAILOVER_TRIGGERED— A webhook output exhausted all retries and its failover destination was activated. It may appear asPENDINGwhile the failover delivery is still in progress.FIELD_VALIDATION_FAILED— Payload fields failed a configured validation rule (wrong type, missing required field, regex mismatch).IP_BLOCKED— The originating IP address is not on the endpoint's IP allowlist.MALFORMED_FORM_PAYLOAD— Request body withapplication/x-www-form-urlencodedcould not be parsed.MALFORMED_JSON_PAYLOAD— Request body withapplication/jsonwas not valid JSON.MALFORMED_XML_PAYLOAD— Request body withapplication/xmlortext/xmlwas not valid XML. The error reason isMalformed XML body.MALFORMED_QUERY_PARAM— Query parameter parsing failed (e.g., invalid Base64 in query parameter mode).MISSING_REQUIRED_HEADERS— A required request header declared on the endpoint is missing or has the wrong value.METHOD_NOT_ALLOWED— The HTTP method of the incoming request does not match the endpoint's configured method.PAUSED— Historical outcome for paused endpoint hits. Current paused endpoint hits are omitted from request activity.PENDING— Request was accepted and at least one regular or failover delivery is still in progress. Once all deliveries settle, the row moves to the final outcome (ACCEPTED,EMAIL_INGESTION_ACCEPTED,DELIVERY_FAILED, orFAILOVER_TRIGGERED).PAYLOAD_TOO_LARGE— The event exceeded the maximum allowed size for your plan (256 KB Sandbox/Solo, 512 KB Team trial/Team, 1 MB Scale).QUOTA_EXCEEDED— The monthly accepted-event quota was already exhausted when the event arrived.RATE_LIMITED_ENDPOINT— The endpoint's per-minute rate limit was exceeded. Request returns429with aRetry-Afterheader.REQUEST_BODY_FILTER_FAILED— The request body did not satisfy a configured body filter rule.SUBSCRIPTION_BLOCKED— The organization's subscription is inactive, expired, or otherwise blocked from relaying.TEST_ACCEPTED,TEST_REJECTED,TEST_RATE_LIMITED— Outcomes from the relay-target Send test button (not real traffic).UNSUPPORTED_MEDIA_TYPE— The incomingContent-Typedoes not match what the endpoint expects.WEBHOOK_INGESTION_DISABLED— A webhook-style request hit an enabled endpoint that has webhook ingestion disabled. Disabled endpoint hits are omitted from request activity.
Note: Email-sourced relays use the same granular validation outcomes where possible. Body filters log
REQUEST_BODY_FILTER_FAILED, field validations logFIELD_VALIDATION_FAILED, SPF/DKIM/DMARC and non-empty disallowed senders logAUTH_FAILED, and generic email setup/policy rejects logEMAIL_INGESTION_REJECTED.
Requests rejected solely because an endpoint is disabled or paused do not create request activity rows.
Additional filters
The request log supports additional filters to narrow results:
- Outcome multi-select: Filter by one or more specific outcomes. The existing category shortcuts (
success,pending,errors,test) are still supported. You can also pass a comma-separated list of exact outcome names (e.g.ACCEPTED,DELIVERY_FAILED). - Source IP filter: Enter an IP address to show only requests from that specific originating IP.
- Error search: Type a substring to filter logs by error reason, outcome enum name, or outcome display label (case-insensitive). Results update as you type (debounced).
All filter state is reflected in the URL query string for deep-linking.
CSV export
The Export CSV button appears in the Request Log panel header, next to the "Clear filters" affordance. Clicking it downloads a CSV file containing all log entries that match the current filters and time window.
Columns exported (in order): timestamp_utc, endpoint_id, endpoint_name, outcome, http_method, source_ip, error_reason, request_id. The http_method value may be blank for historical rows or activity that is not tied to a specific inbound HTTP method.
Row cap: Up to 100,000 rows are exported. If your filters would return more, the file is truncated and a comment line # truncated at 100000 rows; narrow your filters is appended. Use tighter date ranges or outcome filters to reduce result size.
Exports may be temporarily limited during high-volume use. If you see a retry message, wait before starting another export.
4. Drill down by endpoint
- Filter to one endpoint.
- Compare outcomes against endpoint settings (method, auth, captcha, validation, outputs).
- Use trend direction to confirm recovery after changes.
Expected result and verification checks
- You can distinguish input rejection vs destination-delivery failures.
- You can scope incidents to one endpoint, one provider, or broader impact.
Data retention and privacy:
- A metadata-only activity trail and delivery outcomes are retained for 30 days.
- Payload bodies are excluded from the activity trail. They are processed in delivery and retry queues while events are being forwarded.
- A failed queue message can remain in an operational dead-letter queue until it is remediated or purged.
Common issues and fixes
- Traffic drops to zero: verify sender integration and endpoint URL.
METHOD_NOT_ALLOWEDspikes: sender method drifted from endpoint setting.PAYLOAD_TOO_LARGEspikes: sender payloads exceed the endpoint limit for the current plan.MALFORMED_FORM_PAYLOADspikes: sender is posting invalidapplication/x-www-form-urlencodeddata.MALFORMED_XML_PAYLOADspikes: sender is posting invalid XML or a body that does not match the endpoint's XML payload format.DELIVERY_FAILEDspikes: inspect relay target auth/URL/TLS and destination uptime.
Related guides
- Troubleshooting
- Endpoint Management
- Retries and Delivery Behavior
- Incident Response
- Failure-Rate Alerts
- Audit Log — organization-level audit trail of admin actions and auth events.