Search Webhook Events

Search for webhook events using a flexible query language. Webhook events are the individual delivery records for your webhooks — one per event, per webhook. Use this endpoint to find events (for example, all `failed` deliveries for a given webhook in a time window) before re-running them. ## Data Freshness Do not use search for read-after-write flows because the data will not be immediately available to search. Under normal operating conditions, data is searchable within approximately 1 minute of creation or modification. Propagation could be delayed during an outage. ## Retention Webhook events are retained for a limited window. Searches are automatically bounded to that window, so events older than the retention period are not returned even if requested. ### Searchable Attributes The following attributes can be used in query predicates: | Attribute | Description | |-----------|-------------| | `updated_at` | Timestamp the event was last updated (i.e. last delivery attempt). Supports `eq`, `gt`, `gte`, `lt`, `lte`. | | `status` | Delivery status: `pending`, `completed`, `failed`, or `skipped`. | | `webhook_id` | Webhook token (e.g. `wbh_ABC123`). | | `event_id` | Event token the webhook event was created from (e.g. `evt_ABC123`). | | `event_name` | Event name (e.g. `inquiry.completed`). | | `webhook_event_id` | Webhook event token (e.g. `wbhe_ABC123`). | | `related_object_ids` | A related object token contained in the event payload. | All attributes other than `updated_at` support only the `eq` operator.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Headers

Key-InflectionenumOptional
Determines casing for the API response.
Allowed values:
Idempotency-KeystringOptional
Ensures the request is idempotent.
Persona-VersionenumOptional
Server API version. More info on versioning can be found [here](https://docs.withpersona.com/versioning).

Query parameters

fieldsmap from strings to stringsOptional
Comma-separated list(s) of attributes to include in the response. This can be used to customize which attributes will be serialized in the response. See [Serialization](https://docs.withpersona.com/serialization#sparse-fieldsets) for more details.
pageobjectOptional

Request

This endpoint expects an object.
queryobjectOptional

Search query using boolean logic (AND/OR/NOT) and comparison operators. Supports predicates with operators: eq (equal), gt (greater than), gte (greater than or equal), lt (less than), lte (less than or equal). Only updated_at supports the range operators; all other attributes support only eq.

sortobjectOptional
Sort configuration for results
pageobjectOptional
Pagination parameters

Response headers

RateLimit-Limitinteger
The maximum number of requests permitted in the current rate limit window for the API key used to authenticate the request. Returned on every authenticated response.
RateLimit-Remaininginteger
The number of requests remaining in the current rate limit window for the API key used to authenticate the request. Returned on every authenticated response.
RateLimit-Resetinteger
The number of seconds until the current rate limit window resets. Returned on every authenticated response.
Request-IdstringOptional

The unique identifier of the API log entry that recorded this request. Starts with req_. Include this value when reaching out to Persona support. Present on every authenticated response, including error responses.

Persona-Environment-IdstringOptional
The token of the Persona environment that handled the request. Returned on every authenticated response, including most error responses.
Persona-Organization-IdstringOptional
The token of the Persona organization that handled the request. Returned on every authenticated response, including most error responses.

Response

This endpoint returns a collection of Webhook Event objects matching the search criteria.
datalist of objects
An array of Webhook Events matching the search criteria

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
409
Conflict Error
422
Unprocessable Entity Error
429
Too Many Requests Error