---
search:
  tags:
    - Webhooks
    - POST
seo:
  description: >-
    Create a webhook for a seller. Reference for the POST
    /sellers/{seller_id}/webhooks endpoint in the Bolder API v2.
sidebar:
  label: Create a webhook for a seller
  badge: POST
title: Create a webhook for a seller
type: openapi-operation
---
`POST /sellers/{seller_id}/webhooks`

**cURL**

```bash
curl -s -X POST \
  -H "Authorization: Bearer $BOLDER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"topic":"order.created","url":"https://myapp.com/webhook"}' \
  "https://api.onbolder.com/v2/sellers/5/webhooks"
```

**Request body** (`application/json`, required)

- `topic` (string, required) — Supported topics: \`order.created\`, \`order.updated\`, \`order.updated.closed\`, \`order.updated.shipped\`, \`customer.created\`, \`customer.updated\`, \`customer.opted\_in\`, \`customer.opted\_out\`, \`product.created\`, \`product.updated\`, \`product.deleted\`. The plural spelling (\`orders.created\`) is accepted too; either way the subscription receives the singular one. See the Webhooks section for the topic spelling and what each customer event means.
- `url` (string, required)
- `notify_origin` (boolean) — If false, does not notify the request-originating host
- `auth` (object)

Request body example:

```json
{
  "topic": "order.created",
  "url": "https://myapp.com/webhook"
}
```

**Responses**

- `201` — Webhook created
- `403` — Token lacks the scope required to subscribe to this topic

Response example, 201:

```json
{
  "id": 101,
  "channel_id": 5,
  "topic": "order.created",
  "topic_style": "singular",
  "url": "https://myapp.com/webhook",
  "status": "pending",
  "notify_origin": false,
  "_links": {
    "self": {
      "href": "https://api.onbolder.com/v2/webhooks/101"
    }
  }
}
```
