GraphQL

Endpoints available to power a GraphQL (GQL) server

Zesty.io provides endpoints to power a GraphQL server for any instance, you can follow a full tutorial to launch an Apollo GQL server by using this code base on Github: https://github.com/zesty-io/graphql-zesty

How to Turn on GQL

For any Zesty.io Content Instance you may turn on the GQL setting in the Manager UI > Settings > Developer.

The settings are named [developer][gql] and [developer][gql_origin], if these setting are missing from your instance, you may reach out to the support ([email protected]) and request to have it added.

gql-setting

How to Use GQL

When GQL is turned on, endpoints will become available at the instance domain like https://www.acme.com/-/gql/ which is a map file that shows all the endpoints needed.

gql-endpoint

Using Pagination with GQL Endpoints

To handle large datasets efficiently and avoid timeouts, GQL endpoints support pagination using the limit and page query parameters. These parameters allow you to retrieve data in manageable chunks, improving performance for endpoints like https://www.acme.com/-/gql/services.json.

Pagination Parameters

  • limit: Specifies the number of items to return per page. When set, the maximum value is 100
  • page: Specifies the page number to retrieve, starting from 1.

Example Usage

To retrieve the first 10 items:

https://www.acme.com/-/gql/services.json?zpw=yourpassword&limit=10&page=1

To retrieve the next 10 items (items 11–20):

https://www.acme.com/-/gql/services.json?zpw=yourpassword&limit=10&page=2

Notes

  • If limit is not provided or is 0, all items are returned without pagination (subject to performance limitations).
  • Ensure your zpw (password) is included in the request for authentication, as shown in the examples.
  • For large datasets, use a reasonable limit (e.g., 10–50) to avoid performance issues.

Deploy a GQL Server

To deploy a GQL server using Zesty.io, use this code base: https://github.com/zesty-io/graphql-zesty