---
title: "Create"
method: POST
path: "/webhooks"
tags: ["Webhook"]
---

# Create

`POST /webhooks`

Creates a webhook attached to the specific event and provides the notification url

## Request body

- CreateWebhook
  - `url` string, required
  - `event` 'all' | 'item/created' | 'item/updated' | 'item/error' | 'item/deleted' | 'item/waiting_user_input' | 'item/waiting_user_action' | 'item/login_succeeded' | 'connector/status_updated' | 'transactions/created' | 'transactions/updated' | 'transactions/deleted' | 'payment_intent/created' | 'payment_intent/completed' | 'payment_intent/waiting_payer_authorization' | 'payment_intent/error' | 'payment_request/updated' | 'scheduled_payment/created' | 'scheduled_payment/completed' | 'scheduled_payment/error' | 'scheduled_payment/canceled' | 'scheduled_payment/all_completed' | 'scheduled_payment/all_created' | 'boleto/updated' | 'automatic_pix_payment/created' | 'automatic_pix_payment/completed' | 'automatic_pix_payment/error' | 'automatic_pix_payment/canceled' | 'smart_transfer_preauthorization/completed' | 'smart_transfer_preauthorization/error' | 'smart_transfer_payment/completed' | 'smart_transfer_payment/error', required — Event the webhook subscribes to. Use `all` to receive every event for the client. Events are grouped by topic: **item/** – Lifecycle of an item (a connection to a financial institution). - `item/created`: a new item was created. - `item/updated`: the item finished an execution with new data. - `item/error`: the execution finished with an error (see the payload's `error` field). - `item/deleted`: the item was deleted. - `item/waiting_user_input`: the item needs additional credentials/MFA from the end user. - `item/waiting_user_action`: the item needs the end user to perform an action on the institution side. - `item/login_succeeded`: the credentials were accepted by the institution (data may still be syncing). **connector/** – Connector-level events. - `connector/status_updated`: a connector's health status changed (ONLINE/OFFLINE/UNSTABLE). **transactions/** – Account transaction lifecycle. - `transactions/created` / `transactions/updated` / `transactions/deleted`: a transaction was inserted, modified or removed during an item execution. **payment_intent/** – Payment Initiation flow (single PIX). - `payment_intent/created`: a payment intent was created. - `payment_intent/completed`: the payment was confirmed by the institution. - `payment_intent/waiting_payer_authorization`: the payer still needs to authorize the payment. - `payment_intent/error`: the payment was rejected or failed. **payment_request/** – Aggregate payment request state. - `payment_request/updated`: the overall status of a payment request changed. **scheduled_payment/** – Scheduled (recurring or future) payments. - `scheduled_payment/created` / `completed` / `error` / `canceled`: lifecycle of a single scheduled payment. - `scheduled_payment/all_created` / `scheduled_payment/all_completed`: emitted once when every scheduled payment in a series reaches the same terminal state. **boleto/** – Boleto status updates. - `boleto/updated`: the boleto data was updated (e.g. paid, expired, amount changed). **automatic_pix_payment/** – Recurring PIX (PIX Automático) individual payments. - `automatic_pix_payment/created`: a new recurring payment was scheduled. - `automatic_pix_payment/completed`: the recurring payment was confirmed. - `automatic_pix_payment/error`: the recurring payment failed. - `automatic_pix_payment/canceled`: the recurring payment was canceled (by user, expiration or revoked consent). **smart_transfer_preauthorization/** – Smart Transfer pre-authorization (consent setup). - `smart_transfer_preauthorization/completed`: the pre-authorization was accepted. - `smart_transfer_preauthorization/error`: the pre-authorization failed. **smart_transfer_payment/** – Smart Transfer individual payments executed under an active pre-authorization. - `smart_transfer_payment/completed`: the transfer was successful. - `smart_transfer_payment/error`: the transfer failed.
  - `headers` object — HTTP headers that will be included in the webhook notifications (useful for things like authorization)

## Response `201`

Created webhook

- Webhook
  - `id` string, required — UUID identifier for the entity
  - `url` string, required — Url to be notified of item changes
  - `event` 'all' | 'item/created' | 'item/updated' | 'item/error' | 'item/deleted' | 'item/waiting_user_input' | 'item/waiting_user_action' | 'item/login_succeeded' | 'connector/status_updated' | 'transactions/created' | 'transactions/updated' | 'transactions/deleted' | 'payment_intent/created' | 'payment_intent/completed' | 'payment_intent/waiting_payer_authorization' | 'payment_intent/error' | 'payment_request/updated' | 'scheduled_payment/created' | 'scheduled_payment/completed' | 'scheduled_payment/error' | 'scheduled_payment/canceled' | 'scheduled_payment/all_completed' | 'scheduled_payment/all_created' | 'boleto/updated' | 'automatic_pix_payment/created' | 'automatic_pix_payment/completed' | 'automatic_pix_payment/error' | 'automatic_pix_payment/canceled' | 'smart_transfer_preauthorization/completed' | 'smart_transfer_preauthorization/error' | 'smart_transfer_payment/completed' | 'smart_transfer_payment/error', required — Event the webhook subscribes to. Use `all` to receive every event for the client. Events are grouped by topic: **item/** – Lifecycle of an item (a connection to a financial institution). - `item/created`: a new item was created. - `item/updated`: the item finished an execution with new data. - `item/error`: the execution finished with an error (see the payload's `error` field). - `item/deleted`: the item was deleted. - `item/waiting_user_input`: the item needs additional credentials/MFA from the end user. - `item/waiting_user_action`: the item needs the end user to perform an action on the institution side. - `item/login_succeeded`: the credentials were accepted by the institution (data may still be syncing). **connector/** – Connector-level events. - `connector/status_updated`: a connector's health status changed (ONLINE/OFFLINE/UNSTABLE). **transactions/** – Account transaction lifecycle. - `transactions/created` / `transactions/updated` / `transactions/deleted`: a transaction was inserted, modified or removed during an item execution. **payment_intent/** – Payment Initiation flow (single PIX). - `payment_intent/created`: a payment intent was created. - `payment_intent/completed`: the payment was confirmed by the institution. - `payment_intent/waiting_payer_authorization`: the payer still needs to authorize the payment. - `payment_intent/error`: the payment was rejected or failed. **payment_request/** – Aggregate payment request state. - `payment_request/updated`: the overall status of a payment request changed. **scheduled_payment/** – Scheduled (recurring or future) payments. - `scheduled_payment/created` / `completed` / `error` / `canceled`: lifecycle of a single scheduled payment. - `scheduled_payment/all_created` / `scheduled_payment/all_completed`: emitted once when every scheduled payment in a series reaches the same terminal state. **boleto/** – Boleto status updates. - `boleto/updated`: the boleto data was updated (e.g. paid, expired, amount changed). **automatic_pix_payment/** – Recurring PIX (PIX Automático) individual payments. - `automatic_pix_payment/created`: a new recurring payment was scheduled. - `automatic_pix_payment/completed`: the recurring payment was confirmed. - `automatic_pix_payment/error`: the recurring payment failed. - `automatic_pix_payment/canceled`: the recurring payment was canceled (by user, expiration or revoked consent). **smart_transfer_preauthorization/** – Smart Transfer pre-authorization (consent setup). - `smart_transfer_preauthorization/completed`: the pre-authorization was accepted. - `smart_transfer_preauthorization/error`: the pre-authorization failed. **smart_transfer_payment/** – Smart Transfer individual payments executed under an active pre-authorization. - `smart_transfer_payment/completed`: the transfer was successful. - `smart_transfer_payment/error`: the transfer failed.
  - `disabledAt` string, date-time — Date when the webhook was disabled
  - `createdAt` string, date-time — Date when it was created
  - `updatedAt` string, date-time — Date of the last update

## Other responses

- `400` — Invalid parameters
- `500` — Unexpected error

---

[API](https://skmtc.dev/pluggy/apis/pluggy-api.md) · [All operations](https://skmtc.dev/pluggy/apis/pluggy-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/pluggy/pluggy-api/revisions/75e87ec7f9cd/schema)
