⚡️ Pro Feature ⚡️ This feature is bundled with GraphQL-Pro.
To use persisted queries with your client application, you must:
OperationStore, as described in Getting Startedparams[:operationId] from the client appThis documentation also touches on graphql-ruby-client sync, a JavaScript client library for using OperationStore.
Clients are registered via the dashboard:
A default secret is provided for you, but you can also enter your own. The secret is used for HMAC authentication.
(Are you interested in a Ruby API for this? Please open an issue or email support@graphql.pro.)
Once a client is registered, it can push queries to the server via the Sync API.
The easiest way to sync is with graphql-ruby-client sync, a command-line tool written in JavaScript (Sync Guide)
In short, it:
.graphql files or relay-compiler output in the provided --path--client and --secret--url--outfileFor example:
For help syncing in another language, you can take inspiration from the JavaScript implementation, open an issue, or email support@graphql.pro.
See the Sync Guide for using OperationStore with Relay Modern, Apollo 1.x, Apollo Link, or plain JavaScript.
To run stored operations from another client, send a param called operationId which is composed of:
{
# ...
operationId: "my-relay-app/ce79aa2784fc..."
# ^ client id / ^ operation id
}
The server will use those values to fetch an operation from the database.
Learn more about OperationStore’s authentication or read some tips for server management.