Apigee technical feature overview

This pageapplies toApigee andApigee hybrid.

View Apigee Edge documentation.

This topic summarizes the features in Apigee, and compares the features and functionality between Apigee and Apigee hybrid.

Tip: For a comparison of the features in Apigee versus Apigee Edge, seeCompare Apigee Edge to Apigee.

The following table lists the Apigee API management products that are compared in this topic:

ProductWhere hostedManaged by
ApigeeGoogle CloudApigee
Apigee hybridBoth Google Cloud and the customer's private data centerApigee manages the management plane and the customer manages the runtime plane.

Summary of Apigee features

The following table provides a feature-level summary of Apigee (and hybrid).

FeatureSupport in Apigee and hybrid
API Proxy Revisions

Immutable when deployed

Apigee Adapter for IstioDeprecated: We recommend you use Apigee Adapter for Envoy instead.
App organizationOrganize apps using AppGroups or developer-app associations. See Organizing client app ownership.
Deployments
  • Asynchronous deployments
  • Retrieving deployment status is based on the last time the runtime plane "checked-in" with the management plane
Environments
  • Support for environment groups
  • Self-service through the Apigee UI and APIs
  • Flexibility in serving topology
  • An MP pod can only serve one environment

For more information, seeAbout environments and environment groups.

gRPC-based proxy support

Process unary gRPC-protocol API requests to a gRPC target server. SeeCreating gRPC API proxies.

HTTP/1.1 header field name case

Converts HTTP/1.1 header field names to lowercase when forwarded to the backend. This behavior may affect applications that expect case to be preserved.

Keystores/Truststores
  • Northbound managed as Kubernetes secrets
KVMs
  • You can create encrypted, environment-scoped KVMs in the Apigee UI. KVMs are always encrypted. You cannot add, update, or view KVM entries in the UI.
  • Use theprivate. attribute with all variables when accessing a KVM with theGET command to hide the KVM information in a debug (Trace) session. If theprivate. attribute is not used, the KVM is still encrypted; however, the KVM information will appear decrypted in the debug Trace) session and no exception will be thrown.
  • You can manage KVM entries using thekeyvaluemaps.entries API or the KeyValueMapOperations policy.
  • You can use property sets for some of the same use cases as KVMs. SeeUsing property sets.
  • The<MapName> element enables the KeyValueMapOperations policy to identify which KVM to use dynamically, at runtime.

For more information on creating KVMs in the UI, seeUsing key value maps. See alsoAccessing configuration data for information on how to choose the right data persistence mechanism.

MonetizationSupported in Apigee and Apigee hybrid. SeeMonetization overview for features.
Node.js
  • Node.js API proxies are not supported.
  • Apigee recommends that you host Node.js applications as separate containers in Kubernetes (same or different cluster)
OAuth New RevokeOAuthv2 policy revokes by end user ID, app ID, or both.
Policies SeePolicy overview.
ResourcesCannot use organization-level resources
Roles and Permissions
  • Managed through Google Cloud console's IAM service
  • Some curated out-of-the-box roles are available
  • You can create custom roles which can include other Google Cloud permissions

For more information, see Users and roles.

SOAP services in the Build a proxy wizardNot supported. See wsdl2apigee, an open source project that provides SOAP utilities for use with Apigee.
Trace/Debug SessionsSeeTrace support.
Virtual Hosts

For hybrid:

  • The ingress is implemented through Anthos Service Mesh.
  • The keys and certs are deployed directly to Kubernetes.

For Apigee:

  • Each instance exposes an HTTPS endpoint via self-signed certificate. The CA for the certificate can be downloaded by querying the org.

Trace/Debug support

The following table shows the Apigee and hybrid Trace support:

FeatureApigee and hybrid support
TimelinessSlight delay; asynchronous
Session name/IDDoesn't accept session name from the user
FiltersSupport for complex filtering logic, including both AND and OR logical operations. Access to any flow variable mentioned in the flow variables reference. Syntax is the same as used with conditionals, as shown in theconditions reference.
Session timeout

Defines only the length of the debug session. The starting point is when the Message Processor receives the request to run in debug mode.

Default value is 5 minutes if the session was initiated with the API and 10 minutes if it was initiated in the UI.

Data is persisted for 24 hours before hybrid automatically deletes it.

Session validityLength of time in which the session creation request is valid. If the debug session does not start within this amount of time, the Synchronizers can disregard the session creation request. Be sure to keep your Synchronizers' clocks in synch, as described inPrerequisites.
Trace request countDefault is 10 per Message Processor; maximum is 15.
APIsApigee exposes the Debug Session API and Debug Session Data API

API overview

The following summarizes Apigee APIs and functionality.

BehaviorApigee APIs
Base domainapigee.googleapis.com
Media typesapplication/json
AuthenticationOAuth2
Timestamps in keysString format
{  "createdAt": "1234",  "lastModifiedAt": "5678"}
Structure ofexpand=false query parameter
{  "proxies": [    {      "name": "helloworld"    },    {      "name": "weather"    }  ]}
Query parameters prefixed by underscoreNot supported (optimal=true)
Properties in payloads:
  • created_by
  • modified_by
  • self
Not supported
Default values in payloadsNot included
Error handling structure
{  "error": {    "code": 409,    "message": "...",    "status": "ABORTED",    "details": [...]  }}
Cache deletion responseReturns:204 No Content
Cache API operations List and delete only. Short-lived L1 cache is automatically created when you deploy an API proxy. For more information, seeCache internals.

Apigee metrics APIs

Summary of Apigee metric APIs:

FeatureApigee APIs
API endpointapigee.googleapis.com
Daily analytics emailsNo APIs supported
Async Query List APITheuserId property is omitted from the response. See Method: organizations.environments.queries.list.
Custom report APIsThecreatedBy andlastModifiedBy properties have been removed from the response. SeeReports API.

Apigee hybrid features

The following table summaizes hybrid features:

Servicehybrid Area
AnalyticsA data collection pod in the runtime plane usesfluentd andUDCA (Universal Data Collection Agent) to gather analytics and feed the data to theUAP (Unified Analytics Platform) in the management plane.
API Proxy GatewayTheMessage Processor (MP) processes incoming requests. MPs are implemented as one or more containerized apps in the runtime plane.
PersistenceCassandra provides persistence for the KMS, KVM, quota, and cache features.
DeploymentTheSynchronizer ensures that API proxy configurations, environment information, and other data is kept up to date between the management plane and runtime plane.
Administrative User InterfaceTheApigee UI is a containerized app hosted on the management plane.
Load BalancingAnIstio Ingress controller hands requests to theRouter/Message Processor (RMP) containerized app in the runtime plane.
APIsApigee APIs are accessed through theManagement Server andMART. MART interacts with the local Cassandra datastore and serves as an API provider for the Apigee APIs to access and manage runtime data entities.
MetricsManaged by a singlePrometheus server per cluster for all services.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-12-15 UTC.