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

# Create webhook configurations

> This endpoint create webhook configurations.




## OpenAPI

````yaml /assets/openapi/openapi-bundled.yaml post /webhooks
openapi: 3.1.0
info:
  title: Partoo Rest API
  version: v2
  license:
    name: © Copyright Partoo
    url: https://www.partoo.co/en/gtu-api/
  x-logo:
    url: >-
      https://partoo-client-images.s3.amazonaws.com/logo-partoo-restapi-white.png
  description: >
    ## Introduction

    The Partoo Rest API allows you to automate all the actions that are possible
    to do in the Partoo Web Application.


    The Partoo Rest API can be used for many different purposes:
      - Create/update/delete your businesses & users if you are a client.
      - Create/subscribe/manage organizations, businesses & users if you are a reseller.
      - Retrieve data on businesses you have access to if you are a publisher.
      - ...
servers:
  - url: https://api.partoo.co/v2
    description: Production server
  - url: https://api.sandbox.partoo.co/v2
    description: Sandbox server (dev environment for clients & partners)
security:
  - ApiKeyAuth: []
paths:
  /webhooks:
    post:
      tags:
        - Webhooks
      summary: Create webhook configurations
      description: |
        This endpoint create webhook configurations.
      operationId: Webhook
      parameters:
        - $ref: '#/components/parameters/org_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWebhooksPayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      items:
                        type: array
                        description: List of created webhook configurations
                        items:
                          $ref: '#/components/schemas/WebhookItem'
        '400':
          $ref: '#/components/responses/400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
components:
  parameters:
    org_id:
      name: org_id
      in: query
      schema:
        type: integer
      description: Organization identifier, only required for `PROVIDER` users.
      example: 1
      required: false
  schemas:
    CreateWebhooksPayload:
      type: object
      required:
        - items
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/CreateWebhookPayloadItem'
          description: The list of webhook configurations to create.
    WebhookItem:
      type: object
      required:
        - id
        - url
        - event_type
        - created_at
        - updated_at
        - org_id
      properties:
        id:
          type: integer
          description: The identifier for the webhook configuration.
          example: 1
        url:
          $ref: '#/components/schemas/url'
        event_type:
          $ref: '#/components/schemas/event_type'
        created_at:
          type: string
          description: An ISO 8601 date-time string representing the webhook creation date.
          example: '2024-11-27T16:10:44.929678Z'
        updated_at:
          type: string
          description: >-
            An ISO 8601 date-time string representing the webhook last update
            date.
          example: '2024-11-27T16:10:44.929678Z'
        org_id:
          type: integer
          description: The organization identifier for the webhook configuration.
          example: 1
        custom_headers:
          $ref: '#/components/schemas/CustomHeaders'
    CreateWebhookPayloadItem:
      type: object
      required:
        - url
        - event_type
      properties:
        url:
          $ref: '#/components/schemas/webhook_url'
        event_type:
          $ref: '#/components/schemas/webhook_event_type'
        custom_headers:
          $ref: '#/components/schemas/CustomHeaders'
    url:
      type: string
      description: The URL receiving the webhook's data.
      example: https://example.com/webhook
    event_type:
      type: string
      description: The webhook event type.
      enum:
        - business_created
        - business_updated
        - business_deleted
        - message_updated
        - message_created
        - lead_received
      example: business_created
    CustomHeaders:
      type: object
      description: >
        Custom HTTP headers to include in webhook requests. Keys must start with
        `X-` (case-insensitive) and must not use the reserved `X-Partoo` prefix.
        Maximum 5 headers. Key max length: 128 characters. Value max length: 512
        characters. The following characters are forbidden in header keys:
        space, `(`, `)`, `<`, `>`, `@`, `,`, `;`, `:`, `\`, `"`, `/`, `[`, `]`,
        `?`, `=`, `{`, `}`.
      maxProperties: 5
      propertyNames:
        type: string
        maxLength: 128
        pattern: ^[Xx]-(?![Pp][Aa][Rr][Tt][Oo][Oo])[^ ()<>@,;:\\\"\/\[\]?={}]*$
      additionalProperties:
        type: string
        maxLength: 512
      example:
        X-My-Header: my-value
        X-Auth-Token: secret-token
    webhook_url:
      type: string
      description: The URL receiving the webhook's data. Only HTTPS URLs are supported.
      example: https://example.com/webhook
    webhook_event_type:
      type: string
      description: The webhook event type.
      example: business_created
  responses:
    '400':
      description: Your request is incorrect
      content:
        application/json:
          schema:
            description: |
              Error that occcurs when your request is incorrect
            properties:
              errors:
                type: object
                description: The detail of the error encountered
                properties:
                  json:
                    type: object
    '403':
      description: |
        You are not allowed to perform this action
      content:
        application/json:
          schema:
            description: >
              Error that occurs when you are authenticated but you are trying to
              perform an action you are not allowed to perform
            type: object
            properties:
              errors:
                type: object
                description: The detail of the error encountered
                properties:
                  authorization:
                    type: string
                    default: Operation not allowed
    '404':
      description: Resource does not exist
      content:
        application/json:
          schema:
            description: >-
              Error that occcurs when you are trying to reach a resource that
              does not exist
            type: object
            properties:
              errors:
                type: object
                description: The detail of the error encountered
                properties:
                  json:
                    type: string
                    default: Resource not found
  securitySchemes:
    ApiKeyAuth:
      description: >
        The authentication system on Partoo API is using API Key that should be
        put in the header of the request (the name of the header is `x-APIKey`).
        An api_key is linked to a user. This user's role will give you different
        access level to the API features.
      type: apiKey
      in: header
      name: x-APIKey

````