Apigee API

The Apigee API lets you programmatically manage Apigee Hybrid with a set of RESTful operations, including:

  • Create, edit, and delete API proxies
  • Manage users
  • Deploy and undeploy proxy revisions
  • Configure environments

For information on using the APIs described in this section, see Get started using the APIs.

Service: apigee.googleapis.com

We recommend that you call this service using Google-provided client libraries. If your application needs to call this service using your own libraries, you should use the following information when making the API requests.

Discovery document

A Discovery Document is a machine-readable specification for describing and consuming REST APIs. It is used to build client libraries, IDE plugins, and other tools that interact with Google APIs. One service may provide multiple discovery documents. This service provides the following discovery document:

Service endpoint

A service endpoint is a base URL that specifies the network address of an API service. One service may have multiple service endpoints. This service has the following service endpoint and all URIs below are relative to this service endpoint:

  • https://apigee.googleapis.com

REST Resource: v1.hybrid.issuers

Methods
list GET /v1/{name=hybrid/issuers}
Lists hybrid services and its trusted issuers service account ids.

REST Resource: v1.organizations

Methods
get GET /v1/{name=organizations/*}
Gets an Organization.
getSyncAuthorization POST /v1/{name=organizations/*}:getSyncAuthorization
Gets an Organization's.
list GET /v1/{parent}
Lists the Apigee organizations, and the related projects that a user has permissions for.
setSyncAuthorization POST /v1/{name=organizations/*}:setSyncAuthorization
Updates an Organization's.
update PUT /v1/{name=organizations/*}
Updates an Organization's properties.
updateOrganization POST /v1/{name=organizations/*}
Updates an Organization's properties.

REST Resource: v1.organizations.apiproducts

Methods
attributes POST /v1/{name=organizations/*/apiproducts/*}/attributes
Updates or creates API product attributes.
create POST /v1/{parent=organizations/*}/apiproducts
Creates an API product in an organization.
delete DELETE /v1/{name=organizations/*/apiproducts/*}
Deletes an API product from an organization.
get GET /v1/{name=organizations/*/apiproducts/*}
Gets configuration details for an API product.
list GET /v1/{parent=organizations/*}/apiproducts
Lists all API product names for an organization.
update PUT /v1/{name=organizations/*/apiproducts/*}
Updates an existing API product.

REST Resource: v1.organizations.apiproducts.attributes

Methods
delete DELETE /v1/{name=organizations/*/apiproducts/*/attributes/*}
Deletes an API product attribute.
get GET /v1/{name=organizations/*/apiproducts/*/attributes/*}
Returns the value of an API product attribute.
list GET /v1/{parent=organizations/*/apiproducts/*}/attributes
Returns a list of all API product attributes.
updateApiProductAttribute POST /v1/{name=organizations/*/apiproducts/*/attributes/*}
Updates the value of an API product attribute.

REST Resource: v1.organizations.apis

Methods
create POST /v1/{parent=organizations/*}/apis
Creates an API proxy.
delete DELETE /v1/{name=organizations/*/apis/*}
Deletes an API proxy and all associated endpoints, policies, resources, and revisions.
get GET /v1/{name=organizations/*/apis/*}
Gets an API proxy by name, including a list of existing revisions of the proxy.
list GET /v1/{parent=organizations/*}/apis
Gets the names of all API proxies in an organization.

REST Resource: v1.organizations.apis.deployments

Methods
list GET /v1/{parent=organizations/*/apis/*}/deployments
Lists all deployments of an API proxy.

REST Resource: v1.organizations.apis.keyvaluemaps

Methods
create POST /v1/{parent=organizations/*/apis/*}/keyvaluemaps
Creates a key value map in an api proxy.
delete DELETE /v1/{name=organizations/*/apis/*/keyvaluemaps/*}
Delete a key value map in an api proxy.
list GET /v1/{parent=organizations/*/apis/*}/keyvaluemaps
List key value maps in an api proxy.

REST Resource: v1.organizations.apis.revisions

Methods
delete DELETE /v1/{name=organizations/*/apis/*/revisions/*}
Deletes a revision of an API proxy and all policies, resources, endpoints, and revisions associated with it.
get GET /v1/{name=organizations/*/apis/*/revisions/*}
Gets a specific revision of an API proxy.
list GET /v1/{parent=organizations/*/apis/*}/revisions
Lists all revisions for an API proxy.
updateApiProxyRevision POST /v1/{name=organizations/*/apis/*/revisions/*}
Updates an API proxy revision.

REST Resource: v1.organizations.apis.revisions.deployments

Methods
list GET /v1/{parent=organizations/*/apis/*/revisions/*}/deployments
Lists all deployments of an API proxy revision and actual state reported by runtime pods.

REST Resource: v1.organizations.apps

Methods
get GET /v1/{name=organizations/*/apps/*}
Get App in an Organization by App ID.
list GET /v1/{parent=organizations/*}/apps
Returns a list of app IDs within an organization based on app status (approved or revoked) or app type (developer or company) or app family.

REST Resource: v1.organizations.companies

Methods
create POST /v1/{parent=organizations/*}/companies
Creates an app for a company.
delete DELETE /v1/{name=organizations/*/companies/*}
Deletes an existing company.
get GET /v1/{name=organizations/*/companies/*}
List details for a company.
list GET /v1/{parent=organizations/*}/companies
List all companies in an organization, and optionally returns an expanded list of companies, displaying a full profile for each company in the organization.
update PUT /v1/{name=organizations/*/companies/*}
Updates an existing company.

REST Resource: v1.organizations.companies.apps

Methods
create POST /v1/{parent=organizations/*/companies/*}/apps
Creates an app for a company.
delete DELETE /v1/{name=organizations/*/companies/*/apps/*}
Deletes a company app.
get GET /v1/{name=organizations/*/companies/*/apps/*}
Gets the profile of a specific company app.
list GET /v1/{parent=organizations/*/companies/*}/apps
List company apps in an organization.
update PUT /v1/{name=organizations/*/companies/*/apps/*}
Updates an existing company app.

REST Resource: v1.organizations.companies.apps.keys

Methods
delete DELETE /v1/{name=organizations/*/companies/*/apps/*/keys/*}
Deletes a key for a company app and removes all API products associated with the app.
get GET /v1/{name=organizations/*/companies/*/apps/*/keys/*}
Gets information about the consumer key issued to a specific company app.
updateCompanyAppKey POST /v1/{name=organizations/*/companies/*/apps/*/keys/*}
Updates an existing company app key to add additional API products or attributes.

REST Resource: v1.organizations.deployments

Methods
list GET /v1/{parent=organizations/*}/deployments
Lists all deployments of API proxies or shared flows.

REST Resource: v1.organizations.developers

Methods
attributes POST /v1/{parent=organizations/*/developers/*}/attributes
Updates or creates developer attributes.This API replaces the current list of attributes with the attributes specified in the request body.
create POST /v1/{parent=organizations/*}/developers
Creates a profile for a developer in an organization.
delete DELETE /v1/{name=organizations/*/developers/*}
Deletes a developer from an organization.
get GET /v1/{name=organizations/*/developers/*}
Returns the profile for a developer by email address or ID.
list GET /v1/{parent=organizations/*}/developers
Lists all developers in an organization by email address.
setDeveloperStatus POST /v1/{name=organizations/*/developers/*}
Sets a developer's status to active or inactive for a specific organization Run this API for each organization where you want to change the developer's status.
update PUT /v1/{name=organizations/*/developers/*}
Update an existing developer profile.

REST Resource: v1.organizations.developers.apps

Methods
attributes POST /v1/{name=organizations/*/developers/*/apps/*}/attributes
Updates or creates app attributes.
create POST /v1/{parent=organizations/*/developers/*}/apps
Creates an app associated with a developer, associates the app with an API product, and auto-generates an API key for the app to use in calls to API proxies inside the API product.
delete DELETE /v1/{name=organizations/*/developers/*/apps/*}
Deletes a developer app.
generateKeyPairOrUpdateDeveloperAppStatus POST /v1/{name=organizations/*/developers/*/apps/*}
(2) Create new developer KeyPairs Generates a new consumer key and consumer secret for the named developer app.
get GET /v1/{name=organizations/*/developers/*/apps/*}
Get the profile of a specific developer app.
list GET /v1/{parent=organizations/*/developers/*}/apps
Lists all apps created by a developer in an organization, and optionally provides an expanded view of the apps.
update PUT /v1/{name=organizations/*/developers/*/apps/*}
Updates a developer app.

REST Resource: v1.organizations.developers.apps.attributes

Methods
delete DELETE /v1/{name=organizations/*/developers/*/apps/*/attributes/*}
Deletes an app attribute.
get GET /v1/{name=organizations/*/developers/*/apps/*/attributes/*}
Returns the value of an app attribute.
list GET /v1/{parent=organizations/*/developers/*/apps/*}/attributes
Returns a list of all app attributes.
updateDeveloperAppAttribute POST /v1/{name=organizations/*/developers/*/apps/*/attributes/*}
Updates an app attribute

REST Resource: v1.organizations.developers.apps.keys

Methods
create POST /v1/{parent=organizations/*/developers/*/apps/*}/keys
Creates a custom consumer key and secret for a developer app.
delete DELETE /v1/{name=organizations/*/developers/*/apps/*/keys/*}
Deletes a consumer key that belongs to an app, and removes all API products associated with the app.
get GET /v1/{name=organizations/*/developers/*/apps/*/keys/*}
Returns details for a consumer key for a developer app, including the key and secret value, associated API products, and other information.
replaceDeveloperAppKey PUT /v1/{name=organizations/*/developers/*/apps/*/keys/*}
Updates the scope of an app.
updateDeveloperAppKey POST /v1/{name=organizations/*/developers/*/apps/*/keys/*}
Adds an API product to a developer app key, enabling the app that holds the key to access the API resources bundled in the API product.

REST Resource: v1.organizations.developers.apps.keys.apiproducts

Methods
delete DELETE /v1/{name=organizations/*/developers/*/apps/*/keys/*/apiproducts/*}
Removes an API product from an app's consumer key, and thereby renders the app unable to access the API resources defined in that API product.
updateDeveloperAppKeyApiProduct POST /v1/{name=organizations/*/developers/*/apps/*/keys/*/apiproducts/*}
Approve or Revoke the key for a given api product.

REST Resource: v1.organizations.developers.apps.keys.create

Methods
create POST /v1/{parent=organizations/*/developers/*/apps/*}/keys/create
Creates a custom consumer key and secret for a developer app.

REST Resource: v1.organizations.developers.attributes

Methods
delete DELETE /v1/{name=organizations/*/developers/*/attributes/*}
Deletes an attribute of a Developer resource Apigee recommends using the developer email in the API call.
get GET /v1/{name=organizations/*/developers/*/attributes/*}
Get developer attributes.
list GET /v1/{parent=organizations/*/developers/*}/attributes
Returns a list of all developer attributes.
updateDeveloperAttribute POST /v1/{name=organizations/*/developers/*/attributes/*}
Update developer attribute.

REST Resource: v1.organizations.environments

Methods
create POST /v1/{parent=organizations/*}/environments
Creates an Environment in the specified organization.
delete DELETE /v1/{name=organizations/*/environments/*}
Deletes an Environment from an organization.
get GET /v1/{name=organizations/*/environments/*}
Gets an Environment.
getDatalocation GET /v1/{name=organizations/*/environments/*/datalocation}
Get Google Cloud Storage (GCS) signed url for specific organization and environment.
getDeployedConfig GET /v1/{name=organizations/*/environments/*/deployedConfig}
Gets the deployed config (aka env.json) for an Environment.
getIamPolicy GET /v1/{resource=organizations/*/environments/*}:getIamPolicy
Gets the IAM policy on an Environment.
list GET /v1/{parent=organizations/*}/environments
Lists all Environments in an organization.
setIamPolicy POST /v1/{resource=organizations/*/environments/*}:setIamPolicy
Sets the IAM policy on an Environment, if the policy already exists it will be replaced.
testIamPermissions POST /v1/{resource=organizations/*/environments/*}:testIamPermissions
Tests the permissions of a user on an Environment, and returns a subset of permissions that the user has on the Environment If the environment does not exist an empty permission set is returned (a NOT_FOUND error is not returned).
update PUT /v1/{name=organizations/*/environments/*}
Updates an existing Environment.
updateEnvironment POST /v1/{name=organizations/*/environments/*}
Updates an existing Environment.

REST Resource: v1.organizations.environments.analytics.admin

Methods
getSchemav2 GET /v1/{name=organizations/*/environments/*/analytics/admin/schemav2}
Get a list of metrics and dimensions which can be used for creating analytics queries and reports.

REST Resource: v1.organizations.environments.analytics.reports.dailysummary.d1.results

Methods
get GET /v1/{name=organizations/*/environments/*/analytics/reports/dailysummary/d1/results/*}
Get summary report in HTML format

REST Resource: v1.organizations.environments.apis.deployments

Methods
list GET /v1/{parent=organizations/*/environments/*/apis/*}/deployments
Lists all deployments of an API proxy in an environment.

REST Resource: v1.organizations.environments.apis.revisions

Methods
deployments DELETE /v1/{name=organizations/*/environments/*/apis/*/revisions/*}/deployments
Undeploys an API proxy revision from an environment.
getDeployments GET /v1/{name=organizations/*/environments/*/apis/*/revisions/*}/deployments
Gets the deployment of an API proxy revision and actual state reported by runtime pods.

REST Resource: v1.organizations.environments.apis.revisions.debugsessions

Methods
create POST /v1/{parent=organizations/*/environments/*/apis/*/revisions/*}/debugsessions
Creates a debug session for a deployed API Proxy revision.
deleteData DELETE /v1/{name=organizations/*/environments/*/apis/*/revisions/*/debugsessions/*}/data
Deletes the data from a debug session.
list GET /v1/{parent=organizations/*/environments/*/apis/*/revisions/*}/debugsessions
Lists debug sessions that are currently active in the given API Proxy revision.

REST Resource: v1.organizations.environments.apis.revisions.debugsessions.data

Methods
get GET /v1/{name=organizations/*/environments/*/apis/*/revisions/*/debugsessions/*/data/*}
Gets the debug data from a transaction.
list GET /v1/{parent=organizations/*/environments/*/apis/*/revisions/*/debugsessions/*}/data
Lists the transaction IDs from a debug session.

REST Resource: v1.organizations.environments.deployments

Methods
list GET /v1/{parent=organizations/*/environments/*}/deployments
Lists all deployments of API proxies or shared flows in an environment.

REST Resource: v1.organizations.environments.flowhooks

Methods
attachSharedFlowToFlowHook PUT /v1/{name=organizations/*/environments/*/flowhooks/*}
Attaches a shared flow to a flow hook.
detachSharedFlowFromFlowHook DELETE /v1/{name=organizations/*/environments/*/flowhooks/*}
Detaches a shared flow from a flow hook.
get GET /v1/{name=organizations/*/environments/*/flowhooks/*}
Returns the name of the shared flow attached to the specified flow hook.
list GET /v1/{parent=organizations/*/environments/*}/flowhooks
Lists the flow hooks attached to a particular environment.

REST Resource: v1.organizations.environments.keystores

Methods
create POST /v1/{parent=organizations/*/environments/*}/keystores
Creates a keystore or truststore: * Keystore: Contains certificates and their associated keys.
delete DELETE /v1/{name=organizations/*/environments/*/keystores/*}
Deletes a keystore or truststore.
get GET /v1/{name=organizations/*/environments/*/keystores/*}
Gets a keystore or truststore.
list GET /v1/{parent=organizations/*/environments/*}/keystores
Lists all keystores and truststores.

REST Resource: v1.organizations.environments.keystores.aliases

Methods
create POST /v1/{parent=organizations/*/environments/*/keystores/*}/aliases
Creates an alias from a key, certificate pair.
csr GET /v1/{name=organizations/*/environments/*/keystores/*/aliases/*}/csr
Generates a PKCS #10 Certificate Signing Request for the private key in an alias.
delete DELETE /v1/{name=organizations/*/environments/*/keystores/*/aliases/*}
Deletes an alias.
get GET /v1/{name=organizations/*/environments/*/keystores/*/aliases/*}
Gets an alias.
getCertificate GET /v1/{name=organizations/*/environments/*/keystores/*/aliases/*}/certificate
Gets the certificate from an alias in PEM-encoded form.
list GET /v1/{parent=organizations/*/environments/*/keystores/*}/aliases
Lists all aliases.
update PUT /v1/{name=organizations/*/environments/*/keystores/*/aliases/*}
Updates the certificate in an alias.

REST Resource: v1.organizations.environments.keyvaluemaps

Methods
create POST /v1/{parent=organizations/*/environments/*}/keyvaluemaps
Creates a key value map in an environment.
delete DELETE /v1/{name=organizations/*/environments/*/keyvaluemaps/*}
Delete a key value map in an environment.
list GET /v1/{parent=organizations/*/environments/*}/keyvaluemaps
List key value maps in an environment.

REST Resource: v1.organizations.environments.optimizedStats

Methods
get GET /v1/{name=organizations/*/environments/*/optimizedStats/**}
This api is similar to GetStats except that the response is less verbose.

REST Resource: v1.organizations.environments.queries

Methods
create POST /v1/{parent=organizations/*/environments/*}/queries
Submit a query to be processed in the background.
get GET /v1/{name=organizations/*/environments/*/queries/*}
Get query status If the query is still in progress, the state is set to "running" After the query has completed successfully, state is set to "completed"
getResult GET /v1/{name=organizations/*/environments/*/queries/*/result}
After the query is completed, use this API to retrieve the results.
getResultView GET /v1/{name=organizations/*/environments/*/queries/*/resultView}
list GET /v1/{parent=organizations/*/environments/*}/queries
Return a list of Asynchronous Queries

REST Resource: v1.organizations.environments.sharedflows.deployments

Methods
list GET /v1/{parent=organizations/*/environments/*/sharedflows/*}/deployments
Lists all deployments of a shared flow in an environment.

REST Resource: v1.organizations.environments.sharedflows.revisions

Methods
deployments DELETE /v1/{name=organizations/*/environments/*/sharedflows/*/revisions/*}/deployments
Undeploys a shared flow revision from an environment.
getDeployments GET /v1/{name=organizations/*/environments/*/sharedflows/*/revisions/*}/deployments
Gets the deployment of a shared flow revision and actual state reported by runtime pods

REST Resource: v1.organizations.environments.stats

Methods
get GET /v1/{name=organizations/*/environments/*/stats/**}
Retrieve metrics grouped by dimensions.

REST Resource: v1.organizations.environments.targetservers

Methods
create POST /v1/{parent=organizations/*/environments/*}/targetservers
Creates a TargetServer in the specified environment.
delete DELETE /v1/{name=organizations/*/environments/*/targetservers/*}
Deletes a TargetServer from an environment.
get GET /v1/{name=organizations/*/environments/*/targetservers/*}
Gets a TargetServer resource.
list GET /v1/{parent=organizations/*/environments/*}/targetservers
Lists all TargetServers in an environment as a JSON array.
update PUT /v1/{name=organizations/*/environments/*/targetservers/*}
Updates an existing TargetServer.

REST Resource: v1.organizations.keyvaluemaps

Methods
create POST /v1/{parent=organizations/*}/keyvaluemaps
Creates a key value map in an organization.
delete DELETE /v1/{name=organizations/*/keyvaluemaps/*}
Delete a key value map in an organization.
list GET /v1/{parent=organizations/*}/keyvaluemaps
List key value maps in an organization.

REST Resource: v1.organizations.operations

Methods
cancel POST /v1/{name=organizations/*/operations/*}:cancel
Starts asynchronous cancellation on a long-running operation.
delete DELETE /v1/{name=organizations/*/operations/*}
Deletes a long-running operation.
get GET /v1/{name=organizations/*/operations/*}
Gets the latest state of a long-running operation.
list GET /v1/{name=organizations/*}/operations
Lists operations that match the specified filter in the request.

REST Resource: v1.organizations.reports

Methods
create POST /v1/{parent=organizations/*}/reports
Creates a Custom Report for an Organization.
delete DELETE /v1/{name=organizations/*/reports/*}
Deletes an existing custom report definition
get GET /v1/{name=organizations/*/reports/*}
Retrieve a custom report definition.
list GET /v1/{parent=organizations/*}/reports
Return a list of Custom Reports
update PUT /v1/{name=organizations/*/reports/*}
Update an existing custom report definition

REST Resource: v1.organizations.sharedflows

Methods
create POST /v1/{parent=organizations/*}/sharedflows
Uploads a ZIP-formatted shared flow configuration bundle to an organization.
delete DELETE /v1/{name=organizations/*/sharedflows/*}
Deletes a shared flow and all it's revisions.
get GET /v1/{name=organizations/*/sharedflows/*}
Gets a shared flow by name, including a list of its revisions.
list GET /v1/{parent=organizations/*}/sharedflows
Lists all shared flows in the organization.

REST Resource: v1.organizations.sharedflows.deployments

Methods
list GET /v1/{parent=organizations/*/sharedflows/*}/deployments
Lists all deployments of a shared flow.

REST Resource: v1.organizations.sharedflows.revisions

Methods
delete DELETE /v1/{name=organizations/*/sharedflows/*/revisions/*}
Deletes a shared flow and all associated policies, resources, and revisions.
get GET /v1/{name=organizations/*/sharedflows/*/revisions/*}
Gets a revision of a shared flow.
list GET /v1/{parent=organizations/*/sharedflows/*}/revisions
Lists all revisions for a shared flow.
updateSharedFlowRevision POST /v1/{name=organizations/*/sharedflows/*/revisions/*}
Updates a shared flow revision.

REST Resource: v1.organizations.sharedflows.revisions.deployments

Methods
list GET /v1/{parent=organizations/*/sharedflows/*/revisions/*}/deployments
Lists all deployments of a shared flow and actual state reported by runtime pods.

REST Resource: v1.organizations.stats.preferences.reports

Methods
dailysummaryreport GET /v1/{parent=organizations/*}/stats/preferences/reports/dailysummaryreport
Subscribe daily summary report