Understanding APIs and API proxies

Stay organized with collections Save and categorize content based on your preferences.

You're viewing Apigee X documentation.
View Apigee Edge documentation.

Apigee lets you easily and quickly build RESTful APIs that can be consumed by app developers. You expose APIs on Apigee by building API proxies that act as managed 'facades' for backend services. This topic discusses the relationship between APIs and API proxies on Apigee.

Video: Check out this short video for an introduction to API proxies.

What is an API?

An API is an interface that makes it easy for one application to consume capabilities or data from another application. By defining stable, simplified entry points to application logic and data, APIs enable developers to easily access and reuse application logic built by other developers. In the case of Web APIs, that logic and data is exposed over the network.

Since applications that consume APIs are sensitive to changes, APIs also imply a contract. The contract provides some level of assurance that, over time, the API will change in a predictable manner.

Apigee enables you to build APIs and if you have APIs already, expose them directly, while adding a management and visibility layer. If you have HTTP enabled services, such as SOA-based Web services, they can also be exposed as APIs via Apigee.

Apigee also enables you to build APIs by implementing applications hosted on the API Services platform—with no backend service involved. You can build these applications in JavaScript and Java.

What is an API proxy?

You expose APIs on Apigee by implementing API proxies. API proxies decouple the app-facing API from your backend services, shielding those apps from backend code changes. As you make backend changes to your services, apps continue to call the same API without any interruption.

In an API proxy configuration, there are two types of endpoints:

  • ProxyEndpoint: Defines the way client apps consume your APIs. You configure the ProxyEndpoint to define the URL of your API proxy. The proxy endpoint also determines whether apps access the API proxy over HTTP or HTTPS. You usually attach policies to the ProxyEndpoint to enforce security, quota checks, and other types of access control and rate-limiting.
  • TargetEndpoint: Defines the way the API proxy interacts with your backend services. You configure the TargetEndpoint to forward requests to the proper backend service, including defining any security settings, HTTP or HTTPS protocol, and other connection information. You can attach policies to the TargetEndpoint to ensure that response messages are properly formatted for the app that made the initial request.

You can visualize API proxies as shown by the graphic below:

HTTP requests enter through the proxy request endpoint, are passed to the target request endpoint,
    and then sent to the backend services. HTTP responses enter through the target response endpoint, are
    passed to the proxy response endpoint, and then back to the client.

How do you create an API proxy?

An API proxy consists of a bundle of XML configuration files and code (such as JavaScript and Java). Apigee provides several ways for you to create API proxies, including:

  • Using the Apigee UI to define an API proxy in a Graphical User Interface (GUI). For more, see Build a simple API proxy.
  • Creating XML files, along with any other supporting files, that define your API proxy and then importing them into Apigee.
  • Using the Apigee API to create your API proxies by making a series of REST requests to Apigee.
  • Develop locally using Apigee in VS Code and deploy as an archive. For more information, see Overview of local development with Apigee

What is an API proxy revision?

API proxy revisions provide a lightweight mechanism for managing the updates to the API proxy configuration as you iterate. Revisions are sequentially numbered, enabling you to revert a change by deploying a previous revision of your API proxy. Revisions let you deploy an API proxy into a production environment while continuing to create new revisions of that API proxy in a test environment. When you are ready, you can promote the higher revision of your API proxy from test to prod.

What is a policy?

Apigee enables you to control API behavior without writing any code by using policies. A policy is like a module that implements a specific, limited management function as part of the proxy request/response flow. Policies are designed to let you add common types of management capabilities to an API easily and reliably. Policies provide features like security, rate-limiting, transformation, and mediation capabilities, saving you from having to code and maintain this functionality on your own.

Create your first API proxy

Apigee provides a set of tutorials that you can use to create your first API. Start with the Build your first API proxy. See also other Get started topics.

Learn more