Getting started

Learn about some general principles for working with our API. To learn more about GraphQL itself we recommend visiting


All requests to the API must be authenticated with an access token. This access token can be taken from Settings > Organization > API, and you can send it along with requests in the HTTP Authorization header:

Authorization: "Bearer <TOKEN>"
info icon

Getting the access token requires admin access.

All API requests must be made over HTTPS. Calls made over plain HTTP or requests without authentication will fail.


Unlike a REST API, a GraphQL API has just a single endpoint. For the Groove GraphQL API you need to run every operation against the following endpoint:


The Groove API conforms to the GraphQL Cursor Connections Specification. These connections make use of cursor-based pagination. Cursors are like pointers, and they point to a place in the list of where your last request left off.

You can find more details about this pattern on the GraphQL Cursor Connections Specification page.

Lists of nodes that are paged all implement this pattern.


after (String)Returns the elements in the list that come after the specified cursor.
before (String) Returns the elements in the list that come before the specified cursor.
first (Int)Returns the first _n_ elements from the list.
last (Int)Returns the last _n_ elements from the list.


edges ([ObjectEdge])A list of edges.
nodes ([Object])A list of nodes.
pageInfo (PageInfo!)Information to aid in pagination.
totalCount (Int)The total number of objects returned from the query.
totalPageCount (Int)The total number of pages based on total page count and page size.


Edges represent nodes within a result set. They contain the node and a cursor which is a string represenation of that node's position within the result set.


cursor (String)A string representation of the node's position within the result set.
node (Object)The node for the respective edge