diff --git a/en/devportal-theming/manage-keys.svg b/en/devportal-theming/manage-keys.svg new file mode 100644 index 000000000..1f748cccf --- /dev/null +++ b/en/devportal-theming/manage-keys.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/en/docs/assets/img/authentication-and-authorization/mutual-ssl-authentication.png b/en/docs/assets/img/authentication-and-authorization/mutual-ssl-authentication.png index e2ffb1fd3..d1e5716e3 100644 Binary files a/en/docs/assets/img/authentication-and-authorization/mutual-ssl-authentication.png and b/en/docs/assets/img/authentication-and-authorization/mutual-ssl-authentication.png differ diff --git a/en/docs/assets/img/gateway-federation/add-external-gateway-form.png b/en/docs/assets/img/gateway-federation/add-external-gateway-form.png new file mode 100644 index 000000000..11c583553 Binary files /dev/null and b/en/docs/assets/img/gateway-federation/add-external-gateway-form.png differ diff --git a/en/docs/assets/img/gateway-federation/add-external-gateway.png b/en/docs/assets/img/gateway-federation/add-external-gateway.png new file mode 100644 index 000000000..9d70b7bb0 Binary files /dev/null and b/en/docs/assets/img/gateway-federation/add-external-gateway.png differ diff --git a/en/docs/assets/img/gateway-federation/create-discovered-apis.png b/en/docs/assets/img/gateway-federation/create-discovered-apis.png new file mode 100644 index 000000000..6508c54ec Binary files /dev/null and b/en/docs/assets/img/gateway-federation/create-discovered-apis.png differ diff --git a/en/docs/assets/img/gateway-federation/federate-apis.png b/en/docs/assets/img/gateway-federation/federate-apis.png new file mode 100644 index 000000000..31aac851b Binary files /dev/null and b/en/docs/assets/img/gateway-federation/federate-apis.png differ diff --git a/en/docs/assets/img/gateway-federation/federated-api-overview.png b/en/docs/assets/img/gateway-federation/federated-api-overview.png new file mode 100644 index 000000000..13d56bd4f Binary files /dev/null and b/en/docs/assets/img/gateway-federation/federated-api-overview.png differ diff --git a/en/docs/assets/img/gateway-federation/select-gateways.png b/en/docs/assets/img/gateway-federation/select-gateways.png new file mode 100644 index 000000000..2ad01a157 Binary files /dev/null and b/en/docs/assets/img/gateway-federation/select-gateways.png differ diff --git a/en/docs/assets/img/test-api-proxy/graphiql-console.png b/en/docs/assets/img/test-api-proxy/graphiql-console.png new file mode 100644 index 000000000..97630a1a3 Binary files /dev/null and b/en/docs/assets/img/test-api-proxy/graphiql-console.png differ diff --git a/en/docs/create-api-proxy/my-apis/graphql/import-api-contract.md b/en/docs/create-api-proxy/my-apis/graphql/import-api-contract.md new file mode 100644 index 000000000..42865ee9d --- /dev/null +++ b/en/docs/create-api-proxy/my-apis/graphql/import-api-contract.md @@ -0,0 +1,60 @@ +# Import API Contract + +A GraphQL API proxy operates based on the GraphQL query language specification. GraphQL provides a flexible and efficient approach to API development by allowing clients to request exactly the data they need, nothing more and nothing less. + +Unlike traditional REST APIs that require multiple endpoints for different resources, GraphQL uses a single endpoint and a type system to define the API's capabilities. This enables clients to compose complex queries that fetch related data in a single request, reducing over-fetching and under-fetching of data. GraphQL is ideal for applications that need flexible data fetching and efficient data aggregation. + +In this guide, you will: + +- Create a GraphQL API proxy. +- Configure and Deploy the API proxy. +- Test the API proxy to verify its functionality. + +## Prerequisites + +- If you're signing in to the Bijira Console for the first time, create an organization: + 1. Go to [Bijira Console](https://console.bijira.dev/) and sign in using your preferred method. + 2. Enter a unique organization name. For example, `Stark Industries`. + 3. Read and accept the privacy policy and terms of use. + 4. Click **Create**. + + This creates the organization and opens the **Project Home** page of the default project created for you. + +## Create an API Proxy + +In this guide, you will use a sample URL to import a GraphQL schema definition and create a GraphQL API proxy. + +1. Go to [Bijira Console](https://console.bijira.dev/) and sign in. This opens the project home page. +2. If you already have one or more components in your project, click + Create. Otherwise, proceed to the next step. +3. Select **Import API Contract**. +4. Select the API Type as **GraphQL**. +5. Select **URL** option and click **Try with Sample URL** to use the sample GraphQL schema URL. + +6. Click **Next** and edit pre-defined values as needed. You can keep the default values for this sample. +7. Click **Create** to create the API Proxy. Wait for the setup to complete. + +## Configure and Deploy the API Proxy + +1. Navigate to the **Deploy** page of the API Proxy. +2. Select **Configure and Deploy** option from the **Deploy** dropdown and click it. +3. Select **External** as API Access Mode. +4. Click **Deploy**. + +## Test the API Proxy + +1. Navigate to the **Test --> Console** page of the API Proxy. +2. Use the GraphQL Console to test the API Proxy. + +## Promote the API Proxy to Production and Publish the API proxy + +1. Navigate to the **Deploy** page of the API Proxy. +2. Select **Promote to Production**. +3. In the left navigation menu, click **Lifecycle** under **Develop**. This takes you to the **Lifecycle** page. +4. Click **Publish**. +5. In the **Publish API** dialog, click **Confirm** to proceed with publishing the API. If you want to change the display name, make the necessary changes and then click **Confirm**. This sets the API lifecycle state to **Published**. + +## API Proxy Behavior + +This GraphQL API Proxy enables clients to query data using GraphQL queries and mutations. Clients can request exactly the fields they need, reducing bandwidth and improving performance. The API supports complex queries that fetch related data in a single request, making it efficient for applications with varying data requirements. + + diff --git a/en/docs/create-api-proxy/my-apis/graphql/start-with-endpoint.md b/en/docs/create-api-proxy/my-apis/graphql/start-with-endpoint.md new file mode 100644 index 000000000..57492b3a9 --- /dev/null +++ b/en/docs/create-api-proxy/my-apis/graphql/start-with-endpoint.md @@ -0,0 +1,53 @@ +# Create API proxy from Start with Endpoint + +A GraphQL API proxy operates based on the GraphQL query language specification. GraphQL provides a flexible and efficient approach to API development by allowing clients to request exactly the data they need, nothing more and nothing less. + +Unlike traditional REST APIs that require multiple endpoints for different resources, GraphQL uses a single endpoint and a type system to define the API's capabilities. This enables clients to compose complex queries that fetch related data in a single request, reducing over-fetching and under-fetching of data. GraphQL is ideal for applications that need flexible data fetching, real-time subscriptions, and efficient data aggregation. + +## Prerequisites + +- If you're signing in to the Bijira Console for the first time, create an organization: + 1. Go to [Bijira Console](https://console.bijira.dev/) and sign in using your preferred method. + 2. Enter a unique organization name. For example, `Stark Industries`. + 3. Read and accept the privacy policy and terms of use. + 4. Click **Create**. + + This creates the organization and opens the **Project Home** page of the default project created for you. + +## Create an API Proxy + +In this guide, you will create a GraphQL API proxy using an endpoint. + +1. Go to [Bijira Console](https://console.bijira.dev/) and sign in. This opens the project home page. +2. If you already have one or more components in your project, click + Create. Otherwise, proceed to the next step. +3. Select **Start with Endpoint**. +4. Select the API Type as **GraphQL**. +5. Click **Try with Sample URL** to use the sample GraphQL endpoint URL. + +6. Click outside the input field or press Tab to validate the endpoint. Bijira will automatically validate the endpoint and fetch the GraphQL schema through introspection. Wait for the validation to complete. + +7. Click **Next**. +8. Edit the pre-defined values as needed. You can keep the default values for this sample. + +9. Click **Create** to create the API Proxy. Wait for the setup to complete. + +## Configure and Deploy the API Proxy + +1. Navigate to the **Deploy** page of the API Proxy. +2. Select **Configure and Deploy** option from the **Deploy** dropdown and click it. +3. Select **External** as API Access Mode. +4. Click **Deploy**. + +## Test the API Proxy + +1. Navigate to the **Test --> Console** page of the API Proxy. +2. Use the GraphQL Console to test the API Proxy. + +## Promote the API Proxy to Production and Publish the API proxy + +1. Navigate to the **Deploy** page of the API Proxy. +2. Select **Promote to Production**. +3. In the left navigation menu, click **Lifecycle** under **Develop**. This takes you to the **Lifecycle** page. +4. Click **Publish**. +5. In the **Publish API** dialog, click **Confirm** to proceed with publishing the API. If you want to change the display name, make the necessary changes and then click **Confirm**. This sets the API lifecycle state to **Published**. + diff --git a/en/docs/create-api-proxy/my-apis/http/import-api-from-github.md b/en/docs/create-api-proxy/my-apis/http/import-api-from-github.md index 26433fb5c..aa42ef8fb 100644 --- a/en/docs/create-api-proxy/my-apis/http/import-api-from-github.md +++ b/en/docs/create-api-proxy/my-apis/http/import-api-from-github.md @@ -14,6 +14,30 @@ An API proxy acts as an intermediary between an existing API and Bijira, interce 2. Fork the [Bijira samples repository](https://github.com/wso2/bijira-samples), which contains the [sample proxy source](https://github.com/wso2/bijira-samples/tree/main/reading-list-api). +## Configure component.yaml + +When creating an API proxy from a GitHub repository, you must include a `component.yaml` configuration file in your repository. This file must be located at `.choreo/component.yaml` within your API directory. + +### Required Configuration + +The `component.yaml` file for API proxies must include the following structure: + +```yaml +proxy: + type: REST + schemaFilePath: openapi.yaml +``` + +### Configuration Fields + +| **Field** | **Required** | **Description** | +|-----------|--------------|-----------------| +| `proxy.type` | Required | The type of API proxy. Supported values are:
- `REST` - For REST APIs (uses OpenAPI specification)
- `WS` - For WebSocket APIs (uses AsyncAPI specification) | +| `proxy.schemaFilePath` | Required | The path to your API specification file relative to the API directory. For REST APIs, this should point to your OpenAPI specification file (e.g., `openapi.yaml`). For WebSocket APIs, this should point to your AsyncAPI specification file (e.g., `asyncapi.yaml`). | + +!!! note + The `component.yaml` file must be present in the `.choreo` directory within your API directory for Bijira to successfully build and deploy your API proxy from GitHub. + ## Step 1: Create an API proxy You can create an API proxy either by selecting the source from a GitHub repository, uploading an OpenAPI specification file, or providing an OpenAPI specification URL. This guide demonstrates how to create an API proxy using a GitHub repository as the source. @@ -44,7 +68,7 @@ You can create an API proxy either by selecting the source from a GitHub reposit | **API Directory** | /reading-list-api | - ![Create API from Github](../../assets/img/create-api-proxy/import-from-github/api_from_github_select_repo.png) + ![Create API from Github](../../../assets/img/create-api-proxy/import-from-github/api_from_github_select_repo.png) !!! note To select the relevant directory, click on the **Edit** action next to the **API Directory** input field. Then, enter `reading-list-api` as the directory name to quickly search and locate the correct directory. @@ -70,7 +94,7 @@ You can create an API proxy either by selecting the source from a GitHub reposit 1. In the left navigation menu, click **Deploy**. 2. If the build is in progress, you can view the Build information. -![Create API from Github](../../assets/img/create-api-proxy/import-from-github/api_from_github_build_page.png) +![Create API from Github](../../../assets/img/create-api-proxy/import-from-github/api_from_github_build_page.png) @@ -78,6 +102,6 @@ You can create an API proxy either by selecting the source from a GitHub reposit This opens the **Configure & Deploy** pane.

