You are using an unsupported browser. Please update your browser to the latest version on or before July 31, 2020.
Intro to GraphQL
print icon
This article is intended to support our customers using BenchPrep GraphQL API. If you’re interested in leveraging this service, or if you would like to learn more about it, contact your BenchPrep Customer Success Manager today for pricing!

What is GraphQL?

GraphQL is a query language for APIs which has been adopted by companies such as Airbnb, GitHub, Yelp, PayPal and many others. Construct a request by defining the resources you want via a POST request to a server and receive a response that matches the format of your request.


If you are new to GraphQL, you should take some time to familiarize yourself with some basic GraphQL concepts before digging into our documentation. For a quick start on learning about GraphQL, head to their website to read their Introduction to GraphQL and Fullstack Tutorial.

What does it do?

The BenchPrep GraphQL API enables developers to complete (and automate) many administrative actions available in the Console App User Interface (UI), and query administrative data, establishing data flows between BenchPrep and external applications.  Leveraging the APIs, developers are able to:

  • Query data
    • For example, write a query to obtain information about users, such as when they were created, when they last logged in, and what courses they are enrolled in.

  • Export data as CSV
    • Construct a request by defining the resources you want via a POST request to a server and receive a response that matches the format of your request.
  • Update data
    • Mutations are GraphQL's way of modifying data, and could include creation of a record, deletion of a resource, modification of data on the resource, changing many records, etc.

Why use GraphQL?

GraphQL is designed for modern applications and provides a complete and understandable description of the data in the API. It gives you the power to ask for exactly what you need and nothing more, promoting independence, flexibility and performance by replacing the need to do multiple REST API calls.


With BenchPrep, GraphQL API provides critical efficiency in learning program administration, and flexibility in delivering optimal digital learning experiences. It allows for communication between BenchPrep and endless other applications, providing:

  • Flexibility
    • Enabling connection to external applications (back-end systems, external learning experiences, etc.) 
  • Self-Service
    • Reducing time-to-value, eliminating reliance on BenchPrep resources and release cycles
  • Efficiency
    • Reducing operational overhead by enabling automation of tasks like user and plan management, data import/export, etc.
  • Learning Experiences
    • Providing a streamlined learner experience (i.e. immediate, seamless access)
  • Learning Data
    • Enabling the delivery of learner data to external systems, as well as capturing data from external activities within BenchPrep

You will have full flexibility to do anything that is currently possible in the BenchPrep Console App. You could write your own Console application, easily integrate into your own admin, or write scripts to archive results on what Console does (like user, plan, or enrollment management).

Additional Links

Additional useful information can be found on and

1 out of 1 found this helpful

scroll to top icon