Declaratively Create Subgraphs & Assemble Them in a Unified Graph

Building Graphs of Graphs: A Unique Declarative Approach to GraphQL Federation.

Build a Graph for any Backend Data Source in Minutes

  • SQL, NoSQL, REST, SOAP, OData, and GraphQL data. GraphQL-enable any backend in minutes - wherever your data resides. Choose to let StepZen introspect the backend and generate the API, craft it yourself using declarative GraphQL directives, or a combination of the two.
  • StepZen introspects the backend and generate the schemas and resolvers for you. Specify the data source on the command line and StepZen delivers a GraphQL endpoint on the backend.
    stepzen import [ curl | postgresql | mysql | graphql |...]
  • Write schemas and resolvers with a few lines of declarative code.Use @rest, @dbquery, and @graphql declarative constructs to connect and configure backends and customize your GraphQL.

Let StepZen build your subgraphs

Introspection

SOAP or REST Endpoints

$ stepzen import curl "http://ip-api.com/json/8.8.8.8"
Starting... Done
1 Schema imported successfully

DATABASE Endpoints

$ stepzen import postgresql
> What is your host? postgres.heroku.com/4562311
> What is your database? customers
> What is your username? admin
> What is your password? [Hidden]
Starting... Done
1 Schema imported successfully

GRAPHQL Endpoints

$ stepzen import graphql
? What is the GraphQL endpoint? https://myco.api.com/graphql
? Do you want to add headers? Yes
? What are your headers? "Authorization: Bearer hxmxmmx..."
? Do you want to add a prefix? No
Starting... Done
1 Schema imported successfully

Get Started

Write your own subgraphs

@rest - @dbquery - @graphql
type Customer {
  address: String!
  email: String!
  id: ID!
  name: String!
}
type Query {
  customerByEmail(email: String!): Customer
    @rest (endpoint: "https://apis.acme.com/customers?email=$email")
}
type Order {
  created On: Date!
  customerId: ID!
  id: ID!
  Amount: Float!
}
type Query {
  orders (customerId: ID!): [order]
    @dbquery(type:"postgresql", table: "orders", ...)
}

Read the Docs

Assemble a Graph of Subgraphs: Declarative GraphQL Federation

  • Build a Graph with minimal coding. A team can focus on its line of business or any of the data it is responsible to deliver using @rest, @dbquery, and @graphql directives to connect and configure backends.
  • Declaratively assemble a graph-of-graphs or federated graph. Using the same declarative constructs used to create subgraphs, and the @materializer directive, building a graph or a graph-of-graphs is simplified, build-time is reduced from weeks to days and hours, and GraphQL execution is optimized.
  • GraphQL-as-a-Service: Graphs are auto deployed to the cloud. Whether you're building a subgraph or a supergraph, it is deployed in seconds to our cloud (or yours) and delivers automatic caching, parallelism, N+1 optimizations, pagination, and more.

Build Quicker, Run Better.

Successful GraphQL Implementations wherever your data lives.

Request a Demo

This site uses cookies: By using this website, you consent to our use of cookies in accordance with our Website Terms of Use and Cookie Policy.