---
title: "PATCH /v1/projects/{projectsId}/locations/{locationsId}/curations/{curationsId}"
method: PATCH
path: "/v1/projects/{projectsId}/locations/{locationsId}/curations/{curationsId}"
tags: ["projects"]
---

# PATCH /v1/projects/{projectsId}/locations/{locationsId}/curations/{curationsId}

`PATCH /v1/projects/{projectsId}/locations/{locationsId}/curations/{curationsId}`

## Request

- Base URL: `https://apihub.googleapis.com`
- URL: `https://apihub.googleapis.com/v1/projects/{projectsId}/locations/{locationsId}/curations/{curationsId}`
- Auth: one of:
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/apihub.readwrite`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/apihub.readwrite`
  - 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`
- TypeScript: <https://skmtc.dev/google/apis/apihub/docs/v1/projects/:projectsId/locations/:locationsId/curations/:curationsId/patch.ts> (a function with typed inputs; its response is checked against the schema)

Update a curation resource in the API hub. The following fields in the curation can be updated: * display_name * description The update_mask should be used to specify the fields being updated.

## Path parameters

- `projectsId` string, required
- `locationsId` string, required
- `curationsId` string, required

## Query parameters

- `updateMask` string, google-fieldmask

## Request body

- GoogleCloudApihubV1Curation: A curation resource in the API Hub.
  - `createTime` string, google-datetime: Output only. The time at which the curation was created.
  - `description` string: Optional. The description of the curation.
  - `displayName` string: Required. The display name of the curation.
  - `endpoint` GoogleCloudApihubV1Endpoint: The endpoint to be triggered for curation. The endpoint will be invoked with a request payload containing ApiMetadata. Response should contain curated data in the form of ApiMetadata.
    - `applicationIntegrationEndpointDetails` GoogleCloudApihubV1ApplicationIntegrationEndpointDetails: The details of the Application Integration endpoint to be triggered for curation.
      - `triggerId` string: Required. The API trigger ID of the Application Integration workflow.
      - `uri` string: Required. The endpoint URI should be a valid REST URI for triggering an Application Integration. Format: `https://integrations.googleapis.com/v1/{name=projects/*/locations/*/integrations/*}:execute` or `https://{location}-integrations.googleapis.com/v1/{name=projects/*/locations/*/integrations/*}:execute`
  - `lastExecutionErrorCode` 'ERROR_CODE_UNSPECIFIED' | 'INTERNAL_ERROR' | 'UNAUTHORIZED': Output only. The error code of the last execution of the curation. The error code is populated only when the last execution state is failed.
  - `lastExecutionErrorMessage` string: Output only. Error message describing the failure, if any, during the last execution of the curation.
  - `lastExecutionState` 'LAST_EXECUTION_STATE_UNSPECIFIED' | 'SUCCEEDED' | 'FAILED': Output only. The last execution state of the curation.
  - `name` string: Identifier. The name of the curation. Format: `projects/{project}/locations/{location}/curations/{curation}`
  - `pluginInstanceActions` GoogleCloudApihubV1PluginInstanceActionID[]: Output only. The plugin instances and associated actions that are using the curation. Note: A particular curation could be used by multiple plugin instances or multiple actions in a plugin instance.
    - `actionId` string: Output only. The action ID that is using the curation. This should map to one of the action IDs specified in action configs in the plugin.
    - `pluginInstance` string: Output only. Plugin instance that is using the curation. Format is `projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}`
  - `updateTime` string, google-datetime: Output only. The time at which the curation was last updated.

## Response `200`

Successful response

- GoogleCloudApihubV1Curation: A curation resource in the API Hub.
  - `createTime` string, google-datetime: Output only. The time at which the curation was created.
  - `description` string: Optional. The description of the curation.
  - `displayName` string: Required. The display name of the curation.
  - `endpoint` GoogleCloudApihubV1Endpoint: The endpoint to be triggered for curation. The endpoint will be invoked with a request payload containing ApiMetadata. Response should contain curated data in the form of ApiMetadata.
    - `applicationIntegrationEndpointDetails` GoogleCloudApihubV1ApplicationIntegrationEndpointDetails: The details of the Application Integration endpoint to be triggered for curation.
      - `triggerId` string: Required. The API trigger ID of the Application Integration workflow.
      - `uri` string: Required. The endpoint URI should be a valid REST URI for triggering an Application Integration. Format: `https://integrations.googleapis.com/v1/{name=projects/*/locations/*/integrations/*}:execute` or `https://{location}-integrations.googleapis.com/v1/{name=projects/*/locations/*/integrations/*}:execute`
  - `lastExecutionErrorCode` 'ERROR_CODE_UNSPECIFIED' | 'INTERNAL_ERROR' | 'UNAUTHORIZED': Output only. The error code of the last execution of the curation. The error code is populated only when the last execution state is failed.
  - `lastExecutionErrorMessage` string: Output only. Error message describing the failure, if any, during the last execution of the curation.
  - `lastExecutionState` 'LAST_EXECUTION_STATE_UNSPECIFIED' | 'SUCCEEDED' | 'FAILED': Output only. The last execution state of the curation.
  - `name` string: Identifier. The name of the curation. Format: `projects/{project}/locations/{location}/curations/{curation}`
  - `pluginInstanceActions` GoogleCloudApihubV1PluginInstanceActionID[]: Output only. The plugin instances and associated actions that are using the curation. Note: A particular curation could be used by multiple plugin instances or multiple actions in a plugin instance.
    - `actionId` string: Output only. The action ID that is using the curation. This should map to one of the action IDs specified in action configs in the plugin.
    - `pluginInstance` string: Output only. Plugin instance that is using the curation. Format is `projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}`
  - `updateTime` string, google-datetime: Output only. The time at which the curation was last updated.

## Changes

- **2026-11-08** `09b6c7d2247b`: 4 info
  - the security scope `https://www.googleapis.com/auth/apihub.readwrite` was added to the endpoint's security scheme `Oauth2`
  - the security scope `https://www.googleapis.com/auth/apihub.readwrite` was added to the endpoint's security scheme `Oauth2c`
  - the security scope `https://www.googleapis.com/auth/cloud-platform` was removed from the endpoint's security scheme `Oauth2`
  - the security scope `https://www.googleapis.com/auth/cloud-platform` was removed from the endpoint's security scheme `Oauth2c`

[Operation history](https://skmtc.dev/google/apis/apihub/changes/v1/projects/:projectsId/locations/:locationsId/curations/:curationsId/patch.md)

---

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