Skip to content
Linra Omni Vendor Docs

Test fire vendor webhook subscription

Send a test delivery for a webhook subscription.

Webhooks

POST/api/v1/scent/webhooks/{id}/test-fire

Synthesizes a sample payload for the given (already-subscribed) event type and dispatches it through the SAME delivery path — including HMAC signing and the SSRF guardrails — a real event would use. No capability required — ownership is the only gate.

Path parameters

idstring (uuid)Required

Body parameters

eventTypestring (enum)Required

Carries the scent. product segment after the vendor. plane prefix, matching the platform’s product-scoped naming convention. vendor.scent.order.assigned requires the Orders capability to subscribe to; vendor.scent.offer.review-decision requires Offers — independently of each other.

Response

idstring (uuid)
eventTypestring (enum)

Carries the scent. product segment after the vendor. plane prefix, matching the platform’s product-scoped naming convention. vendor.scent.order.assigned requires the Orders capability to subscribe to; vendor.scent.offer.review-decision requires Offers — independently of each other.

idempotencyKeystring

Stable across every retry attempt of the SAME logical event — the same value that appears as eventId in the delivered envelope. Use it to dedupe.

attemptNumberinteger
httpStatusinteger
sentAtstring (date-time)
succeededboolean
errorSummarystring
deadLetteredAtstring (date-time)
nextAttemptAtstring (date-time)

Other responses

400The subscription isn’t subscribed to that event type.
401No bearer token (UNAUTHORIZED_MISSING_TOKEN), an invalid token (UNAUTHORIZED_INVALID_TOKEN) or an expired one (UNAUTHORIZED_TOKEN_EXPIRED — mint a new token). UPSTREAM_AUTH_FAILED is different: a dependent service refused the Gateway itself. That is a server-side fault — retry later and do NOT re-mint your token. See the Rate limits & errors guide.
403The route is not available to your credential (FORBIDDEN).
404Unknown subscription id.
415The request body is not sent as application/json (UNSUPPORTED_MEDIA_TYPE).
429Too many requests. Retry after the Retry-After header (seconds).
502A dependent service returned an invalid response (BAD_GATEWAY). Retry with backoff.
503The service is temporarily unavailable (SERVICE_UNAVAILABLE). Retry with backoff.
504A dependent service did not respond in time (GATEWAY_TIMEOUT). Retry with backoff.
curl --request POST \
--url https://api-omni-vendors.linra.net/api/v1/scent/webhooks/5b1e3a1c-9d2e-4f3a-8b1c-9f0a2e3d4c5b/test-fire \
--header 'Authorization: Bearer $TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"eventType": "vendor.scent.order.assigned"
}'

Response

{
"state": "SUCCESS",
"payload": {
"id": "5b1e3a1c-9d2e-4f3a-8b1c-9f0a2e3d4c5b",
"eventType": "vendor.scent.order.assigned",
"idempotencyKey": "string",
"attemptNumber": 0,
"httpStatus": 0,
"sentAt": "2026-08-22T09:14:03Z",
"succeeded": true,
"errorSummary": "string",
"deadLetteredAt": "2026-08-22T09:14:03Z",
"nextAttemptAt": "2026-08-22T09:14:03Z"
},
"details": null
}