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.
Information
This is the main page of Catalog:
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:
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.
Invocation Buttons
Power BI
Please, contact us for more information!
Snowflake
Please, contact us for more information!
RedShift
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
orPOST
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:
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.
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:
Here is an example of a private endpoint with a specific scope, called iss
:
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:
Click on Copy Invocation
button and then choose cURL
:
The cURL command for invoking the selected endpoint has been copied in your clipboard:
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"