This example response shows the API proxy's status on 2 pods. The deployment status is
deployed on both pods.
Your response might show the deployment status of you API proxy on fewer or more pods, depending on
your cluster's configuration.
If you get an empty response or an error, check that:
You used the correct base URL. Note that the hybrid base URL is not the same as the
Edge API's base URL. Use https://apigee.googleapis.com/v1.
You used the correct endpoint URL. Note that the revision is "1" and the endpoint is
/organizations/my_organization/environments/test/apis/myproxy/revisions/1/deployments. If you
specify a revision that doesn't exist, the request results in an empty response like the
following:
{ }
You have permissions to access the organization that you specify in the request.
[[["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-09-04 UTC."],[[["\u003cp\u003eThis documentation version (1.2) is end-of-life, and users should upgrade to a newer version for continued support and functionality.\u003c/p\u003e\n"],["\u003cp\u003eYou can check the deployment status of an API proxy by utilizing the Apigee APIs, following the steps outlined for using the revisions API.\u003c/p\u003e\n"],["\u003cp\u003eTo execute the commands, users must first set the \u003ccode\u003eGOOGLE_APPLICATION_CREDENTIALS\u003c/code\u003e environment variable to the path of their organization admin service account key.\u003c/p\u003e\n"],["\u003cp\u003eThe Revisions API is called using a GET request to a specific endpoint, providing a token in the Authorization header, and the response details the deployment status across pods.\u003c/p\u003e\n"],["\u003cp\u003eIf an empty response or an error is encountered, verify the base and endpoint URLs, token validity, permissions, and ensure the correct header syntax is being used.\u003c/p\u003e\n"]]],[],null,["# Check your API proxy's deployment status using the API\n\n| You are currently viewing version 1.2 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\nThis section describes how to check the deployment status of an API proxy using the [Apigee APIs](/apigee/docs/reference/apis/apigee/rest).\n\n1. Deploy a test API proxy as explained in [Create and deploy a new API proxy](/apigee/docs/hybrid/v1.2/test-new-proxy).\n2. Locate the JSON file with the Apigee Organization Admin service account key. This service account and key was created in [Enable synchronizer access](/apigee/docs/hybrid/v1.2/install-apply-hybrid#enable-synchronizer-access).\n3. Execute these two commands to get a token: \n\n export GOOGLE_APPLICATION_CREDENTIALS=\u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003eorg\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003eadmin\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003eservice\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003eaccount\u003c/span\u003e\u003cspan class=\"devsite-syntax-o\"\u003e-\u003c/span\u003e\u003cspan class=\"devsite-syntax-n\"\u003efile\u003c/span\u003e\u003c/var\u003e\n export TOKEN=$(gcloud auth application-default print-access-token)\n\n\n Where \u003cvar translate=\"no\"\u003eorg-admin-service-account-file\u003c/var\u003e is the path on your system to the service\n account key you downloaded with the **Apigee Organization Admin** role.\n4. Call the revisions API, with the following parts:\n - **Base URL:** `https://apigee.googleapis.com/v1`\n - **Endpoint URL:** `/organizations/my-organization/environments/test/apis/myproxy/revisions/1/deployments`\n - **Protocol:** `HTTPS`\n - **Method:** `GET`\n - **Headers:** `\"Authorization: Bearer $TOKEN\"`\n\n The following example calls the deployment revisions API with these settings using\n `curl`: \n\n ```\n curl \"https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/apis/myproxy/revisions/1/deployments\" \\\n -X GET -H \"Authorization: Bearer $TOKEN\"\n ```\n\n You should receive a response similar to the following: \n\n ```\n {\n \"deployments\": [\n {\n \"environment\": \"test\",\n \"apiProxy\": \"myproxy\",\n \"revision\": \"1\",\n \"deployStartTime\": \"1560782439002\",\n \"pods\": [\n {\n \"podName\": \"apigee-runtime-my-organization-test-blue-56b642fv429v\",\n \"appVersion\": \"self\",\n \"deploymentStatusTime\": \"1560787671389\",\n \"deploymentStatus\": \"deployed\",\n \"statusCode\": \"200\",\n \"statusCodeDetails\": \"Deployment Success\",\n \"deploymentTime\": \"1560782471370\",\n \"podStatus\": \"active\",\n \"podStatusTime\": \"1560787671389\"\n },\n {\n \"podName\": \"apigee-runtime-my-organization-test-blue-564422f7dmwj\",\n \"appVersion\": \"self\",\n \"deploymentStatusTime\": \"1560787670121\",\n \"deploymentStatus\": \"deployed\",\n \"statusCode\": \"200\",\n \"statusCodeDetails\": \"Deployment Success\",\n \"deploymentTime\": \"1560782485204\",\n \"podStatus\": \"active\",\n \"podStatusTime\": \"1560787670121\"\n }\n ],\n \"basePath\": \"/\"\n }\n ]\n }\n ```\n\n This example response shows the API proxy's status on 2 pods. The deployment status is\n `deployed` on both pods.\n\n *Your* response might show the deployment status of you API proxy on fewer or more pods, depending on\n your cluster's configuration.\n\n If you get an empty response or an error, check that:\n - You used the correct base URL. Note that the hybrid base URL is not the same as the Edge API's base URL. Use `https://apigee.googleapis.com/v1`.\n - You used the correct endpoint URL. Note that the revision is \"1\" and the endpoint is `/organizations/my_organization/environments/test/apis/myproxy/revisions/1/deployments`. If you specify a revision that doesn't exist, the request results in an empty response like the following: \n\n ```\n { }\n ```\n - You have permissions to access the organization that you specify in the request.\n - Your token has not expired. If it has, regenerate a new one as described in [Obtain an OAuth 2.0 access token](/apigee/docs/api-platform/get-started/api-get-started#oauth20).\n - You wrapped the `\"Authorization: Bearer $TOKEN\"` header in quotes."]]