plaid

Terminate products for a user

Changed on

Terminates Financial Management, Plaid Protect, and Servicing products associated with a user_id. Use this endpoint when offboarding a user or ending their subscriptions. Item access tokens are not required.

For Financial Management products, including Transactions, Liabilities, and Investments, this endpoint removes each associated Item that contains one of these products. Removal makes the Item inaccessible, initiates deletion of its product data, and terminates its per-Item subscription billing. The entire Item is removed, including access to any other products on that Item. To connect the accounts again, the user must complete Link to create a new Item.

If the user has at least one associated Item and every associated Item contains a Financial Management product, this endpoint also removes the associated Plaid user. The removed user_id can no longer be used to access the user.

For Plaid Protect, this endpoint terminates Protect products. For Servicing, it cancels the subscription and preserves CRA Items and historical data for future report requests.

post/user/products/terminate

Request

  • Base URL
    https://production.plaid.com
  • URL
    https://production.plaid.com/user/products/terminate
  • Auth
    API key in header PLAID-CLIENT-ID and API key in header PLAID-SECRET and API key in header Plaid-Version

Request body

client_idstring

Your Plaid API client_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.

secretstring

Your Plaid API secret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.

user_idstring required

A unique user identifier, created by /user/create. Integrations that began using /user/create after December 10, 2025 use this field to identify a user instead of the user_token. For more details, see New User APIs.

reason_code'FRAUD_FIRST_PARTY' | 'FRAUD_FALSE_IDENTITY' | 'FRAUD_ABUSE' | 'FRAUD_OTHER' | 'FRAUD_TRANSACTION' | 'CONSUMER_LOAN_PAID_OFF' | 'CONSUMER_ACCOUNT_CLOSED' | 'CONSUMER_CHARGE_OFF' | 'CONSUMER_PAYMENT_METHOD_SWITCHED' | 'USER_OFFBOARDING' | 'DUPLICATE_ITEM' | 'BILLING_TERMINATION' | 'OTHER' required

The reason for terminating products.

FRAUD_FIRST_PARTY: The end user who owns the connected bank account committed fraud using their real identity

FRAUD_FALSE_IDENTITY: The connection was created using a false or stolen identity

FRAUD_ABUSE: The end user is abusing the client's service or platform (for example, automation or excessive retries) through their connected account

FRAUD_OTHER: Fraud-related, but not covered by the specific fraud categories above; reason_note should clarify

FRAUD_TRANSACTION: Fraud occurred at the transaction level, such as an unauthorized transaction, card testing, chargeback, ACH return, or dispute

CONSUMER_LOAN_PAID_OFF: The end user paid off their loan and no longer needs the product

CONSUMER_ACCOUNT_CLOSED: The end user closed their account with the client and no longer needs the product

CONSUMER_CHARGE_OFF: The end user's account has been charged off

CONSUMER_PAYMENT_METHOD_SWITCHED: The end user switched to a different payment method and no longer needs the product

USER_OFFBOARDING: The user is offboarding from the client's service or platform

DUPLICATE_ITEM: This Item is a duplicate of another active Item for the same user

BILLING_TERMINATION: The client's billing or subscription relationship with the end user has ended

OTHER: None of the above; reason_note should clarify

reason_notestring nullable

Additional context or details about the reason for terminating user-based products. Personally identifiable information, such as an email address or phone number, should not be included in the reason_note.

Response

OK

request_idstring required

A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

Changes

    • warning

      added the new CRA_PARTNER_INSIGHTS_ERROR enum value to the response property for the response status

    • warning

      added the new CRA_REPORT_ERROR enum value to the response property for the response status

    • breaking

      request property was restricted to a list of enum values

    • breaking

      the request property type changed from no type to string

    • warning

      removed from the request property allOf list

    • warning

      added the new ASSETS_ERROR enum value to the response property for the response status

    • warning

      added the new CRA_MONITORING_ERROR enum value to the response property for the response status

    • warning

      added the new CREDIT_PROFILE_REPORT_ERROR enum value to the response property for the response status

    • warning

      added the new ENCOMPASS_ERROR enum value to the response property for the response status

    • warning

      added the new ENRICH_ERROR enum value to the response property for the response status

    • warning

      added the new FRAUD_INSIGHTS_ERROR enum value to the response property for the response status

    • warning

      added the new FREDDIE_MAC_ERROR enum value to the response property for the response status

    • warning

      added the new LINK_DELIVERY_ERROR enum value to the response property for the response status

    • warning

      added the new PROFILE_ERROR enum value to the response property for the response status

    • warning

      added the new RECURRING_TRANSACTIONS_ERROR enum value to the response property for the response status

    • warning

      added the new STATEMENTS_ERROR enum value to the response property for the response status

    • warning

      added the new TRANSFER_RECURRING_ERROR enum value to the response property for the response status

    • warning

      added the new TRANSFER_REFUND_ERROR enum value to the response property for the response status

    • info

      added the new BILLING_TERMINATION enum value to the request property

    • info

      added the new CONSUMER_ACCOUNT_CLOSED enum value to the request property

    • info

      added the new CONSUMER_CHARGE_OFF enum value to the request property

    • info

      added the new CONSUMER_LOAN_PAID_OFF enum value to the request property

    • info

      added the new CONSUMER_PAYMENT_METHOD_SWITCHED enum value to the request property

    • info

      added the new DUPLICATE_ITEM enum value to the request property

    • info

      added the new FRAUD_ABUSE enum value to the request property

    • info

      added the new FRAUD_FALSE_IDENTITY enum value to the request property

    • info

      added the new FRAUD_FIRST_PARTY enum value to the request property

    • info

      added the new FRAUD_OTHER enum value to the request property

    • info

      added the new FRAUD_TRANSACTION enum value to the request property

    • info

      added the new OTHER enum value to the request property

    • info

      added the new USER_OFFBOARDING enum value to the request property