{
  "slug": "gcloud-services-api-keys-update-supports-append-e8f8547d5eff",
  "title": "gcloud services API keys update supports --append",
  "tools": [
    "gcloud"
  ],
  "tags": [
    "agent"
  ],
  "introduced_at": "2026-08-18T00:00:00.000Z",
  "announced_at": "2026-08-18T00:00:00.000Z",
  "effective_at": null,
  "date_basis": "source-publication",
  "status": "unknown",
  "how": {
    "incantation": "When adding application or API target restrictions while retaining existing restrictions, run `gcloud services api-keys update` with `--append` and the new restriction flags.",
    "examples": [
      "gcloud services api-keys update projects/<project>/locations/global/keys/<key-id> --append --allowed-referrers=\"https://www.example.com/*\" --api-target=service=<service>.googleapis.com"
    ],
    "gotchas": [
      "KEY (required): Key ID or fully qualified key identifier.",
      "--append: Merge new restrictions with the key’s current restrictions instead of replacing them.",
      "--api-target: Repeatable; specifies a service and optionally specific methods.",
      "--allowed-application: Repeatable; specifies an allowed application using `sha1_fingerprint` and `package_name`.",
      "--allowed-bundle-ids: Specifies allowed iOS app bundle IDs.",
      "--allowed-ips: Specifies caller IP addresses allowed to make API calls with the key.",
      "--allowed-referrers: Specifies regular expressions for referrer URLs allowed to make API calls with the key.",
      "Application restriction flags: `--allowed-application`, `--allowed-bundle-ids`, `--allowed-ips`, and `--allowed-referrers` are mutually exclusive."
    ]
  },
  "why_it_matters": "Add application or API target restrictions to an API key while preserving its existing restrictions.",
  "before": "Update the key's restrictions by replacing its existing restrictions with the new application and API target restrictions.",
  "sources": [
    "https://docs.cloud.google.com/sdk/docs/release-notes#58100_2026-08-18",
    "https://docs.cloud.google.com/sdk/gcloud/reference/services/api-keys/update"
  ],
  "rank": 0.97022,
  "judge": {
    "publish": true,
    "judge_model": "codex-cli/gpt-6-luna+typesafe/jev-1.13.0",
    "prompt_version": "extract-v7+enrich-v1+judge-v2x3+jev-publish-v1"
  },
  "review_state": "approved",
  "provenance": {
    "run_id": "cloud-20261008",
    "verdict_id": "cloud-20261008:cloud-20261008-2d522920a90e617a-4:gate",
    "evidence_hash": "b3766a203fe9111b5dc0304225e587d2ed90861e1279c9cbc3a6818c68fe4853"
  },
  "review": {
    "draft_hash": "b8e46f161d43d5241975156452d55ce4e165819539441550f02fd5f1cd80026d",
    "reviewer": "publication-gate",
    "reviewed_at": "2026-10-07T00:00:00.000Z",
    "decision": "cloud-20261008:gate",
    "reason": "3 of 3 judge runs approved with p_yes >= 0.9 (mean 0.97 >= 0.9; 2 needed) and Jev gave 0.73 (>= 0.6 needed)."
  }
}
