-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
130 lines (112 loc) · 10.8 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Apigee API Reference</title>
<meta content="authenticity_token" name="csrf-param" />
<meta content="DxSxC+8ZZ2plsYvnzmdaJvhwyQQhSnwjb0VJwDmxy24=" name="csrf-token" />
<link href="assets/application-0c6218299f83f06968d4e869e32af93a.css" media="all" rel="stylesheet" type="text/css" />
<script src="assets/application-901be3a70ad8aca87d5e8622f22fa578.js" type="text/javascript"></script>
<!-- <link rel="shortcut icon" href="http://apigee.com/sites/default/files/apigee_favicon.ico">
<link href="/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" />
<link href="images/apple-touch-icon.png" rel="apple-touch-icon">
<link href="images/apple-touch-icon-72x72.png" rel="apple-touch-icon" sizes="72x72">
<link href="images/apple-touch-icon-114x114.png" rel="apple-touch-icon" sizes="114x114"> -->
</head>
<body>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-target=".nav-collapse" data-toggle="collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<div class="brand"><a href="categories/index.html">Apigee API</a></div>
<div class="container">
<ul class="nav">
<li><a href="quick_starts/index.html">Quick Starts</a></li>
<li><a href="api_resources/index.html">API Resources</a></li>
<li><a href="api_methods/index.html">API Methods</a></li>
<li><a href="parameters/index.html">Parameters</a></li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="content">
<div class="row">
<div class="span12">
<div>
</div>
<div class="btn-group">
<a class="btn btn-primary btn-large dropdown-toggle" data-toggle="dropdown" href="#">
Apigee APIs
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="categories/3-api-analytics/index.html">API Analytics</a></li>
<li><a href="categories/4-api-configuration-and-management/index.html">API Configuration and Management</a></li>
<li><a href="categories/5-developer-and-app-administration/index.html">Developer and App Administration</a></li>
<li><a href="categories/6-oauth/index.html">Oauth</a></li>
<li><a href="categories/8-appendix/index.html">Appendix</a></li>
<li><a href="categories/9-administration/index.html">Administration</a></li>
</ul>
</div>
<h1>Apigee API Overview</h1>
<p>The Apigee API enables you to create, configure, manage, and administer the RESTful resources exposed by Apigee.</p>
<p>You can usually perform the same action in the UI as via the API. The API eneables you do some things a bit differently and more flexibly than the UI does, since the API is not constrained by the same UX needs as a human interface. </p>
<p>It is important to be aware that you can do some things using the API that are not supported by the UI. Some changes you make via the API may not be reflected in the Apigee UI.</p>
<p>In the long run, you will probably find that some mix of working in the UI and working via the API is most effective for you. The benefit of Apigee is that you can define and implement the workflow that suits your needs the best.</p>
<h2><a class="jumplink" name="Prerequisites"></a>Prerequisites</h2>
<p>The Apigee API is available over the Internet—any HTTP client is supported.</p>
<p>All you require is a user account within an Apigee organization. This provides the Basic Auth (username:password) credentials that you pass with each API call for authentication.</p>
<p>If you do not have an account, you can # for the trial here: http://enterprise.apigee.com/trial</p>
<h2><a class="jumplink" name="Entities"></a>The Apigee API Model</h2>
<p>You can begin familiarizing yourself by using the <strong><a href="http://apigee.com/docs/content/console">Apigee API Console</a></strong>.</p>
<p>The following diagram displays the entity relationships in the Apigee API.</p>
<p><img src="https://lh5.googleusercontent.com/1ORuUNj95qr6S-qGv6GCMrMSq8i72Fal-6jt4E6x1fEMsb5iUPmEa16kIh5HimAbE4_p13RaE_aCa_vecH-3hqOUebnpGaIsqc4ZPfsgUSPo1WkH3mo" style="width: 550px; height: 409px; font-size: 13px;"></p>
<ul>
<li><strong>Organization:</strong> Every Apigee account maps into an "organization." Assuming you're an administrator, you can add and remove users to and from your organization. If you are not an administrator, you are a user within your organization. This gives you the ability to log in to the Apigee UI for your organization. It also enables you to consume the Apigee API to access capabilities within your account. This is why you have to specify the organization in each API request you make.</li>
<li><strong>Company:</strong> An optional container for developers. Use the Company entity when you need to group developers under a single entity. This option used when you require billing information for a corporate entity which may or may not be managed by the developers who are building apps.</li>
<li><strong>Developer:</strong> A developer is a person who builds apps that consume the APIs managed in your organization. You can add, update, or remove developers within your organization. You can also group developers using "company" entities. Developers can be internal to your organization, they might be partners, or they can be external.</li>
<li><strong>App:</strong> A client application (e.g., an iOS or Android app) that is built by a developer and which consumes your API products.</li>
<li><strong>App family:</strong> An arbitrary grouping of apps. This is often used to enable the creation of an app family that contains two children: a sandbox instance of the app, and a production instance of the app. (Note: Apigee makes no assumptions about how you structure "Sandbox" and "Live" instances.)</li>
<li><strong>API product:</strong> A bundle of <em>resources</em> with an optional associated <strong>service plan</strong> and an <strong>OAuth scope</strong>. (We use "resource" to follow the WADL example—another common term is "methods.") API products form the basis of access control with Apigee. They enable you to bundle your API resources into packages that are consumed by developers. You can have one API, and multiple API Products configured on top of it, such as a "Free Introductory API Product" and a "Premium API Product", for example.</li>
<li><strong>Environment:</strong> Every organization (including yours) is provisioned with two environments, one <span style="font-family: courier new,courier,monospace;">test</span> and one <span style="font-family: courier new,courier,monospace;">prod</span>. The naming is arbitrary—you can use these environments however you wish, and Apigee makes no assumptions about your SDLC requirements. You can deploy an API proxy to either environment. Typically you configure your API in the test environment, trace API calls and refine the API, and then deploy it to the prod environment for public consumption. (Note that the two environments have different URLs, which are defined as "virtualhosts."</li>
<li><strong>Virtual host:</strong> The hosts which define the base URL for the APIs managed by Apigee. Every organization has one or more virtual hosts per environment. Usually, for each environment, you have one virtual host running on port 80 and another on port 443 to support SSL. To modify your virtual hosts, contact Apigee support.</li>
<li><strong>Key:</strong> Sometimes called a <em>consumer key</em> or an <em>API key</em>, this key is presented to Apigee at runtime by an app. The key is used to determine whether the app is allowed to access a particular resource. Note that keys belong to apps and have associated API products. Depending on how you configure your API product, keys can be approved manually or automatically.</li>
<li><strong>Access token:</strong> An OAuth construct addressed in the Apigee OAuth documentation.</li>
<li><strong>Authorization code: </strong>An OAuth construct addressed in the Apigee OAuth documentation.</li>
</ul>
<h2><a class="jumplink" name="Apps"></a>What kinds of apps can I write against the Apigee API?</h2>
<p>There are a few basic types of apps that you can build against the Apigee API:</p>
<ul>
<li><strong>API provisioning and management:</strong> Import, deploy, configure, and manage API proxies to Apigee.</li>
<li><strong>Developer provisioning and management:</strong> Add developers and manage their profiles within your organization.</li>
<li><strong>App provisioning and management:</strong> Add apps, and control and monitor their access to your APIs.</li>
<li><strong>Analytics and Insights:</strong> Monitor and analyze how your APIs are being consumed.</li>
<li><strong>Apigee Account Provisioning:</strong> You can integrate Apigee with your enterprise provisioning systems. APIs are available for adding, deleting, and managing users within your Apigee organization.</li>
<li><strong>Developer Portal Apps:</strong> Managing the front-end for your developer program by building apps that register developers, and that enable those developers to register their apps, obtain API keys, and get Analytics.</li>
<li><strong>Software Development Lifecycle Apps:</strong> The core of the Apigee system are APIs which are managed by a proxy "facade." These proxies provide pipeline processing of the messages that flow to and from your APIs. API proxies are bundles of configurations and (sometimes scripts and code) and thus require a development process. The API enables you to implement apps or scripts that implement the SLDC best suited to your organization.</li>
</ul>
<h2><a class="jumplink" name="Tools"></a>Tools</h2>
<p>All you need to use the API is an account within the organization set up on Apigee .</p>
<p>The only tool you require is an HTTP client. For the purposes of this document, we rely on cURL, a command-line HTTP client. Feel free to use any HTTP client you prefer. Or simply use the Apigee console.</p>
<p>cURL is available here: <a href="http://curl.haxx.se/">http://curl.haxx.se/</a></p>
<p>Apigee also provides an optional deployment script (written in Python) to assist in importing and deploying APIs.</p>
</div>
</div><!--/row-->
</div><!--/content-->
<!-- <footer>
<p>© Apigee, Inc. 2012</p>
</footer> -->
</div> <!-- /container -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="assets/application-901be3a70ad8aca87d5e8622f22fa578.js" type="text/javascript"></script>
</body>
</html>
<!-- Localized -->