Hello world, meet RAW

January 11, 2022
Posted by Georges Lagardère

Update: Full details including instructional video can be found at

Please note as of November 2022 we have upgraded our language – see our documentation and quick tour for details. These examples below are using previous version of RQL, and will be refactored shortly.

In this post I am going to explain how to create a “Hello world!” app in RAW with our Data Product Platform. This app is a simple API endpoint which responds to an HTTP GET with the “Hello world!” string in JSON:

Before creating the actual “Hello world!” application in RAW there are some prerequisites: first you need an account at GitHub. Then, head over to and follow the instructions, or first simply browse our demo catalogue to see some examples.

Once this done, RAW will be able to synchronize in real time with the content of your repository and deploy your API endpoint according to your configuration and the code you want to run.

Typically, the minimum RAW app will contain a configuration file (.YML), a code file (.RQL) and a file in a folder. Any YAML file found in a folder synchronized with RAW will become an API endpoint. In the example below, hello-world will become the endpoint as in https://somepath/api/hello-world

Typical minimum RAW app folder

RAW Labs provides developers with an extension to Visual Studio Code to facilitate app development.

The piece of code you will write implements one single function returning the “Hello World!” string.

// Hello world Example
// returns a simple string

hello_world() := {
  "Hello World!"

And the minimal configuration file will look like the following:

raw: 0.9
endpoint: GET
    title: Hello world
    description: Hello world example
        - helloworld
language: rql
declaration: hello_world
codeFile: hello-world.rql
format: json
   public: true
computeClass: normal
enabled: true

Some fields are obvious, but a few deserve further explanations.

language: rql

This means that the code to be executed is RAW SQL language.

declaration: hello_world

As explained above, the endpoint will be /hello-world but the function triggered by the HTTP GET will be hello_world as declared in the hello-world.rql file.

format: json

The output format is JSON.

public: true

This endpoint is public and doesn’t require any credentials or authorizations to be executed.

computeClass: normal

RAW Labs provides three different computing classes to execute the code. They range from normal to large and extra-large. Computing classes are chosen depending on the complexity of the code and queries and the expected speed of execution. For this simple example, the normal class is the best option.

As soon as you will have committed your files to your GitHub repository the hello-world endpoint will become available and visible in the catalog.

Hello world app available in the catalog

From the RAW Admin console you will be available to check the deployment settings and monitor endpoint usage.

The complete code example is available on GitHub here. Check out the other blog posts, including passing parameters

Georges Lagardere Sales Director RAW Labs

Georges Lagardère, VP Customer Experience, RAW Labs.


Get Started for Free

More Useful Links:

Like this? 

Sign up for our mailing list to receive the latest news and blogs

Learn More


Hello <name> !

Second basic blog post to show how easy it is to make incremental changes, e.g. pass parameters into a function that creates a new API endpoint


Get Started with RAW: Hello World!

Instructional video to show how to get started with RAW, using a simple Hello World example. Accompanying instructions can also be found on our Developer Site. You can also See Our Demo Catalog Here, where you can register for your...


Introducing the RAW Data Product Platform

Data Products as a Service: A collaborative DataOps platform as a service for data APIs. Create and Share data faster.


Thank you for your interest. Expect to hear from us soon.


Email address must contain the @ symbol