Running examples

The examples documented here can be run using:

Command line

You can run GraphQL queries in a curl request on the command line on your local machine. A GraphQL request can be made as a POST request to https://api.kublau.com/graphql with the query as the payload. You can authorize your request by using a test API key to use as a bearer token.

Example:

GRAPHQL_TOKEN=<ACCESS_TOKEN>
curl "https://api.kublau.com/graphql" --header "Authorization: Bearer $GRAPHQL_TOKEN" --header "Content-Type: application/json" --request POST --data "{\"query\": \"query {workspace {name}}\"}"

Queries and mutations

The Kublau GraphQL API can be used to perform:

Note: In the API, id refers to a global ID, which is an object identifier in the format of gid://kublau/ObjectType/xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

Kublau’s GraphQL Schema outlines which objects and fields are available for clients to query and their corresponding data types.

Example: Return a Workspace resource corresponding to the API Key used in request.

query {
  workspace {
    id
    name
  }
}

Mutations

Mutations make changes to data. We can update, delete, or create new records. Mutations generally use InputTypes and variables, neither of which appear here.

Mutations have:

  • Inputs. For example, arguments, such as which carrier you’d like to use when creating a shipment.

  • Return statements. That is, what you’d like to get back when it’s successful.

  • User errors. Always ask for what went wrong, just in case.

Creation mutations

Example: Let’s create a shipment Tracker.

More about mutations: GraphQL Docsarrow-up-right.

Introspective queries

Clients can query the GraphQL endpoint for information about its own schema. by making an introspective queryarrow-up-right.

It is through an introspection query that the GraphiQL Query Explorer gets all of its knowledge about our GraphQL schema to do autocompletion and provide its interactive Docs tab.

Example: Get all the type names in the schema.

Example: Get all the fields associated with Tracker. kind tells us the enum value for the type, like OBJECT, SCALAR or INTERFACE.

More about introspection: GraphQL docsarrow-up-right

Last updated