Skip to main content

GraphQL API

The MLH GraphQL API is an alternative to the V4 REST API. It is used both to read MLH data and to power member self-service (signing in and managing your own profile, education, and employment).

  • Authentication: the same OAuth applications and tokens as the V4 API.
note

This page lists the queries and mutations the schema exposes. Detailed per-field argument and type documentation will be generated from the GraphQL schema in a later step, so it is not hand-written here.

Queries (reading data)

The schema exposes queries including: events, challenges, programs, series, mlh_sponsorships, promo_codes, promo_code_pools, projects, participations, companies, schools, countries, oauth_applications, social_profile_providers, and the current user. It also supports Relay-style node / nodes lookups.

Mutations (making changes)

The schema exposes mutations including:

  • Signing in: auth_start_sign_in, auth_sign_in_with_magic_link, auth_sign_in_with_otp.
  • Your profile: edit_user.
  • Education: add_school_enrollment, edit_school_enrollment, delete_school_enrollment.
  • Employment: add_employment, edit_employment, delete_employment.
  • Tokens: create_user_jwt, revoke_user_jwt, oauth_create_access_grant.
  • Uploads: create_presign_url.

Reference