Skip to content

Commit d1441ff

Browse files
committed
add content for deploy and publish apis to gatewy and developer portal.
1 parent 0d63146 commit d1441ff

File tree

3 files changed

+287
-2
lines changed

3 files changed

+287
-2
lines changed
Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
# Publish an API to Developer Portal
2+
3+
This guide provides step-by-step instructions for publishing APIs, AI APIs, MCP Servers, and API Products to the WSO2 API Manager Developer Portal, making them available for application developers to discover, subscribe, and consume.
4+
5+
!!! info
6+
You can publish the following to the Developer Portal:
7+
8+
- **APIs**: REST, SOAP, SSE, WebSocket, WebSub, GraphQL
9+
- **AI APIs**
10+
- **MCP Servers**
11+
- **API Products**
12+
13+
## Overview
14+
15+
**API Publishing** is the process of making an API visible and available for subscription in the Developer Portal. When an API is published:
16+
17+
- The lifecycle state changes from **CREATED** to **PUBLISHED** (see [API Lifecycle]({{base_path}}/api-design-manage/design/lifecycle-management/api-lifecycle/))
18+
- API metadata becomes visible in the Developer Portal
19+
- Application developers can discover and subscribe to the API
20+
- The API becomes available for consumption through applications
21+
22+
---
23+
24+
## Prerequisites
25+
26+
Before publishing, ensure the following requirements are met:
27+
28+
1. **Endpoint Configuration**: Valid [endpoint URL]({{base_path}}/api-design-manage/design/endpoints/endpoint-types/) configured (for APIs and AI APIs)
29+
2. **Business Plans**: At least one [business plan]({{base_path}}/api-design-manage/design/rate-limiting/assign-business-plans/) (subscription tier) selected
30+
3. **Created State**: The API, AI API, MCP Server, or API Product must be created and in CREATED state
31+
32+
!!! tip
33+
You can check if these requirements are met in the Lifecycle page of the Publisher Portal.
34+
35+
---
36+
## Publishing to Developer Portal
37+
38+
### Step 1: Sign in to the Publisher Portal
39+
40+
1. Navigate to the Publisher Portal:
41+
```
42+
https://<hostname>:9443/publisher
43+
```
44+
Example: `https://localhost:9443/publisher`
45+
46+
2. Sign in with your credentials.
47+
48+
### Step 2: Select the API or API Product
49+
50+
1. Click on an API or API Product that is in the **CREATED** state
51+
52+
<img src="{{base_path}}/assets/img/learn/select-created-api.png" alt="Select API" title="Select API" width="35%" />
53+
54+
!!! note "Enhanced API Visibility"
55+
You can enhance the API tile display in developer portal by configuring the following settings in:
56+
57+
`<APIM_HOME>/repository/deployment/server/webapps/devportal/site/public/theme/settings.json`
58+
59+
```json
60+
"tileDisplayInfo": {
61+
"showMonetizedState": true,
62+
"showBusinessDetails": true,
63+
"showTechnicalDetails": true
64+
}
65+
```
66+
67+
This displays:
68+
69+
- Monetization status
70+
- Business owner information (with email on hover)
71+
- Technical owner information (with email on hover)
72+
73+
<img src="{{base_path}}/assets/img/learn/select-created-api-with-monetization.png" alt="API with Business Info" title="Select API" width="35%" />
74+
75+
### Step 3: Navigate to Lifecycle
76+
77+
1. Click on the **Lifecycle** tab in the left menu
78+
79+
![Lifecycle Tab]({{base_path}}/assets/img/learn/default-lifecycle.png)
80+
81+
82+
2. The lifecycle state transition grid appears. Check for any missing requirements:
83+
- Endpoint provided
84+
- Business Plan(s) selected
85+
86+
![Publish Requirements]({{base_path}}/assets/img/learn/publish-api-requirements.png)
87+
88+
!!! warning
89+
If requirements are not satisfied, navigate to the relevant sections (Endpoints, Subscriptions) to provide the missing information.
90+
91+
### Step 4: Publish the API
92+
93+
1. Click the **PUBLISH** button
94+
95+
![Publish API]({{base_path}}/assets/img/learn/publish-api.png)
96+
97+
2. Upon successful publication, the lifecycle state changes to **PUBLISHED**
98+
99+
![Published State]({{base_path}}/assets/img/learn/api-state-change-to-publish.png)
100+
101+
### Step 5: Verify in Developer Portal
102+
103+
1. Navigate to the Developer Portal:
104+
```
105+
https://<hostname>:9443/devportal
106+
```
107+
Example: `https://localhost:9443/devportal`
108+
109+
2. Verify that your published API is visible under the **APIs** listing
110+
111+
!!! success
112+
Your API is now published and available for developers to discover and subscribe!
113+
114+
---
115+
116+
## Publishing Third-party APIs
117+
118+
WSO2 API Manager supports publishing APIs that are deployed on external gateways. These APIs are listed in the Developer Portal for discovery but are not proxied through WSO2 Gateway.
119+
120+
For detailed instructions on adding and configuring third-party APIs, see [Add a Third-party API]({{base_path}}/api-design-manage/deploy-and-publish/publish-on-dev-portal/third-party-api-support/).
121+
122+
---
123+
124+
## Best Practices
125+
126+
### Before Publishing
127+
128+
1. **Complete API Documentation**: Add comprehensive documentation before publishing - See [Add API Documentation]({{base_path}}/api-design-manage/design/api-documentation/add-api-documentation/)
129+
2. **Configure Appropriate Business Plans**: Select business plans that match your API's target audience - See [Assign Business Plans]({{base_path}}/api-design-manage/design/rate-limiting/assign-business-plans/)
130+
3. **Set Correct Visibility**: Configure API visibility (Public, Restricted, Private) - See [Control API Visibility and Subscription Availability]({{base_path}}/api-design-manage/design/advanced-topics/control-api-visibility-and-subscription-availability-in-developer-portal/)
131+
4. **Add Business Information**: Include business owner and technical owner details
132+
5. **Test Endpoints**: Verify all endpoints are reachable and working
133+
134+
### During Publishing
135+
136+
1. **Monitor Lifecycle State**: Ensure the state transition completes successfully
137+
138+
### After Publishing
139+
140+
1. **Verify in Developer Portal**: Always check the API appears correctly
141+
2. **Test Subscription Flow**: Create a test application and subscribe
142+
3. **Monitor Analytics**: Keep track of API usage and subscriber growth
143+
4. **Update Documentation**: Keep documentation current with API changes
144+
145+
---
146+
147+
Following these steps ensures your APIs, AI APIs, MCP Servers, and API Products are properly published and discoverable in the Developer Portal, enabling application developers to easily find, subscribe to, and consume them.
148+
149+
## See Also
150+
151+
- [Consume APIs Overview]({{base_path}}/api-developer-portal/consume-api-overview/) - Learn how application developers can discover and consume published APIs.
152+
- [Discover APIs]({{base_path}}/api-developer-portal/discover-apis/search/) - Explore how to search and find APIs in the Developer Portal.
153+
- [Subscribe to an API]({{base_path}}/api-developer-portal/manage-subscription/subscribe-to-an-api/) - Subscribe to published APIs from an application.
154+
- [Create Application]({{base_path}}/api-developer-portal/manage-application/create-application/) - Create applications to consume APIs.
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
# Deploy an API to Gateway
2+
3+
This guide provides comprehensive instructions for deploying APIs and API Products to the WSO2 Universal Gateway, enabling them to be invoked through Gateway environments.
4+
5+
!!! info
6+
You can deploy the following to the Gateway:
7+
8+
- **APIs**: REST, SOAP, SSE, WebSocket, WebSub, GraphQL
9+
- **API Products**
10+
11+
## Overview
12+
13+
**API Deployment** is the process of making APIs and API Products available for invocation through a Gateway environment. Key points:
14+
15+
- APIs and API Products must be deployed to a Gateway before they can be invoked
16+
- They must also be published to the Developer Portal for subscription
17+
- Deployment uses a **revision-based approach** for version control
18+
- You can deploy to multiple Gateway environments simultaneously
19+
20+
!!! note
21+
The steps for deploying APIs and API Products are identical.
22+
23+
#### What is Undeployment?
24+
25+
**Undeploying** removes the API or API Product from the selected Gateway environment, making it unavailable for invocation through that Gateway.
26+
27+
---
28+
29+
## Prerequisites
30+
31+
Before deploying, ensure:
32+
33+
1. **Created**: The API or API Product exists in the Publisher Portal
34+
2. **Endpoint Configured**: Valid endpoint URL is configured
35+
3. **Gateway Environment Available**: At least one Gateway environment is configured
36+
4. **Appropriate Permissions**: User has deployment permissions
37+
38+
---
39+
40+
## Understanding Revisions
41+
42+
Revisions are snapshots of your API or API Product configuration at a specific point in time. They enable:
43+
44+
- Version control for API configurations
45+
- Rollback capabilities
46+
- Deployment to multiple environments with different configurations
47+
- Safe testing before production deployment
48+
49+
### Revision Limitations
50+
51+
!!! warning
52+
- Maximum of **5 revisions** can exist
53+
- To deploy a new revision after reaching the limit, delete an existing revision
54+
- Revisions cannot be edited after creation
55+
56+
---
57+
58+
## Deploying to Gateway
59+
60+
### Step 1: Sign in to the Publisher Portal
61+
62+
1. Navigate to the Publisher Portal:
63+
```
64+
https://<hostname>:9443/publisher
65+
```
66+
Example: `https://localhost:9443/publisher`
67+
68+
2. Sign in with your credentials.
69+
70+
3. The list of available APIs appears.
71+
72+
### Step 2: Select the API or API Product
73+
74+
1. Click on the API or API Product you want to deploy.
75+
76+
2. Navigate to the **Deploy** section in the left menu.
77+
78+
3. Click **Deployments**.
79+
80+
### Step 3: Deploy First Revision (New API)
81+
82+
If you haven't deployed any revisions yet, you'll see the following screen:
83+
84+
![First Revision]({{base_path}}/assets/img/design/revision/deploy-first-revision.png)
85+
86+
1. Optionally, provide a **description** for the revision.Good revision descriptions help track changes over time. Example: "Added rate limiting and updated endpoint"
87+
88+
2. Select the **API Gateway environments** where you want to deploy.
89+
90+
3. Click **Deploy**
91+
92+
4. Verify deployment status. Hover over the deployment status icon to view detailed information about the deployment.
93+
94+
![Deployment Status]({{base_path}}/assets/img/design/revision/revision-deployment-acknowledgement.png)
95+
96+
### Step 4: Deploy Additional Revisions
97+
98+
If you already have existing revisions, the Deployments page appears as follows:
99+
100+
![Deploy New Revision]({{base_path}}/assets/img/design/revision/deploy-new-revision.png)
101+
102+
**To deploy a new revision:**
103+
104+
1. Click **Deploy New Revision**
105+
106+
2. Optionally, provide a description for the new revision
107+
108+
3. Select the Gateway environments for deployment
109+
110+
4. Click **Deploy**
111+
112+
5. Monitor deployment status for each Gateway
113+
114+
Your API or API Product is now deployed and ready to receive traffic through the Gateway!
115+
116+
!!! warning
117+
You cannot deploy more than 5 revisions. If the maximum is reached, delete an existing revision first.
118+
![Delete and Deploy]({{base_path}}/assets/img/design/revision/delete-and-deploy-revision.png)
119+
120+
---
121+
122+
## See Also
123+
124+
- [Deploy an API]({{base_path}}/api-design-manage/deploy-and-publish/deploy-on-gateway/deploy-api/deploy-an-api/) - Step-by-step guide to deploy an API using revisions.
125+
- [Create API Revisions]({{base_path}}/api-design-manage/design/create-api/create-api-revisions/) - Learn how to create and manage API revisions for deployment.
126+
- [Publish an API to Developer Portal]({{base_path}}/api-developer-portal/publish-an-api-to-dev-portal/) - Make your deployed APIs discoverable and subscribable in the Developer Portal.
127+
- [Gateway Environments]({{base_path}}/api-gateway/maintaining-separate-production-and-sandbox-gateways/) - Configure separate production and sandbox Gateway environments.
128+
- [Gateway Policies]({{base_path}}/api-gateway/gateway-policies/) - Apply global policies across all APIs deployed on a Gateway.
129+
- [Understand Rate Limit Enforcement]({{base_path}}/api-gateway/rate-limiting/understand-rate-limit-enforcement/) - Learn how the Gateway enforces rate limiting policies in real-time.

