Stages the event catalog's sample for one event type into a live session's buffer.
POST
/api/notifications/listen-sessions/{id}/sample
deprecated
Requires: Notifications.ListenSessions.Listen, Notifications.Destinations.Test, merchant scope.
The destination-bound sample send cannot reach a session: it bypasses dispatch entirely. This is the session-targeted equivalent, built from the same sample factory and the same envelope leg, so a receiver validated against the published schema is validated against this too. Sandbox-only. A caller acting in the live world is refused, as is one carrying no evidence of which world it is acting in: a sample is a synthetic event that never happened, and staging one into a production feed puts an invented occurrence in front of a receiver processing real traffic.
Example request
Every block below sends the same request. Replace {{BASE_URL}} with the address of the API you are calling and {{API_KEY}} with your own key.
The request body is a StageSampleEventInput. See the Request body section below for its fields.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
id
required |
path | string (uuid) | |
suppressNulls
required |
query | boolean | If true, omit properties with null values. |
Request body
application/json
, required
| Field | Type | Description |
|---|---|---|
eventType
required |
string | Canonical event type to build the sample for. nullablemax length 256 |
This request body has no documented fields.
Responses
200 The sample was staged and will arrive on the next poll.
Body: ListenSessionEventDto
Each item has these fields.
| Field | Type | Description |
|---|---|---|
id
required |
string (uuid) | The staged-event id. The client's dedupe key across the cursor's overlap window. |
stagedAtUtc
required |
string (date-time) | When the event was staged. The first half of the cursor. |
eventId
required |
string | The platform event id, forwarded as `X-WinkPG-Event-Id`. nullable |
eventType
required |
string | Canonical event type. nullable |
deliveryId
required |
string (uuid) | The per-staged-event delivery id, forwarded as `X-WinkPG-Delivery-Id`. |
isSample
required |
boolean | Whether this event was staged by a sample request rather than a live occurrence. When true, the forward to the local target carries `X-WinkPG-Sample: true`, the same marker a sample sent to a saved endpoint carries. The body is identical either way. |
payload
required |
string | The webhook body, verbatim. Forwarded to the local target byte for byte: re-serializing it client-side would change the bytes the signature covers and break verification. nullable |
This response has no documented body fields.
403 The event type is unregistered, undeliverable, or outside the caller's scope; or the caller is not acting in the test world, which sample events require.
Body:
Each item has these fields.
| Field | Type | Description |
|---|
This response has no body.
404 No such session for this caller, or it is no longer active.
Body:
Each item has these fields.
| Field | Type | Description |
|---|
This response has no body.
default The request failed. The body carries the standard error envelope: a machine-readable `error.code`, a human-readable `error.message`, and `error.validationErrors` when the failure was a validation rejection. See the error-code reference in this document's description for the values `error.code` can take.
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
429 The request was refused because a rate limit was exceeded. Wait at least the interval `Retry-After` names before retrying, then back off. Limits are tuned per deployment, so read the allowance from the response headers rather than assuming a fixed ceiling.
Body: RateLimitProblemDetails
Each item has these fields.
| Field | Type | Description |
|---|---|---|
type
required |
string | The problem type identifier. Always the same value: the failure is the status code itself, so there is no sub-type for a caller to branch on. nullable |
title
required |
string | A short, human-readable summary of the problem type. nullable |
status
required |
integer (int32) | The HTTP status code, repeated in the body as the problem-details format defines. |
detail
required |
string | A human-readable explanation of this occurrence of the problem. nullable |
retryAfterSeconds
required |
integer (int32) | How long to wait before retrying, in whole seconds, carrying the same figure as the `Retry-After` header. Always at least one: a value of zero would invite an immediate retry that is certain to be rejected again. |
This response has no documented body fields.
Errors
A failed request returns the platform error envelope. The
error reference lists every value
error.code can carry and shows the four response shapes.