# Flow Webhooks

## List Flow Webhooks

> Retrieves a paginated list of webhooks for a specific flow.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Flow Webhooks"}],"servers":[{"url":"https://core.wearepatchworks.com"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key passed in the Authorization header. Format: `<api-key>`"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth 2 Bearer token obtained from POST /fabric/api/login"}},"schemas":{"FlowsListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Flows"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"},"links":{"$ref":"#/components/schemas/PaginationLinks"}}},"Flows":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier"},"name":{"type":"string"},"enabled_at":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["Draft","Inactive","Deployed"]},"format":{"type":"string","enum":["csv","json","txt","xml"]},"body":{"type":"string"},"deployed_at":{"type":"string"},"labels":{"type":"string","items":{"type":"object"}},"notification_groups":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"description":{"type":"string"},"layout_direction":{"type":"string"},"is_enabled":{"type":"object"},"latest_version":{"type":"object"},"current_version":{"type":"object"},"deployed_version":{"type":"object"},"latest_deployed_version":{"type":"array","items":{"type":"object"}},"versions":{"type":"array","items":{"type":"object"}},"version_type_counts":{"type":"array","items":{"type":"object"}},"message_brokers":{"type":"array","items":{"type":"object"}},"message_broker_queues":{"type":"array","items":{"type":"object"}},"notification_group_ids":{"type":"array","items":{"type":"object"}},"webhooks":{"type":"string"},"callbacks":{"type":"string"},"current_version_step_count":{"type":"integer"},"current_version_connector_count":{"type":"integer"},"current_version_script_count":{"type":"integer"},"current_version_cache_count":{"type":"integer"},"current_version_data_pool_count":{"type":"integer"},"current_version_cross_ref_count":{"type":"integer"},"use_queued_time":{"type":"string"},"remove_failed_payloads":{"type":"array","items":{"type":"object"}},"priority":{"type":"array","items":{"type":"object"}},"prod_flag":{"type":"array","items":{"type":"object"}},"deployments":{"type":"array","items":{"type":"object"}},"webhooks_count":{"type":"integer"},"callbacks_count":{"type":"integer"},"marketplace_app_id":{"type":"integer"},"blueprint_id":{"type":"integer"},"blueprint_version_number":{"type":"string"},"flow_folder_id":{"type":"integer"}}},"PaginationMeta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer","nullable":true},"last_page":{"type":"integer"},"path":{"type":"string"},"per_page":{"type":"integer"},"to":{"type":"integer","nullable":true},"total":{"type":"integer"}}},"PaginationLinks":{"type":"object","properties":{"first":{"type":"string","format":"uri"},"last":{"type":"string","format":"uri"},"prev":{"type":"string","format":"uri","nullable":true},"next":{"type":"string","format":"uri","nullable":true}}}}},"paths":{"/api/v1/flows/{flow}/webhooks":{"get":{"summary":"List Flow Webhooks","description":"Retrieves a paginated list of webhooks for a specific flow.","parameters":[{"name":"flow","in":"path","required":true,"schema":{"type":"string"},"description":"The flow identifier."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlowsListResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"}},"tags":["Flow Webhooks"]}}}}
```

## Create Flow Webhook

> Creates a new webhook trigger for a specific flow.\
> \
> \## Validation Rules\
> \
> These are the basic validation rules for the request. More detailed validation may apply depending on the data being sent. Please see the response for any extra requirements\
> \
> \| Field | Type | Required |\
> \|---|---|---|\
> \| status | | |\
> \| body | string | |\
> \| format | | |

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Flow Webhooks"}],"servers":[{"url":"https://core.wearepatchworks.com"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key passed in the Authorization header. Format: `<api-key>`"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth 2 Bearer token obtained from POST /fabric/api/login"}},"schemas":{"FlowsResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Flows"}}},"Flows":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier"},"name":{"type":"string"},"enabled_at":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["Draft","Inactive","Deployed"]},"format":{"type":"string","enum":["csv","json","txt","xml"]},"body":{"type":"string"},"deployed_at":{"type":"string"},"labels":{"type":"string","items":{"type":"object"}},"notification_groups":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"description":{"type":"string"},"layout_direction":{"type":"string"},"is_enabled":{"type":"object"},"latest_version":{"type":"object"},"current_version":{"type":"object"},"deployed_version":{"type":"object"},"latest_deployed_version":{"type":"array","items":{"type":"object"}},"versions":{"type":"array","items":{"type":"object"}},"version_type_counts":{"type":"array","items":{"type":"object"}},"message_brokers":{"type":"array","items":{"type":"object"}},"message_broker_queues":{"type":"array","items":{"type":"object"}},"notification_group_ids":{"type":"array","items":{"type":"object"}},"webhooks":{"type":"string"},"callbacks":{"type":"string"},"current_version_step_count":{"type":"integer"},"current_version_connector_count":{"type":"integer"},"current_version_script_count":{"type":"integer"},"current_version_cache_count":{"type":"integer"},"current_version_data_pool_count":{"type":"integer"},"current_version_cross_ref_count":{"type":"integer"},"use_queued_time":{"type":"string"},"remove_failed_payloads":{"type":"array","items":{"type":"object"}},"priority":{"type":"array","items":{"type":"object"}},"prod_flag":{"type":"array","items":{"type":"object"}},"deployments":{"type":"array","items":{"type":"object"}},"webhooks_count":{"type":"integer"},"callbacks_count":{"type":"integer"},"marketplace_app_id":{"type":"integer"},"blueprint_id":{"type":"integer"},"blueprint_version_number":{"type":"string"},"flow_folder_id":{"type":"integer"}}},"ErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}},"FlowsStoreWebhooksRequest":{"type":"object","properties":{"status":{"type":"string","enum":["Draft","Inactive","Deployed"]},"body":{"type":"string","nullable":true},"format":{"type":"string","enum":["csv","json","txt","xml"]}}}}},"paths":{"/api/v1/flows/{flow}/webhooks":{"post":{"summary":"Create Flow Webhook","description":"Creates a new webhook trigger for a specific flow.\n\n## Validation Rules\n\nThese are the basic validation rules for the request. More detailed validation may apply depending on the data being sent. Please see the response for any extra requirements\n\n| Field | Type | Required |\n|---|---|---|\n| status | | |\n| body | string | |\n| format | | |","parameters":[{"name":"flow","in":"path","required":true,"schema":{"type":"string"},"description":"The flow identifier."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlowsResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlowsStoreWebhooksRequest"}}}},"tags":["Flow Webhooks"]}}}}
```