en/mkdocs.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,7 @@ nav:
317317
- Import APIs From AWS API-Gateway to WSO2 API-M: api-design-manage/deploy-and-publish/publish-on-dev-portal/publish-aws-apis-in-the-dev-portal.md
318318

319319
- API Developer Portal:
320+
- Publish an API to Developer Portal: api-developer-portal/publish-an-api-to-dev-portal.md
320321
- Consume APIs Overview: api-developer-portal/consume-api-overview.md
321322
- Discover APIs:
322323
- Search: api-developer-portal/discover-apis/search.md
@@ -434,7 +435,7 @@ nav:
434435
- API Gateway:
435436
- Universal Gateway:
436437
- Overview of the WSO2 Universal Gateway: api-gateway/overview-of-the-api-gateway.md
437-
- Gateway Policies: api-gateway/gateway-policies.md
438+
- Deploy an API to Gateway: api-gateway/deploy-api-to-gateway.md
438439
- Response Caching: api-gateway/response-caching.md
439440
- Pass End User Attributes to the Backend: api-gateway/passing-enduser-attributes-to-the-backend-via-api-gateway.md
440441
- Gateway Environments: api-gateway/maintaining-separate-production-and-sandbox-gateways.md
@@ -445,6 +446,7 @@ nav:
445446
- Mutual SSL Between Universal Gateway and Backend: api-gateway/mutual-ssl-between-api-gateway-and-backend.md
446447
- Storing Custom Synapse Artifacts in the Gateway: api-gateway/custom-synapse-artifacts.md
447448
- Universal Gateway Policies:
449+
- Gateway Policies: api-gateway/gateway-policies.md
448450
- Adding Dynamic Endpoints: api-gateway/policies/adding-dynamic-endpoints.md
449451
- Adding a Class Mediator: api-gateway/policies/adding-a-class-mediator.md
450452
- Adding a Non-Blocking Send Operation: api-gateway/policies/adding-a-non-blocking-send-operation.md
@@ -572,7 +574,7 @@ nav:
572574
- Metrics:
573575
- JMX-Based Monitoring: monitoring/observability/metrics/jmx-based-monitoring.md
574576

575-
- Administer:
577+
- Administration:
576578
- Overview: administer/admin-overview.md
577579
- Manage Users and Roles:
578580
- Introduction to User Management: administer/managing-users-and-roles/introduction-to-user-management.md

0 commit comments

Comments
 (0)