⚡️ Pro Feature ⚡️ This feature is bundled with GraphQL-Pro.

Client Workflow

To use persisted queries with your client application, you must:

This documentation also touches on graphql-ruby-client sync, a JavaScript client library for using OperationStore.

Add a Client

Clients are registered via the dashboard:

    <a href="/operation_store/add_a_client.png" target="_blank" class="img-link">
      <img src="/operation_store/add_a_client.png" title="Add a Client for Persisted Queries" alt="Add a Client for Persisted Queries" />
    </a>

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.)

Syncing

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:

For example:

    <a href="/operation_store/sync_example.png" target="_blank" class="img-link">
      <img src="/operation_store/sync_example.png" title="OperationStore client sync" alt="OperationStore client sync" />
    </a>

For help syncing in another language, you can take inspiration from the JavaScript implementation, open an issue, or email support@graphql.pro.

Client Usage

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.

Next Steps

Learn more about OperationStore’s authentication or read some tips for server management.