Brandfolder · AsyncAPI Specification

Brandfolder Webhooks

Version

View Spec View on GitHub Digital Asset ManagementDAMBrand ManagementAssetsMediaCollectionSmartsheetAsyncAPIWebhooksEvents

AsyncAPI Specification

Raw ↑
generated: '2026-08-13'
method: searched
source: openapi/brandfolder-openapi-original.yml (webhooks tag) + https://developers.smartsheet.com/api/brandfolder/openapi
spec_type: none
asyncapi_published: false
asyncapi_note: >
  Brandfolder publishes no AsyncAPI document. The event surface is documented
  only as three REST operations under the `webhooks` tag in the OpenAPI, so this
  artifact captures the webhook catalog rather than a machine-readable event
  spec. Nothing here is invented - every event type and field below is read from
  the published OpenAPI request schemas.
surface: webhooks
transport: HTTPS POST to a subscriber-supplied callback_url
management_api:
  base: https://brandfolder.com/api/v1
  note: The webhook operations run on v1 while the rest of the API is v4.
  operations:
    - operationId: opIdApiV4WebhooksGet
      method: GET
      path: /webhooks
      summary: List active webhooks
    - operationId: opIdApiV4WebhooksPost
      method: POST
      path: /webhooks
      summary: Create a webhook subscription
    - operationId: opIdApiV4WebhooksByIdGet
      method: GET
      path: /webhooks/{webhook_id}
      summary: Fetch an active webhook
    - operationId: opIdApiV4WebhooksByIdDelete
      method: DELETE
      path: /webhooks/{webhook_id}
      summary: Delete a webhook
    - operationId: opIdApiV4WebhooksSendPost
      method: POST
      path: /webhooks/send
      summary: Generate a test webhook
events:
  - name: asset.create
    description: A new asset has been created within the subscribed Brandfolder.
  - name: asset.update
    description: Asset data has been updated within the subscribed Brandfolder.
  - name: asset.delete
    description: An asset has been removed from within the subscribed Brandfolder.
event_count: 3
subscription:
  resource_type:
    values: [brandfolder]
    note: brandfolder is the only supported subscription scope - you cannot subscribe at collection, section or organization level.
  required_attributes: [event_type, resource_key, resource_type, callback_url]
  callback_url_constraints: >
    Must begin with https:// and resolve to a public domain (not localhost, not
    behind a firewall, not requiring authentication), and must answer the POST
    with a 2xx status.
delivery:
  signing: null
  signature_header: null
  retries: null
  ordering: null
  note: >
    Brandfolder documents no webhook payload signature, no shared secret, no
    retry policy and no delivery-ordering guarantee. A receiver cannot verify
    that a delivered payload came from Brandfolder. This is a real gap, recorded
    as measured - the OpenAPI declares no signing field and the docs mention none.
testing:
  operation: opIdApiV4WebhooksSendPost
  description: >
    POST /webhooks/send queues a fake notification to your callback_url and
    answers 202. The docs instruct you to confirm receipt here before creating a
    production subscription. This is the closest thing Brandfolder ships to a
    sandbox for the event surface.
  optional_overrides: [asset_key, organization_key]
errors:
  - status: 400
    meaning: Invalid payload or header provided
  - status: 403
    meaning: Permission denied for provided resource
  - status: 404
    meaning: Webhook does not exist, or requester does not own it
  - status: 409
    meaning: Subscription already exists