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
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.
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.
The invocation details include the following attributes:
- Path, which is the URL of this endpoint
- Type of invocation endpoint, which is either
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 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.
The endpoints can be
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
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:
"scope": "openid profile email",
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 button and then choose
The cURL command for invoking the selected endpoint has been copied in your clipboard:
Free to to paste the code on a terminal:
The result, at the time of writing these lines, is the following: