GraphQL Schema

circle-info

The GraphQL API is an additional feature. If you would like to add the GraphQL Api to your Fast Weigh subscription, contact us at 865-219-2980 or [email protected]envelope.

GraphQL provides a live schema via introspection of the API endpoint. That's a nerdy way of saying the available fields are always up to date and you don't have to worry about the documentation being stale!

How to View the Schema

Head to the endpoint directly and hit "Browse Schema"

If you have already created a new "Document", you can also view the Schema by clicking the Schema button on the top-left of the screen (under the "Document" name)

Making Sense of the Schema

GraphQL queries are based on "Types". These types are similar to a SQL Table. A "Customer" database table, for example, becomes a "Customer" type in GraphQL.

Root type

First, you'll need to drill into a "root" type, two of which are available:

  • Query

  • Mutation

In the vast majority of cases, Query is what you're after. It's equivalent to a SELECT query in SQL.

The mutation is used to directly add/update/delete data via the API.

If you're following along, click into the Query to continue.

Exploring a GraphQL Type

Inside the Query you'll see a list of available Types to explore.

Let's click into the Customer type Customer in purple.

Here, you'll see a link to view the fields available on the Customer type.

If you go back to the Query types and find Customer again, you'll also see a where and order section under the main type

This time, click the CustomerFilterInput in green.

Here, you will see a list of fields that can be passed into the type to filter the results returned.

If we select a filter input, we can see the exact filters that can be applied to that field. Let's select address1

Now, we can see every argument that can be used to filter the address 1 field

For example, the endsWith: String input tells you that you can filter this field by how the string ends

circle-info

Note that different field types contain different filter arguments!

For example, "String" accepts arguments like "contains", but an "Int" type does not. Conversely, "Int" accepts arguments like "gt" (Greater Than), but a "String" type does not.

Explore all of the different OperationFilterInput types to see what they accept!

Wiring queries and arguments/filters are covered further in our GraphQL Query Crash Course

Last updated