components:
  headers:
    xFabricRequestIdResponseHeader:
      description: Unique request ID
      example: 263e731c-45c8-11ed-b878-0242ac120002
      required: false
      schema:
        type: string
  parameters:
    xFabricChannelId:
      description: x-fabric-channel-id identifies the sales channel where the API request is being made; primarily for multichannel use cases. The channel ids are 12 corresponding to US and 13 corresponding to Canada. The default channel id is 12. This field is required.
      example: "12"
      in: header
      name: x-fabric-channel-id
      required: true
      schema:
        type: string
    xFabricChannelIdOptional:
      description: x-fabric-channel-id identifies the sales channel through which the API request is being made; primarily for multichannel use cases. It is an optional field. The default US channel is 12 while the default Canada channel is 13.
      example: "12"
      in: header
      name: x-fabric-channel-id
      required: false
      schema:
        type: string
    xFabricChannelIds:
      description: x-fabric-channel-id identifies the sales channel where the API request is being made; primarily for multichannel use cases. The channel ids are 12 corresponding to US and 13 corresponding to Canada. The default channel id is 12. This field is required. A comma separated list of sales channel IDs. This comma separated list of sales channel IDs are required when using multiple channels.
      example: 12, 13, 16
      in: header
      name: x-fabric-channel-ids
      required: false
      schema:
        type: string
    xFabricChannelIdsOptional:
      description: x-fabric-channel-id identifies the sales channel through which the API request is being made; primarily for multichannel use cases. It is an optional field. The default US channel is 12 while the default Canada channel is 13. This field is optional. **Note:** Use `xFabricChannelIds` for multiple channels, and `xFabricChannelId` for a single channel.
      example: 12, 13, 16
      in: header
      name: x-fabric-channel-ids
      required: false
      schema:
        type: string
    xFabricRequestId:
      description: Unique request ID
      example: 263e731c-45c8-11ed-b878-0242ac120002
      in: header
      name: x-fabric-request-id
      required: false
      schema:
        type: string
    xFabricTenantId:
      description: A header used by fabric to identify the tenant making the request. You must include tenant id in the authentication header for an API request to access any of fabric’s endpoints. You can retrieve the tenant id , which is also called account id, from [Copilot](/v3/platform/settings/account-details/getting-the-account-id). This header is required. 
      example: 5f328bf0b5f328bf0b5f328b
      in: header
      name: x-fabric-tenant-id
      required: true
      schema:
        type: string
  schemas:
    createWebhookDefinitionRequest:
      description: Details to create webhook
      properties:
        events:
          description: Events subscription. When the subscribed event is modified, the webhook sends a notification message to the `target`.
          example:
            - ORDER_CREATE
            - ORDER_CONFIRMED
          items:
            description: Webhook events
            enum:
              - CROSS_BORDER_VALIDATION
              - ORDER_CREATE
              - ORDER_HOLD_CROSSBORDER
              - ORDER_HOLD_FRAUD
              - ORDER_HOLD_CSR
              - ORDER_CONFIRMED
              - ORDER_IN_PROGRESS
              - ORDER_CANCEL
              - ORDER_EXCHANGE
              - FRAUD_CANCEL
              - FRAUD_RELEASE
              - ORDER_PARTIALLY_RETURNED
              - RETURN_PENDING
              - RETURN_PROCESSING
              - RETURN_REJECTED
              - ORDER_CANCELLED
              - ORDER_PARTIALLY_CANCELLED
              - ORDER_RETURNED
              - ORDER_SHIPPED
              - EXCHANGE_PENDING
              - EXCHANGE_TO_SHIPMENT
              - SINGLE_ITEM_ORDER_CONFIRMATION_EMAIL
              - MULTI_ITEM_ORDER_CONFIRMATION_EMAIL
              - BOPIS_ORDER_CONFIRMATION_EMAIL
              - SHIPPING_CONFIRMATION_EMAIL
              - BOPIS_ORDER_READY_FOR_PICKUP
              - BOPIS_ORDER_COMPLETED
              - BOPIS_REMINDER_EMAIL
              - BACKORDER_NOTIFICATION_EMAIL
              - BACKORDER_30_DAYS_CONSENT_TO_DELAY_EMAIL
              - BACKORDER_53_DAYS_CONSENT_TO_DELAY_EMAIL
              - BACKORDER_CANCEL_EMAIL
              - BACKORDER_AUTH_DECLINE_EMAIL
              - ORDER_CANCELLATION_EMAIL_WEBCSC_ORDER_ITEM_CANCEL
              - ORDER_CANCELLATION_EMAIL_WEBCSC_ORDER_CANCEL
              - ORDER_CANCELLATION_EMAIL_LOCATE_ORDER_ITEM_CANCEL
              - RETURN_NOTIFICATION_EMAIL
              - REFUND_NOTIFICATION_EMAIL
              - APPEASEMENT_NOTIFICATION_EMAIL
              - ORDER_CREATE_IN_PTS
              - ORDER_CANCELLED_IN_PTS
              - SHIPMENT_CREATE_IN_PTS
              - SHIPMENT_CANCELLED_IN_PTS
              - TRANSFER_CREATE_IN_PTS
              - TRANSFER_CANCELLED_IN_PTS
              - TRANSFER_SHIPMENT_CREATE_IN_PTS
              - TRANSFER_SHIPMENT_CANCELLED_IN_PTS
              - RETURN_LPN
              - ALLOCATION_CREATE
              - ALLOCATION_DC
              - ALLOCATION_CREATE_SDD
              - ALLOCATION_CREATE_BOPIS
              - ALLOCATION_CREATE_SHIP
              - ALLOCATION_CREATE_GIFTCARD
              - TRANSFER_CREATE
              - ALLOCATION_CREATE_INTERNATIONAL
              - SHIPMENT_CREATED
              - SHIPMENT_CANCELLED
              - GIFTCARD_ACTIVATE
              - PICKUP_CREATED
              - PICKUP_COMPLETED
              - SHIPMENT_UPDATE
              - INVOICE_POSTING
              - INVENTORY_CREATE
              - INVENTORY_UPDATE
              - INVENTORY_BULK
              - INVENTORY_NETWORK_UPDATED
              - INVENTORY_NETWORK_AGGREGATION
              - LIST_UPDATE
              - EXPORT_ORDER_INITIATED
              - EXPORT_ORDER_COMPLETED
              - EXPORT_ORDER_ERROR
              - EXPORT_ALLOCATION_INITIATED
              - EXPORT_ALLOCATION_COMPLETED
              - EXPORT_ALLOCATION_ERROR
              - EXPORT_SHIPMENT_INITIATED
              - EXPORT_SHIPMENT_COMPLETED
              - EXPORT_SHIPMENT_ERROR
              - EXPORT_INVOICE_INITIATED
              - EXPORT_INVOICE_COMPLETED
              - EXPORT_INVOICE_ERROR
              - EXPORT_LOCATION_INITIATED
              - EXPORT_LOCATION_COMPLETED
              - EXPORT_LOCATION_ERROR
              - EXPORT_INVENTORY_INITIATED
              - EXPORT_INVENTORY_COMPLETED
              - EXPORT_INVENTORY_ERROR
              - EXPORT_NETWORK_INITIATED
              - EXPORT_NETWORK_COMPLETED
              - EXPORT_NETWORK_ERROR
              - EXPORT_SHIPPING_METHODS_INITIATED
              - EXPORT_SHIPPING_METHODS_COMPLETED
              - EXPORT_SHIPPING_METHODS_ERROR
              - EXPORT_AGGREGATED_NETWORK_INITIATED
              - EXPORT_AGGREGATED_NETWORK_COMPLETED
              - EXPORT_AGGREGATED_NETWORK_ERROR
              - CREDIT_CONFIRMED
              - CREDIT_PENDING
              - CREDIT_FAILED
              - CREDIT_CANCELED
              - ORDER_CANCELLATION_COUPON_REVERSAL
            example: ORDER_CREATE
            maxLength: 2147483647
            minLength: 1
            type: string
          maxItems: 2147483647
          minItems: 1
          type: array
        format:
          description: Content-type of request body while triggering the webhook
          example: application/json
          type: string
        headers:
          description: Custom header list. These data will be sent to `target`.
          items:
            $ref: '#/components/schemas/customHeader'
          type: array
        protocol:
          description: Protocol used while triggering the webhook
          enum:
            - HTTP
          example: HTTP
          type: string
        requestType:
          description: Type of HTTP method used when triggering an event to the target
          enum:
            - POST
            - PUT
            - PATCH
            - GET
            - DELETE
          example: PATCH
          type: string
        source:
          description: Source of event trigger
          example: Orders
          type: string
        target:
          description: Target URL to which the webhook sends event message when a subscribed event is modified
          example: https://www.example.com
          type: string
        targetApiKey:
          description: API key of the target service, if authentication is required
          example: adfasdWdsaQFSsdf
          type: string
      required:
        - events
        - protocol
        - requestType
        - source
        - target
      type: object
    customHeader:
      description: Custom header details
      properties:
        headerName:
          description: Merchant defined header name
          example: Accept
          type: string
        headerValue:
          description: Merchant defined header value
          example: application/json
          type: string
        isSecret:
          default: false
          description: 'true: Stores the `headerName` and `headerValue` in encrypted format<br/>false: `headerName` and `headerValue` are stored as plain text'
          example: false
          type: boolean
      type: object
    errorResponse:
      description: Error response
      properties:
        errors:
          description: Errors
          items:
            $ref: '#/components/schemas/errorResponse'
          type: array
        message:
          description: Error message
          example: Bad request
          type: string
        type:
          description: Error type
          example: CLIENT_ERROR
          type: string
      type: object
    eventLogSearchFilter:
      description: Criteria to find webhook event log. To search using a single value, the `valueSearchFilter` is considered. To search using multiple values, `valuesSearchFilter` is considered.
      discriminator:
        mapping:
          EQ: '#/components/schemas/valueSearchFilter'
          GT: '#/components/schemas/valueSearchFilter'
          GTE: '#/components/schemas/valueSearchFilter'
          IN: '#/components/schemas/valuesSearchFilter'
          LT: '#/components/schemas/valueSearchFilter'
          LTE: '#/components/schemas/valueSearchFilter'
          NEQ: '#/components/schemas/valueSearchFilter'
          NIN: '#/components/schemas/valuesSearchFilter'
        propertyName: condition
      properties:
        condition:
          default: EQ
          description: 'Filter conditions. EQ (Equal to): Searches for exact match. NEQ (Not equal to): Searches by excluding the specified value. IN: Search for multiple values. NIN (Not IN): Excludes the specified values in the search. LT (Less than): Searches for values that are less than the specified value. GT (Greater than):  Search for values that are greater than the specified value. LTE (Less than or equal to): Searches for values that are less than or equal to the specified value. GTE (Greater than or equal to): Searches for values that are greater than or equal to the specified value.'
          enum:
            - EQ
            - NEQ
            - IN
            - NIN
            - LT
            - GT
            - LTE
            - GTE
          example: EQ
          type: string
        field:
          description: Field name
          example: eventLog.event
          pattern: ^eventLog\.[a-zA-Z.\-_]*
          type: string
        group:
          default: Default
          description: The group name.
          example: GroupA
          type: string
      required:
        - condition
        - field
      type: object
    eventResponseInfoResource:
      description: Event response
      properties:
        errorMessage:
          description: Error Message
          example: Request timed out
          type: string
        messageId:
          description: Message ID associated with the triggered event
          example: e89b-12d3-a456-426dsr6141
          type: string
        statusCode:
          description: Status code of the triggered event
          example: 502
          format: int32
          type: integer
        triggeredAt:
          description: Date and time when the event was triggered
          example: "2022-07-11T15:03:14.642Z"
          format: date-time
          type: string
        triggeredStatus:
          description: Status of the triggered event
          enum:
            - SUCCESS
            - FAILED
          example: FAILED
          type: string
      type: object
    logInfoResource:
      description: Webhook event log information
      properties:
        eventResponses:
          description: Response information
          items:
            $ref: '#/components/schemas/eventResponseInfoResource'
          type: array
        status:
          description: Webhook's status, identified by webhookId
          enum:
            - PENDING
            - TRIGGERED
            - SUCCESS
            - FAILED
            - EXCEPTION_OCCURRED
          example: PENDING
          type: string
        webhookId:
          description: Unique webhook ID to identify the webhook
          example: a34rf3asdf43rqwer
          type: string
      type: object
    pagination:
      description: Pagination response
      properties:
        count:
          description: Total number of search results
          example: 1000
          format: int32
          type: integer
        limit:
          default: 10
          description: Maximum number of records per page
          example: 10
          format: int32
          maximum: 100
          minimum: 1
          type: integer
        offset:
          default: 0
          description: Number of records to skip before returning all records. For example, `offset=20, limit=10` returns records 21-30.
          example: 1
          format: int32
          minimum: 0
          type: integer
      type: object
    retryResponse:
      description: Webhook retry response
      properties:
        messageId:
          description: Message ID
          example: a3wefds4fsafew
          type: string
        status:
          description: Status returned from webhook target
          enum:
            - SUCCESS
            - FAILED
          example: SUCCESS
          type: string
        webhookId:
          description: Unique webhook ID to identify the webhook
          example: 5f689caa4216e7000750d1ef
          type: string
      type: object
    updateWebhookDefinitionRequest:
      description: Request to update webhook
      properties:
        events:
          description: Events subscription. When the subscribed event is modified, the webhook sends a notification message to the `target`.
          example:
            - ORDER_CREATE
            - ORDER_CONFIRMED
          items:
            description: Webhook events
            enum:
              - CROSS_BORDER_VALIDATION
              - ORDER_CREATE
              - ORDER_HOLD_CROSSBORDER
              - ORDER_HOLD_FRAUD
              - ORDER_HOLD_CSR
              - ORDER_CONFIRMED
              - ORDER_IN_PROGRESS
              - ORDER_CANCEL
              - ORDER_EXCHANGE
              - FRAUD_CANCEL
              - FRAUD_RELEASE
              - ORDER_PARTIALLY_RETURNED
              - RETURN_PENDING
              - RETURN_PROCESSING
              - RETURN_REJECTED
              - ORDER_CANCELLED
              - ORDER_PARTIALLY_CANCELLED
              - ORDER_RETURNED
              - ORDER_SHIPPED
              - EXCHANGE_PENDING
              - EXCHANGE_TO_SHIPMENT
              - SINGLE_ITEM_ORDER_CONFIRMATION_EMAIL
              - MULTI_ITEM_ORDER_CONFIRMATION_EMAIL
              - BOPIS_ORDER_CONFIRMATION_EMAIL
              - SHIPPING_CONFIRMATION_EMAIL
              - BOPIS_ORDER_READY_FOR_PICKUP
              - BOPIS_ORDER_COMPLETED
              - BOPIS_REMINDER_EMAIL
              - BACKORDER_NOTIFICATION_EMAIL
              - BACKORDER_30_DAYS_CONSENT_TO_DELAY_EMAIL
              - BACKORDER_53_DAYS_CONSENT_TO_DELAY_EMAIL
              - BACKORDER_CANCEL_EMAIL
              - BACKORDER_AUTH_DECLINE_EMAIL
              - ORDER_CANCELLATION_EMAIL_WEBCSC_ORDER_ITEM_CANCEL
              - ORDER_CANCELLATION_EMAIL_WEBCSC_ORDER_CANCEL
              - ORDER_CANCELLATION_EMAIL_LOCATE_ORDER_ITEM_CANCEL
              - RETURN_NOTIFICATION_EMAIL
              - REFUND_NOTIFICATION_EMAIL
              - APPEASEMENT_NOTIFICATION_EMAIL
              - ORDER_CREATE_IN_PTS
              - ORDER_CANCELLED_IN_PTS
              - SHIPMENT_CREATE_IN_PTS
              - SHIPMENT_CANCELLED_IN_PTS
              - TRANSFER_CREATE_IN_PTS
              - TRANSFER_CANCELLED_IN_PTS
              - TRANSFER_SHIPMENT_CREATE_IN_PTS
              - TRANSFER_SHIPMENT_CANCELLED_IN_PTS
              - RETURN_LPN
              - ALLOCATION_CREATE
              - ALLOCATION_DC
              - ALLOCATION_CREATE_SDD
              - ALLOCATION_CREATE_BOPIS
              - ALLOCATION_CREATE_SHIP
              - ALLOCATION_CREATE_GIFTCARD
              - TRANSFER_CREATE
              - ALLOCATION_CREATE_INTERNATIONAL
              - SHIPMENT_CREATED
              - SHIPMENT_CANCELLED
              - GIFTCARD_ACTIVATE
              - PICKUP_CREATED
              - PICKUP_COMPLETED
              - SHIPMENT_UPDATE
              - INVOICE_POSTING
              - INVENTORY_CREATE
              - INVENTORY_UPDATE
              - INVENTORY_BULK
              - INVENTORY_NETWORK_UPDATED
              - INVENTORY_NETWORK_AGGREGATION
              - LIST_UPDATE
              - EXPORT_ORDER_INITIATED
              - EXPORT_ORDER_COMPLETED
              - EXPORT_ORDER_ERROR
              - EXPORT_ALLOCATION_INITIATED
              - EXPORT_ALLOCATION_COMPLETED
              - EXPORT_ALLOCATION_ERROR
              - EXPORT_SHIPMENT_INITIATED
              - EXPORT_SHIPMENT_COMPLETED
              - EXPORT_SHIPMENT_ERROR
              - EXPORT_INVOICE_INITIATED
              - EXPORT_INVOICE_COMPLETED
              - EXPORT_INVOICE_ERROR
              - EXPORT_LOCATION_INITIATED
              - EXPORT_LOCATION_COMPLETED
              - EXPORT_LOCATION_ERROR
              - EXPORT_INVENTORY_INITIATED
              - EXPORT_INVENTORY_COMPLETED
              - EXPORT_INVENTORY_ERROR
              - EXPORT_NETWORK_INITIATED
              - EXPORT_NETWORK_COMPLETED
              - EXPORT_NETWORK_ERROR
              - EXPORT_SHIPPING_METHODS_INITIATED
              - EXPORT_SHIPPING_METHODS_COMPLETED
              - EXPORT_SHIPPING_METHODS_ERROR
              - EXPORT_AGGREGATED_NETWORK_INITIATED
              - EXPORT_AGGREGATED_NETWORK_COMPLETED
              - EXPORT_AGGREGATED_NETWORK_ERROR
              - CREDIT_CONFIRMED
              - CREDIT_PENDING
              - CREDIT_FAILED
              - CREDIT_CANCELED
              - ORDER_CANCELLATION_COUPON_REVERSAL
            example: ORDER_CREATE
            maxLength: 2147483647
            minLength: 1
            type: string
          maxItems: 2147483647
          minItems: 1
          type: array
        format:
          description: Content-type of request body while triggering the webhook
          example: application/json
          type: string
        headers:
          description: Custom header list. These data will be sent to `target`.
          items:
            $ref: '#/components/schemas/customHeader'
          type: array
        protocol:
          description: Protocol used while triggering the webhook
          enum:
            - HTTP
          example: HTTP
          type: string
        requestType:
          description: Type of HTTP method used when triggering an event to the target
          enum:
            - POST
            - PUT
            - PATCH
            - GET
            - DELETE
          example: PATCH
          type: string
        source:
          description: Source of event trigger
          example: Orders
          type: string
        target:
          description: Target URL to which the webhook sends event message when a subscribed event is modified
          example: https://www.example.com
          type: string
        targetApiKey:
          description: API key of the target service, if authentication is required
          example: adfasdWdsaQFSsdf
          type: string
      required:
        - events
        - protocol
        - requestType
        - source
        - target
      type: object
    valueSearchFilter:
      allOf:
        - $ref: '#/components/schemas/webhookSearchFilter'
        - properties:
            value:
              description: A single value using which webhook is searched
              example: ORDER_CREATE
              oneOf:
                - description: Target record's non-numeric identifier
                  example: ORDER_CREATE
                  type: string
                - description: Target record's numeric identifier
                  example: 112233
                  format: int64
                  type: number
                - description: Target record's numeric identifier
                  example: 1122.33
                  format: double
                  type: number
          type: object
      description: Criteria to find webhooks by a single value. Condition between `field` and `value` is anything except IN and NIN when `valueSearchFilter` is used.
      required:
        - condition
        - field
      type: object
    valuesSearchFilter:
      allOf:
        - $ref: '#/components/schemas/webhookSearchFilter'
        - properties:
            values:
              items:
                description: Multiple values using which webhooks are searched
                example: ORDER_CREATE
                oneOf:
                  - description: Target record's non-numeric identifier
                    example: ORDER_CREATE
                    type: string
                  - description: Target record's numeric identifier
                    example: 112233
                    format: int64
                    type: number
                  - description: Target record's numeric identifier
                    example: 1122.33
                    format: double
                    type: number
              maxItems: 25
              minItems: 1
              type: array
          type: object
      description: Criteria to find webhooks by multiple values. Condition between `field` and `values` is either IN or NIN when `valuesSearchFilter` is used.
      required:
        - condition
        - field
      type: object
    webhookDefinitionResponse:
      description: Webhook definition response
      properties:
        createdAt:
          description: Date and time when the webhook was created
          example: "2022-07-11T15:03:14.642Z"
          format: date-time
          type: string
        events:
          description: Events subscription. When the subscribed event is modified, the webhook sends a notification message to the `target`.
          example:
            - ORDER_CREATE
            - ORDER_CONFIRMED
          items:
            description: Webhook events
            enum:
              - CROSS_BORDER_VALIDATION
              - ORDER_CREATE
              - ORDER_HOLD_CROSSBORDER
              - ORDER_HOLD_FRAUD
              - ORDER_HOLD_CSR
              - ORDER_CONFIRMED
              - ORDER_IN_PROGRESS
              - ORDER_CANCEL
              - ORDER_EXCHANGE
              - FRAUD_CANCEL
              - FRAUD_RELEASE
              - ORDER_PARTIALLY_RETURNED
              - RETURN_PENDING
              - RETURN_PROCESSING
              - RETURN_REJECTED
              - ORDER_CANCELLED
              - ORDER_PARTIALLY_CANCELLED
              - ORDER_RETURNED
              - ORDER_SHIPPED
              - EXCHANGE_PENDING
              - EXCHANGE_TO_SHIPMENT
              - SINGLE_ITEM_ORDER_CONFIRMATION_EMAIL
              - MULTI_ITEM_ORDER_CONFIRMATION_EMAIL
              - BOPIS_ORDER_CONFIRMATION_EMAIL
              - SHIPPING_CONFIRMATION_EMAIL
              - BOPIS_ORDER_READY_FOR_PICKUP
              - BOPIS_ORDER_COMPLETED
              - BOPIS_REMINDER_EMAIL
              - BACKORDER_NOTIFICATION_EMAIL
              - BACKORDER_30_DAYS_CONSENT_TO_DELAY_EMAIL
              - BACKORDER_53_DAYS_CONSENT_TO_DELAY_EMAIL
              - BACKORDER_CANCEL_EMAIL
              - BACKORDER_AUTH_DECLINE_EMAIL
              - ORDER_CANCELLATION_EMAIL_WEBCSC_ORDER_ITEM_CANCEL
              - ORDER_CANCELLATION_EMAIL_WEBCSC_ORDER_CANCEL
              - ORDER_CANCELLATION_EMAIL_LOCATE_ORDER_ITEM_CANCEL
              - RETURN_NOTIFICATION_EMAIL
              - REFUND_NOTIFICATION_EMAIL
              - APPEASEMENT_NOTIFICATION_EMAIL
              - ORDER_CREATE_IN_PTS
              - ORDER_CANCELLED_IN_PTS
              - SHIPMENT_CREATE_IN_PTS
              - SHIPMENT_CANCELLED_IN_PTS
              - TRANSFER_CREATE_IN_PTS
              - TRANSFER_CANCELLED_IN_PTS
              - TRANSFER_SHIPMENT_CREATE_IN_PTS
              - TRANSFER_SHIPMENT_CANCELLED_IN_PTS
              - RETURN_LPN
              - ALLOCATION_CREATE
              - ALLOCATION_DC
              - ALLOCATION_CREATE_SDD
              - ALLOCATION_CREATE_BOPIS
              - ALLOCATION_CREATE_SHIP
              - ALLOCATION_CREATE_GIFTCARD
              - TRANSFER_CREATE
              - ALLOCATION_CREATE_INTERNATIONAL
              - SHIPMENT_CREATED
              - SHIPMENT_CANCELLED
              - GIFTCARD_ACTIVATE
              - PICKUP_CREATED
              - PICKUP_COMPLETED
              - SHIPMENT_UPDATE
              - INVOICE_POSTING
              - INVENTORY_CREATE
              - INVENTORY_UPDATE
              - INVENTORY_BULK
              - INVENTORY_NETWORK_UPDATED
              - INVENTORY_NETWORK_AGGREGATION
              - LIST_UPDATE
              - EXPORT_ORDER_INITIATED
              - EXPORT_ORDER_COMPLETED
              - EXPORT_ORDER_ERROR
              - EXPORT_ALLOCATION_INITIATED
              - EXPORT_ALLOCATION_COMPLETED
              - EXPORT_ALLOCATION_ERROR
              - EXPORT_SHIPMENT_INITIATED
              - EXPORT_SHIPMENT_COMPLETED
              - EXPORT_SHIPMENT_ERROR
              - EXPORT_INVOICE_INITIATED
              - EXPORT_INVOICE_COMPLETED
              - EXPORT_INVOICE_ERROR
              - EXPORT_LOCATION_INITIATED
              - EXPORT_LOCATION_COMPLETED
              - EXPORT_LOCATION_ERROR
              - EXPORT_INVENTORY_INITIATED
              - EXPORT_INVENTORY_COMPLETED
              - EXPORT_INVENTORY_ERROR
              - EXPORT_NETWORK_INITIATED
              - EXPORT_NETWORK_COMPLETED
              - EXPORT_NETWORK_ERROR
              - EXPORT_SHIPPING_METHODS_INITIATED
              - EXPORT_SHIPPING_METHODS_COMPLETED
              - EXPORT_SHIPPING_METHODS_ERROR
              - EXPORT_AGGREGATED_NETWORK_INITIATED
              - EXPORT_AGGREGATED_NETWORK_COMPLETED
              - EXPORT_AGGREGATED_NETWORK_ERROR
              - CREDIT_CONFIRMED
              - CREDIT_PENDING
              - CREDIT_FAILED
              - CREDIT_CANCELED
              - ORDER_CANCELLATION_COUPON_REVERSAL
            example: ORDER_CREATE
            maxLength: 2147483647
            minLength: 1
            type: string
          maxItems: 2147483647
          minItems: 1
          type: array
        format:
          description: Content-type of request body while triggering the webhook
          example: application/json
          type: string
        headers:
          description: Custom header list. These data will be sent to `target`.
          items:
            $ref: '#/components/schemas/customHeader'
          type: array
        protocol:
          description: Protocol used while triggering the webhook
          enum:
            - HTTP
          example: HTTP
          type: string
        requestType:
          description: Type of HTTP method used when triggering an event to the target
          enum:
            - POST
            - PUT
            - PATCH
            - GET
            - DELETE
          example: PATCH
          type: string
        source:
          description: Source of event trigger
          example: Orders
          type: string
        target:
          description: Target URL to which the webhook sends event message when a subscribed event is modified
          example: https://www.example.com
          type: string
        targetApiKey:
          description: API key of the target service, if authentication is required
          example: adfasdWdsaQFSsdf
          type: string
        tenantId:
          description: Merchant's 24 character tenant ID
          example: 5f328bf0b5f328bf0b5f328b
          type: string
        updatedAt:
          description: Date and time when the webhook was last updated
          example: "2022-07-11T15:03:14.642Z"
          format: date-time
          type: string
        webhookId:
          description: Unique webhook ID to identify the webhook
          example: a3wefds4fsafew
          type: string
      required:
        - events
        - protocol
        - requestType
        - source
        - target
      type: object
    webhookEventLogSearchRequest:
      description: Webhooks event log search request
      example:
        filters:
          - condition: EQ
            field: eventLog.logs.webhookId
            value: 63c1661635431d2150956e8e
          - condition: EQ
            field: eventLog.status
            value: FAILED
        sort: +eventLog.firstEventTriggeredAt
      properties:
        filters:
          items:
            oneOf:
              - $ref: '#/components/schemas/valueSearchFilter'
              - $ref: '#/components/schemas/valuesSearchFilter'
          maxItems: 50
          minItems: 0
          type: array
        sort:
          default: -eventLog.firstEventTriggeredAt
          description: Property by which data is searched
          example: +eventLog.firstEventTriggeredAt
          pattern: (^[+-]eventLog\.[a-zA-Z.\-_]*)(,([+-]eventLogs\.[a-zA-Z.\-_]*)){0,}
          type: string
      required:
        - filters
      type: object
    webhookEventLogsResponse:
      description: Details of event logs
      properties:
        channelId:
          description: Channel ID
          example: WHBM
          type: string
        event:
          description: Event name
          example: ORDER_CREATE
          type: string
        eventRequestId:
          description: Event request ID
          example: d1d7fc0a-9646-48f7-fbe4-0a58ea2cc4b9
          type: string
        firstEventTriggeredAt:
          description: Date and time when the first event was triggered
          example: "2022-07-11T15:03:14.642Z"
          format: date-time
          type: string
        isAutomaticRetryEnabled:
          description: '**true:** Webhook is automatically re-triggered in case the webhook triggering fails. **false:** Webhook should be manually re-triggered in case the webhook triggering fails.'
          example: true
          type: boolean
        lastEventTriggeredAt:
          description: Date and time when the last event was triggered
          example: "2022-07-11T15:03:14.642Z"
          format: date-time
          type: string
        logs:
          description: Logs of webhook events
          items:
            $ref: '#/components/schemas/logInfoResource'
          type: array
        payload:
          description: Payload corresponding to the event
          example:
            orderId: asdfrewfdscefwdsc
          type: object
        retryCount:
          description: Number of times the webhook was re-triggered
          example: 1
          format: int32
          type: integer
        status:
          description: Status of the webhook event that's triggered to the target URL. Based on the status, either the retry webhook happens automatically (if it's enabled) or you can manually re-trigger the webhook using the `POST/webhooks/actions/retry` endpoint.
          enum:
            - PENDING
            - TRIGGERED
            - SUCCESS
            - FAILED
            - EXCEPTION_OCCURRED
          example: PENDING
          type: string
        tenantId:
          description: Tenant ID
          example: a3wefds4fsafew
          type: string
      type: object
    webhookEventLogsSearchResponse:
      description: Webhook event logs search response
      properties:
        data:
          items:
            $ref: '#/components/schemas/webhookEventLogsResponse'
          type: array
        pagination:
          $ref: '#/components/schemas/pagination'
        stats:
          description: A list of stats.
          items:
            description: The stat details.
            type: string
          type: array
      type: object
    webhookRetryRequestBody:
      description: Webhook retry request details
      properties:
        event:
          description: Event name
          example: ORDER_CREATE
          type: string
        eventRequestId:
          description: Event request ID
          example: d1d7fc0a-9646-48f7-fbe4-0a58ea2cc4b9
          type: string
        payload:
          description: Payload
          example:
            orderId: asdfrewfdscefwdsc
          type: object
      required:
        - event
        - eventRequestId
        - payload
      type: object
    webhookRetryResponse:
      description: Webhook retry response
      properties:
        retryResponses:
          items:
            $ref: '#/components/schemas/retryResponse'
          type: array
      type: object
    webhookSearchFilter:
      description: Criteria to search webhooks. To search using a single value, `valueSearchFilter` is considered. To search using multiple values, `valuesSearchFilter` is considered.
      discriminator:
        mapping:
          EQ: '#/components/schemas/valueSearchFilter'
          GT: '#/components/schemas/valueSearchFilter'
          GTE: '#/components/schemas/valueSearchFilter'
          IN: '#/components/schemas/valuesSearchFilter'
          LT: '#/components/schemas/valueSearchFilter'
          LTE: '#/components/schemas/valueSearchFilter'
          NEQ: '#/components/schemas/valueSearchFilter'
          NIN: '#/components/schemas/valuesSearchFilter'
        propertyName: condition
      properties:
        condition:
          default: EQ
          description: 'Filter conditions. EQ (Equal to): Searches for exact match. NEQ (Not equal to): Searches by excluding the specified value. IN: Search for multiple values. NIN (Not IN): Excludes the specified values in the search. LT (Less than): Searches for values that are less than the specified value. GT (Greater than):  Search for values that are greater than the specified value. LTE (Less than or equal to): Searches for values that are less than or equal to the specified value. GTE (Greater than or equal to): Searches for values that are greater than or equal to the specified value.'
          enum:
            - EQ
            - NEQ
            - IN
            - NIN
            - LT
            - GT
            - LTE
            - GTE
          example: EQ
          type: string
        field:
          description: Field name
          example: webhook.events
          pattern: ^webhook\.[a-zA-Z.\-_]*
          type: string
        group:
          default: Default
          description: Group name
          example: GroupA
          type: string
      required:
        - condition
        - field
      type: object
    webhookSearchRequest:
      description: Sample request to search webhooks
      example:
        filters:
          - condition: EQ
            field: webhook.protocol
            value: HTTP
          - condition: IN
            field: webhook.events
            values:
              - ALLOCATION*
              - SHIPMENT*
        sort: -webhook.createdAt
      properties:
        filters:
          items:
            oneOf:
              - $ref: '#/components/schemas/valueSearchFilter'
              - $ref: '#/components/schemas/valuesSearchFilter'
          maxItems: 50
          minItems: 0
          type: array
        sort:
          default: -webhook.createdAt
          description: 'Property by which data is sorted. **Note**: `-` refers to descending and `+` refers to ascending order.'
          example: +webhook.createdAt
          pattern: (^[+-]webhook\.[a-zA-Z.\-_]*)(,([+-]webhook\.[a-zA-Z.\-_]*)){0,}
          type: string
      required:
        - filters
      type: object
    webhooksSearchResponse:
      description: Webhook search response
      properties:
        data:
          items:
            $ref: '#/components/schemas/webhookDefinitionResponse'
          type: array
        pagination:
          $ref: '#/components/schemas/pagination'
        stats:
          description: List of stats
          items:
            description: Stats Details
            type: string
          type: array
      type: object
  securitySchemes:
    authorization:
      bearerFormat: JWT
      scheme: bearer
      type: http
