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

# Create webhook



## OpenAPI

````yaml /api-reference/openapi.json post /webhooks
openapi: 3.0.3
info:
  title: FileFeed API
  version: '2026-05-25'
  description: >-
    Official FileFeed REST API for connections, pipelines, schemas, pipeline
    runs, webhooks, outbound uploads, documents, files, and notifications.
    Date-based API versioning is controlled by the `FileFeed-Version` request
    header (default `2024-09-01`; latest `2026-05-25`); this document describes
    the `2026-05-25` shape.
servers:
  - url: https://api.sftpsync.io
security:
  - ApiKeyAuth: []
tags:
  - name: Connections
  - name: Pipelines
  - name: Schemas
  - name: Pipeline Runs
  - name: Webhooks
  - name: Outbound Uploads
  - name: Documents
  - name: Files
  - name: Notifications
  - name: Clients (deprecated)
paths:
  /webhooks:
    post:
      tags:
        - Webhooks
      summary: Create webhook
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWebhookParams'
      responses:
        '201':
          description: >-
            Webhook created. The response includes the signing `secret` — shown
            once, never returned again.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateWebhookResponse'
components:
  schemas:
    CreateWebhookParams:
      type: object
      description: >-
        eventType and secret are not accepted on create/update: the server
        defaults eventType to GENERAL and generates the secret (both returned on
        the Webhook response).
      properties:
        name:
          type: string
        description:
          type: string
        url:
          type: string
          format: uri
        headers:
          type: object
          additionalProperties:
            type: string
        isActive:
          type: boolean
      required:
        - name
        - url
    CreateWebhookResponse:
      description: >-
        Returned by `POST /webhooks` only. Identical to Webhook plus the
        generated signing `secret`, which is shown once here and never again.
      allOf:
        - $ref: '#/components/schemas/Webhook'
        - type: object
          properties:
            secret:
              type: string
              description: HMAC signing secret. Store it now — it is never returned again.
          required:
            - secret
    Webhook:
      type: object
      description: >-
        Webhook read shape. The signing `secret` is NOT returned on reads — it
        is shown only once on the create response (see CreateWebhookResponse).
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
        url:
          type: string
          format: uri
        eventType:
          type: string
          description: Defaults to GENERAL. Set server-side; not accepted on create/update.
        headers:
          type: object
          additionalProperties:
            type: string
        isActive:
          type: boolean
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      required:
        - id
        - name
        - url
        - eventType
        - isActive
        - createdAt
        - updatedAt
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````