GraphQL operations and types
Send a JSON object containing query, variables and optional operationName to the declared GraphQL runtime. Check the errors field even when the HTTP response is successful. Operation templates are schema examples; replace placeholder variables with values from the instance.
query issue
One specific issue, looked up by its unique identifier.
issue(id: String!): Issue!
Runtime availability: core.
Arguments
[
{
"name": "id",
"type": "String!",
"description": "The identifier of the issue to retrieve.",
"references": [
"String"
]
}
]
Metadata
[
{
"label": "Execution",
"value": "HTTP request"
}
]
Request template
query Issue($id: String!) {
issue(id: $id) { archivedAt createdAt description }
}
Variables
{
"id": ""
}
query issues
All issues. Returns a paginated list of issues visible to the authenticated user. Can be filtered by various criteria including team, assignee, state, labels, project, and cycle.
issues(after: String, before: String, first: Int, includeArchived: Boolean, last: Int, orderBy: PaginationOrderBy): IssueConnection!
Runtime availability: core.
Arguments
[
{
"name": "after",
"type": "String",
"description": "A cursor to be used with first for forward pagination",
"references": [
"String"
]
},
{
"name": "before",
"type": "String",
"description": "A cursor to be used with last for backward pagination.",
"references": [
"String"
]
},
{
"name": "first",
"type": "Int",
"description": "The number of items to forward paginate (used with after). Defaults to 50.",
"references": [
"Int"
]
},
{
"name": "includeArchived",
"type": "Boolean",
"description": "Should archived resources be included (default: false)",
"references": [
"Boolean"
]
},
{
"name": "last",
"type": "Int",
"description": "The number of items to backward paginate (used with before). Defaults to 50.",
"references": [
"Int"
]
},
{
"name": "orderBy",
"type": "PaginationOrderBy",
"description": "By which field should the pagination order by. Available options are createdAt (default) and updatedAt.",
"references": [
"PaginationOrderBy"
]
}
]
Metadata
[
{
"label": "Execution",
"value": "HTTP request"
}
]
Request template
query Issues {
issues { __typename }
}
Variables
{}
query team
Fetches a specific team by its ID.
team(id: String!): Team!
Runtime availability: core.
Arguments
[
{
"name": "id",
"type": "String!",
"description": "The identifier of the team to retrieve.",
"references": [
"String"
]
}
]
Metadata
[
{
"label": "Execution",
"value": "HTTP request"
}
]
Request template
query Team($id: String!) {
team(id: $id) { createdAt description id }
}
Variables
{
"id": ""
}
query teams
All teams whose issues the user can access. This includes public teams and private teams the user is a member of. This may differ from `administrableTeams`, which returns teams whose settings the user can change but whose issues they don't necessarily have access to.
teams(after: String, before: String, first: Int, includeArchived: Boolean, last: Int, orderBy: PaginationOrderBy): TeamConnection!
Runtime availability: core.
Arguments
[
{
"name": "after",
"type": "String",
"description": "A cursor to be used with first for forward pagination",
"references": [
"String"
]
},
{
"name": "before",
"type": "String",
"description": "A cursor to be used with last for backward pagination.",
"references": [
"String"
]
},
{
"name": "first",
"type": "Int",
"description": "The number of items to forward paginate (used with after). Defaults to 50.",
"references": [
"Int"
]
},
{
"name": "includeArchived",
"type": "Boolean",
"description": "Should archived resources be included (default: false)",
"references": [
"Boolean"
]
},
{
"name": "last",
"type": "Int",
"description": "The number of items to backward paginate (used with before). Defaults to 50.",
"references": [
"Int"
]
},
{
"name": "orderBy",
"type": "PaginationOrderBy",
"description": "By which field should the pagination order by. Available options are createdAt (default) and updatedAt.",
"references": [
"PaginationOrderBy"
]
}
]
Metadata
[
{
"label": "Execution",
"value": "HTTP request"
}
]
Request template
query Teams {
teams { __typename }
}
Variables
{}
query user
Fetches a specific user by their ID.
user(id: String!): User!
Runtime availability: core.
Arguments
[
{
"name": "id",
"type": "String!",
"description": "The identifier of the user to retrieve. To retrieve the authenticated user, use `viewer` query.",
"references": [
"String"
]
}
]
Metadata
[
{
"label": "Execution",
"value": "HTTP request"
}
]
Request template
query User($id: String!) {
user(id: $id) { active avatarUrl createdAt }
}
Variables
{
"id": ""
}
query users
All users in the workspace. Supports filtering, sorting, and pagination.
users(after: String, before: String, first: Int, includeArchived: Boolean, last: Int, orderBy: PaginationOrderBy): UserConnection!
Runtime availability: core.
Arguments
[
{
"name": "after",
"type": "String",
"description": "A cursor to be used with first for forward pagination",
"references": [
"String"
]
},
{
"name": "before",
"type": "String",
"description": "A cursor to be used with last for backward pagination.",
"references": [
"String"
]
},
{
"name": "first",
"type": "Int",
"description": "The number of items to forward paginate (used with after). Defaults to 50.",
"references": [
"Int"
]
},
{
"name": "includeArchived",
"type": "Boolean",
"description": "Should archived resources be included (default: false)",
"references": [
"Boolean"
]
},
{
"name": "last",
"type": "Int",
"description": "The number of items to backward paginate (used with before). Defaults to 50.",
"references": [
"Int"
]
},
{
"name": "orderBy",
"type": "PaginationOrderBy",
"description": "By which field should the pagination order by. Available options are createdAt (default) and updatedAt.",
"references": [
"PaginationOrderBy"
]
}
]
Metadata
[
{
"label": "Execution",
"value": "HTTP request"
}
]
Request template
query Users {
users { __typename }
}
Variables
{}
query viewer
The currently authenticated user making the API request.
viewer: User!
Runtime availability: core.
Metadata
[
{
"label": "Execution",
"value": "HTTP request"
}
]
Request template
query Viewer {
viewer { active avatarUrl createdAt }
}
Variables
{}
query workflowState
One specific workflow state (issue status), looked up by its unique identifier.
workflowState(id: String!): WorkflowState!
Runtime availability: core.
Arguments
[
{
"name": "id",
"type": "String!",
"description": "The identifier of the workflow state to retrieve.",
"references": [
"String"
]
}
]
Metadata
[
{
"label": "Execution",
"value": "HTTP request"
}
]
Request template
query WorkflowState($id: String!) {
workflowState(id: $id) { color createdAt id }
}
Variables
{
"id": ""
}
query workflowStates
All issue workflow states (issue statuses). Returns a paginated list of workflow states visible to the authenticated user, across all teams they have access to.
workflowStates(after: String, before: String, first: Int, includeArchived: Boolean, last: Int, orderBy: PaginationOrderBy): WorkflowStateConnection!
Runtime availability: core.
Arguments
[
{
"name": "after",
"type": "String",
"description": "A cursor to be used with first for forward pagination",
"references": [
"String"
]
},
{
"name": "before",
"type": "String",
"description": "A cursor to be used with last for backward pagination.",
"references": [
"String"
]
},
{
"name": "first",
"type": "Int",
"description": "The number of items to forward paginate (used with after). Defaults to 50.",
"references": [
"Int"
]
},
{
"name": "includeArchived",
"type": "Boolean",
"description": "Should archived resources be included (default: false)",
"references": [
"Boolean"
]
},
{
"name": "last",
"type": "Int",
"description": "The number of items to backward paginate (used with before). Defaults to 50.",
"references": [
"Int"
]
},
{
"name": "orderBy",
"type": "PaginationOrderBy",
"description": "By which field should the pagination order by. Available options are createdAt (default) and updatedAt.",
"references": [
"PaginationOrderBy"
]
}
]
Metadata
[
{
"label": "Execution",
"value": "HTTP request"
}
]
Request template
query WorkflowStates {
workflowStates { __typename }
}
Variables
{}
mutation issueArchive
Archives an issue.
issueArchive(id: String!): IssueArchivePayload!
Runtime availability: core.
Arguments
[
{
"name": "id",
"type": "String!",
"description": "The identifier of the issue to archive.",
"references": [
"String"
]
}
]
Metadata
[
{
"label": "Execution",
"value": "HTTP request"
}
]
Request template
mutation IssueArchive($id: String!) {
issueArchive(id: $id) { lastSyncId success }
}
Variables
{
"id": ""
}
mutation issueCreate
Creates a new issue.
issueCreate(input: IssueCreateInput!): IssuePayload!
Runtime availability: core.
Arguments
[
{
"name": "input",
"type": "IssueCreateInput!",
"description": "The issue object to create.",
"references": [
"IssueCreateInput"
]
}
]
Metadata
[
{
"label": "Execution",
"value": "HTTP request"
}
]
Request template
mutation IssueCreate($input: IssueCreateInput!) {
issueCreate(input: $input) { lastSyncId success }
}
Variables
{
"input": {
"teamId": ""
}
}
mutation issueDelete
Deletes (trashes) an issue.
issueDelete(id: String!): IssueArchivePayload!
Runtime availability: core.
Arguments
[
{
"name": "id",
"type": "String!",
"description": "The identifier of the issue to delete.",
"references": [
"String"
]
}
]
Metadata
[
{
"label": "Execution",
"value": "HTTP request"
}
]
Request template
mutation IssueDelete($id: String!) {
issueDelete(id: $id) { lastSyncId success }
}
Variables
{
"id": ""
}
mutation issueUnarchive
Unarchives an issue.
issueUnarchive(id: String!): IssueArchivePayload!
Runtime availability: core.
Arguments
[
{
"name": "id",
"type": "String!",
"description": "The identifier of the issue to unarchive.",
"references": [
"String"
]
}
]
Metadata
[
{
"label": "Execution",
"value": "HTTP request"
}
]
Request template
mutation IssueUnarchive($id: String!) {
issueUnarchive(id: $id) { lastSyncId success }
}
Variables
{
"id": ""
}
mutation issueUpdate
Updates an issue.
issueUpdate(id: String!, input: IssueUpdateInput!): IssuePayload!
Runtime availability: core.
Arguments
[
{
"name": "id",
"type": "String!",
"description": "The identifier of the issue to update.",
"references": [
"String"
]
},
{
"name": "input",
"type": "IssueUpdateInput!",
"description": "A partial issue object to update the issue with.",
"references": [
"IssueUpdateInput"
]
}
]
Metadata
[
{
"label": "Execution",
"value": "HTTP request"
}
]
Request template
mutation IssueUpdate($id: String!, $input: IssueUpdateInput!) {
issueUpdate(id: $id, input: $input) { lastSyncId success }
}
Variables
{
"id": "",
"input": {}
}
scalar DateTime
Represents a date and time in ISO 8601 format. Accepts shortcuts like `2021` to represent midnight Fri Jan 01 2021. Also accepts ISO 8601 durations strings which are added to the current date to create the represented date (e.g '-P2W1D' represents the date that was two weeks and 1 day ago)
object DeletePayload
A generic payload return from entity deletion mutations.
Fields
[
{
"name": "entityId",
"type": "String!",
"description": "The identifier of the deleted entity.",
"references": [
"String"
]
},
{
"name": "lastSyncId",
"type": "Float!",
"description": "The identifier of the last sync operation.",
"references": [
"Float"
]
},
{
"name": "success",
"type": "Boolean!",
"description": "Whether the operation was successful.",
"references": [
"Boolean"
]
}
]
object Issue
An issue is the core work item in Linear. Issues belong to a team, have a workflow status, can be assigned to users, carry a priority level, and can be organized into projects and cycles. Issues support sub-issues (parent-child hierarchy up to 10 levels deep), labels, due dates, estimates, and SLA tracking. They can also be linked to other issues via relations, attached to releases, and tracked through their full history of changes.
Fields
[
{
"name": "archivedAt",
"type": "DateTime",
"description": "The time at which the entity was archived. Null if the entity has not been archived.",
"references": [
"DateTime"
]
},
{
"name": "assignee",
"type": "User",
"description": "The user to whom the issue is assigned. Null if the issue is unassigned.",
"references": [
"User"
]
},
{
"name": "comments",
"type": "CommentConnection!",
"description": "Comments associated with the issue, including inline comments on the issue's description.",
"arguments": [
{
"name": "after",
"type": "String",
"description": "A cursor to be used with first for forward pagination",
"references": [
"String"
]
},
{
"name": "before",
"type": "String",
"description": "A cursor to be used with last for backward pagination.",
"references": [
"String"
]
},
{
"name": "first",
"type": "Int",
"description": "The number of items to forward paginate (used with after). Defaults to 50.",
"references": [
"Int"
]
},
{
"name": "includeArchived",
"type": "Boolean",
"description": "Should archived resources be included (default: false)",
"references": [
"Boolean"
]
},
{
"name": "last",
"type": "Int",
"description": "The number of items to backward paginate (used with before). Defaults to 50.",
"references": [
"Int"
]
},
{
"name": "orderBy",
"type": "PaginationOrderBy",
"description": "By which field should the pagination order by. Available options are createdAt (default) and updatedAt.",
"references": [
"PaginationOrderBy"
]
}
],
"references": [
"CommentConnection",
"String",
"Int",
"Boolean",
"PaginationOrderBy"
]
},
{
"name": "createdAt",
"type": "DateTime!",
"description": "The time at which the entity was created.",
"references": [
"DateTime"
]
},
{
"name": "creator",
"type": "User",
"description": "The user who created the issue. Null if the creator's account has been deleted or if the issue was created by an integration or system process.",
"references": [
"User"
]
},
{
"name": "description",
"type": "String",
"description": "The issue's description in markdown format.",
"references": [
"String"
]
},
{
"name": "estimate",
"type": "Float",
"description": "The estimate of the complexity of the issue. The specific scale used depends on the team's estimation configuration (e.g., points, T-shirt sizes). Null if no estimate has been set.",
"references": [
"Float"
]
},
{
"name": "id",
"type": "ID!",
"description": "The unique identifier of the entity.",
"references": [
"ID"
]
},
{
"name": "identifier",
"type": "String!",
"description": "Issue's human readable identifier (e.g. ENG-123).",
"references": [
"String"
]
},
{
"name": "number",
"type": "Float!",
"description": "The issue's unique number, scoped to the issue's team. Together with the team key, this forms the issue's human-readable identifier (e.g., ENG-123).",
"references": [
"Float"
]
},
{
"name": "priority",
"type": "Float!",
"description": "The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low.",
"references": [
"Float"
]
},
{
"name": "priorityLabel",
"type": "String!",
"description": "Label for the priority.",
"references": [
"String"
]
},
{
"name": "state",
"type": "WorkflowState!",
"description": "The workflow state (issue status) that the issue is currently in. Workflow states represent the issue's progress through the team's workflow, such as Triage, Todo, In Progress, Done, or Canceled.",
"references": [
"WorkflowState"
]
},
{
"name": "team",
"type": "Team!",
"description": "The team that the issue belongs to. Every issue must belong to exactly one team, which determines the available workflow states, labels, and other team-specific configuration.",
"references": [
"Team"
]
},
{
"name": "title",
"type": "String!",
"description": "The issue's title. This is the primary human-readable summary of the work item.",
"references": [
"String"
]
},
{
"name": "updatedAt",
"type": "DateTime!",
"description": "The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't\n been updated after creation.",
"references": [
"DateTime"
]
}
]
object IssueArchivePayload
A generic payload return from entity archive mutations.
Fields
[
{
"name": "entity",
"type": "Issue",
"description": "The archived/unarchived entity. Null if entity was deleted.",
"references": [
"Issue"
]
},
{
"name": "lastSyncId",
"type": "Float!",
"description": "The identifier of the last sync operation.",
"references": [
"Float"
]
},
{
"name": "success",
"type": "Boolean!",
"description": "Whether the operation was successful.",
"references": [
"Boolean"
]
}
]
object IssueConnection
Fields
[
{
"name": "edges",
"type": "[IssueEdge!]!",
"references": [
"IssueEdge"
]
},
{
"name": "nodes",
"type": "[Issue!]!",
"references": [
"Issue"
]
},
{
"name": "pageInfo",
"type": "PageInfo!",
"references": [
"PageInfo"
]
}
]
input IssueCreateInput
Input for creating a new issue. At minimum, a team must be specified. A title is required unless a template is provided. All other fields are optional and will use defaults from the team or template if not specified.
Fields
[
{
"name": "assigneeId",
"type": "String",
"description": "The identifier of the user to assign the issue to.",
"references": [
"String"
]
},
{
"name": "description",
"type": "String",
"description": "The issue description in markdown format.",
"references": [
"String"
]
},
{
"name": "estimate",
"type": "Int",
"description": "The estimated complexity of the issue.",
"references": [
"Int"
]
},
{
"name": "id",
"type": "String",
"description": "The identifier in UUID v4 format. If none is provided, the backend will generate one.",
"references": [
"String"
]
},
{
"name": "priority",
"type": "Int",
"description": "The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low.",
"references": [
"Int"
]
},
{
"name": "stateId",
"type": "String",
"description": "The team state of the issue.",
"references": [
"String"
]
},
{
"name": "teamId",
"type": "String!",
"description": "The identifier of the team associated with the issue.",
"references": [
"String"
]
},
{
"name": "title",
"type": "String",
"description": "The title of the issue.",
"references": [
"String"
]
}
]
object IssueEdge
Fields
[
{
"name": "cursor",
"type": "String!",
"description": "Used in `before` and `after` args",
"references": [
"String"
]
},
{
"name": "node",
"type": "Issue!",
"references": [
"Issue"
]
}
]
object IssuePayload
The result of an issue mutation, containing the created or updated issue and a success indicator.
Fields
[
{
"name": "issue",
"type": "Issue",
"description": "The issue that was created or updated.",
"references": [
"Issue"
]
},
{
"name": "lastSyncId",
"type": "Float!",
"description": "The identifier of the last sync operation.",
"references": [
"Float"
]
},
{
"name": "success",
"type": "Boolean!",
"description": "Whether the operation was successful.",
"references": [
"Boolean"
]
}
]
input IssueUpdateInput
Input for updating an existing issue. All fields are optional; only provided fields will be updated. Setting a field to null (where supported) will clear the value.
Fields
[
{
"name": "assigneeId",
"type": "String",
"description": "The identifier of the user to assign the issue to.",
"references": [
"String"
]
},
{
"name": "description",
"type": "String",
"description": "The issue description in markdown format.",
"references": [
"String"
]
},
{
"name": "estimate",
"type": "Int",
"description": "The estimated complexity of the issue.",
"references": [
"Int"
]
},
{
"name": "priority",
"type": "Int",
"description": "The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low.",
"references": [
"Int"
]
},
{
"name": "stateId",
"type": "String",
"description": "The team state of the issue.",
"references": [
"String"
]
},
{
"name": "title",
"type": "String",
"description": "The issue title.",
"references": [
"String"
]
}
]
object PageInfo
Fields
[
{
"name": "endCursor",
"type": "String",
"description": "Cursor representing the last result in the paginated results.",
"references": [
"String"
]
},
{
"name": "hasNextPage",
"type": "Boolean!",
"description": "Indicates if there are more results when paginating forward.",
"references": [
"Boolean"
]
},
{
"name": "hasPreviousPage",
"type": "Boolean!",
"description": "Indicates if there are more results when paginating backward.",
"references": [
"Boolean"
]
},
{
"name": "startCursor",
"type": "String",
"description": "Cursor representing the first result in the paginated results.",
"references": [
"String"
]
}
]
object Team
A team is the primary organizational unit in Linear. Issues belong to teams, and each team has its own workflow states, cycles, labels, and settings. Teams can be public (visible to all workspace members), private (visible only to team members), or restricted (visible only within an enclosing private-team boundary). Teams can also have sub-teams that inherit settings from their parent.
Fields
[
{
"name": "createdAt",
"type": "DateTime!",
"description": "The time at which the entity was created.",
"references": [
"DateTime"
]
},
{
"name": "description",
"type": "String",
"description": "The team's description.",
"references": [
"String"
]
},
{
"name": "id",
"type": "ID!",
"description": "The unique identifier of the entity.",
"references": [
"ID"
]
},
{
"name": "issues",
"type": "IssueConnection!",
"description": "Issues belonging to the team. Supports filtering and optional inclusion of sub-team issues.",
"arguments": [
{
"name": "after",
"type": "String",
"description": "A cursor to be used with first for forward pagination",
"references": [
"String"
]
},
{
"name": "before",
"type": "String",
"description": "A cursor to be used with last for backward pagination.",
"references": [
"String"
]
},
{
"name": "first",
"type": "Int",
"description": "The number of items to forward paginate (used with after). Defaults to 50.",
"references": [
"Int"
]
},
{
"name": "includeArchived",
"type": "Boolean",
"description": "Should archived resources be included (default: false)",
"references": [
"Boolean"
]
},
{
"name": "last",
"type": "Int",
"description": "The number of items to backward paginate (used with before). Defaults to 50.",
"references": [
"Int"
]
},
{
"name": "orderBy",
"type": "PaginationOrderBy",
"description": "By which field should the pagination order by. Available options are createdAt (default) and updatedAt.",
"references": [
"PaginationOrderBy"
]
}
],
"references": [
"IssueConnection",
"String",
"Int",
"Boolean",
"PaginationOrderBy"
]
},
{
"name": "key",
"type": "String!",
"description": "The team's unique key, used as a prefix in issue identifiers (e.g., 'ENG' in 'ENG-123') and in URLs.",
"references": [
"String"
]
},
{
"name": "members",
"type": "UserConnection!",
"description": "Users who are members of this team. Supports filtering and pagination.",
"arguments": [
{
"name": "after",
"type": "String",
"description": "A cursor to be used with first for forward pagination",
"references": [
"String"
]
},
{
"name": "before",
"type": "String",
"description": "A cursor to be used with last for backward pagination.",
"references": [
"String"
]
},
{
"name": "first",
"type": "Int",
"description": "The number of items to forward paginate (used with after). Defaults to 50.",
"references": [
"Int"
]
},
{
"name": "includeArchived",
"type": "Boolean",
"description": "Should archived resources be included (default: false)",
"references": [
"Boolean"
]
},
{
"name": "last",
"type": "Int",
"description": "The number of items to backward paginate (used with before). Defaults to 50.",
"references": [
"Int"
]
},
{
"name": "orderBy",
"type": "PaginationOrderBy",
"description": "By which field should the pagination order by. Available options are createdAt (default) and updatedAt.",
"references": [
"PaginationOrderBy"
]
}
],
"references": [
"UserConnection",
"String",
"Int",
"Boolean",
"PaginationOrderBy"
]
},
{
"name": "name",
"type": "String!",
"description": "The team's name.",
"references": [
"String"
]
},
{
"name": "states",
"type": "WorkflowStateConnection!",
"description": "The states that define the workflow associated with the team.",
"arguments": [
{
"name": "after",
"type": "String",
"description": "A cursor to be used with first for forward pagination",
"references": [
"String"
]
},
{
"name": "before",
"type": "String",
"description": "A cursor to be used with last for backward pagination.",
"references": [
"String"
]
},
{
"name": "first",
"type": "Int",
"description": "The number of items to forward paginate (used with after). Defaults to 50.",
"references": [
"Int"
]
},
{
"name": "includeArchived",
"type": "Boolean",
"description": "Should archived resources be included (default: false)",
"references": [
"Boolean"
]
},
{
"name": "last",
"type": "Int",
"description": "The number of items to backward paginate (used with before). Defaults to 50.",
"references": [
"Int"
]
},
{
"name": "orderBy",
"type": "PaginationOrderBy",
"description": "By which field should the pagination order by. Available options are createdAt (default) and updatedAt.",
"references": [
"PaginationOrderBy"
]
}
],
"references": [
"WorkflowStateConnection",
"String",
"Int",
"Boolean",
"PaginationOrderBy"
]
},
{
"name": "updatedAt",
"type": "DateTime!",
"description": "The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't\n been updated after creation.",
"references": [
"DateTime"
]
}
]
object TeamConnection
Fields
[
{
"name": "edges",
"type": "[TeamEdge!]!",
"references": [
"TeamEdge"
]
},
{
"name": "nodes",
"type": "[Team!]!",
"references": [
"Team"
]
},
{
"name": "pageInfo",
"type": "PageInfo!",
"references": [
"PageInfo"
]
}
]
object TeamEdge
Fields
[
{
"name": "cursor",
"type": "String!",
"description": "Used in `before` and `after` args",
"references": [
"String"
]
},
{
"name": "node",
"type": "Team!",
"references": [
"Team"
]
}
]
object User
A user that belongs to a workspace. Users can have different roles (admin, member, guest, or app) that determine their level of access. Users can be members of multiple teams, and can be active or deactivated. Guest users have limited access scoped to specific teams they are invited to.
Fields
[
{
"name": "active",
"type": "Boolean!",
"description": "Whether the user account is active or disabled (suspended).",
"references": [
"Boolean"
]
},
{
"name": "avatarUrl",
"type": "String",
"description": "An URL to the user's avatar image.",
"references": [
"String"
]
},
{
"name": "createdAt",
"type": "DateTime!",
"description": "The time at which the entity was created.",
"references": [
"DateTime"
]
},
{
"name": "displayName",
"type": "String!",
"description": "The user's display (nick) name. Must be unique within the workspace.",
"references": [
"String"
]
},
{
"name": "email",
"type": "String!",
"description": "The user's email address.",
"references": [
"String"
]
},
{
"name": "id",
"type": "ID!",
"description": "The unique identifier of the entity.",
"references": [
"ID"
]
},
{
"name": "name",
"type": "String!",
"description": "The user's full name.",
"references": [
"String"
]
},
{
"name": "updatedAt",
"type": "DateTime!",
"description": "The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't\n been updated after creation.",
"references": [
"DateTime"
]
}
]
object UserConnection
Fields
[
{
"name": "edges",
"type": "[UserEdge!]!",
"references": [
"UserEdge"
]
},
{
"name": "nodes",
"type": "[User!]!",
"references": [
"User"
]
},
{
"name": "pageInfo",
"type": "PageInfo!",
"references": [
"PageInfo"
]
}
]
object UserEdge
Fields
[
{
"name": "cursor",
"type": "String!",
"description": "Used in `before` and `after` args",
"references": [
"String"
]
},
{
"name": "node",
"type": "User!",
"references": [
"User"
]
}
]
object WorkflowState
A state in a team's workflow, representing an issue status such as Triage, Backlog, Todo, In Progress, In Review, Done, or Canceled. Each team has its own set of workflow states that define the progression of issues through the team's process. Workflow states have a type that categorizes them (triage, backlog, unstarted, started, completed, canceled), a position that determines their display order, and a color for visual identification. States can be inherited from parent teams to sub-teams.
Fields
[
{
"name": "color",
"type": "String!",
"description": "The state's UI color as a HEX string.",
"references": [
"String"
]
},
{
"name": "createdAt",
"type": "DateTime!",
"description": "The time at which the entity was created.",
"references": [
"DateTime"
]
},
{
"name": "id",
"type": "ID!",
"description": "The unique identifier of the entity.",
"references": [
"ID"
]
},
{
"name": "name",
"type": "String!",
"description": "The state's human-readable name (e.g., 'In Progress', 'Done', 'Backlog').",
"references": [
"String"
]
},
{
"name": "position",
"type": "Float!",
"description": "The position of the state in the team's workflow. States are displayed in ascending order of position within their type group.",
"references": [
"Float"
]
},
{
"name": "team",
"type": "Team!",
"description": "The team that this workflow state belongs to. Each team has its own set of workflow states.",
"references": [
"Team"
]
},
{
"name": "type",
"type": "String!",
"description": "The type of the state. One of \"triage\", \"backlog\", \"unstarted\", \"started\", \"completed\", \"canceled\", \"duplicate\".",
"references": [
"String"
]
},
{
"name": "updatedAt",
"type": "DateTime!",
"description": "The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't\n been updated after creation.",
"references": [
"DateTime"
]
}
]
object WorkflowStateConnection
Fields
[
{
"name": "edges",
"type": "[WorkflowStateEdge!]!",
"references": [
"WorkflowStateEdge"
]
},
{
"name": "nodes",
"type": "[WorkflowState!]!",
"references": [
"WorkflowState"
]
},
{
"name": "pageInfo",
"type": "PageInfo!",
"references": [
"PageInfo"
]
}
]
object WorkflowStateEdge
Fields
[
{
"name": "cursor",
"type": "String!",
"description": "Used in `before` and `after` args",
"references": [
"String"
]
},
{
"name": "node",
"type": "WorkflowState!",
"references": [
"WorkflowState"
]
}
]
directive @include
Directs the executor to include this field or fragment only when the `if` argument is true.
@include(if: Boolean!) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT
Arguments
[
{
"name": "if",
"type": "Boolean!",
"description": "Included when true.",
"references": [
"Boolean"
]
}
]
directive @skip
Directs the executor to skip this field or fragment when the `if` argument is true.
@skip(if: Boolean!) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT
Arguments
[
{
"name": "if",
"type": "Boolean!",
"description": "Skipped when true.",
"references": [
"Boolean"
]
}
]
directive @deprecated
Marks an element of a GraphQL schema as no longer supported.
@deprecated(reason: String = "No longer supported") on FIELD_DEFINITION | ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION | ENUM_VALUE
Arguments
[
{
"name": "reason",
"type": "String",
"description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",
"defaultValue": "\"No longer supported\"",
"references": [
"String"
]
}
]
directive @specifiedBy
Exposes a URL that specifies the behavior of this scalar.
@specifiedBy(url: String!) on SCALAR
Arguments
[
{
"name": "url",
"type": "String!",
"description": "The URL that specifies the behavior of this scalar.",
"references": [
"String"
]
}
]
directive @oneOf
Indicates exactly one field must be supplied and this field must not be `null`.
@oneOf on INPUT_OBJECT