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
- GraphQL queries — reading data, with filtering, ordering, and pagination.
- GraphQL mutations — sign-in, profile, education, employment, OAuth, and uploads.
- GraphQL types — the main object types and their fields.