GraphQL is a query language for data that is available via API. It allows the developer to ask for exactly the data wanted, in the shape wanted.
Relative to a REST API, GraphQL has the following benefits:
Ability to ask for the fields needed, rather than provide all the fields
Well supported, good client libraries
Allows for joins between data dimensions in a real-time request
For more information, visit https://graphql.org/.
For bulk data, use the Zaius Exports API (REST). This endpoint is built for high throughput, but with the cost of high latency. If you want to sync large amounts of data from Zaius to another platform, this is the right choice.
Example: Export all customers along with their current lifetime value and revenue percentiles.
For data about a single thing (like a set of events or a customer), but which requires joining across dimensions (such as adding product details), use the GraphQL endpoint. This endpoint allows for joins on a single point in real time across dimensions.
Example: Retrieve details about a purchase, and add in product details like the name and image url.
For data limited to a single point on a single dimension, either approach is available and it's a matter of preference.
Example: Retrieve consent or reachability details for an identifier.