Skip to main content
Version: v3.x beta

Getting Started

In this section, we'll get you up and running with your first secure, globally-scalable, GraphQL API deployed on Hasura DDN 🎉


Below, we'll break down some key concepts and terms before you dive in and start building. If you'd like a high-level overview, check out this page on the core concepts of DDN. On this page, we'll cover constructs such as supergraphs, subgraphs, types, models, commands, permissions, and relationships. These are the fundamental building blocks of your DDN API.


Each Hasura project contains a single supergraph. A supergraph is an entity that acts as a graph, composed of different data sources that — when built — is served over a single API. When you create a new Hasura project, your supergraph is automatically created.


In turn, your supergraph is composed of one or many subgraphs. It's helpful to think of subgraphs in terms of business domains within your organization. For example, a ux subgraph may be created for a User Experience team which owns a relational database and a microservice composed of many TypeScript functions responsible for custom business logic. This means that a single subgraph can have multiple data sources.

Models and commands

Your data sources are described by models and commands that represent the different collections present in the source. For a relational database, these are things like tables and views. For a microservice, this could be each function.

Relationships and access-control

You can create rich, deeply-integrated APIs using relationships within and across subgraphs using a simple, declarative syntax. Further, you can limit who can access different models and commands by using the same syntax to quickly and easily define permissions for your users.


All of this is constructed using types, which can be primitives or defined by you as the architect of the API.

Let's get started building your first supergraph!