Key Concepts & Relationships

This section provides a summary of the key objects used within Revenium and the relationships between one another. These are the key objects & relationships required to monetize an API catalog.

Video Overview

If you prefer watching to reading, check out this 3 minute video that explains the key objects in your Revenium configuration as well as how they relate to one another. The text explanation follows below.

Revenium Objects

  • Assets - most commonly APIs, though they can also be API Resources (including a specific verb to be checked), connectors, or streams. Assets are expected to be bundled into products.

    • Assets are synchronized between Revenium and API Gateways using a unique identifier from Revenium known as an Asset ID. This Asset ID is configured as a part of the gateway policy as well as the Revenium user interface.

  • Products - Products are bundles of Assets that are sold as a package to customers. Products have associated subscription terms and fees, overage rates, quotas, SLAs, and more attached to them.

  • Product Licenses - issued to each of your end users to allow them to access your products (and their associated assets). These keys allow Revenium to track usage by each customer individually.

  • Applications - allow metering of customer usage without requiring your customer to use Revenium issued product licenses. Applications in Revenium contain two key pieces of information that allow them to form a link between gateway client IDs and Revenium product licenses. "Revenium Applications are assigned an external ID that matches a gateway or IDP issued Client ID (generally associated with an OAuth Application), and are associated with one or more product licenses in Revenium to form this connection. Once an application has been created with the required information, Revenium can meter end user transactions without the use of Revenium provided product licenses.

  • Users - Users are the owners of various objects in Revenium. Most importantly for this example, users are the owners of product licenses, which creates the entitlements for a single user to a Product.

Relationships Between Objects

  • Products typically are associated with numerous assets (APIs).

    • Products are also associated with numerous product licenses (one per subscriber who has purchased access to the Product)

  • Product Licenses can be associated with multiple Revenium Applications. Using this approach, if a single subscriber has multiple applications, they all can be associated with a single product license which will meter all activity for the subscriber under the same subscription regardless of which application is used.

  • Users - Every product license and application can have only one User owner. This is the owner of the subscription.

Example Scenario

A healthcare company ("Pharma House") is publishing a product for prescription drug research. Their product is "Platinum Unlimited: Pharma Research" and includes access to 5 APIs that perform different functions required to conduct research. These APIs need to be accessed by 2 customers. Customer 1 has 5 different gateway-provided applications accessing the product, and Customer 2 has only a single application. The setup in Revenium would appear as follows:

Corresponding Configuration in Revenium & the API Gateway

  • User(s): One user is created each for the end user at Customer 1 and Customer 2.

  • Asset(s): Each of the five assets would be created to correspond with its API. As a part of asset creation in Revenium, unique identifiers for each would be created by Revenium.

    • These unique identifiers would then be configured in the gateway policy as well (note: options exist to automate this synchronization, but are beyond the scope of this simple tutorial).

  • Product(s): A single product ("Platinum Unlimited") would be built in Revenium and associated with the 5 assets that make up this product bundle.

  • Product License(s): Two product licenses are required, one for each user subscribed to the "Platinum Unlimited Product".

  • Application(s): "Pharma House" does not want its customers to have to use Revenium product licenses, so it creates a Revenium Application to link each gateway-provided ClientID to a Revenium product license (and subsequently, the user/owner of each product license).

    • Customer 1: Pharma House creates five Revenium Applications (one for each clientID in the gateway) and associates Customer 1's productKey to all five Applications.

    • Customer 2: Pharma House creates a single Application for Customer 2 and associates their product license with that Application.

Using this configuration, each customer can access the "Platinum Unlimited" product with no change to how they are sending API calls, and Revenium will meter and rate each subscription accordingly.

Last updated

© Revenium - www.revenium.io