Webhook Logs

The Webhook Log Object

Use webhook logs to troubleshoot Rutter's webhook deliveries to your configured endpoints. List logs for a connection to find a webhook log ID, then fetch that ID to inspect the payload and individual delivery attempts.

Authenticate with your organization's client ID and client secret using Basic authentication. Both endpoints are scoped to your organization. The list endpoint requires the connection's UUID item_id, rather than its access token.

List Webhook Logs

GEThttps://production.rutterapi.com/versioned/logs/webhooks

The response contains webhook_logs summaries with IDs, webhook types, resource IDs, delivery URLs, delivery status, retry counts, and timestamps. Payloads and delivery attempts are available from the detail endpoint below.

Select a time window and filters

Each request searches a one-hour window based on the webhook event's creation time, including the start and excluding the end: [start_time, start_time + 1 hour). Omitting start_time searches the most recent hour. There is no end_time parameter, and later retries do not move an event into a new creation-time window.

start_time must be an ISO 8601 timestamp with an explicit timezone, such as 2026-10-08T12:00:00Z or 2026-10-08T08:00:00-04:00. The current list endpoint accepts start times within the last seven days, up to the current time.

Optional filters are webhook_type (an exact type such as ORDER_CREATED) and success (the literal string true or false). success=false means the event has not been delivered successfully; it can include events with retries still pending. retry_amount counts retries after the initial attempt. Check the detail endpoint for each attempt's outcome.

Paginate within the same window

Results are ordered by creation time descending. page starts at 1; limit defaults to 100 and must be an integer from 1 to 500. The offset (page - 1) * limit cannot exceed 1,000,000.

The response reports the searched time_window (with start and end in UTC), the effective page and limit, and has_more. An empty webhook_logs array means no events matched that window and those filters.

  1. To inspect a longer historical period, set start_time to the earliest time you want to inspect within the available history. Request page 1 with that start_time, item_id, and any filters. Omit start_time only if you want to inspect the most recent hour.
  2. Save the returned time_window.start. If has_more is true, request the next page with that value as start_time, the same item_id, filters, and limit, and increment page.
  3. Continue until has_more is false to finish paging through this window. If you began at an earlier start_time and want to inspect the next hour, use the returned time_window.end as the next start_time and reset page to 1. Repeat until you reach the end of your desired period or the current time. If you started with the default most recent hour, there is no newer historical window to advance to.

Pinning start_time keeps the window fixed; omitting it on each page would shift the window as time passes. Delivery status and retry information can still change while you paginate.

Request Parameters

    item_idstringqueryRequired

    ID of the connection to return webhook delivery logs for.

    limitintegerqueryOptional
    pageintegerqueryOptional
    start_timestringqueryOptional

    ISO 8601 timestamp with a timezone marking the inclusive start of a one-hour webhook creation-time window. Must be in the recent past. The window ends one hour after start_time, exclusively. Defaults to one hour ago.

    successenumqueryOptional

    Filter to only successful (or only failed) deliveries.

    One oftrue or false.
    webhook_typestringqueryOptional

    Filter to a single webhook type, e.g. ORDER_CREATED.

Response Body

Fetch a Webhook Log

GEThttps://production.rutterapi.com/versioned/logs/webhooks/:id

Use an id from webhook_logs to fetch the full log. This ID identifies the logged webhook event; it is distinct from a resource ID, webhook configuration ID, or delivery attempt ID.

The response wraps the detail in webhook_log, adding payload, actual_body, and an attempts array to the summary fields. Attempts are ordered by request start time ascending. Each attempt includes its request body, delivery URL, timing, HTTP status or network error, response headers and body, and whether the response body was truncated. response_headers is a string of header lines, while response_body is a nullable string; non-JSON response bodies may be redacted in full.

Credential-shaped values in payloads, attempt bodies, response headers and bodies, and URLs are redacted as [REDACTED]. Delivery URLs in list summaries are also redacted.

Detail lookups are limited to recent webhooks and may cover a longer history than listing. An unknown ID, an event belonging to another organization, or an event outside the available lookup window returns HTTP 410 with error code RESOURCE_NOT_FOUND.

Request Parameters

    idstringpathRequired

    The Rutter generated unique ID of the object.

Response Body

Have questions?

Contact support for personalized guidance.

Contact support
Previous
Request Logs