SnapLogic API Management

In this article

Overview

SnapLogic API Management (APIM) is a fully integrated solution on your Snaplex. You can create APIs from your SnapLogic Pipelines and Assets within SnapLogic or from Open API Specifications (OAS). You can also integrate with third-party APIs by creating API Proxies.

To make your APIs available to users outside SnapLogic, you can publish those APIs in a Developer Portal that is customized with your own branding. The API policy manager offers a suite of controls for authentication, authorization, validation, security, traffic shaping, and transformation.

The APIM solution is enabled via a Feature Subscription. Once your environment (Org) has the APIM feature enabled, you do not have to install any additional software. You can take advantage of your existing SnapLogic ecosystem to develop and expose APIs to your clients.

Snaplex Gateway Architecture

In SnapLogic’s APIM solution, the API gateway is your Snaplex node. This architecture differentiates SnapLogic APIM from other APIM vendors in that you do not have to build a separate physical gateway - the Snaplex resides in your infrastructure and you manage the node resources. All API logic resides on the Snaplex.

A self-managed Snaplex is referred to as a Groundplex. As a software component, the Groundplex both applies the API policies and executes the API.

You can take advantage of your load balancers to direct the API requests from your client and manage the firewall settings. Data between the client and server never traverses the Control Plane. Dependencies on the Control Plane are limited to fetching metadata for accounts. You can use existing Ultra and Triggered Tasks as your API endpoints. APIs that use Triggered Tasks cannot be called with the Cloud URL because APIM does not support calls to the Control Plane.

The following diagram describes both the network architecture and the data flow for how SnapLogic handles an API call with APIM.

apim-network-diagram.png

Key Features and Components

SnapLogic provides API Management features and components to help you develop APIs, manage their lifecycles, and monitor their performance.

Features include:

  • Support for Pipeline-First. APIM supports building APIs from your existing SnapLogic Assets:

    • Pipelines. A representation of the API specification and its child Pipelines, if any. Provides the scaffolding of the API’s implementation in the SnapLogic platform.

    • Tasks. The URI endpoints that are used to trigger Pipeline execution.

    • Files. The specification file and other files that are associated with the API.

    • Accounts. Accounts that are used by Pipelines in the API.

  • Support for Design First. API Management supports the creation of APIs from the Open API Specification (OAS) 3.0 or 2.0. You can design an API based on your specification, then upload a file or reference a URL containing your specification. Both JSON and YAML file formats are supported.

  • API Lifecycle Management. You can manage the entire lifecycle of an API or API version from creation to publication to deprecation to retirement.

  • Multiple API Versions. You can modify the initial specification of your API, then create and publish a new version from the modified specification.

Components include:

  • API Manager. The console where you manage your APIs.

  • Portal Manager. The console where you set up and manage your custom Developer Portal.

  • Developer Portal. The custom site where you publish your APIs for consumption. In this site, API consumers can search and browse through your API Catalog and try out your APIs. Each API provides basic documentation and its specification. Users with a SnapLogic platform login can open the Developer Portal with one click from the Resources section of the Apps menu:

  • Subscription Manager. The console where you can approve and manage subscriptions to published APIs.

  • API Policies. A suite of security policies that handle authorization, authentication, and traffic control to manage access to your APIs. You can apply these policies at various levels, such as the Org, the API, the API version, the shared folder of the Project Space, and Projects. Org Administrators can define permissions at very level of the hierarchy; API developers can set permissions on their own API versions.

  • API Dashboard. The API tab in Dashboard where you can view the usage and traffic metrics of your APIs. You can track the popularity of an API or analyze target and response errors to understand how to enhance the API consumer experience.

  • APIM tab in the Activity Log: The APIM tab allows you to track changes to APIs published to the Developer Portal in addition to changes to the Developer Portal membership and subscription request status.

  • Support for Git integration. You can now effectively manage your API versions by associating them to source control repositories like Git and other Git hosting options supported by SnapLogic. You can create APIs from Git repositories, reusing existing SnapLogic Assets tracked in Git. Your Org must have Git integration set up. With Git integration, you can track, update, and manage versions of SnapLogic project files, pipelines, tasks, and accounts, using either the SnapLogic graphical interface or the SnapLogic Public APIs. When you create API Versions using SnapLogic Assets, the APIM console displays the Git operations available to you.

APIM support for Git does not extend to API Proxies.

Articles in this section

Prerequisites

  • The API Manager feature requires a load balancer.

  • Cloudplexes need a Cloudplex FeedMaster node and a load balancer for the API Policy Manager to work.

    • Contact support@snaplogic.com to provision the Cloudplex FeedMaster node and the load balancer as needed.

    • When the load balancer becomes available, your Org admin must update the Load Balancer URL in the Snaplex Settings. Learn more.

    • You must use the load balancer URL in your Triggered and Ultra Task endpoints.

  • The API Management feature must be enabled for your Org. Contact SnapLogic Support to subscribe to this feature.

Limitations

  • APIM does not support the Cloud URL to run the Triggered Tasks in your API Versions.

  • Orgs with APIM should not use Enhanced Encryption for the following reasons:

    • Orgs with Enhanced Encryption do not support subscriptions on the Developer Portal.

    • Org admins who rotate keys for their Groundplexes must also reconfigure all API policies as well for them to work.

  • Only one instance of an API policy type is applicable at each level in the hierarchy. 

  • API Manager does not support Scheduled Tasks. When you open a Task in an API version, you do not have the option to change the Run Policy to Scheduled.

  • In Designer, when you open a Pipeline in an API version, the Snaplex picker in the Edit Pipeline dialog window only show the Snaplex instances from the global shared folder. If a Snaplex is in a project or Project Space shared folder, then it does not display in the APIM Snaplex picker.

  • In Designer, if you open the Snap dialog window from a Pipeline in the API Management - /apim space, the asset or account selectors display only the assets from the global shared folder, in addition to those in the current version.

  • You can change the Snaplex for an unpublished API version. To do so, go to API Manager, choose the API, go to the Versions tab, choose the version, click Edit Details, and choose from the Server dropdown. Note: This field is disabled if the API version is published or if the Snaplex is down.

  • When you generate a specification using version OAS 3.0 in an API proxy that has a valid endpoint, the generated specification does not list a server.

Known Issues

  • When you generate a specification using version OAS 3.0 in an API proxy that has a valid endpoint, the generated specification does not list a server.
    Workaround: Edit the specification to include the server field and list the Snaplex manually.

  • When you create an API from an existing Project, choosing the Assets and Snaplex in the dialog, API creation is successful, and all the assets have been imported successfully. However, tasks still use the previous Snaplex, if the Snaplex is not active.
    Workaround: Set the Snaplex for each task manually.

  • In the October 2024 release, managing API keys with Secrets Management is currently unavailable and we will be re-enabling it in a future release

Related Content