[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-29 UTC."],[[["\u003cp\u003eThis document provides instructions on how to delete environments within Apigee hybrid, using a \u003ccode\u003eprod\u003c/code\u003e environment as an example.\u003c/p\u003e\n"],["\u003cp\u003eDeleting an environment requires removing it from any associated environment groups, which must be performed prior to removing the runtime components.\u003c/p\u003e\n"],["\u003cp\u003eThe process involves using \u003ccode\u003ecurl\u003c/code\u003e commands to interact with the management plane, and \u003ccode\u003eapigeectl\u003c/code\u003e commands to interact with the runtime plane.\u003c/p\u003e\n"],["\u003cp\u003eAfter deleting an environment, the corresponding definition needs to be removed from the overrides file in both \u003ccode\u003eenvs\u003c/code\u003e and \u003ccode\u003evirtualhosts\u003c/code\u003e sections.\u003c/p\u003e\n"],["\u003cp\u003eA dry run is recommended before actually removing the runtime components, to check for any possible errors.\u003c/p\u003e\n"]]],[],null,["# Delete environments\n\n| You are currently viewing version 1.8 of the Apigee hybrid documentation. **This version is end of life.** You should upgrade to a newer version. For more information, see [Supported versions](/apigee/docs/hybrid/supported-platforms#supported-versions).\n\n\nThis topic explains how to delete environments in Apigee hybrid. See also\n[About environments and environment groups](/apigee/docs/api-platform/fundamentals/environments-overview).\n\nHow to delete an environment\n----------------------------\n\nAssume that you have two environments, **test** and **prod**. In\nyour overrides file, the definitions might look something like this:\n\n```scdoc\n...\nenvs:\n - name: test\n serviceAccountPaths:\n synchronizer: \"your_keypath/synchronizer-manager-service-account.json\n udca: \"your_keypath/analytic-agent-service-account.json\n - name: prod\n serviceAccountPaths:\n synchronizer: \"your_keypath/synchronizer-manager-service-account.json\n udca: \"your_keypath/analytic-agent-service-account.json\n...\n```\n\nTo delete the **prod** environment, follow these steps:\n\n1. Get your gcloud authentication credentials: \n\n ```\n TOKEN=$(gcloud auth print-access-token)\n ```\n2. Delete the environment from any associated environment groups, one at a time: \n\n ```\n curl -X DELETE -H \"Authorization: Bearer $TOKEN\" \\\n \"https://apigee.googleapis.com/v1/organizations/$ORG_NAME/envgroups/$ENV_GROUP/attachments/prod\"\n ```\n3. Do a dry run to test removal of the runtime components: \n\n ```\n apigeectl delete -f overrides.yaml --env=prod --dry-run=true\n ```\n4. If the dry run is error-free, remove the runtime components: \n\n ```\n apigeectl delete -f overrides.yaml --env=prod\n ```\n5. Delete the environment from the management plane: \n\n ```\n curl -X DELETE -H \"Authorization: Bearer $TOKEN\" \\\n \"https://apigee.googleapis.com/v1/organizations/$ORG_NAME/environments/prod\"\n ```\n6. Open your overrides file and remove the `prod` environment definition from `envs` and `virtualhosts`, leaving only the **test** definitions. For example: \n\n ```scdoc\n ...\n envs:\n - name: test\n serviceAccountPaths:\n synchronizer: \"your_keypath/synchronizer-manager-service-account.json\n udca: \"your_keypath/analytic-agent-service-account.json\n ...\n ```\n7. Save the file."]]