externalDocs:
  description: Find out more about fabric Orders (also called OMS)
  url: https://developer.fabric.inc/v3/docs/orders-overview
info:
  contact:
    email: support@fabric.inc
    name: fabric Support Team
  description: fabric **Webhooks** API send real-time notifications to the target URL when a subscribed event occurs at source. fabric's Webhooks API, for multi-tenant service, let merchants subscribe to [various events](https://developer.fabric.inc/reference/oms-developer-guide-webhook-events) of fabric Orders (also called OMS). When the subscribed event occurs at source (fabric Orders), fabric sends a notification to the configured target URL.
  license:
    name: fabric API License
    url: https://fabric.inc/api-license
  termsOfService: https://fabric.inc/terms-of-use
  title: Orders - Webhooks API
  version: 3.0.0
  x-audience: external-public
openapi: 3.0.1
"x-mint": {
    "mcp": {
      "enabled": true
    }
  }
paths:
  /oms-webhooks:
    post:
      description: Configure a new webhook and subscribe to various events to get automated messages for the event activity.
      operationId: createWebhook
      parameters:
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createWebhookDefinitionRequest'
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhookDefinitionResponse'
          description: Created
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "400":
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "401":
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "500":
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Configure new webhook
      tags:
        - Webhooks
  /oms-webhooks/actions/retry:
    post:
      description: Re-trigger the webhook event with `eventRequestId`, `tenantId`, and payload values populated from the `/webhooks/search` endpoint response.
      operationId: retryWebhook
      parameters:
        - in: query
          name: forceRetry
          required: false
          schema:
            default: true
            type: boolean
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/webhookRetryRequestBody'
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhookRetryResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "400":
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "401":
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "404":
          content:
            application/json:
              example:
                message: Webhook definition not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "500":
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Retry webhook
      tags:
        - Webhooks
  /oms-webhooks/event-logs/search:
    post:
      description: Search webhook event logs based on the filter criteria specified in the request body.
      operationId: eventLogsSearch
      parameters:
        - in: header
          name: x-fabric-tenant-id
          required: true
          schema:
            type: string
        - in: header
          name: x-fabric-channel-id
          required: true
          schema:
            type: string
        - description: Number of records to be skipped before returning all records. Default is `0` when no value is specified.
          example: 0
          in: query
          name: offset
          schema:
            default: 0
            example: 0
            format: int32
            type: integer
        - description: Maximum number of records per page
          example: 10
          in: query
          name: limit
          schema:
            default: 10
            example: 10
            format: int32
            maximum: 100
            minimum: 1
            type: integer
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/webhookEventLogSearchRequest'
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhookEventLogsSearchResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "400":
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "401":
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "500":
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Search webhook event logs
      tags:
        - Webhooks
  /oms-webhooks/search:
    post:
      description: Get all webhook definitions for the given tenantId, offset, and limit.
      operationId: getAllWebhooks
      parameters:
        - description: Number of records to be skipped before returning all records. Default is `0` when no value is specified.
          example: 0
          in: query
          name: offset
          schema:
            default: 0
            example: 0
            format: int32
            type: integer
        - description: Maximum number of records per page
          example: 10
          in: query
          name: limit
          schema:
            default: 10
            example: 10
            format: int32
            maximum: 100
            minimum: 1
            type: integer
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/webhookSearchRequest'
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhooksSearchResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "400":
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "401":
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "404":
          content:
            application/json:
              example:
                message: Webhook definition not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "500":
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Get all webhook definitions
      tags:
        - Webhooks
  /oms-webhooks/{webhookId}:
    delete:
      description: Delete the webhook configuration for the given webhook ID. This action can't be undone.
      operationId: deleteWebhook
      parameters:
        - description: Webhook ID to identify the webhook
          example: a3wefds4fsafew
          in: path
          name: webhookId
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhookDefinitionResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "400":
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "401":
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "404":
          content:
            application/json:
              example:
                message: Webhook definition not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "500":
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Delete webhook by ID
      tags:
        - Webhooks
    get:
      description: Get a specific webhook by the given webhook ID.
      operationId: getWebhook
      parameters:
        - description: Webhook ID to identify the webhook
          example: a3wefds4fsafew
          in: path
          name: webhookId
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhookDefinitionResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "400":
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "401":
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "404":
          content:
            application/json:
              example:
                message: Webhook definition not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Webhook definition not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "500":
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Get webhook by ID
      tags:
        - Webhooks
    put:
      description: Update a specific webhook by the given webhook ID.
      operationId: updateWebhook
      parameters:
        - description: Webhook ID to identify the webhook
          example: a3wefds4fsafew
          in: path
          name: webhookId
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updateWebhookDefinitionRequest'
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhookDefinitionResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "400":
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "401":
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "404":
          content:
            application/json:
              example:
                message: Webhook definition not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "409":
          content:
            application/json:
              example:
                message: Webhook definition with target, tenantId, protocol, source already exists.
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Conflict
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        "500":
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Update webhook by ID
      tags:
        - Webhooks
security:
  - authorization: []
servers:
  - description: Production
    url: https://api.fabric.inc/v3
tags:
  - description: fabric **Webhooks** API send real-time notifications to the target URL when a subscribed event occurs at source. fabric's Webhooks API, for multi-tenant service, let merchants subscribe to [various events](https://developer.fabric.inc/reference/oms-developer-guide-webhook-events) of fabric Orders (also called OMS). When the subscribed event occurs at source (fabric Orders), fabric sends a notification to the configured target URL.
    name: Webhooks
