Skip to content
Linra Omni Vendor Docs

Update vendor webhook subscription

Update a webhook subscription's URL and/or event types.

Webhooks

PUT/api/v1/scent/webhooks/{id}

Either field may be omitted to leave it unchanged. A changed URL is re-validated against the SSRF guardrails. Adding a new event type is checked against THAT event type’s own required capability (same rule as create) — never a single fixed capability for the whole call.

Path parameters

idstring (uuid)Required

Body parameters

urlstring (uri)
eventTypesarray of string (enum)

Response

idstring (uuid)
urlstring (uri)
eventTypesarray of string (enum)
isActiveboolean
lastDeliveryAtstring (date-time)
lastDeliveryStatusstring (enum)

Null until the first delivery attempt. DeadLettered means every retry was exhausted.

createdAtstring (date-time)

Other responses

400Request validation failed.
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.
403One of the newly-added event types requires a capability your token doesn’t carry — see details.requiredCapability and details.eventType (which event type triggered it).
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 PUT \
--url https://api-omni-vendors.linra.net/api/v1/scent/webhooks/5b1e3a1c-9d2e-4f3a-8b1c-9f0a2e3d4c5b \
--header 'Authorization: Bearer $TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"url": "https://your-integration.example.com/webhooks/linra",
"eventTypes": [
"vendor.scent.order.assigned"
]
}'

Response

{
"state": "SUCCESS",
"payload": {
"id": "5b1e3a1c-9d2e-4f3a-8b1c-9f0a2e3d4c5b",
"url": "https://your-integration.example.com/webhooks/linra",
"eventTypes": [
"vendor.scent.order.assigned"
],
"isActive": true,
"lastDeliveryAt": "2026-08-22T09:14:03Z",
"lastDeliveryStatus": "Success",
"createdAt": "2026-08-22T09:14:03Z"
},
"details": null
}