4. Select **External** as the **API Access Mode** and click **Deploy**. The **Development** card indicates the **Deployment Status** as **Active** when the API proxy is successfully deployed. -![Create API from Github](../../assets/img/create-api-proxy/import-from-github/api_from_github_deploy_page.png) +![Create API from Github](../../../assets/img/create-api-proxy/import-from-github/api_from_github_deploy_page.png) Now, you are ready to test the API proxy. You can test the API via the [OpenAPI Console](../../../test-api-proxy/openapi-console/) provided in Bijira \ No newline at end of file diff --git a/en/docs/develop-api-proxy/authentication-and-authorization/secure-communication-between-the-bijira-gateway-and-your-backend-with-mutual-tls.md b/en/docs/develop-api-proxy/authentication-and-authorization/secure-communication-between-the-bijira-gateway-and-your-backend-with-mutual-tls.md index e76d08f1c..3e58c34ae 100644 --- a/en/docs/develop-api-proxy/authentication-and-authorization/secure-communication-between-the-bijira-gateway-and-your-backend-with-mutual-tls.md +++ b/en/docs/develop-api-proxy/authentication-and-authorization/secure-communication-between-the-bijira-gateway-and-your-backend-with-mutual-tls.md @@ -4,7 +4,7 @@ To establish secure communication between the Bijira Gateway and your backend, y Mutual TLS authentication involves both the client and server validating each other’s certificates before establishing a connection. The following diagram depicts this scenario: -![Mutual TLS authentication](../assets/img/authentication-and-authorization/mutual-ssl-authentication.png) +![Mutual TLS authentication](../../assets/img/authentication-and-authorization/mutual-ssl-authentication.png) ## Configure mutual TLS to establish secure connectivity @@ -46,17 +46,17 @@ Follow the step-by-step instructions below depending on how you want to establis 7. Click **Add Client Certificate**. 8. In the **Add Client Certificate Pair** dialog, select **Generate new key pair** and specify a value as the common name for the certificate pair. This value will be used to identify the certificate. - ![Generate new key pair](../assets/img/authentication-and-authorization/generate-new-key-pair.png) + ![Generate new key pair](../../assets/img/authentication-and-authorization/generate-new-key-pair.png) 9. Optionally, click **Show advanced options** to expand the section and specify appropriate values for each of the fields. 10. Click **Generate**. This generates the certificate and lists it under **Existing Certificates**. 11. Click the more options icon corresponding to the certificate and then click **View and Download**. - ![View and download certificate](../assets/img/authentication-and-authorization/view-and-download.png) + ![View and download certificate](../../assets/img/authentication-and-authorization/view-and-download.png) This opens the certificate for you to view and download. - ![Certificate details](../assets/img/authentication-and-authorization/certificate-details.png) + ![Certificate details](../../assets/img/authentication-and-authorization/certificate-details.png) 12. To download the certificate in PEM format, click **Download**. You can add this certificate as a trusted certificate in the API backend server. @@ -74,17 +74,17 @@ Follow the step-by-step instructions below depending on how you want to establis 7. Click **Add Client Certificate**. 8. In the **Add Client Certificate Pair** dialog, select **Use my own key pair**. - ![Use own key pair](../assets/img/authentication-and-authorization/use-own-key-pair.png) + ![Use own key pair](../../assets/img/authentication-and-authorization/use-own-key-pair.png) 9. Upload the private key and public certificate in PEM format or copy and paste the content of the private key and public certificate. 10. Click **Add**. This generates the certificate and lists it under **Existing Certificates**. 11. Click the more options icon corresponding to the certificate and then click **View and Download**. - ![View and download certificate](../assets/img/authentication-and-authorization/view-and-download.png) + ![View and download certificate](../../assets/img/authentication-and-authorization/view-and-download.png) - This opens the certificate for you to view and download. + This opens the certificate for you to view and download. - ![Certificate details](../assets/img/authentication-and-authorization/certificate-details.png) + ![Certificate details](../../assets/img/authentication-and-authorization/certificate-details.png) 12. To download the certificate in PEM format, click **Download**. You can add this certificate as a trusted certificate in the API backend server. @@ -97,7 +97,7 @@ To associate a certificate with the API, follow the steps given below: 1. On the **Endpoints** page, go to the **Existing Certificates** section. 2. Select the certificate you want to associate with the API. - ![Associate certificate](../assets/img/authentication-and-authorization/associate-certificate.png) + ![Associate certificate](../../assets/img/authentication-and-authorization/associate-certificate.png) 3. Click **Save**. @@ -109,7 +109,7 @@ To deploy the API, follow the steps given below: 2. In the **Build Area** card, click **Configure & Deploy**. 3. Once the mediation application generation phase is complete, verify the endpoint URL populated for the environment and then click **Save & Deploy**. -Once the deployment is complete, you can [test the API](../test-api-proxy/openapi-console.md). +Once the deployment is complete, you can [test the API](../../../test-api-proxy/openapi-console). ## Change the certificate for the production environment diff --git a/en/docs/federation/api-discovery-aws.md b/en/docs/federation/api-discovery-aws.md new file mode 100644 index 000000000..e9811346a --- /dev/null +++ b/en/docs/federation/api-discovery-aws.md @@ -0,0 +1,81 @@ +# Discover APIs from AWS API Gateway + +Bijira allows you to discover APIs from AWS API Gateway and bring them under centralized governance. + +--- + +## Prerequisites + +Before you begin, ensure you have: + +- An active AWS account with access to AWS API Gateway +- Appropriate permissions to create IAM users and manage API Gateway resources +- Admin access to your Bijira organization. (Only required for Step 1 and 2) + +--- + +## Step 1: Configure User Credentials in AWS API Gateway + +1. Login to your AWS account and navigate to Console Home. Search for "IAM" in the search bar. +2. Click on the IAM service. Navigate to Users under Access Management. +3. Create an IAM user in AWS with `AmazonAPIGatewayAdministrator` permission. +4. Obtain an Access Key and Secret Key for the IAM user created in the previous step. Select Third-party service as the use case. + +!!! Warning + It is not recommended to enter root credentials of the AWS account. Instead, create a new IAM user with the required permissions and use the credentials of the IAM user. For more information see [Best practices for managing AWS access keys](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#securing_access-keys). + +--- + +## Step 2: Add an External Gateway in Bijira + +Now that you have your AWS credentials ready, configure the external gateway connection in Bijira. + +1. Navigate to **Organization Level** in Bijira. +2. Click **Add External Gateway**. + + ![Add External Gateway](../assets/img/gateway-federation/add-external-gateway.png) + +3. Enter the gateway configuration details: + - **Gateway Name:** A descriptive name for this gateway (e.g., `Production AWS API Gateway`) + - **Region:** The AWS region where your API Gateway is deployed (e.g., `us-east-1`) + - **Stage:** The API Gateway stage to discover APIs from (e.g., `prod`, `dev`) + - **Access Key :** The Access Key from Step 1 + - **Secret Key:** The Secret Key from Step 1 +4. Click **Save** + + ![Add External Gateway Details](../assets/img/gateway-federation/add-external-gateway-form.png){ width="800" } + +The external gateway is now connected to Bijira and ready for API discovery. + +--- + +## Step 3: Discover APIs from the Gateway + +Once the external gateway is configured, you can discover and federate APIs into Bijira. + +1. Navigate to a **Project** in Bijira. +2. Click **Create** in the project overview. +3. Click on **Discover APIs**. + + ![Federate APIs](../assets/img/gateway-federation/federate-apis.png){ width="1000" } + +3. Select the external gateway(s) from which you want to discover APIs and proceed with discovery. + +4. Click **Discover APIs from Gateways**. + + ![Select Gateways for API Discovery](../assets/img/gateway-federation/select-gateways.png){ width="1000" } + + +5. View the list of discovered APIs from the selected gateway(s). + + ![Select Gateways for API Discovery](../assets/img/gateway-federation/create-discovered-apis.png){ width="1000" } + +!!! Note + Only [REST APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-rest-api.html) are supported for discovery from AWS API Gateway. + +6. For each API, click **Create** next to the API name. This federates the API into the Bijira control plane. + - Repeat for all desired APIs. + - Navigate to the project **Overview** page to view all federated APIs. +7. You can view the federated API overview by navigating to the API overview page + + ![Select Gateways for API Discovery](../assets/img/gateway-federation/federated-api-overview.png){ width="900" } diff --git a/en/docs/federation/overview.md b/en/docs/federation/overview.md new file mode 100644 index 000000000..3d6c0724f --- /dev/null +++ b/en/docs/federation/overview.md @@ -0,0 +1,21 @@ +# Gateway Federation in Bijira + +## What is Gateway Federation? + +## Gateway Federation Overview + +Gateway federation in Bijira empowers organizations to seamlessly manage, govern, and expose APIs deployed on external gateways, all from a single, unified control plane. Instead of manually tracking APIs across different platforms, Bijira enables you to: + +- **Discover External APIs:** Automatically find APIs hosted on external gateways and bring them under Bijira’s management. +- **Centralize Governance:** Apply consistent API governance compliance policies to all federated APIs, regardless of where they are deployed. +- **Monitor & Enforce Compliance:** Continuously monitor API activity and ensure adherence to organizational governance policies. +- **Enable Developer Access:** Make APIs easily discoverable and consumable for developers through the Bijira Developer Portal, streamlining onboarding and integration. + +By federating gateways with Bijira, you gain complete visibility and control over your API landscape, reduce operational complexity, and accelerate secure API delivery to consumers and partners. + +## Getting Started + +1. **Register External Gateway:** Add the external gateway configuration in Bijira. +2. **Discover APIs:** Discover APIs from the external gateway and create them in the Bijira control plane. +3. **Apply Governance:** Define governance policies and monitor governance compliance for the discovered APIs. +4. **Expose to Developers:** Make APIs available for consumption by publishing to the Bijira Developer Portal. diff --git a/en/docs/test-api-proxy/graphql-console.md b/en/docs/test-api-proxy/graphql-console.md new file mode 100644 index 000000000..035a9dd5a --- /dev/null +++ b/en/docs/test-api-proxy/graphql-console.md @@ -0,0 +1,17 @@ +# Test GraphQL APIs via the GraphQL Console + +Bijira offers an integrated GraphQL Console to test GraphQL API proxies that you create and deploy. Since Bijira secures APIs with OAuth 2.0 authentication, the GraphQL Console generates test keys to help you invoke your GraphQL operations. + +Follow these steps to test a GraphQL API proxy using the GraphQL Console: + +1. Go to the [Bijira Console](https://console.bijira.dev/) and log in. +2. Select the project and GraphQL API proxy that you want to test. +3. Click **Test** in the left navigation menu, then select **Console**. This will open the **GraphQL Console** pane. + + ![GraphQL Console](../assets/img/test-api-proxy/graphiql-console.png){.cInlineImage-full} + +4. In the **Console** pane, select the desired environment from the drop-down menu. +5. In the query editor, enter the GraphQL operation you want to execute (for example, a `query` or `mutation`). +6. Click **The Play Button**. The response from the GraphQL API proxy will be displayed under the **Response** section. + + diff --git a/en/mkdocs.yml b/en/mkdocs.yml index 6fe8cf6b9..ba878215a 100644 --- a/en/mkdocs.yml +++ b/en/mkdocs.yml @@ -89,7 +89,7 @@ nav: - REST APIs: - Create with GenAI: create-api-proxy/my-apis/http/create-with-genai.md - Import API Contract: create-api-proxy/my-apis/http/import-api-contract.md - - Import API Contract from GitHub: create-api-proxy/my-apis/import-api-from-github.md + - Import API Contract from GitHub: create-api-proxy/my-apis/http/import-api-from-github.md - Start with Endpoint: create-api-proxy/my-apis/http/start-with-endpoint.md - Start from Scratch: create-api-proxy/my-apis/http/start-from-scratch.md - WebSocket APIs: @@ -98,6 +98,9 @@ nav: - Start with Endpoint: create-api-proxy/my-apis/websocket/start-with-endpoint.md - Start from Scratch: create-api-proxy/my-apis/websocket/start-from-scratch.md - Limitations: create-api-proxy/my-apis/websocket/quotas-and-limitations.md + - GraphQL APIs: + - Import API Contract: create-api-proxy/my-apis/graphql/import-api-contract.md + - Start with Endpoint: create-api-proxy/my-apis/graphql/start-with-endpoint.md - Third Party APIs (Egress): - AI APIs: - Overview: create-api-proxy/third-party-apis/ai-apis.md @@ -145,6 +148,7 @@ nav: - Test API Proxy: - OpenAPI Console: test-api-proxy/openapi-console.md - WebSocket Console: test-api-proxy/ws-test-console.md + - GraphQL Console: test-api-proxy/graphql-console.md - cURL: test-api-proxy/curl.md - API Chat: test-api-proxy/api-chat.md - MCP Servers: @@ -155,6 +159,9 @@ nav: - API Governance: - API Governance Overview: governance/overview.md - Govern API Proxy: governance/govern-api-proxy.md + - Gateway Federation: + - Overview: federation/overview.md + - Discover APIs from AWS API Gateway: federation/api-discovery-aws.md - Monitor and Insights: - Integrate Bijira with Moesif: monitoring-and-insights/integrate-bijira-with-moesif.md - Administer: