Linear's GraphQL API enables deep integration with issue tracking, cycle management, and team workflows. Understanding queries, mutations, webhooks, and filtering is essential for building Linear automations and integrations.
0 / 5 completed
1 / 5
A developer queries the Linear API to fetch issues. Which protocol does the Linear API use?
Linear's API is a GraphQL API. All data fetching and mutations use GraphQL queries/mutations sent as POST requests to https://api.linear.app/graphql. This allows clients to request exactly the fields they need and fetch related data (issues, teams, cycles) in a single request, reducing over-fetching.
2 / 5
A developer queries Linear issues with { issues(filter: { team: { key: { eq: "ENG" } } }) { nodes { id title state { name } } } }. What does the filter argument enable?
Linear's GraphQL API supports rich server-side filtering via the filter argument, allowing filtering by any issue field or related entity. Filters reduce the response payload and eliminate client-side filtering. The filter object supports operators like eq, in, startsWith, and nested relation filters.
3 / 5
What is a Linear Cycle in the context of the Linear API?
A Linear Cycle is Linear's term for a sprint or iteration — a time-boxed period during which a set of issues is planned for completion. The API exposes cycles with fields like startsAt, endsAt, issues, and completedAt. Teams can query cycle progress and issue completion rates via the API.
4 / 5
An engineer sets up a Linear webhook. For which event type would they receive a payload when an issue moves to 'Done' state?
Linear webhooks fire Issue.updated events when any issue property changes, including state transitions. The payload includes the updated issue data and a updatedFrom object showing the previous values. An integration can check data.state.name === 'Done' and updatedFrom.stateId !== data.stateId to detect state changes specifically.
5 / 5
A developer wants to create an issue via the Linear API. Which GraphQL operation type must they use?
Creating, updating, or deleting data in GraphQL requires a mutation. Linear's issueCreate mutation accepts an input object with required fields like title and teamId. The mutation returns an IssuePayload containing the created issue and a success boolean for error handling.