Supported versions:
Unsupported versions:
This section describes the Synchronizer.
In Apigee hybrid, the Synchronizer's primary job is to poll and download the runtime contracts which are supplied by the management plane. Information communicated by contract includes API proxies, API products, caches, and virtual hosts. Synchronizer by default stores environment configuration data in the Cassandra database.
Synchronizer instances running in the runtime-plane are expected to poll the management plane on a regular basis, download the contracts and make the same available to local runtime instances.
One Synchronizer can support many Message Processors deployed in the same pod.
You must grant the Synchronizer permission to pull down Apigee artifacts, such as proxy bundles and resources from the management plane. You must call an Apigee API to authorize the Synchronizer to pull artifacts down from the management plane to the runtime plane.
Use gcloud to obtain an
OAuth 2.0 access token, passing the service account credentials JSON file that you
downloaded using GOOGLE_APPLICATION_CREDENTIALS environment variable:
export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.jsongcloud auth application-default print-access-token
An OAuth2.0 token is returned.
For more information, see gcloud beta auth application-default print-access-token.
TOKEN. For example:
export TOKEN=ya29....Ts13inj3LrqMJlztwygtM
curl -X POST -H "Authorization: Bearer $TOKEN" \
-H "Content-Type:application/json" \
"https://apigee.googleapis.com/v1/organizations/your_org_name:setSyncAuthorization" \
-d '{"identities":["serviceAccount:synchronizer-manager-service-account-name"]}'
Where:
your_org_name: The name of the hybrid organization.synchronizer-manager-service-account-name: The name of a service account
with the Apigee Synchronizer Manager role. The name is formed like an
email address. For example:
my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.comExample:
curl -X POST -H "Authorization: Bearer $TOKEN" \
-H "Content-Type:application/json" \
"https://apigee.googleapis.com/v1/organizations/my_org:setSyncAuthorization" \
-d '{"identities":["serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com"]}'
For more information on this API, see setSyncAuthorization API.
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/your_org_name:getSyncAuthorization" \ -d ''
The output looks similar to the following:
{ "identities":[ "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-07-23 UTC.