---
title: "POST /v1/projects/{projectsId}/services/{servicesId}/resourcePolicies:batchUpdate"
method: POST
path: "/v1/projects/{projectsId}/services/{servicesId}/resourcePolicies:batchUpdate"
tags: ["projects"]
---

# POST /v1/projects/{projectsId}/services/{servicesId}/resourcePolicies:batchUpdate

`POST /v1/projects/{projectsId}/services/{servicesId}/resourcePolicies:batchUpdate`

## Request

- Base URL: `https://firebaseappcheck.googleapis.com`
- URL: `https://firebaseappcheck.googleapis.com/v1/projects/{projectsId}/services/{servicesId}/resourcePolicies:batchUpdate`
- Auth: one of:
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/cloud-platform`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/cloud-platform`
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/firebase`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/firebase`

Atomically updates the specified ResourcePolicy configurations.

## Path parameters

- `projectsId` string, required
- `servicesId` string, required

## Request body

- GoogleFirebaseAppcheckV1BatchUpdateResourcePoliciesRequest: Request message for the BatchUpdateResourcePolicies method.
  - `requests` GoogleFirebaseAppcheckV1UpdateResourcePolicyRequest[]: Required. The request messages specifying the ResourcePolicy objects to update. A maximum of 100 objects can be updated in a batch.
    - `resourcePolicy` GoogleFirebaseAppcheckV1ResourcePolicy: App Check enforcement policy for a specific resource of a Google service supported by App Check. Note that this policy will override the service-level configuration.
      - `enforcementMode` 'OFF' | 'UNENFORCED' | 'ENFORCED': Required. The baseline protection EnforcementMode for this resource. This will override the service-level baseline protection EnforcementMode.
      - `etag` string: This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. This etag is strongly validated as defined by RFC 7232.
      - `name` string: Required. Identifier. The relative name of the resource policy object, in the format: ``` projects/{project_number}/services/{service_id}/resourcePolicies/{resource_policy_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `oauth2.googleapis.com` (Google Identity for iOS) `resource_policy_id` is a system-generated UID.
      - `targetResource` string: Required. Service specific name of the resource object to which this policy applies, in the format: * **iOS OAuth clients** (Google Identity for iOS): `//oauth2.googleapis.com/projects/{project_number}/oauthClients/{oauth_client_id}` Note that the resource must belong to the service specified in the `name` and be from the same project as this policy, but the resource is allowed to be missing at the time of creation of this policy; in that case, we make a best-effort attempt at respecting this policy, but it may not have any effect until the resource is fully created.
      - `updateTime` string, google-datetime: Output only. Timestamp when this resource policy configuration object was most recently updated.
    - `updateMask` string, google-fieldmask: Required. A comma-separated list of names of fields in the ResourcePolicy to update. Example: `enforcement_mode`.
  - `updateMask` string, google-fieldmask: Optional. A comma-separated list of names of fields in the ResourcePolicy objects to update. Example: `enforcement_mode`. If this field is present, the `update_mask` field in the UpdateResourcePolicyRequest messages must all match this field, or the entire batch fails and no updates will be committed.

## Response `200`

Successful response

- GoogleFirebaseAppcheckV1BatchUpdateResourcePoliciesResponse: Response message for the BatchUpdateResourcePolicies method.
  - `resourcePolicies` GoogleFirebaseAppcheckV1ResourcePolicy[]: ResourcePolicy objects after the updates have been applied.
    - `enforcementMode` 'OFF' | 'UNENFORCED' | 'ENFORCED': Required. The baseline protection EnforcementMode for this resource. This will override the service-level baseline protection EnforcementMode.
    - `etag` string: This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. This etag is strongly validated as defined by RFC 7232.
    - `name` string: Required. Identifier. The relative name of the resource policy object, in the format: ``` projects/{project_number}/services/{service_id}/resourcePolicies/{resource_policy_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `oauth2.googleapis.com` (Google Identity for iOS) `resource_policy_id` is a system-generated UID.
    - `targetResource` string: Required. Service specific name of the resource object to which this policy applies, in the format: * **iOS OAuth clients** (Google Identity for iOS): `//oauth2.googleapis.com/projects/{project_number}/oauthClients/{oauth_client_id}` Note that the resource must belong to the service specified in the `name` and be from the same project as this policy, but the resource is allowed to be missing at the time of creation of this policy; in that case, we make a best-effort attempt at respecting this policy, but it may not have any effect until the resource is fully created.
    - `updateTime` string, google-datetime: Output only. Timestamp when this resource policy configuration object was most recently updated.

## Changes

- **2026-11-02** `c29fb33abe91`: 4 info
  - the security scope `https://www.googleapis.com/auth/cloud-platform` was added to the endpoint's security scheme `Oauth2`
  - the security scope `https://www.googleapis.com/auth/cloud-platform` was added to the endpoint's security scheme `Oauth2c`
  - the security scope `https://www.googleapis.com/auth/firebase` was removed from the endpoint's security scheme `Oauth2`
  - the security scope `https://www.googleapis.com/auth/firebase` was removed from the endpoint's security scheme `Oauth2c`

[Operation history](https://skmtc.dev/google/apis/firebaseappcheck/changes/v1/projects/:projectsId/services/:servicesId/resourcePolicies:batchUpdate/post.md)

---

[API](https://skmtc.dev/google/apis/firebaseappcheck.md) - [All operations](https://skmtc.dev/google/apis/firebaseappcheck/llms.txt) - [OpenAPI document](https://skmtc.dev/google/apis/firebaseappcheck/revisions/c29fb33abe91?raw)
