---
title: "Plaid Webhook Endpoint"
method: POST
path: "/bth/webhook/plaid/"
tags: ["Webhooks"]
---

# Plaid Webhook Endpoint

`POST /bth/webhook/plaid/`

## Request

- Base URL: `https://docs.thredfi.com` (the document declares no server; this is the origin it was published from)
- URL: `https://docs.thredfi.com/bth/webhook/plaid/`
- Auth: one of:
  - HTTP basic
  - HTTP bearer
  - HTTP bearer

Receives webhook notifications from Plaid when transaction data becomes available
        or when other events occur. This endpoint processes the webhook and triggers
        appropriate background tasks to sync transaction data.

        **Supported Webhook Types:**
        - `TRANSACTIONS.INITIAL_UPDATE`: Transaction data is ready for a new connection
        - `TRANSACTIONS.DEFAULT_UPDATE`: New transactions are available
        - `TRANSACTIONS.HISTORICAL_UPDATE`: Historical transaction data updated
        - `ITEM.ERROR`: Item-level errors occurred
        - `ITEM.PENDING_EXPIRATION`: Access token expiring soon

        **Security:** This endpoint is configured to accept webhooks from Plaid's servers.

## Request body

- object
  - `webhook_type` 'TRANSACTIONS' | 'ITEM' | 'AUTH' | 'IDENTITY', required: Type of webhook event
  - `webhook_code` 'INITIAL_UPDATE' | 'DEFAULT_UPDATE' | 'HISTORICAL_UPDATE' | 'ERROR' | 'PENDING_EXPIRATION', required: Specific webhook event code
  - `item_id` string, required: Plaid item ID that triggered the webhook
  - `error` object: Error details (present for ERROR webhooks)
    - `error_code` string
    - `error_message` string

## Response `200`

Webhook processed successfully

- string

## Other responses

- `400`: Invalid JSON payload
- `500`: Internal server error

---

[API](https://skmtc.dev/thredfi/apis/thredfi-accounting-platform-api.md) - [All operations](https://skmtc.dev/thredfi/apis/thredfi-accounting-platform-api/llms.txt) - [OpenAPI document](https://skmtc.dev/thredfi/apis/thredfi-accounting-platform-api/revisions/0c1918254db3?raw)
