CINXE.COM
Development tools | Apigee Edge | Apigee Docs
<!doctype html> <html lang="en" dir="ltr"> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://docs.apigee.com/api-platform/fundamentals/developing-apigee-edge","20210804084230","https://web.archive.org/","web","/_static/", "1628066550"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta name="google-signin-client-id" content="157101835696-ooapojlodmuabs2do2vuhhnf90bccmoi.apps.googleusercontent.com"> <meta name="google-signin-scope" content="profile email"> <meta property="og:site_name" content="Apigee Docs"> <meta property="og:type" content="website"><meta name="theme-color" content="#dd3303"><meta charset="utf-8"> <meta content="IE=Edge" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="manifest" href="/web/20210804084230/https://docs.apigee.com/_pwa/apigee/manifest.json" crossorigin="use-credentials"> <link rel="preconnect" href="//web.archive.org/web/20210804084230/https://www.gstatic.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20210804084230/https://fonts.gstatic.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20210804084230/https://fonts.googleapis.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20210804084230/https://apis.google.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20210804084230/https://www.google-analytics.com/" crossorigin><link rel="stylesheet" href="//web.archive.org/web/20210804084230cs_/https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"> <link rel="stylesheet" href="//web.archive.org/web/20210804084230cs_/https://fonts.googleapis.com/css?family=Material+Icons&display=block"><link rel="stylesheet" href="https://web.archive.org/web/20210804084230cs_/https://www.gstatic.com/devrel-devsite/prod/v0089c83aa8227c3439bf2708c0795dd13db533711d44eb626e640152d9fdf05e/apigee/css/app.css"> <link rel="shortcut icon" href="https://web.archive.org/web/20210804084230im_/https://www.gstatic.com/devrel-devsite/prod/v0089c83aa8227c3439bf2708c0795dd13db533711d44eb626e640152d9fdf05e/apigee/images/favicon.png"> <link rel="apple-touch-icon" href="https://web.archive.org/web/20210804084230im_/https://www.gstatic.com/devrel-devsite/prod/v0089c83aa8227c3439bf2708c0795dd13db533711d44eb626e640152d9fdf05e/apigee/images/touchicon-180.png"><link rel="canonical" href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/api-platform/fundamentals/developing-apigee-edge"><link rel="search" type="application/opensearchdescription+xml" title="Apigee Docs" href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/s/opensearch.xml"> <title>Development tools | Apigee Edge | Apigee Docs</title> <meta property="og:title" content="Development tools | Apigee Edge | Apigee Docs"><meta property="og:url" content="https://web.archive.org/web/20210804084230/https://docs.apigee.com/api-platform/fundamentals/developing-apigee-edge"><meta property="og:locale" content="en"> </head> <body class="" template="page" theme="apigee-theme" type="article" layout="docs" pending> <devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <section class="devsite-wrapper"><devsite-header> <div class="devsite-header--inner nocontent"> <div class="devsite-top-logo-row-wrapper-wrapper"> <div class="devsite-top-logo-row-wrapper"> <div class="devsite-top-logo-row"> <button type="button" id="devsite-hamburger-menu" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Navigation menu button" visually-hidden aria-label="Open menu"> </button> <div class="devsite-product-name-wrapper"> <a href="/web/20210804084230/https://docs.apigee.com/" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="apigeeDocs" track-metadata-position="nav" track-metadata-eventdetail="nav"> <img src="https://web.archive.org/web/20210804084230im_/https://www.gstatic.com/devrel-devsite/prod/v0089c83aa8227c3439bf2708c0795dd13db533711d44eb626e640152d9fdf05e/apigee/images/lockup.svg" class="devsite-site-logo" alt="Apigee Docs"> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list"> <li class="devsite-breadcrumb-item "> </li> </ul> </span> </div> <div class="devsite-top-logo-row-middle"> <div class="devsite-header-upper-tabs"> <devsite-tabs class="upper-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Upper tabs"> <tab active> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/api-platform/get-started/get-started" class="gc-analytics-event " track-type="nav" track-name="apigee edge" track-metadata-eventdetail="https://docs.apigee.com/api-platform/get-started/get-started" track-metadata-position="nav - apigee edge" track-metadata-module="primary nav" aria-label="Apigee Edge, selected" data-category="Site-Wide Custom Events" data-label="Tab: Apigee Edge"> Apigee Edge </a> </tab> <tab dropdown> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/private-cloud/versions" class="gc-analytics-event " track-type="nav" track-name="private cloud" track-metadata-eventdetail="https://docs.apigee.com/private-cloud/versions" track-metadata-position="nav - private cloud" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Private Cloud"> Private Cloud </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Private Cloud" track-type="nav" track-name="private cloud" track-metadata-eventdetail="https://docs.apigee.com/private-cloud/versions" track-metadata-position="nav - private cloud" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Private Cloud" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Latest</li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/private-cloud/v4.51.00/overview" track-type="nav" track-name="v4.51.00" track-metadata-eventdetail="https://docs.apigee.com/private-cloud/v4.51.00/overview" track-metadata-position="nav - private cloud" track-metadata-module="tertiary nav" track-metadata-module_headline="latest" tooltip> <div class="devsite-nav-item-title"> v4.51.00 </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/private-cloud/v4.50.00" track-type="nav" track-name="v4.50.00" track-metadata-eventdetail="https://docs.apigee.com/private-cloud/v4.50.00" track-metadata-position="nav - private cloud" track-metadata-module="tertiary nav" track-metadata-module_headline="latest" tooltip> <div class="devsite-nav-item-title"> v4.50.00 </div> </a> </li> </ul> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Deprecated/Unsupported</li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/private-cloud/v4.19.06" track-type="nav" track-name="v4.19.06" track-metadata-eventdetail="https://docs.apigee.com/private-cloud/v4.19.06" track-metadata-position="nav - private cloud" track-metadata-module="tertiary nav" track-metadata-module_headline="latest" tooltip> <div class="devsite-nav-item-title"> v4.19.06 </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/private-cloud/v4.19.01" track-type="nav" track-name="v4.19.01" track-metadata-eventdetail="https://docs.apigee.com/private-cloud/v4.19.01" track-metadata-position="nav - private cloud" track-metadata-module="tertiary nav" track-metadata-module_headline="latest" tooltip> <div class="devsite-nav-item-title"> v4.19.01 </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/private-cloud/v4.18.05" track-type="nav" track-name="v4.18.05" track-metadata-eventdetail="https://docs.apigee.com/private-cloud/v4.18.05" track-metadata-position="nav - private cloud" track-metadata-module="tertiary nav" track-metadata-module_headline="latest" tooltip> <div class="devsite-nav-item-title"> v4.18.05 </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/private-cloud/v4.18.01" track-type="nav" track-name="v4.18.01" track-metadata-eventdetail="https://docs.apigee.com/private-cloud/v4.18.01" track-metadata-position="nav - private cloud" track-metadata-module="tertiary nav" track-metadata-module_headline="latest" tooltip> <div class="devsite-nav-item-title"> v4.18.01 </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/private-cloud/v4.17.09" track-type="nav" track-name="v4.17.09" track-metadata-eventdetail="https://docs.apigee.com/private-cloud/v4.17.09" track-metadata-position="nav - private cloud" track-metadata-module="tertiary nav" track-metadata-module_headline="latest" tooltip> <div class="devsite-nav-item-title"> v4.17.09 </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/private-cloud/v4.17.05" track-type="nav" track-name="v4.17.05" track-metadata-eventdetail="https://docs.apigee.com/private-cloud/v4.17.05" track-metadata-position="nav - private cloud" track-metadata-module="tertiary nav" track-metadata-module_headline="latest" tooltip> <div class="devsite-nav-item-title"> v4.17.05 </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/private-cloud/v4.17.01" track-type="nav" track-name="v4.17.01" track-metadata-eventdetail="https://docs.apigee.com/private-cloud/v4.17.01" track-metadata-position="nav - private cloud" track-metadata-module="tertiary nav" track-metadata-module_headline="latest" tooltip> <div class="devsite-nav-item-title"> v4.17.01 </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/private-cloud/v4.16.09" track-type="nav" track-name="v4.16.09" track-metadata-eventdetail="https://docs.apigee.com/private-cloud/v4.16.09" track-metadata-position="nav - private cloud" track-metadata-module="tertiary nav" track-metadata-module_headline="latest" tooltip> <div class="devsite-nav-item-title"> v4.16.09 </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/private-cloud/v4.16.05" track-type="nav" track-name="v4.16.05" track-metadata-eventdetail="https://docs.apigee.com/private-cloud/v4.16.05" track-metadata-position="nav - private cloud" track-metadata-module="tertiary nav" track-metadata-module_headline="latest" tooltip> <div class="devsite-nav-item-title"> v4.16.05 </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/private-cloud/v4.16.01" track-type="nav" track-name="v4.16.01" track-metadata-eventdetail="https://docs.apigee.com/private-cloud/v4.16.01" track-metadata-position="nav - private cloud" track-metadata-module="tertiary nav" track-metadata-module_headline="latest" tooltip> <div class="devsite-nav-item-title"> v4.16.01 </div> </a> </li> </ul> </div> </div> </div> </tab> <tab> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/hybrid/versions" class="gc-analytics-event " track-type="nav" track-name="hybrid" track-metadata-eventdetail="https://docs.apigee.com/hybrid/versions" track-metadata-position="nav - hybrid" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Hybrid"> Hybrid </a> </tab> <tab> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/api-monitoring" class="gc-analytics-event " track-type="nav" track-name="api monitoring" track-metadata-eventdetail="https://docs.apigee.com/api-monitoring" track-metadata-position="nav - api monitoring" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: API Monitoring"> API Monitoring </a> </tab> <tab> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/sense/what-apigee-sense" class="gc-analytics-event " track-type="nav" track-name="sense" track-metadata-eventdetail="https://docs.apigee.com/sense/what-apigee-sense" track-metadata-position="nav - sense" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Sense"> Sense </a> </tab> <tab> <a href="https://web.archive.org/web/20210804084230/https://apidocs.apigee.com/" class="gc-analytics-event " track-type="nav" track-name="apis" track-metadata-eventdetail="https://apidocs.apigee.com" track-metadata-position="nav - apis" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: APIs"> APIs </a> </tab> <tab> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/api-platform/troubleshoot/support" class="gc-analytics-event " track-type="nav" track-name="troubleshooting" track-metadata-eventdetail="https://docs.apigee.com/api-platform/troubleshoot/support" track-metadata-position="nav - troubleshooting" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Troubleshooting"> Troubleshooting </a> </tab> <tab> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/release/notes/apigee-release-notes" class="gc-analytics-event " track-type="nav" track-name="releases" track-metadata-eventdetail="https://docs.apigee.com/release/notes/apigee-release-notes" track-metadata-position="nav - releases" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Releases"> Releases </a> </tab> <tab> <a href="https://web.archive.org/web/20210804084230/https://apigee.com/api-management/#/pricing" class="gc-analytics-event " track-type="nav" track-name="pricing" track-metadata-eventdetail="https://apigee.com/api-management/#/pricing" track-metadata-position="nav - pricing" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Pricing"> Pricing </a> </tab> <tab> <a href="https://web.archive.org/web/20210804084230/https://community.apigee.com/" class="gc-analytics-event " track-type="nav" track-name="community" track-metadata-eventdetail="https://community.apigee.com/" track-metadata-position="nav - community" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Community"> Community </a> </tab> </nav> </devsite-tabs> </div> <devsite-search aria-expanded="false" aria-haspopup="listbox" enable-signin enable-search enable-suggestions enable-query-completion project-name="Apigee Edge" tenant-name="Apigee Docs" role="combobox"> <form class="devsite-search-form" action="https://web.archive.org/web/20210804084230/https://docs.apigee.com/s/results" method="GET"> <div class="devsite-search-container"> <div class="devsite-searchbox"> <input aria-activedescendant="" aria-autocomplete="list" aria-label="Search" aria-haspopup="false" aria-multiline="false" aria-label="Search box" autocomplete="off" class="devsite-search-field devsite-search-query" name="q" placeholder="Search" role="searchbox" type="text" value=""> <div class="devsite-search-image material-icons" aria-hidden="true"></div> </div> <button type="button" search-open class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button> </div> </form> <button type="button" search-close class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Close search"></button> </devsite-search> </div> <devsite-language-selector> <devsite-select class="devsite-language-selector-menu"> <select aria-label="Select your language preference." class="devsite-language-selector-select" name="language" track-name="click" track-type="languageSelector"> <option>Language</option> <option value="en" lang="en" track-metadata-original-language="en" track-metadata-selected-language="en" track-name="changed" track-type="languageSelector"> English </option> <option value="ja" lang="ja" track-metadata-original-language="en" track-metadata-selected-language="ja" track-name="changed" track-type="languageSelector"> 日本語 </option> </select> </devsite-select> </devsite-language-selector> <devsite-user id="devsite-user"></devsite-user> </div> </div> </div> <div class="devsite-collapsible-section "> <div class="devsite-header-background"> <div class="devsite-product-id-row"> <div class="devsite-product-description-row"> <ul class="devsite-breadcrumb-list"> <li class="devsite-breadcrumb-item "> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/api-platform/get-started/get-started" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Lower Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail=""> Apigee Edge </a> </li> </ul> </div> </div> <div class="devsite-doc-set-nav-row"> <devsite-tabs class="lower-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Lower tabs"> <tab active> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/api-platform/get-started/get-started" class="gc-analytics-event " track-type="nav" track-name="get started" track-metadata-eventdetail="https://docs.apigee.com/api-platform/get-started/get-started" track-metadata-position="nav - get started" track-metadata-module="primary nav" aria-label="Get started, selected" data-category="Site-Wide Custom Events" data-label="Tab: Get started"> Get started </a> </tab> <tab> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/api-platform/get-started/learn-edge" class="gc-analytics-event " track-type="nav" track-name="develop" track-metadata-eventdetail="https://docs.apigee.com/api-platform/get-started/learn-edge" track-metadata-position="nav - develop" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Develop"> Develop </a> </tab> <tab> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/api-platform/publish/publishing-overview" class="gc-analytics-event " track-type="nav" track-name="publish" track-metadata-eventdetail="https://docs.apigee.com/api-platform/publish/publishing-overview" track-metadata-position="nav - publish" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Publish"> Publish </a> </tab> <tab> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/api-platform/analytics/analytics-services-overview" class="gc-analytics-event " track-type="nav" track-name="analyze" track-metadata-eventdetail="https://docs.apigee.com/api-platform/analytics/analytics-services-overview" track-metadata-position="nav - analyze" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Analyze"> Analyze </a> </tab> <tab> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/api-platform/monetization/basics-monetization" class="gc-analytics-event " track-type="nav" track-name="monetize" track-metadata-eventdetail="https://docs.apigee.com/api-platform/monetization/basics-monetization" track-metadata-position="nav - monetize" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Monetize"> Monetize </a> </tab> <tab> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/api-platform/system-administration/service-requests" class="gc-analytics-event " track-type="nav" track-name="administer" track-metadata-eventdetail="https://docs.apigee.com/api-platform/system-administration/service-requests" track-metadata-position="nav - administer" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Administer"> Administer </a> </tab> <tab> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/api-platform/integrations/kubernetes/k8s-introduction" class="gc-analytics-event " track-type="nav" track-name="integrate" track-metadata-eventdetail="https://docs.apigee.com/api-platform/integrations/kubernetes/k8s-introduction" track-metadata-position="nav - integrate" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Integrate"> Integrate </a> </tab> <tab> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/api-platform/reference/apigee-reference" class="gc-analytics-event " track-type="nav" track-name="reference" track-metadata-eventdetail="https://docs.apigee.com/api-platform/reference/apigee-reference" track-metadata-position="nav - reference" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Reference"> Reference </a> </tab> <tab> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/api-platform/faq/edge-network-design-firewalls" class="gc-analytics-event " track-type="nav" track-name="faqs" track-metadata-eventdetail="https://docs.apigee.com/api-platform/faq/edge-network-design-firewalls" track-metadata-position="nav - faqs" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: FAQs"> FAQs </a> </tab> <tab> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/how-to-guides/how-to-guides-introduction" class="gc-analytics-event " track-type="nav" track-name="how-to guides" track-metadata-eventdetail="https://docs.apigee.com/how-to-guides/how-to-guides-introduction" track-metadata-position="nav - how-to guides" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: How-to guides"> How-to guides </a> </tab> <tab> <a href="https://web.archive.org/web/20210804084230/https://cloud.google.com/apigee/docs/support" class="gc-analytics-event " track-type="nav" track-name="support" track-metadata-eventdetail="https://cloud.google.com/apigee/docs/support" track-metadata-position="nav - support" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Support"> Support </a> </tab> </nav> </devsite-tabs> </div> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars> <nav class="devsite-book-nav devsite-nav nocontent" aria-label="Side menu"> <div class="devsite-mobile-header"> <button type="button" id="devsite-close-nav" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close navigation" aria-label="Close navigation"> </button> <div class="devsite-product-name-wrapper"> <a href="/web/20210804084230/https://docs.apigee.com/" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="apigeeDocs" track-metadata-position="nav" track-metadata-eventdetail="nav"> <img src="https://web.archive.org/web/20210804084230im_/https://www.gstatic.com/devrel-devsite/prod/v0089c83aa8227c3439bf2708c0795dd13db533711d44eb626e640152d9fdf05e/apigee/images/lockup.svg" class="devsite-site-logo" alt="Apigee Docs"> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list"> <li class="devsite-breadcrumb-item "> </li> </ul> </span> </div> </div> <div class="devsite-book-nav-wrapper"> <div class="devsite-mobile-nav-top"> <ul class="devsite-nav-list"> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/api-platform/get-started/get-started" class="devsite-nav-title gc-analytics-event devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Apigee Edge" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="apigeeEdge"> <span class="devsite-nav-text" tooltip> Apigee Edge </span> </a> <ul class="devsite-nav-responsive-tabs"> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/api-platform/get-started/get-started" class="devsite-nav-title gc-analytics-event devsite-nav-has-children devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Get started" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="getStarted"> <span class="devsite-nav-text" tooltip menu="_book"> Get started </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="_book"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/api-platform/get-started/learn-edge" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Develop" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="develop"> <span class="devsite-nav-text" tooltip> Develop </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/api-platform/publish/publishing-overview" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Publish" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="publish"> <span class="devsite-nav-text" tooltip> Publish </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/api-platform/analytics/analytics-services-overview" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Analyze" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="analyze"> <span class="devsite-nav-text" tooltip> Analyze </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/api-platform/monetization/basics-monetization" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Monetize" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="monetize"> <span class="devsite-nav-text" tooltip> Monetize </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/api-platform/system-administration/service-requests" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Administer" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="administer"> <span class="devsite-nav-text" tooltip> Administer </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/api-platform/integrations/kubernetes/k8s-introduction" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Integrate" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="integrate"> <span class="devsite-nav-text" tooltip> Integrate </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/api-platform/reference/apigee-reference" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Reference" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="reference"> <span class="devsite-nav-text" tooltip> Reference </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/api-platform/faq/edge-network-design-firewalls" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Responsive Tab: FAQs" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="faqs"> <span class="devsite-nav-text" tooltip> FAQs </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/how-to-guides/how-to-guides-introduction" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Responsive Tab: How-to guides" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="howToGuides"> <span class="devsite-nav-text" tooltip> How-to guides </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210804084230/https://cloud.google.com/apigee/docs/support" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Support" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="support"> <span class="devsite-nav-text" tooltip> Support </span> </a> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/private-cloud/versions" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Private Cloud" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="privateCloud"> <span class="devsite-nav-text" tooltip> Private Cloud </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip menu="Private Cloud"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Private Cloud"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/hybrid/versions" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Hybrid" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="hybrid"> <span class="devsite-nav-text" tooltip> Hybrid </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/api-monitoring" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Responsive Tab: API Monitoring" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="apiMonitoring"> <span class="devsite-nav-text" tooltip> API Monitoring </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/sense/what-apigee-sense" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Sense" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="sense"> <span class="devsite-nav-text" tooltip> Sense </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210804084230/https://apidocs.apigee.com/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: APIs" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="apis"> <span class="devsite-nav-text" tooltip> APIs </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/api-platform/troubleshoot/support" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Troubleshooting" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="troubleshooting"> <span class="devsite-nav-text" tooltip> Troubleshooting </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/release/notes/apigee-release-notes" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Releases" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="releases"> <span class="devsite-nav-text" tooltip> Releases </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210804084230/https://apigee.com/api-management/#/pricing" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Pricing" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="pricing"> <span class="devsite-nav-text" tooltip> Pricing </span> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210804084230/https://community.apigee.com/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Community" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="community"> <span class="devsite-nav-text" tooltip> Community </span> </a> </li> </ul> </div> <div class="devsite-mobile-nav-bottom" role="navigation"> <ul class="devsite-nav-list" menu="_book"> <li class="devsite-nav-item devsite-nav-divider devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Introduction</span></div></li> <li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/get-started/get-started" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Build your first API proxy</span></a></li> <li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/get-started/create-account" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Step 1: Create an Apigee account</span></a></li> <li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/get-started/create-proxy" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Step 2: Create an API proxy</span></a></li> <li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/get-started/test-proxy" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Step 3: Test your new proxy</span></a></li> <li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/get-started/change-endpoint" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Step 4: Change your target endpoint</span></a></li> <li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/get-started/add-policy" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Step 5: Add a policy</span></a></li> <li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/get-started/go-deeper" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Next step: Go deeper</span></a></li> <li class="devsite-nav-item devsite-nav-divider devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Basic Concepts</span></div></li> <li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/get-started/what-apigee-edge" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>What is Apigee Edge?</span></a></li> <li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/get-started/basic-concepts" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Basic terminology</span></a></li> <li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/fundamentals/developing-apigee-edge" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Development tools</span></a></li> <li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/fundamentals/api-development-lifecycle" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>API development lifecycle</span></a></li> <li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/fundamentals/structure-api-proxies" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Key points of API proxy development</span></a></li> <li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/get-started/transition-from-classic-ui" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Transition from Classic Edge UI</span></a></li> <li class="devsite-nav-item devsite-nav-divider devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Manage your account</span></div></li> <li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/get-started/creating-apigee-edge-account" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Create an Apigee Edge account</span></a></li> <li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/get-started/sign-in-manage-account" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Sign in and manage your account</span></a></li> <li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/get-started/switch-org" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Switch between organizations</span></a></li> <li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/get-started/delete-apigee-edge-account" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Delete an evaluation account</span></a></li> <li class="devsite-nav-item devsite-nav-divider devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>More Tutorials</span></div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><devsite-expandable-nav collapsed> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Step-by-Step Tutorials</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/get-started/tutorials" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/tutorials/add-spike-arrest" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Add the Spike Arrest policy</span></a></li><li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/tutorials/view-with-trace" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>View message data with Trace</span></a></li><li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/tutorials/tutorial-create-spec" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Create an OpenAPI Specification</span></a></li><li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/tutorials/create-api-proxy-openapi-spec" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Create an API proxy from an OpenAPI Specification</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Build your first integrated portal</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/tutorials/portal/overview" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/tutorials/portal/create-portal" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Step 1: Create a portal</span></a></li><li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/tutorials/portal/customize-color-palette" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Step 2: Customize the color palette</span></a></li><li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/tutorials/portal/customize-logo" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Step 3: Customize the logo</span></a></li><li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/tutorials/portal/edit-page" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Step 4: Edit page content</span></a></li><li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/tutorials/portal/set-up-navigation" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Step 5: Set up navigation</span></a></li><li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/tutorials/portal/publish-api" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Step 6: Publish an API</span></a></li></ul></devsite-expandable-nav></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><devsite-expandable-nav collapsed> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Video Tutorials</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-external"><a href="https://web.archive.org/web/20210804084230/https://www.youtube.com/playlist?list=PLIXjuPlujxxxe3iTmLtgfIBgpMo7iD7fk" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>4-Minute Videos for Developers</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/web/20210804084230/https://docs.apigee.com/api-platform/get-started/video-concepts" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Video concepts</span></a></li></ul></devsite-expandable-nav></li> </ul> <ul class="devsite-nav-list" menu="Private Cloud" aria-label="Side menu" hidden> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Latest </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/private-cloud/v4.51.00/overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: v4.51.00" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="v4.51.00"> <span class="devsite-nav-text" tooltip> v4.51.00 </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/private-cloud/v4.50.00" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: v4.50.00" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="v4.50.00"> <span class="devsite-nav-text" tooltip> v4.50.00 </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Deprecated/Unsupported </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/private-cloud/v4.19.06" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: v4.19.06" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="v4.19.06"> <span class="devsite-nav-text" tooltip> v4.19.06 </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/private-cloud/v4.19.01" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: v4.19.01" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="v4.19.01"> <span class="devsite-nav-text" tooltip> v4.19.01 </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/private-cloud/v4.18.05" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: v4.18.05" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="v4.18.05"> <span class="devsite-nav-text" tooltip> v4.18.05 </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/private-cloud/v4.18.01" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: v4.18.01" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="v4.18.01"> <span class="devsite-nav-text" tooltip> v4.18.01 </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/private-cloud/v4.17.09" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: v4.17.09" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="v4.17.09"> <span class="devsite-nav-text" tooltip> v4.17.09 </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/private-cloud/v4.17.05" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: v4.17.05" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="v4.17.05"> <span class="devsite-nav-text" tooltip> v4.17.05 </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/private-cloud/v4.17.01" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: v4.17.01" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="v4.17.01"> <span class="devsite-nav-text" tooltip> v4.17.01 </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/private-cloud/v4.16.09" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: v4.16.09" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="v4.16.09"> <span class="devsite-nav-text" tooltip> v4.16.09 </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/private-cloud/v4.16.05" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: v4.16.05" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="v4.16.05"> <span class="devsite-nav-text" tooltip> v4.16.05 </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210804084230/https://docs.apigee.com/private-cloud/v4.16.01" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: v4.16.01" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="v4.16.01"> <span class="devsite-nav-text" tooltip> v4.16.01 </span> </a> </li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" class="devsite-main-content" has-book-nav has-toc> <devsite-toc class="devsite-nav" role="navigation" aria-label="Table of contents"></devsite-toc> <devsite-content> <article class="devsite-article"><style> /* Styles inlined from /css/custom.css */ p.hybrid, li.hybrid { border-style: none none none solid; border-color: #ffab40; padding-left: 10px; padding-top: 5px; padding-bottom: 5px; background-color: #f8e6cb; } </style> <div class="devsite-banner devsite-banner-announcement"> <div class="devsite-banner-message"> <div class="devsite-banner-message-text"> <style> .devsite-banner-announcement:not(.devsite-banner-tenant) { background: #202124; color: white; font-weight: 500; } .devsite-banner-announcement a { color: white; font-weight: 700; } .devsite-banner-announcement a:link, .devsite-banner-announcement a:visited { background: 0; } .devsite-banner-announcement a:hover, .devsite-banner-announcement a:focus { text-decoration: none; } .devsite-banner-announcement .devsite-banner-message-text { margin: 0 auto; } </style> Google is committed to advancing racial equity for Black communities. <a href="https://web.archive.org/web/20210804084230/https://google.com/racialequity" class="gc-analytics-event" data-category="Announcement" data-label="Racial Equity">See how.</a> </div> </div> </div> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Apigee Edge"> Apigee Edge </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://web.archive.org/web/20210804084230/https://docs.apigee.com/api-platform/get-started/get-started" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="2" track-type="globalNav" track-name="breadcrumb" track-metadata-position="2" track-metadata-eventdetail=""> Get started </a> </li> </ul> <devsite-thumb-rating position="header"> <template class="thumb-down-categories"> [{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples / code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }] </template> <template class="thumb-up-categories"> [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }] </template> <template class="thumb-rating-feedback"> <devsite-feedback position="thumb-rating" project-name="Apigee Edge" product-id="1636213" bucket="docsite" context="" version="t-devsite-webserver-20210729-r01-rc00.436997626124025798" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="thumb-rating" project-icon="https://www.gstatic.com/devrel-devsite/prod/v0089c83aa8227c3439bf2708c0795dd13db533711d44eb626e640152d9fdf05e/apigee/images/touchicon-180.png" feedback-type="thumb-rating"> <button> Need to tell us more? </button> </devsite-feedback> </template> </devsite-thumb-rating> </div> <devsite-feedback position="header" project-name="Apigee Edge" product-id="1636213" bucket="docsite" context="" version="t-devsite-webserver-20210729-r01-rc00.436997626124025798" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="header" project-icon="https://www.gstatic.com/devrel-devsite/prod/v0089c83aa8227c3439bf2708c0795dd13db533711d44eb626e640152d9fdf05e/apigee/images/touchicon-180.png" feedback-type="thumb-rating"> <button> Send feedback </button> </devsite-feedback> <h1 class="devsite-page-title">Development tools</h1> <devsite-toc class="devsite-nav" devsite-toc-embedded> </devsite-toc> <div class="devsite-article-body clearfix "> <p style="text-align: right;"><span style="background-color: #F0F0F0; font-size:10pt"><em> You're viewing Apigee Edge documentation.<br/>View <a href="https://web.archive.org/web/20210804084230/https://cloud.google.com/apigee/docs/" target="_blank">Apigee X documentation</a>.</em></span></p> <p>As a service provider, you develop APIs for consumption by client apps. To create, configure, and maintain API proxies and API products, you can use the UI or make HTTP requests to the APIs to access RESTful services, as described in the following sections.</p> <p>To get started with either method, you first must create a free account, as described in <a href="/web/20210804084230/https://docs.apigee.com/api-platform/get-started/create-account">Create an Apigee account</a>.</p> <h2 id="usingthemanagementui" data-text="Use the Edge UI">Use the Edge UI</h2> <p>The Apigee Edge UI is a browser-based tool you can use to create, configure, and manage API proxies and API products. A subset of tasks can only be accomplished using the API, too.</p> <p>The following table describes how to access the Edge UI:</p> <table class="green"> <thead> <tr> <th width="20%">Product</th> <th width="20%">UI Name</th> <th>Access URL</th> </tr> </thead> <tbody> <tr> <td class="alt">Edge</td> <td>Edge UI</td> <td><p>To access the Edge UI, use the following URL:</p> <pre translate="no" dir="ltr"><a class="external" href="https://web.archive.org/web/20210804084230/https://apigee.com/edge" target="_blank">https://apigee.com/edge</a></pre> <p>For a tutorial on using the Edge UI, see <a href="/web/20210804084230/https://docs.apigee.com/api-platform/get-started/get-started">Build your first API proxy</a>.</p> </td> </tr> <tr> <td class="alt">Edge for Private Cloud</td> <td><span class="material-icons" title="Deprecated" aria-hidden="true" translate="no"><span style="color:gray;font-size:14pt">not_interested</span></span> Classic Edge UI</td> <td><p>To access the Edge UI for Edge for Private Cloud, use the following URL:</p> <pre translate="no" dir="ltr">http://<var translate="no">ms-ip</var>:9000</pre> <p>Where <var translate="no">ms-ip</var> is the IP address or DNS name of the Management Server node.</p> </td> </tr> </tbody> </table> <p>Using the Edge UI, you can:</p> <ul> <li>Create API proxies by editing code and tracing request flows through your proxies.</li> <li>Create API products that bundle proxies for exposure to client requests.</li> <li>Manage developers and developer apps.</li> <li>Configure your test and production environments.</li> <li>Implement JavaScript and Node.js applications.</li> </ul> <p>The following image shows the API proxy editor in the UI that you can use to create and configure an API proxy:</p> <p><img class="screenshot" width="80%" src="/web/20210804084230im_/https://docs.apigee.com/api-platform/images/new_edge_editor.png" alt="Shows the Develop tab selected in the API proxy editor in the Edge UI."></p> <h2 id="usingtherestfulmanagementapi" data-text="Use the Edge API">Use the Edge API</h2> <p>You can use Edge API to manage your API resources. The APIs also provide access to low-level capabilities that are not exposed by the UI.</p> <p>The API endpoints often take data containing configuration information and require you to pass authentication information, such as username and password, to access them. Following RESTful principles, you can call HTTP <code translate="no" dir="ltr">GET</code>, <code translate="no" dir="ltr">POST</code>, <code translate="no" dir="ltr">PUT</code>, and <code translate="no" dir="ltr">DELETE</code> methods on any of the API resources.</p> <p>For a complete list of Apigee Edge APIs, see the <a href="https://web.archive.org/web/20210804084230/https://apidocs.apigee.com/" class="external">Apigee Edge API Reference</a>.</p> <h3 id="usingtherestfulmanagementapi-understandingthebasepath" data-text="Understand the Edge API base path">Understand the Edge API base path</h3> <p>The path you'll use in API requests concatenates the following:</p> <ul> <li>A <strong>base path</strong> that includes your organization name. For example: <code translate="no" dir="ltr">https://api.enterprise.apigee.com/v1/organizations/<var translate="no">org_name</var></code></li> <li>An <strong>endpoint</strong> that points to the Edge resource you're accessing.</li> </ul> <p>For example, if your organization name is <code translate="no" dir="ltr">apibuilders</code>, then every call you make to the API will use the following base path:</p> <pre class="prettyprint" translate="no" dir="ltr"><strong>https://api.enterprise.apigee.com/v1/organizations</strong>/apibuilders</pre> <p>To retrieve a list of API proxies in your organization, you would call GET on:</p> <pre class="prettyprint" translate="no" dir="ltr">https://api.enterprise.apigee.com/v1/organizations/apibuilders/apis</pre> <p>Many resources are scoped by environment. Two environments are provided by default: test and prod. For example, caches are scoped by environment. A shared cache called "mycache" is included by default in every environment.</p> <p>You can list caches by calling GET on the cache resource as follows:</p> <pre class="prettyprint" translate="no" dir="ltr">https://api.enterprise.apigee.com/v1/organizations/apibuilders/environments/test<strong>/caches</strong> https://api.enterprise.apigee.com/v1/organizations/apibuilders/environments/prod/caches</pre> <h3 id="authenticate-access" data-text="Authenticate access">Authenticate access</h3> <p>You must authenticate yourself to the API server when you call the APIs. You can do this in one of the following ways:</p> <ul> <li><a href="/web/20210804084230/https://docs.apigee.com/api-platform/system-administration/using-oauth2">OAuth2</a></li> <li><a href="/web/20210804084230/https://docs.apigee.com/api-platform/system-administration/using-saml">SAML</a></li> <li><a href="/web/20210804084230/https://docs.apigee.com/api-platform/system-administration/basic-auth">Basic Auth</a> (not recommended)</li> </ul> <p>In addition, Apigee recommends that you use two-factor authentication, as described in <a href="/web/20210804084230/https://docs.apigee.com/api-platform/system-administration/enable-two-factor-auth-your-apigee-account">Enable two-factor auth for your Apigee account</a>.</p> <h3 id="edge-api-limits" data-text="Edge API limits">Edge API limits</h3> <p>Each organization is limited to the following Edge API call rates:</p> <ul> <li>10,000 calls per minute for organizations on paid plans</li> <li>600 calls per minute for trial organizations</li> </ul> <p>HTTP status codes <code translate="no" dir="ltr">401</code> and <code translate="no" dir="ltr">403</code> do not count against this limit. Any calls that exceed these limits return a <code translate="no" dir="ltr">429 Too Many Requests</code> status code.</p> <h3 id="tips-for-working-with-edge-apis" data-text="Tips for working with Edge APIs">Tips for working with Edge APIs</h3> <p>This section describes some techniques that make working with the Edge APIs easier.</p> <h4 id="short" data-text="Abbreviating request URLs">Abbreviating request URLs</h4> <p>When you build your request URL to the Edge APIs, you can use the following abbreviations:</p> <ul> <li><code translate="no" dir="ltr">/e = /environments</code></li> <li><code translate="no" dir="ltr">/o = /organizations</code></li> <li><code translate="no" dir="ltr">/r = /revisions</code></li> </ul> <p> If you use abbreviations, you must use them consistently. That is, abbreviate all elements in the path, as noted above and illustrated in the following example, or none. Using both full and abbreviated elements in the same path will result in an error. </p> <p>For example:</p> <pre class="prettyprint" translate="no" dir="ltr"> <strong>THIS:</strong> https://api.enterprise.apigee.com/v1<strong>/organizations</strong>/ahamilton-eval<strong>/environments</strong>/prod/apis/helloworld<strong>/revisions</strong>/1/deployments <strong>CAN BE MUCH SHORTER:</strong> https://api.enterprise.apigee.com/v1<strong>/o</strong>/ahamilton-eval<strong>/e</strong>/prod/apis/helloworld<strong>/r</strong>/1/deployments</pre> <h4 id="usingtherestfulmanagementapi-runningcurlcommands" data-text="Execute curl commands">Execute curl commands</h4> <p>Use an HTTP client to make requests to the API. Many examples in the documentation provide sample API requests using <code translate="no" dir="ltr">curl</code>, a widely-used HTTP client. If you need to install <code translate="no" dir="ltr">curl</code>, you can download it from <a href="https://web.archive.org/web/20210804084230/https://curl.haxx.se/" class="external">http://curl.haxx.se</a>.</p> <aside class="note"> <p>On Windows: <ul> <li>Download a version of <code translate="no" dir="ltr">code</code> that includes the <code translate="no" dir="ltr">libcurl</code> library</li> <li>You may need to use a flag to disable the trust check that <code translate="no" dir="ltr">curl</code> performs against the TLS/SSL certificate presented by the API Platform. You can do this by adding <code translate="no" dir="ltr">-k</code> to each request you submit on the command line. This only disables the trust check and does not disable encryption. For example: <pre class="devsite-terminal" translate="no" dir="ltr">curl -k https://api.enterprise.apigee.com/v1/organizations/<var translate="no">org_name</var>/apis \ -u <var translate="no">email_address</var>:<var translate="no">password</var></pre> </li></ul> </aside> <p>Calls to the API support gzip compression on responses. If you set <code translate="no" dir="ltr">'Accept-Encoding: gzip, deflate'</code> in your API calls, any response greater than 1024 bytes gets returned in gzip format.</p> <h4 id="formatting" data-text="Formatting XML and JSON requests and responses">Formatting XML and JSON requests and responses</h4> <p>The Edge API returns data as JSON by default. For many requests, you can get the response sent back as XML instead. To do this, set the <code translate="no" dir="ltr">Accept</code> request header to <code translate="no" dir="ltr">application/xml</code>, as the following example shows:</p> <pre class="devsite-terminal prettyprint" translate="no" dir="ltr">curl -H "Authorization: Bearer `get_token`" \ -H "Accept: application/xml" \ https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apis/helloworld/revisions/1/policies/ \ <strong>| xmllint --format -</strong></pre> <p>The response should look like the following:</p> <pre class="prettyprint" translate="no" dir="ltr"><List> <Item>SOAP-Message-Validation-1</Item> <Item>Spike-Arrest-1</Item> <Item>XML-to-JSON-1</Item> </List></pre> <p>Note that this example uses <code translate="no" dir="ltr">prettyprint</code> to display the results by piping the response through <code translate="no" dir="ltr">xmllint</code>.</p> <p>The <code translate="no" dir="ltr">acurl</code> utility does not support the <code translate="no" dir="ltr">Accept</code> header. As a result, you can only get JSON-formatted responses with <code translate="no" dir="ltr">acurl</code>.</p> <p>To use <code translate="no" dir="ltr">prettyprint</code> for a JSON response, you can use the <code translate="no" dir="ltr">json.tool</code> Python library:</p> <pre class="devsite-terminal prettyprint" translate="no" dir="ltr">curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apis/helloworld/revisions/1/policies/ \ -H "Accept: application/json" \ -H "Authorization: Bearer `get_token`" \ | <strong>python -m json.tool</strong></pre> <p>The following provides an example of the response:</p> <pre class="prettyprint" translate="no" dir="ltr">[ "SOAP-Message-Validation-1", "Spike-Arrest-1", "XML-to-JSON-1" ] </pre> <p>For XML, you can use <code translate="no" dir="ltr">xmllint</code>:</p> <pre class="devsite-terminal" translate="no" dir="ltr">curl https://ahamilton-eval-test.apigee.net/getstarted -u <var translate="no">email_address</var> | xmllint --format -</pre> <p>When POSTing or PUTting payloads in XML, use the <code translate="no" dir="ltr">Content-type</code> HTTP header:</p> <pre class="devsite-terminal" translate="no" dir="ltr">acurl -H "Content-type:text/xml" -X POST -d \ '<XMLPayload> </XMLPayload> ' \ https://api.enterprise.apigee.com/v1/organizations/apifactory/apis -u <var translate="no">email_address</var></pre> <h2 id="deploymentenvironments" data-text="Deployment environments">Deployment environments</h2> <p>Every organization using Apigee Edge by default has at least two environments they can use to develop, test, and deploy APIs: "test" and "prod". Use the "test" environment to develop and test your APIs before making them publicly available. Only your internal developers can access APIs deployed to the test environment. Deploy your APIs to the "prod" environment to make them publicly available to app developers.</p> <h2 id="debuggingandtesting" data-text="Debugging and testing">Debugging and testing</h2> <p>Apigee provides a <a href="/web/20210804084230/https://docs.apigee.com/api-platform/debug/using-trace-tool-0">trace tool</a> that lets you debug end-to-end request and response flows. The trace results display request and response headers and payloads, policy execution, variable values, and any errors that may have occurred during the flow.</p> <p>Key data points for use in troubleshooting:</p> <ul> <li><strong>Timestamps</strong>: Use timestamps to see how long each step takes to execute. Comparing timestamps helps you isolate the policies that are taking the longest to execute that are slowing down your API calls.</li> <li><strong>Base path</strong>: By verifying the base path, you can ensure that a policy is routing the message to correct server.</li> <li><strong>Results of policy execution</strong>: These results let you see if the message is being altered as expected, such as if the message is being transformed from XML to JSON, or if the message is being cached.</li> </ul> <p>The following figure shows trace results:</p> <p><img class="screenshot" width="80%" src="/web/20210804084230im_/https://docs.apigee.com/api-platform/images/new_trace.png" alt="Shows the Trace tab selected in the API proxy editor in the Edge UI."></p> <p>Each Trace session is broken down into the following major steps:</p> <ul> <li><strong>Original request received from client</strong>: Displays the verb and URI path of the request from the client app, headers, body data, and query parameters.</li> <li><strong>Request sent to your backend service</strong>: Displays the request message sent to the backend service by the API proxy.</li> <li><strong>Response returned by the backend service</strong>: Displays the response headers and payload returned by the backend service.</li> <li><strong>Final response sent to client:</strong> The response message returned to the requesting client app once the response flow has executed.</li> </ul> </div> <devsite-thumb-rating position="footer"> <template class="thumb-down-categories"> [{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples / code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }] </template> <template class="thumb-up-categories"> [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }] </template> <template class="thumb-rating-feedback"> <devsite-feedback position="thumb-rating" project-name="Apigee Edge" product-id="1636213" bucket="docsite" context="" version="t-devsite-webserver-20210729-r01-rc00.436997626124025798" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="thumb-rating" project-icon="https://www.gstatic.com/devrel-devsite/prod/v0089c83aa8227c3439bf2708c0795dd13db533711d44eb626e640152d9fdf05e/apigee/images/touchicon-180.png" feedback-type="thumb-rating"> <button> Need to tell us more? </button> </devsite-feedback> </template> </devsite-thumb-rating> <devsite-feedback position="footer" project-name="Apigee Edge" product-id="1636213" bucket="docsite" context="" version="t-devsite-webserver-20210729-r01-rc00.436997626124025798" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="footer" project-icon="https://www.gstatic.com/devrel-devsite/prod/v0089c83aa8227c3439bf2708c0795dd13db533711d44eb626e640152d9fdf05e/apigee/images/touchicon-180.png" feedback-type="thumb-rating"> <button> Send feedback </button> </devsite-feedback> </article> <devsite-content-footer class="nocontent"> <p>Except as otherwise noted, the content of this page is licensed under the <a href="https://web.archive.org/web/20210804084230/https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 License</a>, and code samples are licensed under the <a href="https://web.archive.org/web/20210804084230/https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a>. For details, see the <a href="https://web.archive.org/web/20210804084230/https://developers.google.com/site-policies">Google Developers Site Policies</a>. Java is a registered trademark of Oracle and/or its affiliates.</p> <p>Last updated 2021-05-21 UTC.</p> </devsite-content-footer> </devsite-content> </main> <devsite-footer-promos class="devsite-footer"> </devsite-footer-promos> <devsite-footer-linkboxes class="devsite-footer"> <nav class="devsite-footer-linkboxes nocontent" aria-label="Footer links"> <ul class="devsite-footer-linkboxes-list"> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">About Apigee</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210804084230/https://apigee.com/about/apigee#block-bean-about-apigee-contact-us-header" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> We're part of Google </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210804084230/https://apigee.com/api-management/#/events" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> Events </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210804084230/https://apigee.com/about/partners/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)"> Partners </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210804084230/https://apigee.com/api-management/#/resources" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)"> eBooks and webcasts </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Community and support</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210804084230/https://community.apigee.com/index.html" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> Community </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210804084230/https://support.apigee.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> Support overview </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210804084230/https://status.apigee.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)"> Status </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210804084230/https://apigee.com/about/support/portal/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)"> Support portal </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Resources</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210804084230/https://apigee.com/api-management/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> Developer overview </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210804084230/https://www.youtube.com/playlist?list=PLIXjuPlujxxxe3iTmLtgfIBgpMo7iD7fk" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> 4-minute videos for developers </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210804084230/https://apigee.com/about/blog/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)"> Apigee blog </a> </li> </ul> </li> </ul> </nav> </devsite-footer-linkboxes> <devsite-footer-utility class="devsite-footer"> <div class="devsite-footer-utility nocontent"> <nav class="devsite-footer-sites" aria-label="Other Google Developers websites"> <a href="https://web.archive.org/web/20210804084230/https://developers.google.com/" class="devsite-footer-sites-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Developers Link"> <img class="devsite-footer-sites-logo" src="https://web.archive.org/web/20210804084230im_/https://www.gstatic.com/devrel-devsite/prod/v0089c83aa8227c3439bf2708c0795dd13db533711d44eb626e640152d9fdf05e/apigee/images/lockup-developers.svg" loading="lazy" alt="Google Developers"> </a> <ul class="devsite-footer-sites-list"> <li class="devsite-footer-sites-item"> <a href="//web.archive.org/web/20210804084230/https://developer.android.com/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Android Link"> Android </a> </li> <li class="devsite-footer-sites-item"> <a href="//web.archive.org/web/20210804084230/https://developer.chrome.com/home" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Chrome Link"> Chrome </a> </li> <li class="devsite-footer-sites-item"> <a href="//web.archive.org/web/20210804084230/https://firebase.google.com/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Firebase Link"> Firebase </a> </li> <li class="devsite-footer-sites-item"> <a href="//web.archive.org/web/20210804084230/https://cloud.google.com/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Cloud Platform Link"> Google Cloud Platform </a> </li> <li class="devsite-footer-sites-item"> <a href="//web.archive.org/web/20210804084230/https://developers.google.com/products/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer All products Link"> All products </a> </li> </ul> </nav> <nav class="devsite-footer-utility-links" aria-label="Utility links"> <ul class="devsite-footer-utility-list"> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//web.archive.org/web/20210804084230/https://apigee.com/about/terms-use" data-category="Site-Wide Custom Events" data-label="Footer Terms link"> Terms </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//web.archive.org/web/20210804084230/https://apigee.com/about/privacy" data-category="Site-Wide Custom Events" data-label="Footer Privacy link"> Privacy </a> </li> </ul> <devsite-language-selector> <devsite-select class="devsite-language-selector-menu"> <select aria-label="Select your language preference." class="devsite-language-selector-select" name="language" track-name="click" track-type="languageSelector"> <option>Language</option> <option value="en" lang="en" track-metadata-original-language="en" track-metadata-selected-language="en" track-name="changed" track-type="languageSelector"> English </option> <option value="ja" lang="ja" track-metadata-original-language="en" track-metadata-selected-language="ja" track-name="changed" track-type="languageSelector"> 日本語 </option> </select> </devsite-select> </devsite-language-selector> </nav> </div> </devsite-footer-utility> <devsite-panel></devsite-panel> </section></section> <devsite-sitemask></devsite-sitemask> <devsite-snackbar></devsite-snackbar> <devsite-tooltip></devsite-tooltip> <devsite-heading-link></devsite-heading-link> <devsite-analytics enable-analytics-iframe> <script type="application/json" analytics>[]</script> <script type="application/json" gtm>{"parameters": {"freeTrialEligibleUser": "False", "internalUser": "False", "language": {"machineTranslated": "False", "requested": "en", "served": "en"}, "pageType": "article", "projectName": "Apigee Edge", "signedIn": "False", "tenant": "apigee", "recommendations": {"sourcePage": "", "sourceType": 0, "sourceRank": 0, "sourceIdenticalDescriptions": 0, "sourceTitleWords": 0, "sourceDescriptionWords": 0, "experiment": ""}}, "tags": ["GTM-N52333"]}</script> </devsite-analytics> <script nonce="waouvnptz6ETCRzapMsnBR4xk2JQUw"> (function(d,e,v,s,i,t,E){d['GoogleDevelopersObject']=i; t=e.createElement(v);t.async=1;t.src=s;E=e.getElementsByTagName(v)[0]; E.parentNode.insertBefore(t,E);})(window, document, 'script', 'https://web.archive.org/web/20210804084230/https://www.gstatic.com/devrel-devsite/prod/v0089c83aa8227c3439bf2708c0795dd13db533711d44eb626e640152d9fdf05e/apigee/js/app_loader.js', '[10,"en",null,"/js/devsite_app_module.js","https://web.archive.org/web/20210804084230/https://www.gstatic.com/devrel-devsite/prod/v0089c83aa8227c3439bf2708c0795dd13db533711d44eb626e640152d9fdf05e","https://web.archive.org/web/20210804084230/https://www.gstatic.com/devrel-devsite/prod/v0089c83aa8227c3439bf2708c0795dd13db533711d44eb626e640152d9fdf05e/apigee","https://web.archive.org/web/20210804084230/https://apigee-dot-devsite-v2-prod-3p.appspot.com",null,null,["/_pwa/apigee/manifest.json","https://web.archive.org/web/20210804084230/https://www.gstatic.com/devrel-devsite/prod/v0089c83aa8227c3439bf2708c0795dd13db533711d44eb626e640152d9fdf05e/images/video-placeholder.svg","https://web.archive.org/web/20210804084230/https://www.gstatic.com/devrel-devsite/prod/v0089c83aa8227c3439bf2708c0795dd13db533711d44eb626e640152d9fdf05e/apigee/images/favicon.png","https://web.archive.org/web/20210804084230/https://www.gstatic.com/devrel-devsite/prod/v0089c83aa8227c3439bf2708c0795dd13db533711d44eb626e640152d9fdf05e/apigee/images/lockup.svg","https://web.archive.org/web/20210804084230/https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"],1,null,[1,6,8,12,14,17,21,25,40,50,63,70,75,76,80,87,88,91,92,93,97,98,100,101,102,103,104,105,107,108,111,112,113,115,117,118,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,138,147,148],"AIzaSyCNm9YxQumEXwGJgTDjxoxXK6m1F-9720Q","AIzaSyCc76DZePGtoyUjqKrLdsMGk_ry7sljLbY"]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html><!-- FILE ARCHIVED ON 08:42:30 Aug 04, 2021 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 03:33:20 Nov 26, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.729 exclusion.robots: 0.037 exclusion.robots.policy: 0.023 esindex: 0.015 cdx.remote: 146.438 LoadShardBlock: 245.366 (3) PetaboxLoader3.datanode: 181.069 (4) PetaboxLoader3.resolve: 182.053 (2) load_resource: 140.909 -->