## Update Flow Webhook

> Updates an existing webhook for a specific flow.\
> \
> \## Validation Rules\
> \
> These are the basic validation rules for the request. More detailed validation may apply depending on the data being sent. Please see the response for any extra requirements\
> \
> \| Field | Type | Required |\
> \|---|---|---|\
> \| status | | |\
> \| body | string | |\
> \| format | | |

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Flow Webhooks"}],"servers":[{"url":"https://core.wearepatchworks.com"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key passed in the Authorization header. Format: `<api-key>`"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth 2 Bearer token obtained from POST /fabric/api/login"}},"schemas":{"FlowsResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Flows"}}},"Flows":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier"},"name":{"type":"string"},"enabled_at":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["Draft","Inactive","Deployed"]},"format":{"type":"string","enum":["csv","json","txt","xml"]},"body":{"type":"string"},"deployed_at":{"type":"string"},"labels":{"type":"string","items":{"type":"object"}},"notification_groups":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"description":{"type":"string"},"layout_direction":{"type":"string"},"is_enabled":{"type":"object"},"latest_version":{"type":"object"},"current_version":{"type":"object"},"deployed_version":{"type":"object"},"latest_deployed_version":{"type":"array","items":{"type":"object"}},"versions":{"type":"array","items":{"type":"object"}},"version_type_counts":{"type":"array","items":{"type":"object"}},"message_brokers":{"type":"array","items":{"type":"object"}},"message_broker_queues":{"type":"array","items":{"type":"object"}},"notification_group_ids":{"type":"array","items":{"type":"object"}},"webhooks":{"type":"string"},"callbacks":{"type":"string"},"current_version_step_count":{"type":"integer"},"current_version_connector_count":{"type":"integer"},"current_version_script_count":{"type":"integer"},"current_version_cache_count":{"type":"integer"},"current_version_data_pool_count":{"type":"integer"},"current_version_cross_ref_count":{"type":"integer"},"use_queued_time":{"type":"string"},"remove_failed_payloads":{"type":"array","items":{"type":"object"}},"priority":{"type":"array","items":{"type":"object"}},"prod_flag":{"type":"array","items":{"type":"object"}},"deployments":{"type":"array","items":{"type":"object"}},"webhooks_count":{"type":"integer"},"callbacks_count":{"type":"integer"},"marketplace_app_id":{"type":"integer"},"blueprint_id":{"type":"integer"},"blueprint_version_number":{"type":"string"},"flow_folder_id":{"type":"integer"}}},"ErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}},"FlowsUpdateWebhooksRequest":{"type":"object","properties":{"status":{"type":"string","enum":["Draft","Inactive","Deployed"]},"body":{"type":"string","nullable":true},"format":{"type":"string","enum":["csv","json","txt","xml"]},"hmac_algorithm":{"type":"string","nullable":true},"hmac_secret_key":{"type":"string","maxLength":128,"nullable":true}}}}},"paths":{"/api/v1/flows/{flow}/webhooks/{webhook}":{"put":{"summary":"Update Flow Webhook","description":"Updates an existing webhook for a specific flow.\n\n## Validation Rules\n\nThese are the basic validation rules for the request. More detailed validation may apply depending on the data being sent. Please see the response for any extra requirements\n\n| Field | Type | Required |\n|---|---|---|\n| status | | |\n| body | string | |\n| format | | |","parameters":[{"name":"flow","in":"path","required":true,"schema":{"type":"string"},"description":"The flow identifier."},{"name":"webhook","in":"path","required":true,"schema":{"type":"string"},"description":"The webhook identifier."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlowsResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlowsUpdateWebhooksRequest"}}}},"tags":["Flow Webhooks"]}}}}
```

## Delete Flow Webhook

> Permanently deletes a specific webhook for a specific flow.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Flow Webhooks"}],"servers":[{"url":"https://core.wearepatchworks.com"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key passed in the Authorization header. Format: `<api-key>`"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth 2 Bearer token obtained from POST /fabric/api/login"}},"schemas":{"MessageResponse":{"type":"object","properties":{"message":{"type":"string"}}}}},"paths":{"/api/v1/flows/{flow}/webhooks/{webhook}":{"delete":{"summary":"Delete Flow Webhook","description":"Permanently deletes a specific webhook for a specific flow.","parameters":[{"name":"flow","in":"path","required":true,"schema":{"type":"string"},"description":"The flow identifier."},{"name":"webhook","in":"path","required":true,"schema":{"type":"string"},"description":"The webhook identifier."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"}},"tags":["Flow Webhooks"]}}}}
```
