Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Subscription Approval #1568

Open
wants to merge 9 commits into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions en/docs/administer/configure-approval.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Configure Approval
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this be something along the lines of "Review Subscription Requests"?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The UI mentioned here will handle any sort of review request. we've also got environment promotion requests here and will add more later. We could call it "Review Approval Requests"?


This guide explains how to review, approve, or reject approval requests for various types of resources in Choreo.

## Approving or rejecting requests

1. Sign in to the [Choreo Console](https://console.choreo.dev/).
2. Click on the current organization in the top left.
3. In the left navigation menu, click **Approvals**. This opens the organization-level approvals page.
4. On the **Approvals** page, you can view the list of pending approval requests.
5. Click on the approval request you want to review.
6. In the approval request details pane, click **Approve**.
7. In the approval request details pane, click **Reject**.

![Approve subscription](../../assets/img/api-management/manage-api-traffic/add-subscription.png)

## Types of approval requests

Choreo supports various types of approval requests, including:

1. Subscription Request Approval: For API subscription plans that require approval.
1 change: 1 addition & 0 deletions en/docs/administer/create-api-subscription-plans.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ To create an organization-level subscription plan, follow the steps given below:
- In the **Name** field, you must specify a name to uniquely identify the subscription plan in various contexts. The value is editable only at the time you create the subscription plan. You cannot change the name after you create it.
- The **Stop on Quota Reach** checkbox is selected by default when creating a subscription plan. When selected, requests return an HTTP 429 response if the request count exceeds the limit. If you clear the checkbox, requests are allowed even if the quota is exceeded.
- Burst control protects your backend from sudden request spikes and manages API usage. It’s especially useful for subscription plans where the request count is enforced over a long period, to prevent consumers from using their entire quota too quickly. Ensure you select the **Burst Control** checkbox when the **Request Count Time Unit** is selected as **Hour** or **Day**.
- Select the **Approval required** checkbox if subscription requests made to this subscription plan require administrator or API publisher approval before activation. This allows you to review and manually approve subscriptions before granting access.
jhivandb marked this conversation as resolved.
Show resolved Hide resolved

![Create subscription plan](../assets/img/administer/create-subscription-plan.png)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,6 @@ To assign subscription plans to an API, follow the steps given below:
![Enable toggle](../../assets/img/api-management/manage-api-traffic/enable-toggle.png)

5. Click **Save**.
<!-- TODO: Add a new screenshot showing the subscription plans assigned to an API -->

When an API has subscription plans assigned to it, API consumers can select the plan that best fits their requirements during the subscription process. For details, see [Subscribe to an API with a Subscription Plan](./subscribe-to-an-api-with-a-subscription-plan.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Configure Subscription Approval
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to be almost the same content we have drafted under the Administer section right (The page that will probably include info on the process to review subscription requests and proceed to approve or reject)?
Any reason to repeat the content here?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This page will be instructions specific to subscription approval.IDT we should mention that under Administer/Review ApprovalRequests same reasons as above


Choreo allows you to create subscription plans that require approval before being used. This feature enables you to control access to APIs by requiring administrative review and authorization of subscriptions before they become active.

To use a subscription plan that requires approval, follow the steps given below:

## Prerequisites

- You have [created an API subscription plan](../../administer/create-api-subscription-plans.md) that requires approval.
- You have [assigned a subscription plan that requires approval to an API](assign-subscription-plans-to-apis.md).
- You have [subscribed to an API using a plan that requires approval](subscribe-to-an-api-with-a-subscription-plan.md).

## Request approval

1. In the left navigation menu, click **Approvals**. This opens the organization-level approvals page.
2. On the **Approvals** page, you can view the list of pending subscription requests.
3. Click on the subscription request you want to approve.
4. In the **Subscription Request Approval** pane that opens, click **Approve**.

![Approve subscription request](../../assets/img/api-management/manage-api-traffic/approve-subscription-request.png)

5. The subscription request will be approved and the subscription will be activated.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Subscribe to an API with a Subscription Plan

If an API has subscription plans assigned to it, API consumer can select the subscription plan that best fits their requirement at the time of subscribing to the API.
If an API has subscription plans assigned to it, API consumers can select the subscription plan that best fits their requirements at the time of subscribing to the API.

To subscribe to an API with a subscription plan, follow the steps given below:

Expand All @@ -14,10 +14,16 @@ To subscribe to an API with a subscription plan, follow the steps given below:

![Add subscription](../../assets/img/api-management/manage-api-traffic/add-subscription.png)

8. If the selected subscription plan requires approval, your subscription will be shown as "Pending" until it is approved by an organization admin or the API publisher.

> **Note:** Some subscription plans may require approval before they can be used. In such cases, your subscription will remain in a pending state until the necessary approval is granted.

To verify that the subscription plan works as expected, follow the steps given below:

1. In the Developer Portal header, click **APIs**.
2. Search for the API you subscribed to and click **Try Out**.
3. Invoke the API until you exceed the request limit set in the subscription plan. You will see that the API throttles further requests once the limit is reached.
3. If your subscription is approved and active, invoke the API until you exceed the request limit set in the subscription plan. You will see that the API throttles further requests once the limit is reached.

![Throttle response](../../assets/img/api-management/manage-api-traffic/throttle-response.png)

4. If your subscription is still pending approval, you may see an error message indicating that you don't have an active subscription when trying to invoke the API.
2 changes: 2 additions & 0 deletions en/mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@ nav:
- Manage API Traffic:
- Assign Subscription Plans to APIs: api-management/manage-api-traffic/assign-subscription-plans-to-apis.md
- Subscribe to an API with a Subscription Plan: api-management/manage-api-traffic/subscribe-to-an-api-with-a-subscription-plan.md
- Subscription Request Approval: api-management/manage-api-traffic/configure-subscription-approval.md
- Rename API Display Name: api-management/rename-api-display-name.md
- Monitoring and Insights:
- Observability Overview: monitoring-and-insights/observability-overview.md
Expand All @@ -199,6 +200,7 @@ nav:
- Configure Asgardeo as an External IdP: administer/configure-an-external-idp/configure-asgardeo-as-an-external-idp.md
- Configure Azure as an External IdP: administer/configure-an-external-idp/configure-azure-ad-as-an-external-idp.md
- Create API Subscription Plans: administer/create-api-subscription-plans.md
- Configure Approval: administer/configure-approval.md
- Configure a User Store with the Built-In Identity Provider: administer/configure-a-user-store-with-built-in-idp.md
- Developer Portal:
- Customize the Developer Portal: administer/customize-the-developer-portal.md
Expand Down