> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bbrands.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Export Catalogue Events

> Asynchronous CSV/XLSX export. Requires `event:export`.



## OpenAPI

````yaml POST /webhook/event/export
openapi: 3.0.1
info:
  title: Webhook API
  description: |
    Outbound webhook subscriptions, event catalogue, delivery ledger and
    operator actions of horizon-api. Every endpoint requires a bearer token
    whose user holds the corresponding `webhook:*`, `webhook-event:*`,
    `webhook-dispatch:*` or `event:*` permission (granted to the
    `administrator` role in the first release).

    List endpoints share the platform query contract: `filters`
    (`field|operator|value,...`), `order_by` (`field:asc|desc,...`), `page`,
    `page_size`, `fields` and `populate`.
  version: '2026-09-11'
servers:
  - description: Production
    url: https://api.bbrands.io/api/v3
  - description: Certification
    url: https://certification.api.bbrands.io/api/v3
  - description: Development
    url: https://development.api.bbrands.io/api/v3
security:
  - bearerAuth: []
tags:
  - name: Webhook
    description: Subscribers — callback URL, secret and scope.
  - name: Webhook Event
    description: Links between a subscriber and a catalogue event.
  - name: Webhook Dispatch
    description: Delivery ledger — one row per subscriber per event.
  - name: Event
    description: Catalogue rows synced from the generated catalogue.
paths:
  /webhook/event/export:
    post:
      tags:
        - Event
      summary: Export catalogue events
      description: Asynchronous CSV/XLSX export. Requires `event:export`.
      operationId: eventExport
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExportBody'
      responses:
        '202':
          $ref: '#/components/responses/ExportQueued'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  schemas:
    ExportBody:
      type: object
      required:
        - format
      properties:
        filters:
          type: string
          description: Same syntax as the list `filters` query parameter.
        format:
          type: string
          enum:
            - csv
            - xlsx
        order_by:
          type: string
          description: Same syntax as the list `order_by` query parameter.
    ExportJob:
      type: object
      properties:
        document_id:
          type: string
          format: uuid
        entity:
          type: string
        format:
          type: string
          enum:
            - csv
            - xlsx
        requested_email:
          type: string
          format: email
        status:
          type: string
          enum:
            - queued
            - processing
            - ready
            - failed
            - expired
    Meta:
      type: object
      properties:
        correlation:
          type: string
          description: Request correlation id; quote it when reporting an issue.
        status:
          type: integer
        timestamp:
          type: string
          format: date-time
        version:
          type: string
          nullable: true
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
          description: Machine-readable error code.
        errors:
          type: array
          items: {}
        message:
          type: string
        meta:
          $ref: '#/components/schemas/Meta'
        status:
          type: integer
  responses:
    ExportQueued:
      description: Export queued. You will receive an email when the file is ready.
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                $ref: '#/components/schemas/ExportJob'
              message:
                type: string
              meta:
                $ref: '#/components/schemas/Meta'
    BadRequest:
      description: Validation error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Missing or invalid bearer token
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: The user lacks the required permission
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    TooManyRequests:
      description: Rate limit exceeded
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````