---
title: "Update the scopes of access for a particular application"
method: POST
path: "/item/application/scopes/update"
tags: ["plaid"]
---

# Update the scopes of access for a particular application

`POST /item/application/scopes/update`

Enable consumers to update product access on selected accounts for an application.

## Request body

- ItemApplicationScopesUpdateRequest — ItemApplicationScopesUpdateRequest defines the request schema for `/item/application/scopes/update`
  - `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.
  - `access_token` string, required — The access token associated with the Item for which data is being requested.
  - `application_id` string, required — This field will map to the application ID that is returned from `/item/application/list`, or provided to the institution in an oauth redirect.
  - `scopes` Scopes, required — The scopes object
    - `product_access` ProductAccess — The product access being requested. Used to allow or disallow product access across all accounts. If unset, defaults to all products allowed.
      - `statements` boolean, nullable — Allow access to statements. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.
      - `identity` boolean, nullable — Allow access to the Identity product (name, email, phone, address). Only used by certain partners. If relevant to the partner and unset, defaults to `true`.
      - `auth` boolean, nullable — Allow access to account number details. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.
      - `transactions` boolean, nullable — Allow access to transaction details. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.
      - `accounts_details_transactions` boolean, nullable — Allow access to `accounts_details_transactions`. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.
      - `accounts_routing_number` boolean, nullable — Allow access to `accounts_routing_number`. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.
      - `accounts_statements` boolean, nullable — Allow access to `accounts_statements`. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.
      - `accounts_tax_statements` boolean, nullable — Allow access to `accounts_tax_statements`. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.
      - `customers_profiles` boolean, nullable — Allow access to `customers_profiles`. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.
    - `accounts` AccountAccess[]
      - `unique_id` string, required — The unique account identifier for this account. This value must match that returned by the data access API for this account.
      - `authorized` boolean, nullable — Allow the application to see this account (and associated details, including balance) in the list of accounts. If unset, defaults to `true`.
      - `account_product_access` AccountProductAccessNullable, nullable — Allow the application to access specific products on this account
        - `account_data` boolean, nullable — Allow the application to access account data. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.
        - `statements` boolean, nullable — Allow the application to access bank statements. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.
        - `tax_documents` boolean, nullable — Allow the application to access tax documents. Only used by certain partners. If relevant to the partner and unset, defaults to `true`.
    - `new_accounts` boolean, nullable — Allow access to newly opened accounts as they are opened. If unset, defaults to `true`.
  - `state` string — When scopes are updated during enrollment, this field must be populated with the state sent to the partner in the OAuth Login URI. This field is required when the context is `ENROLLMENT`.
  - `context` 'ENROLLMENT' | 'PORTAL', required — An indicator for when scopes are being updated. When scopes are updated via enrollment (i.e. OAuth), the partner must send `ENROLLMENT`. When scopes are updated in a post-enrollment view, the partner must send `PORTAL`.

## Response `200`

success

- ItemApplicationScopesUpdateResponse — ItemApplicationScopesUpdateResponse defines the response schema for `/item/application/scopes/update`
  - `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/versions/64c4514ea59b/schema)
