---
title: "Create a webhook subscription"
method: POST
path: "/webhooks"
tags: ["webhooks"]
---

# Create a webhook subscription

`POST /webhooks`

Subscribes to get Webhook notifications for the specified asset event type
within the specified Brandfolder. 

> **Important:** This operation uses server `https://brandfolder.com/api/v1` (notice the version is `v1`).

## Request body

- object
  - `data` object, required
    - `attributes` object, required
      - `event_type` 'asset.create' | 'asset.update' | 'asset.delete', required — An event type. Here are the currently supported event types: - `asset.create`: A new asset has been created within the subscribed Brandfolder - `asset.update`: Asset data has been updated within the subscribed Brandfolder - `asset.delete`: An asset has been removed from within the subscribed Brandfolder
      - `resource_key` string, required — The ID of the resource being acted on.
      - `resource_type` string, required — The type of resource the event acts on. Currently, `brandfolder` is the only supported type.
      - `callback_url` string, required — An HTTPS URL where webhook data will be posted. Please ensure the URL begins with `https://` and that it is a public domain (not `localhost`, behind a firewall, or any other domain requiring authentication) which can receive HTTP `POST` requests and respond with a `2xx` HTTP status code.

## Response `200`

The webhook was successfully created.

- object
  - `data` Webhook, required
    - `id` string, required — Unique identifier for the resource instance.
    - `attributes` WebhookAttributes, required
      - `event_type` 'asset.create' | 'asset.update' | 'asset.delete', required — An event type. Here are the currently supported event types: - `asset.create`: A new asset has been created within the subscribed Brandfolder - `asset.update`: Asset data has been updated within the subscribed Brandfolder - `asset.delete`: An asset has been removed from within the subscribed Brandfolder
      - `resource_key` string, required — brandfolder_id
      - `resource_type` string, required
      - `callback_url` string, required

## Other responses

- `400` — Invalid Payload Provided
- `403` — Permission Denied for Provided Resource
- `404` — Provided Resource Does Not Exist
- `409` — Subscription Already Exists
- `default` — Generic error payload

---

[API](https://skmtc.net/smartsheet/apis/brandfolder-openapi-reference.md) · [All operations](https://skmtc.net/smartsheet/apis/brandfolder-openapi-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/smartsheet/brandfolder-openapi-reference/revisions/fd95b0a2d2f8/schema)
