Skip to main content

WSO2

WSO2 Integration​

This integration pushes API definitions generated by Levo directly into a self-hosted WSO2 API Manager as new APIs. Levo continuously discovers endpoints from live traffic and generates an OpenAPI spec for each Application — this connector lets you take a set of discovered endpoints for one Application and publish them into WSO2 as a draft API, without hand-authoring the spec yourself.

A push creates one new WSO2 API per push, built from the selected endpoints. It is a one-way, on-demand action:

  • Create only. If a matching API (same context path and version) already exists in WSO2, Levo skips it rather than overwriting anything already deployed in your gateway.
  • Manual trigger. Levo does not automatically push newly discovered endpoints — you choose what to push and when.
  • One direction. This connector only pushes from Levo into WSO2. It does not import or discover APIs that already live in WSO2.
  • Draft state. APIs are created in WSO2 in CREATED state. Publishing, deploying, and configuring policies or rate limits on the resulting API is done in WSO2 itself.
  • Up to 200 endpoints can be pushed in a single request.
  • Tested against WSO2 API Manager 4.7.0 (Publisher REST API v4).

Below are links to common tasks.

Add WSO2 Integration​

  1. Prerequisites

    • A running WSO2 API Manager instance reachable from the Levo SaaS console (Publisher REST API).

    • In your WSO2 Publisher, create an OAuth2 client (client ID and secret) that Levo will use to authenticate. Note the Publisher base URL and the OAuth2 token endpoint.

    • If your WSO2 installation uses a self-signed certificate — the common case for downloadable/on-prem installs — have the CA certificate (PEM) ready as well.

    • In the WSO2 Developer Portal (not Publisher), open Applications, select (or create) an application, and open its Production Keys tab. If a key hasn't been generated yet, click Generate Keys — make sure Client Credentials is enabled as a grant type. The Consumer Key is your Client ID; click + New Secret under Consumer Secrets to get a Client Secret (WSO2 only shows the full secret once, at creation time). This page also shows the Token Endpoint and Revoke Endpoint.

      WSO2 Developer Portal — Application Production Keys showing Consumer Key, Consumer Secrets, Token Endpoint, and Revoke Endpoint

  2. Enable WSO2 Integration

    • In the Levo SaaS console, navigate to the Integrations screen, open the API Gateways category, and click Manage on the WSO2 tile.

      Levo Integrations screen — API Gateways category showing the WSO2 tile

    • This opens the WSO2 detail page, listing any gateways you've already connected. Click Add WSO2 Integration.

    • Give the integration a name (for example WSO2 Production), then fill in:

      FieldDescription
      Integration nameA label to identify this connection. Used to detect duplicates and cannot be changed after creation.
      Publisher Base URLThe base URL of your WSO2 Publisher, for example https://your-wso2:9443.
      Token EndpointThe OAuth2 token endpoint used to authenticate, for example https://your-wso2:9443/oauth2/token.
      Client IDThe OAuth2 client ID from your WSO2 Publisher.
      Client SecretThe OAuth2 client secret from your WSO2 Publisher.
      CA certificate (PEM) — optionalOnly needed for a self-signed WSO2 installation.

      Add WSO2 Integration modal — integration name, Publisher Base URL, Token Endpoint, Client ID, Client Secret, and optional CA certificate fields

    • Click Create Integration to save. Use Test Connection on a saved integration at any time to re-validate it against WSO2.

      Saved WSO2 integration showing Publisher Base URL, Token Endpoint, Client ID, masked Client Secret, and Test Connection/Edit/Delete actions

caution

Both the Publisher Base URL and Token Endpoint must be plain https:// (or http://) URLs with no embedded credentials — Levo rejects URLs that include a username or password.

You can add more than one WSO2 integration, each distinguished by the name you give it. Editing an existing integration always requires re-entering the client secret; it is re-validated against WSO2 when you save.

Congratulations! You have successfully enabled the WSO2 integration. Below are steps to push discovered endpoints into WSO2.

Pushing Endpoints to WSO2​

Endpoints are pushed from an Application's Endpoints page, not from the Integrations settings screen.

  • Navigate to the Application whose endpoints you want to push, and open its Endpoints list.

    Application Endpoints list

  • Select one or more endpoints using the checkboxes. A footer action bar appears once at least one endpoint is selected — click Push to Gateway on it.

    Endpoints list with several endpoints selected and the footer action bar showing Push to Gateway

  • In the dialog, choose the saved WSO2 connection under Gateway connection, then click Push.

    Push to Gateway modal showing the endpoint/application summary and the Gateway connection selector

    If no WSO2 integration has been added yet, this dialog shows an empty state prompting you to add one first.

note

A single push is limited to 200 endpoints. If you select more, reduce your selection before pushing.

  • After the push completes, the result is shown per outcome:

    OutcomeMeaning
    Pushed to WSO2The endpoints were created as one new WSO2 API. A View in WSO2 link opens the new API directly.
    Already existsAn API with the same context path and version already exists in WSO2 — Levo does not update it on re-push.
    Authentication failedThe saved integration's credentials were rejected — check them under Settings → Integrations → WSO2.
    Could not reach WSO2A network or URL issue prevented Levo from reaching the gateway.
    Rejected by WSO2WSO2 rejected the generated API definition; the reason from WSO2 is shown alongside this message.

    Push to Gateway result — "Pushed to WSO2" success message with the created API path and a View in WSO2 link

    If some endpoints succeed and others fail in the same push, the result shows a breakdown (for example "3 created, 199 failed") instead of a single outcome.

Clicking View in WSO2 (or opening the WSO2 Publisher directly) shows the new API in CREATED state, ready for you to review, publish, and deploy on your own schedule:

WSO2 API Manager Publisher — the pushed API listed in CREATED state

Once pushed, publishing, deploying, and applying policies to the new API are done from within WSO2.

Was this page helpful?