Skip to main content

Catalog Application

Introduction

Catalog contains all published endpoints and their information. These endpoints are already created by producers, using Admin Application. For the purposes of Catalog analysis, they are expected to have already been created and visualized by Catalog, so no additional action is required.

Catalog is designed to be used by consumers, people that consume or invoke existing endpoints. It is a read-only view of the published artifacts, comprising business-related description, input/output information, security and invocation details. Each user can view and access only endpoints that is entitled to do so. This entitlement is accomplished with the usage of scopes

Access

The access to the Catalog Application is done through https://app.raw-labs.com. Click on Go To Catalog in order to be redirected to the Catalog Application.

RAW Labs app

Information

This is the main page of Catalog:

RAW Labs app

It adopts a simple visualization of the available endpoints All business-related information about a selected endpoint is shown in the Endpoint Description panel, as the following image shows:

The whole tab

tip

This information is retrieved from the yaml file of the endpoint.

All fields are analyzed below.

Title and description

The title and the description of the endpoint. These attributes are defined for informative purposes about the type and general functionality of this endpoint. Endpoint creators are free to specify arbitrary infomation within these attributes.

Title and description

Invocation Buttons

Power BI

Coming Soon

Please, contact us for more information!

Snowflake

Coming Soon

Please, contact us for more information!

RedShift

Coming Soon

Please, contact us for more information!

Invocation Details

The invocation details include the following attributes:

  • Path, which is the URL of this endpoint
  • Type of invocation endpoint, which is either GET or POST

Invocation Details

An endpoint may or may not receive input arguments. This is automatically deduced by RAW upon processing of the underlying SNAPI code. Here is an example of an parameterized endpoint:

Invocation Details

The invocation details provide the invocation URL and the type of invocation endpoint.

Data Details

Data details relate to the output payload of the selected endpoint. Two attributes are specified:

  • Output Format: the format of the output type returned by the endpoint;
  • Output Type: the type of the data returned by the endpoint.

Data Details

Security

The endpoints can be Public or Private. Public endpoints are openly accessible by any user without prior authentication/authorization. Private endpoints are restricted to be accessbile by users with specific scopes. A scope is a list of tags (plain strings)

Here is an example of a public endpoint:

Security

Here is an example of a private endpoint with a specific scope, called iss:

Security

In order for endpoint consumers (requestors) to invoke this endpoint, the prerequisite is to obtain an Auth0 access token configured with the respective permission (iss), like this one:

{
...
"iat": 1649235181,
"exp": 1649321581,
"azp": "xxx",
"scope": "openid profile email",
"permissions": ["iss"]
}

Copy Invocation

In order for a user to actually consume an endpoint, Catalog exposes the corresponding automatically generated invocation code. At the moment only command-line invocations are supported, using the popular tool cURL. cURL is a computer software project providing a library and command-line tool for transferring data using various network protocols.

First select the endpoint to be consumed:

Copy Invocation

Click on Copy Invocation button and then choose cURL:

Copy Invocation

The cURL command for invoking the selected endpoint has been copied in your clipboard:

Copy Invocation

Free to to paste the code on a terminal:

curl 'https://dev-nuhynxsvnkentel.raw-labs.com/demos-raw-labs/1/public/ISS/isslocation'

The result, at the time of writing these lines, is the following:

"Pacific Ocean"