Skip to content
BolderBolder API
Esc
navigateopen⌘Jpreview

Create a webhook for a seller

POST/sellers/{seller_id}/webhooks
Authorization
AuthorizationBearer token (JWT) · headerrequired
Path parameters
seller_idintegerrequired
Request body
requiredapplication/json
topicstringrequired
Supported topics: `orders.created`, `orders.updated`, `orders.updated.closed`, `orders.updated.shipped`, `contacts.created`, `contacts.updated`, `products.created`, `products.updated`, `products.deleted`
urlstringrequired
notify_originboolean
If false, does not notify the request-originating host
default: false
authobject
Show properties
typestring
default: "none"
Allowed:nonebasic
usernamestring
passwordstring
Responses
201Webhook created
_linksHalLinks
idinteger
channel_idinteger
topicstring
urlstring
statusstring
`active` — receiving deliveries normally. `failed_activation` — the initial activation handshake failed. `failed` — disabled automatically after 100 consecutive non-2xx delivery responses (see `error_count`); can be re-enabled via `PUT /webhooks/{id}/reactivate`. `disabled` — the target URL returned `410 Gone`; disabled immediately, with no retry threshold. Also reactivatable via the same endpoint.
Allowed:activefailed_activationfaileddisabled
authobject
notify_originboolean
app_idinteger
error_countinteger
last_errorstring
last_error_onstring<date-time>
created_onstring<date-time>
updated_onstring<date-time>
403Token lacks the scope required to subscribe to this topic
Request
curl -X POST "https://api.onbolder.com/v2/sellers/0/webhooks" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "topic": "orders.created",
  "url": "https://myapp.com/webhook"
}'
Response
{
  "id": 101,
  "channel_id": 5,
  "topic": "orders.created",
  "url": "https://myapp.com/webhook",
  "status": "pending",
  "notify_origin": false,
  "_links": {
    "self": {
      "href": "https://api.onbolder.com/v2/webhooks/101"
    }
  }
}