---
title: "Update a CRA servicing subscription"
method: POST
path: "/cra/servicing/subscription/update"
tags: ["plaid"]
---

# Update a CRA servicing subscription

`POST /cra/servicing/subscription/update`

`/cra/servicing/subscription/update` modifies an existing CRA servicing subscription. Fields left blank are unchanged; provided fields overwrite the current value. Use `reset_fields` to clear fields.

## Request body

- CraServicingSubscriptionUpdateRequest — CraServicingSubscriptionUpdateRequest defines the request schema for `/cra/servicing/subscription/update`. It follows field-mask semantics: omitted fields are left unchanged, while provided fields overwrite the current value. To clear a field, include its name in `reset_fields`.
  - `client_id` string — 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.
  - `secret` string — 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.
  - `subscription_id` string, required — A CRA servicing subscription identifier, in the format `cra-sub-<environment>-<uuid>`.
  - `webhook` string, url — The URL to which the webhook should be sent. If provided, this will override the URL set in the dashboard.
  - `products` CraSubscriptionProductConfig[] — The products included in this subscription. If provided, this replaces the subscription's entire product list.
    - union — A product and its configuration, for use with CRA servicing subscription endpoints.
      - CraQualifyProductConfig — The Qualify product at a given version. Qualify accepts no additional configuration today.
        - `product` 'cra_qualify', required — The Qualify product discriminator.
        - `version` string, required — A string that specifies a particular version of a CRA product.
      - CraBaseReportProductConfig — The Base Report product at a given version. Base Report accepts no additional configuration today.
        - `product` 'cra_base_report', required — The Base Report product discriminator.
        - `version` string, required — A string that specifies a particular version of a CRA product.
      - CraIncomeInsightsProductConfig — The Income Insights product at a given version, together with options for additional configuration.
        - `product` 'cra_income_insights', required — The Income Insights product discriminator.
        - `version` string, required — A string that specifies a particular version of a CRA product.
        - `options` CraCheckReportCreateIncomeInsightsOptions, nullable — Defines configuration options to generate Income Insights.
          - `income_insights_filter` IncomeInsightsFilter, nullable — Filters the returned income streams based on the specified income categories. If no filters are requested, streams from the following default set of categories are returned: - `EARNED_INCOME.*` (`EARNED_INCOME.SALARY`, `EARNED_INCOME.GIG_ECONOMY`, `EARNED_INCOME.SELF_EMPLOYED`) - `BENEFITS.DISABILITY` - `RETIREMENT.*` (`RETIREMENT.GOVERNMENT_DERIVED`, `RETIREMENT.PRIVATE_RETIREMENT`, `RETIREMENT.PLAN_DISTRIBUTION`) The final list of income categories is generated by adding the `included_categories`, then removing the `excluded_categories`. Priority is given to `excluded_categories` in the case of collisions. Filter patterns supported: - `*`: All categories - `PRIMARY.*`: All categories within the specified primary category - `PRIMARY.SECONDARY`: A specific income category For a list of income categories, see the [Income V2 Category Taxonomy](https://plaid.com/documents/income-v2-category-taxonomy.csv).
            - `included_categories` string[], required — Includes income streams matching the specified categories.
            - `excluded_categories` string[] — Excludes income streams matching the specified categories.
          - `income_insights_version` 'II2', nullable, required — The version of Income Insights to use. This value is not shared across API calls for the same resource. If it is omitted from a request, the default version is used, even if a version was set in an earlier call such as `/link/token/create` or `/cra/check_report/create`.
  - `reset_fields` CraServicingSubscriptionUpdateRequestResettableField[], nullable — A list of fields to reset back to their default value. Fields named here take precedence over any value provided for the same field elsewhere in the request.

## Response `200`

OK

- CraServicingSubscriptionUpdateResponse — CraServicingSubscriptionUpdateResponse defines the response schema for `/cra/servicing/subscription/update`.
  - `subscription_id` string, required — A CRA servicing subscription identifier, in the format `cra-sub-<environment>-<uuid>`.
  - `request_id` string, required — A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

## Other responses

- `default` — Error response

---

[API](https://skmtc.net/plaid/apis/the-plaid-api.md) · [All operations](https://skmtc.net/plaid/apis/the-plaid-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/plaid/the-plaid-api/revisions/e536704a333f/schema)
