Skip to main content

GraphQL API

Flexible, efficient data access for Thought Industries.

Authentication & Endpoint

GraphQL queries and mutations are executed by sending POST HTTP requests to:

https://{learning_instance}.com/helium?apiKey=YOUR_API_KEY

Rate Limits

1,000 pts

Max query complexity

100,000 pts

Points per minute

2,500

Requests per minute

Calculating Complexity

Each requested property costs 1 point by default. Certain query types have additional performance costs.

Simple query — 2 points

query {
  CurrentUser {
    firstName
    lastName
  }
}

// 1 (firstName) + 1 (lastName) = a 2 point query

With performance cost — 6 points

query {
  CatalogContent {
    id
    title
    slug
  }
}

// 1(id) + 1(title) + 1(slug) + 3(performance cost) = a 6 point query

Rate Limit Headers

HeaderDescription
X-RateLimit-RemainingPoints remaining in the current window
X-RateLimit-ResetTimestamp when points reset
Retry-AfterSeconds to wait (only after exceeding limit)

Auth Tokens

A user's Auth Token is generated by calling the Login mutation. Inside a Helium app, auth tokens are handled automatically with pageContext.

mutation {
  Login(email: "[email protected]", password: "****") {
    token
    user {
      id
      firstName
      lastName
    }
  }
}

Example Queries

Try these queries in the GraphiQL explorer at localhost:3000/graphiql

List Courses

query GetCourses {
  CourseList(first: 10) {
    edges {
      node {
        id
        title
        slug
        courseGroup {
          title
        }
      }
    }
  }
}

GraphQL Explorer & Postman

GraphiQL Explorer

Start your local Helium server and visit localhost:3000/graphiql to write, test, and validate queries.

Postman Collection

Explore the full GraphQL API through our Postman collection with pre-built queries.

Run in Postman →