Update a feature

Within a feature group, you can update a feature to associate it with a specific column in the BigQuery data source that's associated with the feature group.

While creating or updating a feature, you have the option to add user-defined metadata in the form of labels to the feature. For more information about how to update user-defined labels for a feature, see Update labels for a feature.

Before you begin

Authenticate to Vertex AI, unless you've done so already.

To use the REST API samples on this page in a local development environment, you use the credentials you provide to the gcloud CLI.

    Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init

For more information, see Authenticate for using REST in the Google Cloud authentication documentation.

Update a feature

Use the following sample to update a feature within a feature group.


To update a Feature resource, send a PATCH request by using the features.patch method.

Before using any of the request data, make the following replacements:

  • LOCATION_ID: Region where the feature group containing the feature is located, such as us-central1.
  • PROJECT_ID: Your project ID.
  • FEATURE_GROUP_NAME: The name of the feature group containing the feature.
  • FEATURE_NAME: The name of the feature you want to update.
  • VERSION_COLUMN_NAME: The column from the BigQuery source table or view that you want to associate while updating the feature.

HTTP method and URL:

PATCH https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups/FEATURE_GROUP_NAME/features?feature_id=FEATURE_NAME

Request JSON body:

  "version_column_name": "VERSION_COLUMN_NAME"

To send your request, choose one of these options:


Save the request body in a file named request.json, and execute the following command:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \


Save the request body in a file named request.json, and execute the following command:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups/FEATURE_GROUP_NAME/features?feature_id=FEATURE_NAME" | Select-Object -Expand Content

You should receive a JSON response similar to the following:

  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureGroups/FEATURE_GROUP_NAME/features/FEATURE_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.UpdateFeatureOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-18T02:36:22.870679Z",
      "updateTime": "2023-09-18T02:36:22.870679Z"
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.Feature",
    "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureGroups/FEATURE_GROUP_NAME/features/FEATURE_NAME"

What's next