---
title: "Create Webhook"
method: POST
path: "/webhooks"
tags: ["Programmatic Webhooks"]
---

# Create Webhook

`POST /webhooks`

Create a new webhook subscription.

## Request body

- CreateWebhookRequest
  - `topic` 'return' | 'label' | 'restock' | 'label.request' | 'giftcard' | 'happy.returns.shipment', required — The webhook's topic.
  - `trigger` 'return.created' | 'return.updated' | 'return.closed' | 'label.created' | 'label.updated' | 'restock.requested' | 'label.request.issued' | 'label.request.cancelled' | 'giftcard.requested' | 'shipment.processed', required — The condition which triggers the webhook.
  - `url` string, required — The webhook's URL.
  - `status` 'active' | 'inactive' — The webhook's status.

## Response `201`

Created

- Webhook
  - `id` integer — The webhook's unique identifier.
  - `shop_id` integer — The unique identifier of the shop that created the webhook.
  - `topic` 'return' | 'label' | 'restock' | 'label.request' | 'giftcard' | 'happy.returns.shipment' — The webhook's topic.
  - `trigger` 'return.created' | 'return.updated' | 'return.closed' | 'label.created' | 'label.updated' | 'restock.requested' | 'label.request.issued' | 'label.request.cancelled' | 'giftcard.requested' | 'shipment.processed' — The condition which triggers the webhook.
  - `url` string — The webhook's URL.
  - `status` 'active' | 'inactive' — The webhook's status.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `422` — Unprocessable

---

[API](https://skmtc.dev/loopreturns/apis/listings-api.md) · [All operations](https://skmtc.dev/loopreturns/apis/listings-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/loopreturns/listings-api/revisions/750e6012dbb8/schema)
