schema { query: Query mutation: Mutation subscription: Subscription } "Indicates exactly one field must be supplied and this field must not be `null`." directive @oneOf on INPUT_OBJECT """ Activity collection filtering options. """ input ActivityCollectionFilter { """ Compound filters, all of which need to be matched by the activity. """ and: [ActivityCollectionFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that needs to be matched by all activities. """ every: ActivityFilter """ Comparator for the identifier. """ id: IDComparator """ Comparator for the collection length. """ length: NumberComparator """ Compound filters, one of which need to be matched by the activity. """ or: [ActivityCollectionFilter!] """ Filters that needs to be matched by some activities. """ some: ActivityFilter """ Comparator for the updated at date. """ updatedAt: DateComparator """ Filters that the activity's user must satisfy. """ user: UserFilter } """ Activity filtering options. """ input ActivityFilter { """ Compound filters, all of which need to be matched by the activity. """ and: [ActivityFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the identifier. """ id: IDComparator """ Compound filters, one of which need to be matched by the activity. """ or: [ActivityFilter!] """ Comparator for the updated at date. """ updatedAt: DateComparator """ Filters that the activity's user must satisfy. """ user: UserFilter } """ A bot actor representing a non-human entity that performed an action, such as an integration (GitHub, Slack, Zendesk), an AI assistant, or an automated workflow. Bot actors are displayed in activity feeds and history to indicate when changes were made by applications rather than users. """ type ActorBot { """ A URL pointing to the avatar image representing this bot, typically the integration's logo or icon. """ avatarUrl: String """ A unique identifier for the bot actor. """ id: ID """ The display name of the bot. """ name: String """ A more specific classification within the bot type, providing additional context about the integration or application variant. """ subType: String """ The source type of the bot, identifying the application or integration (e.g., 'github', 'slack', 'workflow', 'ai'). """ type: String! """ The display name of the external user on behalf of whom the bot acted. Shown when an integration action was triggered by a specific person in the external system. """ userDisplayName: String } """ An activity performed by or directed at an AI coding agent during a session. Activities represent the observable steps of an agent's work, including thoughts, actions (tool calls), responses, prompts from users, errors, and elicitation requests. Each activity belongs to an agent session and is associated with the user who initiated it. """ type AgentActivity implements Node { """ The agent session this activity belongs to. """ agentSession: AgentSession! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The content of the activity, which varies by type (thought, action, response, prompt, error, or elicitation). """ content: AgentActivityContent! """ [Internal] Metadata about user-provided contextual information for this agent activity. """ contextualMetadata: JSON """ The time at which the entity was created. """ createdAt: DateTime! """ Whether the activity is ephemeral, and should disappear after the next agent activity. """ ephemeral: Boolean! """ The unique identifier of the entity. """ id: ID! """ [Internal] Whether this activity is queued for later processing. Queued activities are not sent to the agent until the session reaches a terminal state. """ queued: Boolean! """ [Internal] The time at which the prompt actually entered the conversation. Only set when the prompt did not enter the conversation immediately (i.e., it was queued and later dequeued). Null for prompts that were sent directly and for non-prompt activities. """ sentAt: DateTime """ An optional modifier that provides additional instructions on how the activity should be interpreted. """ signal: AgentActivitySignal """ Metadata about this agent activity's signal. """ signalMetadata: JSON """ The source comment this activity is linked to. Null if the activity was not triggered by a comment. """ sourceComment: Comment """ Metadata about the external source that created this agent activity. """ sourceMetadata: JSON """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user who created this agent activity. """ user: User! } """ Content for an action activity (tool call or action). """ type AgentActivityActionContent { """ The action being performed. """ action: String! """ The parameters for the action, e.g. a file path, a keyword, etc. """ parameter: String! """ The result of the action in Markdown format. """ result: String """ [Internal] The result content as ProseMirror document. """ resultData: JSONObject """ The type of activity. """ type: AgentActivityType! } type AgentActivityConnection { edges: [AgentActivityEdge!]! nodes: [AgentActivity!]! pageInfo: PageInfo! } """ Content for different types of agent activities. """ union AgentActivityContent = | AgentActivityActionContent | AgentActivityElicitationContent | AgentActivityErrorContent | AgentActivityPromptContent | AgentActivityResponseContent | AgentActivityThoughtContent """ Input for creating an agent activity. """ input AgentActivityCreateInput { """ The agent session this activity belongs to. """ agentSessionId: String! """ The content payload of the agent activity. This object is not strictly typed. See https://linear.app/developers/agent-interaction#activity-content-payload for typing details. """ content: JSONObject! """ [Internal] Metadata about user-provided contextual information for this agent activity. """ contextualMetadata: JSONObject """ Whether the activity is ephemeral, and should disappear after the next activity. Defaults to false. """ ephemeral: Boolean """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ An optional modifier that provides additional instructions on how the activity should be interpreted. """ signal: AgentActivitySignal """ Metadata about this agent activity's signal. """ signalMetadata: JSONObject } """ [Internal] Input for creating prompt-type agent activities (created by users). """ input AgentActivityCreatePromptInput { """ The agent session this activity belongs to. """ agentSessionId: String! """ The content payload of the prompt agent activity. """ content: AgentActivityPromptCreateInputContent! """ [Internal] Metadata about user-provided contextual information for this agent activity. """ contextualMetadata: JSONObject """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ [Internal] If true, the activity is queued and will be sent to the agent when it finishes its current task. """ queued: Boolean """ An optional modifier that provides additional instructions on how the activity should be interpreted. """ signal: AgentActivitySignal """ Metadata about this agent activity's signal. """ signalMetadata: JSONObject """ The comment that contains the content of this activity. """ sourceCommentId: String } type AgentActivityEdge { """ Used in `before` and `after` args """ cursor: String! node: AgentActivity! } """ Content for an elicitation activity. """ type AgentActivityElicitationContent { """ The elicitation message in Markdown format. """ body: String! """ [Internal] The elicitation content as ProseMirror document. """ bodyData: JSONObject! """ The type of activity. """ type: AgentActivityType! } """ Content for an error activity. """ type AgentActivityErrorContent { """ The error message in Markdown format. """ body: String! """ [Internal] The error content as ProseMirror document. """ bodyData: JSONObject! """ The type of activity. """ type: AgentActivityType! } """ Agent activity filtering options. """ input AgentActivityFilter { """ Comparator for the agent session ID. """ agentSessionId: StringComparator """ Compound filters, all of which need to be matched by the agent activity. """ and: [AgentActivityFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the identifier. """ id: IDComparator """ Compound filters, one of which need to be matched by the agent activity. """ or: [AgentActivityFilter!] """ Filters that the source comment must satisfy. """ sourceComment: NullableCommentFilter """ Comparator for the agent activity's content type. """ type: StringComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ The result of an agent activity mutation. """ type AgentActivityPayload { """ The agent activity that was created or updated. """ agentActivity: AgentActivity! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Content for a prompt activity. """ type AgentActivityPromptContent { """ A message requesting additional information or action from user. """ body: String! """ [Internal] The prompt content as ProseMirror document. """ bodyData: JSONObject! """ The type of activity. """ type: AgentActivityType! } """ [Internal] Input for creating prompt-type agent activities (created by users). """ input AgentActivityPromptCreateInputContent { """ A message requesting additional information or action from user in markdown format. """ body: String """ [Internal] The prompt content as a ProseMirror document. """ bodyData: JSON """ The type of activity. """ type: AgentActivityType! = prompt } """ Content for a response activity. """ type AgentActivityResponseContent { """ The response content in Markdown format. """ body: String! """ [Internal] The response content as ProseMirror document. """ bodyData: JSONObject! """ The type of activity. """ type: AgentActivityType! } """ A modifier that provides additional instructions on how the activity should be interpreted. """ enum AgentActivitySignal { auth continue select stop } """ Content for a thought activity. """ type AgentActivityThoughtContent { """ The thought content in Markdown format. """ body: String! """ [Internal] The thought content as ProseMirror document. """ bodyData: JSONObject! """ The type of activity. """ type: AgentActivityType! } """ The type of an agent activity. """ enum AgentActivityType { action elicitation error prompt response thought } """ Payload for an agent activity webhook. """ type AgentActivityWebhookPayload { """ The ID of the agent session that this activity belongs to. """ agentSessionId: String! """ The time at which the entity was archived. """ archivedAt: String """ The content of the agent activity. """ content: JSONObject! """ The time at which the entity was created. """ createdAt: String! """ The ID of the entity. """ id: String! """ An optional modifier that provides additional instructions on how the activity should be interpreted. """ signal: String """ Metadata about this agent activity's signal. """ signalMetadata: JSONObject """ The ID of the comment this activity is linked to. """ sourceCommentId: String """ The time at which the entity was updated. """ updatedAt: String! """ The user who created this agent activity. """ user: UserChildWebhookPayload! """ The ID of the user who created this agent activity. """ userId: String! } """ A session representing an AI coding agent's work on an issue or conversation. Agent sessions track the lifecycle of an agent's engagement, from creation through active work to completion or dismissal. Each session is associated with an agent user (the bot), optionally a human creator, an issue, and a comment thread where the agent posts updates. Sessions contain activities that record the agent's observable steps and can be linked to pull requests created during the work. """ type AgentSession implements Node { """ Activities associated with this agent session. """ activities( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned agent activities. """ filter: AgentActivityFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): AgentActivityConnection! """ The agent user that is associated with this agent session. """ appUser: User! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The comment this agent session is associated with. """ comment: Comment """ The entity contexts this session is related to, such as issues or projects referenced in direct chat sessions. Used to provide contextual awareness to the agent. """ context: JSON! """ The time at which the entity was created. """ createdAt: DateTime! """ The human user responsible for the agent session. Null if the session was initiated via automation or by an agent user, with no responsible human user. """ creator: User """ The time a user dismissed this agent session. When dismissed, the agent is removed as delegate from the associated issue. Null if the session has not been dismissed. """ dismissedAt: DateTime """ The user who dismissed the agent session. Automatically set when dismissedAt is updated. Null if the session has not been dismissed. """ dismissedBy: User """ The time the agent session completed. Null if the session is still in progress or was dismissed before completion. """ endedAt: DateTime """ The URL of an external agent-hosted page associated with this session. """ externalLink: String @deprecated(reason: "Use externalUrls instead.") """ External links associated with this session. """ externalLinks: [AgentSessionExternalLink!]! """ URLs of external resources associated with this session. """ externalUrls: JSON! @deprecated(reason: "Use externalLinks instead.") """ The unique identifier of the entity. """ id: ID! """ The issue this agent session is associated with. """ issue: Issue """ A dynamically updated plan describing the agent's execution strategy, including steps to be taken and their current status. Updated as the agent progresses through its work. Null if no plan has been set. """ plan: JSON """ [Internal] Pull requests associated with this agent session. """ pullRequests( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): AgentSessionToPullRequestConnection! """ The agent session's unique URL slug. """ slugId: String! """ The comment that this agent session was spawned from, if from a different thread. """ sourceComment: Comment """ Metadata about the external source that created this agent session. """ sourceMetadata: JSON """ The time the agent session transitioned to active status and began work. Null if the session has not yet started. """ startedAt: DateTime """ The current status of the agent session, such as pending, active, awaiting input, complete, error, or stale. """ status: AgentSessionStatus! """ A human-readable summary of the work performed in this session. Null if no summary has been generated yet. """ summary: String """ [DEPRECATED] The type of the agent session. """ type: AgentSessionType @deprecated(reason: "This field is slated for removal.") """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The URL to the agent session page in the Linear app. Null for direct chat sessions without an associated issue. """ url: String } type AgentSessionConnection { edges: [AgentSessionEdge!]! nodes: [AgentSession!]! pageInfo: PageInfo! } """ [Internal] Input for creating an agent session on behalf of the current user. """ input AgentSessionCreateInput { """ The app user (agent) to create a session for. """ appUserId: String! """ [Internal] Serialized JSON representing the page contexts this session is related to. Used for direct chat sessions to provide context about the current page (e.g., Issue, Project). """ context: JSONObject """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The issue that this session will be associated with. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String } """ Input for creating an agent session on a root comment. """ input AgentSessionCreateOnComment { """ The root comment that this session will be associated with. """ commentId: String! """ The URL of an external agent-hosted page associated with this session. """ externalLink: String """ URLs of external resources associated with this session. """ externalUrls: [AgentSessionExternalUrlInput!] } """ Input for creating an agent session on an issue. """ input AgentSessionCreateOnIssue { """ The URL of an external agent-hosted page associated with this session. """ externalLink: String """ URLs of external resources associated with this session. """ externalUrls: [AgentSessionExternalUrlInput!] """ The issue that this session will be associated with. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String! } type AgentSessionEdge { """ Used in `before` and `after` args """ cursor: String! node: AgentSession! } """ Payload for agent session webhook events. """ type AgentSessionEventWebhookPayload { """ The type of action that triggered the webhook. """ action: String! """ The agent activity that was created. """ agentActivity: AgentActivityWebhookPayload """ The agent session that the event belongs to. """ agentSession: AgentSessionWebhookPayload! """ ID of the app user the agent session belongs to. """ appUserId: String! """ The time the payload was created. """ createdAt: DateTime! """ Guidance to inform the agent's behavior, which comes from configuration at the level of the workspace, parent teams, and/or current team for this session. The nearest team-specific guidance should take highest precendence. """ guidance: [GuidanceRuleWebhookPayload!] """ ID of the OAuth client the app user is tied to. """ oauthClientId: String! """ ID of the organization for which the webhook belongs to. """ organizationId: String! """ The previous comments in the thread before this agent was mentioned and the session was initiated, if any. Present only for `created` events where the session was initiated by mentioning the agent in a child comment of a thread. """ previousComments: [CommentChildWebhookPayload!] """ A formatted prompt string containing the relevant context for the agent session, including issue details, comments, and guidance. Present only for `created` events. """ promptContext: String """ The type of resource. """ type: String! """ The ID of the webhook that sent this event. """ webhookId: String! """ Unix timestamp in milliseconds when the webhook was sent. """ webhookTimestamp: Float! } """ An external link associated with an agent session. """ type AgentSessionExternalLink { """ Label for the link. """ label: String! """ The URL of the external resource. """ url: String! } """ Input for an external URL associated with an agent session. """ input AgentSessionExternalUrlInput { """ Label for the URL. """ label: String! """ The URL of the external resource. """ url: String! } type AgentSessionPayload { """ The agent session that was created or updated. """ agentSession: AgentSession! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ The status of an agent session. """ enum AgentSessionStatus { active awaitingInput complete error pending stale } """ A link between an agent session and a pull request created or associated during that session. This join entity tracks which pull requests were produced by or connected to a coding agent's work session, and handles backfilling links when pull requests are synced after the agent has already recorded the URL. """ type AgentSessionToPullRequest implements Node { """ The agent session that the pull request is associated with. """ agentSession: AgentSession! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The unique identifier of the entity. """ id: ID! """ The pull request that the agent session is associated with. """ pullRequest: PullRequest! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } type AgentSessionToPullRequestConnection { edges: [AgentSessionToPullRequestEdge!]! nodes: [AgentSessionToPullRequest!]! pageInfo: PageInfo! } type AgentSessionToPullRequestEdge { """ Used in `before` and `after` args """ cursor: String! node: AgentSessionToPullRequest! } """ [DEPRECATED] The type of an agent session. """ enum AgentSessionType { commentThread } """ Input for updating the external URLs of an agent session. """ input AgentSessionUpdateExternalUrlInput { """ URLs of external resources to be added to this session. """ addedExternalUrls: [AgentSessionExternalUrlInput!] """ The URL of an external agent-hosted page associated with this session. """ externalLink: String """ URLs of external resources associated with this session. Replaces existing URLs. """ externalUrls: [AgentSessionExternalUrlInput!] """ URLs to be removed from this session. """ removedExternalUrls: [String!] } """ Input for updating an agent session. """ input AgentSessionUpdateInput { """ URLs of external resources to be added to this session. Only updatable by the OAuth application that owns the session. """ addedExternalUrls: [AgentSessionExternalUrlInput!] """ [Internal] The time at which the agent session was dismissed. Set to null to un-dismiss. Only updatable by internal clients. """ dismissedAt: DateTime """ The URL of an external agent-hosted page associated with this session. Only updatable by the OAuth application that owns the session. """ externalLink: String """ URLs of external resources associated with this session. Replaces existing URLs. Only updatable by the OAuth application that owns the session. If supplied, addedExternalUrls and removedExternalUrls are ignored. """ externalUrls: [AgentSessionExternalUrlInput!] """ A dynamically updated list of the agent's execution strategy. Only updatable by the OAuth application that owns the session. """ plan: JSONObject """ URLs to be removed from this session. Only updatable by the OAuth application that owns the session. """ removedExternalUrls: [String!] """ [Internal] User-specific state for the agent session. Only updatable by internal clients. """ userState: [AgentSessionUserStateInput!] } input AgentSessionUserStateInput { """ The time at which the user most recently viewed the session. """ lastReadAt: DateTime """ The ID of the user this state belongs to. """ userId: String! } """ Payload for an agent session webhook. """ type AgentSessionWebhookPayload { """ The ID of the agent that the agent session belongs to. """ appUserId: String! """ The time at which the entity was archived. """ archivedAt: String """ The root comment of the thread this agent session is attached to. """ comment: CommentChildWebhookPayload """ The ID of the root comment of the thread this agent session is attached to. """ commentId: String """ The time at which the entity was created. """ createdAt: String! """ The human user responsible for the agent session. Unset if the session was initiated via automation or by an agent user, with no responsible human user. """ creator: UserChildWebhookPayload """ The ID of the human user responsible for the agent session. Unset if the session was initiated via automation or by an agent user, with no responsible human user. """ creatorId: String """ The time the agent session ended. """ endedAt: String """ The ID of the entity. """ id: String! """ The issue this agent session is associated with. """ issue: IssueWithDescriptionChildWebhookPayload """ The ID of the issue this agent session is associated with. """ issueId: String """ The ID of the organization that the agent session belongs to. """ organizationId: String! """ The ID of the comment that this agent session was spawned from, if from a different thread. """ sourceCommentId: String """ Metadata about the external source that created this agent session. """ sourceMetadata: JSONObject """ The time the agent session started working. """ startedAt: String """ The current status of the agent session. """ status: String! """ A summary of the activities in this session. """ summary: String """ The type of the agent session. """ type: String! """ The time at which the entity was updated. """ updatedAt: String! """ The URL of the agent session. """ url: String } """ [Internal] A conversation between a user and the Linear AI assistant. Each conversation tracks the full thread state, context references (issues, projects, documents, etc.), and conversation parts (prompts, text responses, tool calls, widgets). Conversations can originate from direct chat, issue comments, Slack threads, Microsoft Teams, or automated workflows. """ type AiConversation implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The client platform from which this conversation was initiated, such as web, desktop, or mobile. """ clientPlatform: AiConversationClientPlatform """ The entity contexts this conversation is related to, such as issues, projects, or documents that provide context for the AI assistant. """ context: JSONObject! """ The time at which the entity was created. """ createdAt: DateTime! """ [Internal] The log ID of the AI response. """ evalLogId: String """ The unique identifier of the entity. """ id: ID! """ The source from which this conversation was initiated, such as direct chat, an issue comment, a Slack thread, Microsoft Teams, or a workflow automation. """ initialSource: AiConversationInitialSource! """ The iteration ID when this conversation is part of an agentic workflow. Used to track multi-step workflow executions. Null for non-workflow conversations. """ iterationId: String """ The ordered sequence of conversation parts (prompts, text responses, reasoning steps, tool calls, errors, and widgets) that make up this conversation's visible history. """ parts: [AiConversationPart!] """ The time when the user marked the conversation as read. Null if the user hasn't read the conversation. """ readAt: DateTime """ The conversation's unique URL slug. """ slugId: String! """ The current processing status of the conversation, indicating whether the AI is actively generating a response or has completed its turn. """ status: AiConversationStatus! """ A summary of the conversation. """ summary: String """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user who the conversation belongs to. """ user: User """ [Internal] The cron workflow definition that created this conversation. """ workflowCronJobDefinition: WorkflowCronJobDefinition """ [Internal] The workflow definition that created this conversation. """ workflowDefinition: WorkflowDefinition } """ A base part in an AI conversation. """ interface AiConversationBasePart { """ The ID of the part. """ id: String! """ The metadata of the part. """ metadata: AiConversationPartMetadata! """ The type of the part. """ type: AiConversationPartType! } interface AiConversationBaseToolCall { displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } interface AiConversationBaseWidget { """ Display information for the widget, including ProseMirror and Markdown representations. """ displayInfo: AiConversationWidgetDisplayInfo """ The name of the widget. """ name: AiConversationWidgetName! """ The arguments of the widget. """ rawArgs: JSON } """ The client platform from which an AI conversation was initiated. """ enum AiConversationClientPlatform { desktop mobile web } type AiConversationCodeIntelligenceToolCall implements AiConversationBaseToolCall { """ The arguments to the tool call. """ args: AiConversationCodeIntelligenceToolCallArgs displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationCodeIntelligenceToolCallArgs { question: String! } type AiConversationCreateEntityToolCall implements AiConversationBaseToolCall { """ The arguments to the tool call. """ args: AiConversationCreateEntityToolCallArgs displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationCreateEntityToolCallArgs { count: Float type: String! } type AiConversationDeleteEntityToolCall implements AiConversationBaseToolCall { """ The arguments to the tool call. """ args: AiConversationDeleteEntityToolCallArgs displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationDeleteEntityToolCallArgs { entity: AiConversationSearchEntitiesToolCallResultEntities! } type AiConversationEntityCardWidget implements AiConversationBaseWidget { """ The arguments to the widget. """ args: AiConversationEntityCardWidgetArgs """ Display information for the widget, including ProseMirror and Markdown representations. """ displayInfo: AiConversationWidgetDisplayInfo """ The name of the widget. """ name: AiConversationWidgetName! """ The arguments of the widget. """ rawArgs: JSON } type AiConversationEntityCardWidgetArgs { """ The action performed on the entity (leave empty if just found) """ action: AiConversationEntityCardWidgetArgsAction """ The UUID of the entity to display """ id: String! """ @deprecated Optional note to display about the entity """ note: String @deprecated(reason: "Optional note to display about the entity") """ [Internal] The entity type """ type: AiConversationEntityCardWidgetArgsType! } """ The action performed on the entity (leave empty if just found) """ enum AiConversationEntityCardWidgetArgsAction { created updated } """ [Internal] The entity type """ enum AiConversationEntityCardWidgetArgsType { AiPrompt CustomView Customer CustomerNeed Dashboard Document Initiative InitiativeUpdate Issue IssueDraft Project ProjectUpdate PullRequest Release ReleasePipeline Team Template WorkflowDefinition } type AiConversationEntityListWidget implements AiConversationBaseWidget { """ The arguments to the widget. """ args: AiConversationEntityListWidgetArgs """ Display information for the widget, including ProseMirror and Markdown representations. """ displayInfo: AiConversationWidgetDisplayInfo """ The name of the widget. """ name: AiConversationWidgetName! """ The arguments of the widget. """ rawArgs: JSON } type AiConversationEntityListWidgetArgs { """ The action performed on the entities (leave empty if just found) """ action: AiConversationEntityListWidgetArgsAction """ Total number of entities in the list """ count: Float entities: [AiConversationEntityListWidgetArgsEntities!]! } """ The action performed on the entities (leave empty if just found) """ enum AiConversationEntityListWidgetArgsAction { created updated } type AiConversationEntityListWidgetArgsEntities { """ Entity UUID """ id: String! """ @deprecated Optional note to display about the entity """ note: String @deprecated(reason: "Optional note to display about the entity") """ [Internal] The entity type """ type: AiConversationEntityListWidgetArgsEntitiesType! } """ [Internal] The entity type """ enum AiConversationEntityListWidgetArgsEntitiesType { AiPrompt CustomView Customer CustomerNeed Dashboard Document Initiative InitiativeUpdate Issue IssueDraft Project ProjectUpdate PullRequest Release ReleasePipeline Team Template WorkflowDefinition } """ An error part in an AI conversation. """ type AiConversationErrorPart implements AiConversationBasePart { """ The ID of the part. """ id: String! """ The user-facing error message for the failed AI response. """ message: String! """ The metadata of the part. """ metadata: AiConversationPartMetadata! """ The type of the part. """ type: AiConversationPartType! } """ An event part in an AI conversation. """ type AiConversationEventPart implements AiConversationBasePart { """ The Markdown body of the event part. """ body: String! """ The data of the event part. """ bodyData: JSONObject! """ The ID of the part. """ id: String! """ The metadata of the part. """ metadata: AiConversationPartMetadata! """ The ID of the subscription to resolve when this event is delivered. """ subscriptionId: String """ The type of the part. """ type: AiConversationPartType! } type AiConversationGetMicrosoftTeamsConversationHistoryToolCall implements AiConversationBaseToolCall { displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationGetPullRequestCheckLogsToolCall implements AiConversationBaseToolCall { """ The arguments to the tool call. """ args: AiConversationGetPullRequestCheckLogsToolCallArgs displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationGetPullRequestCheckLogsToolCallArgs { checkName: String! entity: AiConversationSearchEntitiesToolCallResultEntities! workflowName: String } type AiConversationGetPullRequestDiffToolCall implements AiConversationBaseToolCall { """ The arguments to the tool call. """ args: AiConversationGetPullRequestDiffToolCallArgs displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationGetPullRequestDiffToolCallArgs { entity: AiConversationSearchEntitiesToolCallResultEntities! } type AiConversationGetPullRequestFileToolCall implements AiConversationBaseToolCall { """ The arguments to the tool call. """ args: AiConversationGetPullRequestFileToolCallArgs displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationGetPullRequestFileToolCallArgs { entity: AiConversationSearchEntitiesToolCallResultEntities! path: String! } type AiConversationGetSlackConversationHistoryToolCall implements AiConversationBaseToolCall { displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationHandoffToCodingSessionToolCall implements AiConversationBaseToolCall { """ The arguments to the tool call. """ args: AiConversationHandoffToCodingSessionToolCallArgs displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationHandoffToCodingSessionToolCallArgs { entity: AiConversationSearchEntitiesToolCallResultEntities! instructions: String } """ The initial source of an AI conversation. """ enum AiConversationInitialSource { comment directChat mcp microsoftTeams pullRequestComment slack workflow } type AiConversationInvokeMcpToolToolCall implements AiConversationBaseToolCall { """ The arguments to the tool call. """ args: AiConversationInvokeMcpToolToolCallArgs displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationInvokeMcpToolToolCallArgs { server: AiConversationInvokeMcpToolToolCallArgsServer! tool: AiConversationInvokeMcpToolToolCallArgsTool! } type AiConversationInvokeMcpToolToolCallArgsServer { integrationId: String! name: String! title: String } type AiConversationInvokeMcpToolToolCallArgsTool { name: String! title: String } type AiConversationNavigateToPageToolCall implements AiConversationBaseToolCall { """ The arguments to the tool call. """ args: AiConversationNavigateToPageToolCallArgs displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON """ The result of the tool call. """ result: AiConversationNavigateToPageToolCallResult } type AiConversationNavigateToPageToolCallArgs { entities: [AiConversationNavigateToPageToolCallArgsEntities!]! } type AiConversationNavigateToPageToolCallArgsEntities { entityType: String! uuid: String! } type AiConversationNavigateToPageToolCallResult { urls: [String!]! } """ A part in an AI conversation. """ union AiConversationPart = | AiConversationErrorPart | AiConversationEventPart | AiConversationPromptPart | AiConversationReasoningPart | AiConversationTextPart | AiConversationToolCallPart | AiConversationWidgetPart """ Metadata about a part in an AI conversation. """ type AiConversationPartMetadata { """ The time when the part ended, as an ISO 8601 string. """ endedAt: String """ The eval log ID of the part. """ evalLogId: String """ AI feedback state for this part. """ feedback: JSONObject """ The phase during which the part was generated. """ phase: AiConversationPartPhase """ The time when the part started, as an ISO 8601 string. """ startedAt: String """ The turn ID of the part. """ turnId: String! } """ The phase during which a conversation part was generated. """ enum AiConversationPartPhase { answer commentary } """ The type of a part in an AI conversation. """ enum AiConversationPartType { error event prompt reasoning text toolCall widget widgetPlaceholder } """ A prompt part in an AI conversation. """ type AiConversationPromptPart implements AiConversationBasePart { """ The Markdown body of the prompt part. """ body: String! """ The data of the prompt part. """ bodyData: JSONObject! """ The ID of the part. """ id: String! """ The metadata of the part. """ metadata: AiConversationPartMetadata! """ The type of the part. """ type: AiConversationPartType! """ The user who created the prompt part. """ user: User } type AiConversationQueryActivityToolCall implements AiConversationBaseToolCall { """ The arguments to the tool call. """ args: AiConversationQueryActivityToolCallArgs displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationQueryActivityToolCallArgs { entities: [AiConversationSearchEntitiesToolCallResultEntities!] } type AiConversationQueryUpdatesToolCall implements AiConversationBaseToolCall { """ The arguments to the tool call. """ args: AiConversationQueryUpdatesToolCallArgs displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationQueryUpdatesToolCallArgs { entity: AiConversationSearchEntitiesToolCallResultEntities updateType: AiConversationQueryUpdatesToolCallArgsUpdateType! } enum AiConversationQueryUpdatesToolCallArgsUpdateType { InitiativeUpdate ProjectUpdate } type AiConversationQueryViewToolCall implements AiConversationBaseToolCall { """ The arguments to the tool call. """ args: AiConversationQueryViewToolCallArgs displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationQueryViewToolCallArgs { filter: String mode: AiConversationQueryViewToolCallArgsMode! view: AiConversationQueryViewToolCallArgsView! } enum AiConversationQueryViewToolCallArgsMode { insight list } type AiConversationQueryViewToolCallArgsView { group: AiConversationSearchEntitiesToolCallResultEntities predefinedView: String type: String! } """ A reasoning part in an AI conversation. """ type AiConversationReasoningPart implements AiConversationBasePart { """ The Markdown body of the reasoning part. """ body: String! """ The data of the reasoning part. """ bodyData: JSONObject! """ The ID of the part. """ id: String! """ The metadata of the part. """ metadata: AiConversationPartMetadata! """ The title of the reasoning part. """ title: String """ The type of the part. """ type: AiConversationPartType! } type AiConversationResearchToolCall implements AiConversationBaseToolCall { """ The arguments to the tool call. """ args: AiConversationResearchToolCallArgs displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON """ The result of the tool call. """ result: AiConversationResearchToolCallResult } type AiConversationResearchToolCallArgs { context: String! query: String! subjects: [AiConversationSearchEntitiesToolCallResultEntities!] } type AiConversationResearchToolCallResult { progressId: String } type AiConversationRestoreEntityToolCall implements AiConversationBaseToolCall { """ The arguments to the tool call. """ args: AiConversationRestoreEntityToolCallArgs displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationRestoreEntityToolCallArgs { entity: AiConversationSearchEntitiesToolCallResultEntities! } type AiConversationRetrieveEntitiesToolCall implements AiConversationBaseToolCall { """ The arguments to the tool call. """ args: AiConversationRetrieveEntitiesToolCallArgs displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationRetrieveEntitiesToolCallArgs { entities: [AiConversationSearchEntitiesToolCallResultEntities!]! } type AiConversationRetryPullRequestCheckToolCall implements AiConversationBaseToolCall { """ The arguments to the tool call. """ args: AiConversationRetryPullRequestCheckToolCallArgs displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationRetryPullRequestCheckToolCallArgs { checkName: String! entity: AiConversationSearchEntitiesToolCallResultEntities! workflowName: String } type AiConversationSearchDocumentationToolCall implements AiConversationBaseToolCall { displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationSearchEntitiesToolCall implements AiConversationBaseToolCall { """ The arguments to the tool call. """ args: AiConversationSearchEntitiesToolCallArgs displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON """ The result of the tool call. """ result: AiConversationSearchEntitiesToolCallResult } type AiConversationSearchEntitiesToolCallArgs { queries: [String!]! type: String } type AiConversationSearchEntitiesToolCallResult { entities: [AiConversationSearchEntitiesToolCallResultEntities!]! } type AiConversationSearchEntitiesToolCallResultEntities { id: String! type: String! } """ The status of an AI conversation. """ enum AiConversationStatus { active awaitingInput complete error pending waiting } type AiConversationSubscribeToEventToolCall implements AiConversationBaseToolCall { """ The arguments to the tool call. """ args: AiConversationSubscribeToEventToolCallArgs displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationSubscribeToEventToolCallArgs { endsAt: String kind: AiConversationSubscribeToEventToolCallArgsKind message: String subscriptionId: String type: AiConversationSubscribeToEventToolCallArgsType! } enum AiConversationSubscribeToEventToolCallArgsKind { timer trigger } enum AiConversationSubscribeToEventToolCallArgsType { once recurring } type AiConversationSuggestValuesToolCall implements AiConversationBaseToolCall { """ The arguments to the tool call. """ args: AiConversationSuggestValuesToolCallArgs displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationSuggestValuesToolCallArgs { field: String! query: String } """ A text part in an AI conversation. """ type AiConversationTextPart implements AiConversationBasePart { """ The Markdown body of the text part. """ body: String! """ The data of the text part. """ bodyData: JSONObject! """ The ID of the part. """ id: String! """ The metadata of the part. """ metadata: AiConversationPartMetadata! """ The type of the part. """ type: AiConversationPartType! } """ The name of a tool that was called in an AI conversation. """ enum AiConversationTool { CodeIntelligence CreateEntity DeleteEntity GetMicrosoftTeamsConversationHistory GetPullRequestCheckLogs GetPullRequestDiff GetPullRequestFile GetSlackConversationHistory HandoffToCodingSession InvokeMcpTool NavigateToPage QueryActivity QueryUpdates QueryView Research RestoreEntity RetrieveEntities RetryPullRequestCheck SearchDocumentation SearchEntities SubscribeToEvent SuggestValues TranscribeMedia TranscribeVideo UnsubscribeFromEvent UpdateEntity WebSearch } """ The tool call. """ union AiConversationToolCall = | AiConversationCodeIntelligenceToolCall | AiConversationCreateEntityToolCall | AiConversationDeleteEntityToolCall | AiConversationGetMicrosoftTeamsConversationHistoryToolCall | AiConversationGetPullRequestCheckLogsToolCall | AiConversationGetPullRequestDiffToolCall | AiConversationGetPullRequestFileToolCall | AiConversationGetSlackConversationHistoryToolCall | AiConversationHandoffToCodingSessionToolCall | AiConversationInvokeMcpToolToolCall | AiConversationNavigateToPageToolCall | AiConversationQueryActivityToolCall | AiConversationQueryUpdatesToolCall | AiConversationQueryViewToolCall | AiConversationResearchToolCall | AiConversationRestoreEntityToolCall | AiConversationRetrieveEntitiesToolCall | AiConversationRetryPullRequestCheckToolCall | AiConversationSearchDocumentationToolCall | AiConversationSearchEntitiesToolCall | AiConversationSubscribeToEventToolCall | AiConversationSuggestValuesToolCall | AiConversationTranscribeMediaToolCall | AiConversationTranscribeVideoToolCall | AiConversationUnsubscribeFromEventToolCall | AiConversationUpdateEntityToolCall | AiConversationWebSearchToolCall """ A tool call part in an AI conversation. """ type AiConversationToolCallPart implements AiConversationBasePart { """ The ID of the part. """ id: String! """ The metadata of the part. """ metadata: AiConversationPartMetadata! """ The tool call part. """ toolCall: AiConversationToolCall! """ The type of the part. """ type: AiConversationPartType! } type AiConversationToolDisplayInfo { activeLabel: String! detail: String icon: String! inactiveLabel: String! result: String } type AiConversationTranscribeMediaToolCall implements AiConversationBaseToolCall { displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationTranscribeVideoToolCall implements AiConversationBaseToolCall { displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationUnsubscribeFromEventToolCall implements AiConversationBaseToolCall { """ The arguments to the tool call. """ args: AiConversationUnsubscribeFromEventToolCallArgs displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationUnsubscribeFromEventToolCallArgs { message: String subscriptionId: String! } type AiConversationUpdateEntityToolCall implements AiConversationBaseToolCall { """ The arguments to the tool call. """ args: AiConversationUpdateEntityToolCallArgs displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationUpdateEntityToolCallArgs { entities: [AiConversationSearchEntitiesToolCallResultEntities!] entity: AiConversationSearchEntitiesToolCallResultEntities } type AiConversationWebSearchToolCall implements AiConversationBaseToolCall { """ The arguments to the tool call. """ args: AiConversationWebSearchToolCallArgs displayInfo: AiConversationToolDisplayInfo! """ The name of the tool that was called. """ name: AiConversationTool! """ The arguments of the tool call. """ rawArgs: JSON """ The result of the tool call. """ rawResult: JSON } type AiConversationWebSearchToolCallArgs { query: String url: String } """ The widget. """ union AiConversationWidget = AiConversationEntityCardWidget | AiConversationEntityListWidget type AiConversationWidgetDisplayInfo { """ The Markdown representation of the widget content. """ body: String! """ The ProseMirror data representation of the widget content. """ bodyData: JSONObject! } """ The name of a widget in an AI conversation. """ enum AiConversationWidgetName { EntityCard EntityList } """ A widget part in an AI conversation. """ type AiConversationWidgetPart implements AiConversationBasePart { """ The ID of the part. """ id: String! """ The metadata of the part. """ metadata: AiConversationPartMetadata! """ The type of the part. """ type: AiConversationPartType! """ The widget. """ widget: AiConversationWidget! } """ [Internal] Tracks the progress and state of an AI prompt workflow execution. Each progress record is associated with an issue or comment and contains the workflow type, current status, metadata about the execution, and optionally the conversation messages exchanged during the workflow. Progress records can form a hierarchy via parent-child relationships for multi-step workflows. """ type AiPromptProgress implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The unique identifier of the entity. """ id: ID! """ [Internal] The log ID for the prompt workflow, if available. """ logId: String """ [Internal] The metadata for the prompt workflow. """ metadata: JSONObject! """ [Internal] The status of the prompt workflow. """ status: AiPromptProgressStatus! """ [Internal] The type of AI prompt workflow. """ type: AiPromptType! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } type AiPromptProgressConnection { edges: [AiPromptProgressEdge!]! nodes: [AiPromptProgress!]! pageInfo: PageInfo! } type AiPromptProgressEdge { """ Used in `before` and `after` args """ cursor: String! node: AiPromptProgress! } """ [Internal] AI prompt progress filtering options. """ input AiPromptProgressFilter { """ [Internal] Compound filters, all of which need to be matched by the AI prompt progress. """ and: [AiPromptProgressFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the identifier. """ id: IDComparator """ [Internal] Compound filters, one of which need to be matched by the AI prompt progress. """ or: [AiPromptProgressFilter!] """ [Internal] Comparator for the AI prompt workflow status. """ status: AiPromptProgressStatusComparator """ [Internal] Comparator for the AI prompt workflow type. """ type: AiPromptTypeComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ [Internal] The status of a prompt workflow. """ enum AiPromptProgressStatus { canceled created failed finished inProgress } """ [Internal] Comparator for the AI prompt workflow status. """ input AiPromptProgressStatusComparator { """ Equals constraint. """ eq: AiPromptProgressStatus """ In-array constraint. """ in: [AiPromptProgressStatus!] """ Not-equals constraint. """ neq: AiPromptProgressStatus """ Not-in-array constraint. """ nin: [AiPromptProgressStatus!] """ Null constraint. Matches any non-null values if the given value is false, otherwise it matches null values. """ null: Boolean } """ [Internal] Filter for AI prompt progress subscription events. """ input AiPromptProgressSubscriptionFilter { """ [Internal] Filter by comment ID. """ commentId: IDComparator """ [Internal] Filter by issue ID. """ issueId: IDComparator """ [Internal] Filter by pull request comment ID. """ pullRequestCommentId: IDComparator """ [Internal] Filter by prompt workflow status. """ status: AiPromptProgressStatusComparator """ [Internal] Filter by prompt workflow type. """ type: AiPromptTypeComparator } """ Custom rules that guide AI behavior for a specific scope. Rules can be defined at the workspace level, team level, integration level, or user level, and are applied hierarchically (workspace rules first, then parent team rules, then team rules). Rules contain structured content that instructs the AI assistant on how to handle specific types of prompts, such as coding agent guidance or triage intelligence configuration. """ type AiPromptRules implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The unique identifier of the entity. """ id: ID! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user who last updated the AI prompt rules. """ updatedBy: User } """ [Internal] The type of AI prompt workflow. """ enum AiPromptType { agentGuidance aiConversation codeIntelligence gongIssueIntake initiativeUpdates intercomIssueIntake internalResearch microsoftTeamsIssueIntake productIntelligence projectUpdates slackIssueIntake zendeskIssueIntake } """ [Internal] Comparator for the AI prompt workflow type. """ input AiPromptTypeComparator { """ Equals constraint. """ eq: AiPromptType """ In-array constraint. """ in: [AiPromptType!] """ Not-equals constraint. """ neq: AiPromptType """ Not-in-array constraint. """ nin: [AiPromptType!] """ Null constraint. Matches any non-null values if the given value is false, otherwise it matches null values. """ null: Boolean } input AirbyteConfigurationInput { """ Linear export API key. """ apiKey: String! } """ Payload for app user notification webhook events. """ type AppUserNotificationWebhookPayload { """ The type of action that triggered the webhook. """ action: String! """ ID of the app user the notification is for. """ appUserId: String! """ The time the payload was created. """ createdAt: DateTime! """ Details of the notification. """ notification: NotificationWebhookPayload! """ ID of the OAuth client the app user is tied to. """ oauthClientId: String! """ ID of the organization for which the webhook belongs to. """ organizationId: String! """ The type of resource. """ type: String! """ The ID of the webhook that sent this event. """ webhookId: String! """ Unix timestamp in milliseconds when the webhook was sent. """ webhookTimestamp: Float! } """ Payload for app user team access change webhook events. """ type AppUserTeamAccessChangedWebhookPayload { """ The type of action that triggered the webhook. """ action: String! """ IDs of the teams the app user was added to. """ addedTeamIds: [String!]! """ ID of the app user the notification is for. """ appUserId: String! """ Whether the app user can access all public teams. """ canAccessAllPublicTeams: Boolean! """ The time the payload was created. """ createdAt: DateTime! """ ID of the OAuth client the app user is tied to. """ oauthClientId: String! """ ID of the organization for which the webhook belongs to. """ organizationId: String! """ IDs of the teams the app user was removed from. """ removedTeamIds: [String!]! """ The type of resource. """ type: String! """ The ID of the webhook that sent this event. """ webhookId: String! """ Unix timestamp in milliseconds when the webhook was sent. """ webhookTimestamp: Float! } """ Public-facing information about an OAuth application. Contains only the fields that are safe to display to users during the authorization flow, excluding sensitive data like client secrets and internal configuration. """ type Application { """ OAuth application's client ID. """ clientId: String! """ Information about the application. """ description: String """ Name of the developer. """ developer: String! """ URL of the developer's website, homepage, or documentation. """ developerUrl: String! """ OAuth application's ID. """ id: String! """ Image of the application. """ imageUrl: String """ Application name. """ name: String! } """ Customer approximate need count sorting options. """ input ApproximateNeedCountSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ A generic payload return from entity archive or deletion mutations. """ interface ArchivePayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Contains requested archived model objects. """ type ArchiveResponse { """ A JSON serialized collection of model objects loaded from the archive """ archive: String! """ The version of the remote database. Incremented by 1 for each migration run on the database. """ databaseVersion: Float! """ Whether the dependencies for the model objects are included in the archive. """ includesDependencies: [String!]! """ The total number of entities in the archive. """ totalCount: Float! } type AsksChannelConnectPayload { """ Whether the bot needs to be manually added to the channel. """ addBot: Boolean! """ The integration that was created or updated. """ integration: Integration """ The identifier of the last sync operation. """ lastSyncId: Float! """ The new Asks Slack channel mapping for the connected channel. """ mapping: SlackChannelNameMapping! """ Whether the operation was successful. """ success: Boolean! } """ Issue assignee sorting options. """ input AssigneeSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ An attachment linking external content to an issue. Attachments represent connections to external resources such as GitHub pull requests, Slack messages, Zendesk tickets, Figma files, Sentry issues, Intercom conversations, and plain URLs. Each attachment has a title and subtitle displayed in the Linear UI, a URL serving as both the link destination and unique identifier per issue, and optional metadata specific to the source integration. """ type Attachment implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The body data of the attachment, if any. """ bodyData: String """ The time at which the entity was created. """ createdAt: DateTime! """ The creator of the attachment. """ creator: User """ The non-Linear user who created the attachment. """ externalUserCreator: ExternalUser """ Whether attachments from the same source application should be visually grouped together in the Linear issue detail view. """ groupBySource: Boolean! """ The unique identifier of the entity. """ id: ID! """ The issue this attachment belongs to. """ issue: Issue! """ Integration-specific metadata for this attachment. The schema varies by source type and may include fields such as pull request status, review counts, commit information, ticket status, or other data from the external system. """ metadata: JSONObject! """ The issue this attachment was originally created on. Null if the attachment hasn't been moved. """ originalIssue: Issue """ Information about the source which created the attachment. """ source: JSONObject """ The source type of the attachment, derived from the source metadata. Returns the integration type (e.g., 'github', 'slack', 'zendesk') or 'unknown' if no source is set. """ sourceType: String """ Content for the subtitle line in the Linear attachment widget. """ subtitle: String """ Content for the title line in the Linear attachment widget. """ title: String! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The URL of the external resource this attachment links to. Also serves as a unique identifier for the attachment within an issue; no two attachments on the same issue can share the same URL. """ url: String! } """ Attachment collection filtering options. """ input AttachmentCollectionFilter { """ Compound filters, all of which need to be matched by the attachment. """ and: [AttachmentCollectionFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the attachments creator must satisfy. """ creator: NullableUserFilter """ Filters that needs to be matched by all attachments. """ every: AttachmentFilter """ Comparator for the identifier. """ id: IDComparator """ Comparator for the collection length. """ length: NumberComparator """ Compound filters, one of which need to be matched by the attachment. """ or: [AttachmentCollectionFilter!] """ Filters that needs to be matched by some attachments. """ some: AttachmentFilter """ Comparator for the source type. """ sourceType: SourceTypeComparator """ Comparator for the subtitle. """ subtitle: NullableStringComparator """ Comparator for the title. """ title: StringComparator """ Comparator for the updated at date. """ updatedAt: DateComparator """ Comparator for the url. """ url: StringComparator } type AttachmentConnection { edges: [AttachmentEdge!]! nodes: [Attachment!]! pageInfo: PageInfo! } """ Input for creating a new issue attachment. """ input AttachmentCreateInput { """ Create a linked comment with markdown body. """ commentBody: String """ [Internal] Create a linked comment with Prosemirror body. Please use `commentBody` instead. """ commentBodyData: JSONObject """ Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=application` mode. """ createAsUser: String """ Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating attachments in `actor=app` mode. """ displayIconUrl: String """ Indicates if attachments for the same source application should be grouped in the Linear UI. """ groupBySource: Boolean """ An icon url to display with the attachment. Should be of jpg or png format. Maximum of 1MB in size. Dimensions should be 20x20px for optimal display quality. """ iconUrl: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The issue to associate the attachment with. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String! """ Attachment metadata object with string and number values. """ metadata: JSONObject """ The attachment subtitle. """ subtitle: String """ The attachment title. """ title: String! """ Attachment location which is also used as an unique identifier for the attachment. If another attachment is created with the same `url` value, existing record is updated instead. """ url: String! } type AttachmentEdge { """ Used in `before` and `after` args """ cursor: String! node: Attachment! } """ Attachment filtering options. """ input AttachmentFilter { """ Compound filters, all of which need to be matched by the attachment. """ and: [AttachmentFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the attachments creator must satisfy. """ creator: NullableUserFilter """ Comparator for the identifier. """ id: IDComparator """ Compound filters, one of which need to be matched by the attachment. """ or: [AttachmentFilter!] """ Comparator for the source type. """ sourceType: SourceTypeComparator """ Comparator for the subtitle. """ subtitle: NullableStringComparator """ Comparator for the title. """ title: StringComparator """ Comparator for the updated at date. """ updatedAt: DateComparator """ Comparator for the url. """ url: StringComparator } """ The result of an attachment mutation. """ type AttachmentPayload { """ The issue attachment that was created. """ attachment: Attachment! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ The result of an attachment sources query. """ type AttachmentSourcesPayload { """ A unique list of all source types used in this workspace. """ sources: JSONObject! } """ Input for updating an existing issue attachment. """ input AttachmentUpdateInput { """ An icon url to display with the attachment. Should be of jpg or png format. Maximum of 1MB in size. Dimensions should be 20x20px for optimal display quality. """ iconUrl: String """ Attachment metadata object with string and number values. """ metadata: JSONObject """ The attachment subtitle. """ subtitle: String """ The attachment title. """ title: String! } """ Payload for an attachment webhook. """ type AttachmentWebhookPayload { """ The time at which the entity was archived. """ archivedAt: String """ The time at which the entity was created. """ createdAt: String! """ The ID of the creator of the attachment. """ creatorId: String """ The ID of the non-Linear user who created the attachment. """ externalUserCreatorId: String """ Whether attachments for the same source application should be grouped in the Linear UI. """ groupBySource: Boolean! """ The ID of the entity. """ id: String! """ The ID of the issue this attachment belongs to. """ issueId: String! """ Custom metadata related to the attachment. """ metadata: JSONObject! """ The ID of the issue this attachment belonged to originally. """ originalIssueId: String """ Information about the source which created the attachment. """ source: JSONObject """ The source type of the attachment. """ sourceType: String """ Optional subtitle of the attachment. """ subtitle: String """ The title of the attachment. """ title: String! """ The time at which the entity was updated. """ updatedAt: String! """ The URL of the attachment. """ url: String! } """ A workspace audit log entry recording a security or compliance-relevant action. Audit entries capture who performed an action, when, from what IP address and country, and include type-specific metadata. The audit log is partitioned by time for performance and is accessible only to workspace administrators. Examples of audited actions include user authentication events, permission changes, data exports, and workspace setting modifications. """ type AuditEntry implements Node { """ The user that caused the audit entry to be created. """ actor: User """ The ID of the user that caused the audit entry to be created. """ actorId: String """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The ISO 3166-1 alpha-2 country code derived from the request IP address. Null if geo-location could not be determined. """ countryCode: String """ The time at which the entity was created. """ createdAt: DateTime! """ The unique identifier of the entity. """ id: ID! """ The IP address of the actor at the time the audited action was performed. Null if the IP was not captured. """ ip: String """ Additional metadata related to the audit entry. """ metadata: JSONObject """ The workspace the audit log belongs to. """ organization: Organization """ Additional information related to the request which performed the action. """ requestInformation: JSONObject """ The type of audited action (e.g., user authentication, permission change, data export, setting modification). """ type: String! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } type AuditEntryConnection { edges: [AuditEntryEdge!]! nodes: [AuditEntry!]! pageInfo: PageInfo! } type AuditEntryEdge { """ Used in `before` and `after` args """ cursor: String! node: AuditEntry! } """ Audit entry filtering options. """ input AuditEntryFilter { """ Filters that the audit entry actor must satisfy. """ actor: NullableUserFilter """ Compound filters, all of which need to be matched by the issue. """ and: [AuditEntryFilter!] """ Comparator for the country code. """ countryCode: StringComparator """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the identifier. """ id: IDComparator """ Comparator for the IP address. """ ip: StringComparator """ Compound filters, one of which need to be matched by the issue. """ or: [AuditEntryFilter!] """ Comparator for the type. """ type: StringComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } type AuditEntryType { """ Description of the audit entry type. """ description: String! """ The audit entry type. """ type: String! } """ Payload for an audit entry webhook. """ type AuditEntryWebhookPayload { """ The ID of the user that caused the audit entry to be created. """ actorId: String """ The time at which the entity was archived. """ archivedAt: String """ Country code of request resulting to audit entry. """ countryCode: String """ The time at which the entity was created. """ createdAt: String! """ The ID of the entity. """ id: String! """ IP from actor when entry was recorded. """ ip: String """ Additional metadata related to the audit entry. """ metadata: JSONObject """ The ID of the organization that the audit entry belongs to. """ organizationId: String! """ Additional information related to the request which performed the action. """ requestInformation: JSONObject """ The type of the audit entry. """ type: String! """ The time at which the entity was updated. """ updatedAt: String! } """ An identity provider. """ type AuthIdentityProvider { """ The time at which the entity was created. """ createdAt: DateTime! """ Whether the identity provider is the default identity provider migrated from organization level settings. """ defaultMigrated: Boolean! """ The unique identifier of the entity. """ id: ID! """ The issuer's custom entity ID. """ issuerEntityId: String """ The SAML priority used to pick default workspace in SAML SP initiated flow, when same domain is claimed for SAML by multiple workspaces. Lower priority value means higher preference. """ priority: Float """ Whether SAML authentication is enabled for organization. """ samlEnabled: Boolean! """ Whether SCIM provisioning is enabled for organization. """ scimEnabled: Boolean! """ The service provider (Linear) custom entity ID. Defaults to https://auth.linear.app/sso """ spEntityId: String """ Binding method for authentication call. Can be either `post` (default) or `redirect`. """ ssoBinding: String """ Sign in endpoint URL for the identity provider. """ ssoEndpoint: String """ The algorithm of the Signing Certificate. Can be one of `sha1`, `sha256` (default), or `sha512`. """ ssoSignAlgo: String """ X.509 Signing Certificate in string form. """ ssoSigningCert: String """ The type of identity provider. """ type: IdentityProviderType! } """ An organization. Organizations are root-level objects that contain users and teams. """ type AuthOrganization { """ Allowed authentication providers, empty array means all are allowed """ allowedAuthServices: [String!]! @deprecated(reason: "Use authSettings.allowedAuthServices instead.") """ An approximate count of users, updated once per day. """ approximateUserCount: Float! """ Authentication settings for the organization. """ authSettings: JSONObject! """ The time at which the entity was created. """ createdAt: DateTime! """ The time at which deletion of the organization was requested. """ deletionRequestedAt: DateTime """ Whether the organization is enabled. Used as a superuser tool to lock down the org. """ enabled: Boolean! """ Whether to hide other organizations for new users signing up with email domains claimed by this organization. """ hideNonPrimaryOrganizations: Boolean! """ The unique identifier of the entity. """ id: ID! """ The organization's logo URL. """ logoUrl: String """ The organization's name. """ name: String! """ Previously used URL keys for the organization (last 3 are kept and redirected). """ previousUrlKeys: [String!]! """ The region the organization is hosted in. """ region: String! """ The feature release channel the organization belongs to. """ releaseChannel: ReleaseChannel! """ Whether SAML authentication is enabled for organization. """ samlEnabled: Boolean! """ [INTERNAL] SAML settings """ samlSettings: JSONObject """ Whether SCIM provisioning is enabled for organization. """ scimEnabled: Boolean! """ The email domain or URL key for the organization. """ serviceId: String! """ The organization's unique URL key. """ urlKey: String! userCount: Float } type AuthResolverResponse { """ Should the signup flow allow access for the domain. """ allowDomainAccess: Boolean """ List of organizations allowing this user account to join automatically. """ availableOrganizations: [AuthOrganization!] """ Email for the authenticated account. """ email: String! """ User account ID. """ id: String! """ ID of the organization last accessed by the user. """ lastUsedOrganizationId: String """ List of organization available to this user account but locked due to the current auth method. """ lockedOrganizations: [AuthOrganization!] """ List of locked users that are locked by login restrictions """ lockedUsers: [AuthUser!]! """ The authentication service used for the current session (e.g., google, email, saml). """ service: String """ Application token. """ token: String @deprecated(reason: "Deprecated and not used anymore. Never populated.") """ List of active users that belong to the user account. """ users: [AuthUser!]! } """ A user that has access to the the resources of an organization. """ type AuthUser { """ Whether the user is active. """ active: Boolean! """ An URL to the user's avatar image. """ avatarUrl: String """ The time at which the entity was created. """ createdAt: DateTime! """ The user's display (nick) name. Unique within each organization. """ displayName: String! """ The user's email address. """ email: String! id: ID! """ [INTERNAL] Identity provider the user is managed by. """ identityProvider: AuthIdentityProvider """ The user's full name. """ name: String! """ Organization the user belongs to. """ organization: AuthOrganization! """ Whether the user is an organization admin or guest on a database level. """ role: UserRoleType! """ User account ID the user belongs to. """ userAccountId: String! } """ Information about an active authentication session, including the device, location, and timestamps for when it was created and last used. """ type AuthenticationSessionResponse { """ Used web browser. """ browserType: String """ Client used for the session """ client: String """ Country codes of all seen locations. """ countryCodes: [String!]! """ The time at which the entity was created. """ createdAt: DateTime! """ Detailed name of the session including version information, derived from the user agent. """ detailedName: String! id: String! """ IP address. """ ip: String """ Whether this session is the one used to make the current API request. """ isCurrentSession: Boolean! """ When was the session last seen """ lastActiveAt: DateTime """ Human readable location """ location: String """ Location city name. """ locationCity: String """ Location country name. """ locationCountry: String """ Location country code. """ locationCountryCode: String """ Location region code. """ locationRegionCode: String """ Name of the session, derived from the client and operating system """ name: String! """ Operating system used for the session """ operatingSystem: String """ Service used for logging in. """ service: String """ Type of application used to authenticate. """ type: AuthenticationSessionType! """ Date when the session was last updated. """ updatedAt: DateTime! """ Session's user-agent. """ userAgent: String } enum AuthenticationSessionType { android desktop ios web } """ Base fields for all webhook payloads. """ type BaseWebhookPayload { """ The time the payload was created. """ createdAt: DateTime! """ ID of the organization for which the webhook belongs to. """ organizationId: String! """ The ID of the webhook that sent this event. """ webhookId: String! """ Unix timestamp in milliseconds when the webhook was sent. """ webhookTimestamp: Float! } """ Comparator for booleans. """ input BooleanComparator { """ Equals constraint. """ eq: Boolean """ Not equals constraint. """ neq: Boolean } """ A candidate code repository to consider when generating repository suggestions for an issue. """ input CandidateRepository { """ Hostname of the Git service (e.g., 'github.com', 'github.company.com'). """ hostname: String! """ The full name of the repository in owner/name format (e.g., 'acme/backend'). """ repositoryFullName: String! } """ [Internal] Detailed information about the coding agent sandbox environment associated with an agent session, including cloud infrastructure URLs for debugging and monitoring. """ type CodingAgentSandboxEntry { """ The Git ref (branch, tag, or commit) that was checked out as the base for this sandbox. Defaults to the repository's default branch. """ baseRef: String """ The Git branch name created for this sandbox session. Null if a branch has not yet been assigned. """ branchName: String """ The time at which the sandbox was created. """ createdAt: DateTime! """ The user who initiated the session. """ creatorId: String """ The time at which the session reached a terminal state. Null if still active. """ endedAt: DateTime """ The sandbox identifier. """ id: String! """ GitHub repository in owner/repo format. """ repository: String! """ URL to the sandbox execution logs in Modal. Null if the sandbox has no URL or is not running on Modal. """ sandboxLogsUrl: String """ The URL of the running sandbox environment. Null when the sandbox is hibernated or destroyed. """ sandboxUrl: String """ The time at which the sandbox first became active. Null if not yet started. """ startedAt: DateTime """ The Claude Agent SDK session ID used for resuming multi-turn conversations with the sandbox worker. """ workerConversationId: String } """ [Internal] Coding agent sandbox details for an agent session. """ type CodingAgentSandboxPayload { """ The agent session identifier. """ agentSessionId: String! """ Datadog logs URL covering all sandboxes in the session. """ datadogLogsUrl: String """ All sandbox containers for this session, oldest first. """ sandboxes: [CodingAgentSandboxEntry!]! """ Temporal URL to view workflows for this session. """ temporalWorkflowsUrl: String } """ A comment associated with an issue, project update, initiative update, document content, post, project, or initiative. Comments support rich text (ProseMirror), emoji reactions, and threaded replies via parentId. Comments can be created by workspace users or by external users through integrations (e.g., Slack, Intercom). Each comment belongs to exactly one parent entity. """ type Comment implements Node { """ Agent session associated with this comment. """ agentSession: AgentSession """ [Internal] Agent sessions associated with this comment. """ agentSessions( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): AgentSessionConnection! """ [Internal] AI prompt progresses associated with this comment. """ aiPromptProgresses( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned AI prompt progresses. """ filter: AiPromptProgressFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): AiPromptProgressConnection! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The comment content in markdown format. This is a derived representation of the canonical bodyData ProseMirror content. """ body: String! """ [Internal] The comment content as a ProseMirror document. This is the canonical rich-text representation of the comment body. """ bodyData: String! """ The bot that created the comment. """ botActor: ActorBot """ The children of the comment. """ children( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned comments. """ filter: CommentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): CommentConnection! """ The time at which the entity was created. """ createdAt: DateTime! """ Issues created from this comment. """ createdIssues( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issues. """ filter: IssueFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueConnection! """ The document content that the comment is associated with. Null if the comment belongs to a different parent entity type. Used for inline comments on documents. """ documentContent: DocumentContent """ The ID of the document content that the comment is associated with. Null if the comment belongs to a different parent entity type. """ documentContentId: String """ The time the comment was last edited by its author. Null if the comment has not been edited since creation. """ editedAt: DateTime """ The external thread that the comment is synced with. """ externalThread: SyncedExternalThread """ The external user who wrote the comment, when the comment was created through an integration such as Slack or Intercom. Null for comments created by workspace users. """ externalUser: ExternalUser """ [Internal] Whether the comment should be hidden from Linear clients. This is typically used for bot comments that provide redundant information (e.g., Slack Asks confirmation messages). """ hideInLinear: Boolean! """ The unique identifier of the entity. """ id: ID! """ [Internal] The initiative that the comment is associated with. Null if the comment belongs to a different parent entity type. """ initiative: Initiative """ [Internal] The ID of the initiative that the comment is associated with. Null if the comment belongs to a different parent entity type. """ initiativeId: String """ The initiative update that the comment is associated with. Null if the comment belongs to a different parent entity type. """ initiativeUpdate: InitiativeUpdate """ The ID of the initiative update that the comment is associated with. Null if the comment belongs to a different parent entity type. """ initiativeUpdateId: String """ [Internal] Whether the comment is an artificial placeholder for an agent session thread created without a comment mention. """ isArtificialAgentSessionRoot: Boolean! """ The issue that the comment is associated with. Null if the comment belongs to a different parent entity type. """ issue: Issue """ The ID of the issue that the comment is associated with. Null if the comment belongs to a different parent entity type. """ issueId: String """ [Internal] The user on whose behalf the comment was created, e.g. when the Linear assistant creates a comment for a user. """ onBehalfOf: User """ The parent comment under which the current comment is nested. Null for top-level comments that are not replies. """ parent: Comment """ The ID of the parent comment under which the current comment is nested. Null for top-level comments. """ parentId: String """ The post that the comment is associated with. Null if the comment belongs to a different parent entity type. """ post: Post """ [Internal] The project that the comment is associated with. Used for project-level discussion threads. Null if the comment belongs to a different parent entity type. """ project: Project """ [Internal] The ID of the project that the comment is associated with. Null if the comment belongs to a different parent entity type. """ projectId: String """ The project update that the comment is associated with. Null if the comment belongs to a different parent entity type. """ projectUpdate: ProjectUpdate """ The ID of the project update that the comment is associated with. Null if the comment belongs to a different parent entity type. """ projectUpdateId: String """ The text that this comment references, used for inline comments on documents or issue descriptions. Null for standard comments that do not quote specific text. """ quotedText: String """ Emoji reaction summary for this comment, grouped by emoji type. Each entry contains the emoji name, count, and the IDs of users who reacted. """ reactionData: JSONObject! """ Reactions associated with the comment. """ reactions: [Reaction!]! """ The time when the comment thread was resolved. Null if the thread is unresolved. """ resolvedAt: DateTime """ The child comment that resolved this thread. Only set on top-level (parent) comments. Null if the thread is unresolved. """ resolvingComment: Comment """ The ID of the child comment that resolved this thread. Null if the thread is unresolved. """ resolvingCommentId: String """ The user that resolved the comment thread. Null if the thread has not been resolved or if this is not a top-level comment. """ resolvingUser: User """ [Internal] Agent sessions spawned from this comment. """ spawnedAgentSessions( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): AgentSessionConnection! """ The external services the comment is synced with. """ syncedWith: [ExternalEntityInfo!] """ [Internal] An AI-generated summary of the comment thread. Null if no summary has been generated or if this is not a top-level comment. """ threadSummary: JSONObject """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ Comment's URL. """ url: String! """ The user who wrote the comment. Null for comments created by integrations or bots without a user association. """ user: User } """ Certain properties of a comment. """ type CommentChildWebhookPayload { """ The body of the comment. """ body: String! """ The ID of the document content this comment belongs to. """ documentContentId: String """ The ID of the comment. """ id: String! """ [Internal] The ID of the initiative this comment belongs to. """ initiativeId: String """ The ID of the initiative update this comment belongs to. """ initiativeUpdateId: String """ The ID of the issue this comment belongs to. """ issueId: String """ [Internal] The ID of the project this comment belongs to. """ projectId: String """ The ID of the project update this comment belongs to. """ projectUpdateId: String """ The ID of the user who created this comment. """ userId: String } """ Comment filtering options. """ input CommentCollectionFilter { """ Compound filters, all of which need to be matched by the comment. """ and: [CommentCollectionFilter!] """ Comparator for the comment's body. """ body: StringComparator """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the comment's document content must satisfy. """ documentContent: NullableDocumentContentFilter """ Filters that needs to be matched by all comments. """ every: CommentFilter """ Comparator for the identifier. """ id: IDComparator """ [Internal] Filters that the comment's initiative must satisfy. """ initiative: NullableInitiativeFilter """ Filters that the comment's issue must satisfy. """ issue: NullableIssueFilter """ Comparator for the collection length. """ length: NumberComparator """ Filters that the comment's customer needs must satisfy. """ needs: CustomerNeedCollectionFilter """ Compound filters, one of which need to be matched by the comment. """ or: [CommentCollectionFilter!] """ Filters that the comment parent must satisfy. """ parent: NullableCommentFilter """ [Internal] Filters that the comment's project must satisfy. """ project: NullableProjectFilter """ Filters that the comment's project update must satisfy. """ projectUpdate: NullableProjectUpdateFilter """ Filters that the comment's reactions must satisfy. """ reactions: ReactionCollectionFilter """ Filters that needs to be matched by some comments. """ some: CommentFilter """ Comparator for the updated at date. """ updatedAt: DateComparator """ Filters that the comment's creator must satisfy. """ user: UserFilter } type CommentConnection { edges: [CommentEdge!]! nodes: [Comment!]! pageInfo: PageInfo! } """ Input for creating a new comment. """ input CommentCreateInput { """ The comment content in markdown format. """ body: String """ [Internal] The comment content as a Prosemirror document. """ bodyData: JSON """ Create comment as a user with the provided name. This option is only available to OAuth applications creating comments in `actor=app` mode. """ createAsUser: String """ Flag to indicate this comment should be created on the issue's synced Slack comment thread. If no synced Slack comment thread exists, the mutation will fail. If there are multiple synced Slack threads on the issue, the oldest one will be targeted. """ createOnSyncedSlackThread: Boolean """ The time at which the comment was created (e.g. if importing from another system). Must be a time in the past. If none is provided, the backend will generate the time as now. """ createdAt: DateTime """ Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=app` mode. """ displayIconUrl: String """ Flag to prevent auto subscription to the issue the comment is created on. """ doNotSubscribeToIssue: Boolean """ The document content to associate the comment with. """ documentContentId: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ [Internal] The initiative to associate the comment with. """ initiativeId: String """ The initiative update to associate the comment with. """ initiativeUpdateId: String """ The issue to associate the comment with. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String """ The parent comment under which to nest a current comment. """ parentId: String """ The post to associate the comment with. """ postId: String """ [Internal] The project to associate the comment with. """ projectId: String """ The project update to associate the comment with. """ projectUpdateId: String """ The text that this comment references. Only defined for inline comments. """ quotedText: String """ [INTERNAL] The identifiers of the users subscribing to this comment thread. """ subscriberIds: [String!] } type CommentEdge { """ Used in `before` and `after` args """ cursor: String! node: Comment! } """ Comment filtering options. """ input CommentFilter { """ Compound filters, all of which need to be matched by the comment. """ and: [CommentFilter!] """ Comparator for the comment's body. """ body: StringComparator """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the comment's document content must satisfy. """ documentContent: NullableDocumentContentFilter """ Comparator for the identifier. """ id: IDComparator """ [Internal] Filters that the comment's initiative must satisfy. """ initiative: NullableInitiativeFilter """ Filters that the comment's issue must satisfy. """ issue: NullableIssueFilter """ Filters that the comment's customer needs must satisfy. """ needs: CustomerNeedCollectionFilter """ Compound filters, one of which need to be matched by the comment. """ or: [CommentFilter!] """ Filters that the comment parent must satisfy. """ parent: NullableCommentFilter """ [Internal] Filters that the comment's project must satisfy. """ project: NullableProjectFilter """ Filters that the comment's project update must satisfy. """ projectUpdate: NullableProjectUpdateFilter """ Filters that the comment's reactions must satisfy. """ reactions: ReactionCollectionFilter """ Comparator for the updated at date. """ updatedAt: DateComparator """ Filters that the comment's creator must satisfy. """ user: UserFilter } """ The result of a comment mutation. """ type CommentPayload { """ The comment that was created or updated. """ comment: Comment! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Input for updating an existing comment. """ input CommentUpdateInput { """ The comment content. """ body: String """ [Internal] The comment content as a Prosemirror document. """ bodyData: JSON """ [INTERNAL] Flag to prevent auto subscription to the issue the comment is updated on. """ doNotSubscribeToIssue: Boolean """ The text that this comment references. Only defined for inline comments. """ quotedText: String """ [INTERNAL] The child comment that resolves this thread. """ resolvingCommentId: String """ [INTERNAL] The user who resolved this thread. """ resolvingUserId: String """ [INTERNAL] The identifiers of the users subscribing to this comment. """ subscriberIds: [String!] } """ Payload for a comment webhook. """ type CommentWebhookPayload { """ The time at which the entity was archived. """ archivedAt: String """ The body of the comment. """ body: String! """ The bot actor data for this comment. """ botActor: String """ The time at which the entity was created. """ createdAt: String! """ The document content for this comment. """ documentContent: DocumentContentChildWebhookPayload """ The ID of the document content this comment belongs to. """ documentContentId: String """ When the comment was last edited. """ editedAt: String """ The external user who created this comment. """ externalUser: ExternalUserChildWebhookPayload """ The ID of the external user who created this comment. """ externalUserId: String """ The ID of the entity. """ id: String! """ [Internal] The ID of the initiative this comment belongs to. """ initiativeId: String """ The initiative update this comment belongs to. """ initiativeUpdate: InitiativeUpdateChildWebhookPayload """ The ID of the initiative update this comment belongs to. """ initiativeUpdateId: String """ The issue this comment belongs to. """ issue: IssueChildWebhookPayload """ The ID of the issue this comment belongs to. """ issueId: String """ The parent comment. """ parent: CommentChildWebhookPayload """ The ID of the parent comment. """ parentId: String """ The ID of the post this comment belongs to. """ postId: String """ [Internal] The ID of the project this comment belongs to. """ projectId: String """ The project update this comment belongs to. """ projectUpdate: ProjectUpdateChildWebhookPayload """ The ID of the project update this comment belongs to. """ projectUpdateId: String """ The quoted text in this comment. """ quotedText: String """ The reaction data for this comment. """ reactionData: JSONObject! """ When the comment was resolved. """ resolvedAt: String """ The ID of the comment that resolved this comment. """ resolvingCommentId: String """ The ID of the user who resolved this comment. """ resolvingUserId: String """ The entity this comment is synced with. """ syncedWith: JSONObject """ The time at which the entity was updated. """ updatedAt: String! """ The user who created this comment. """ user: UserChildWebhookPayload """ The ID of the user who created this comment. """ userId: String } """ Issue completion date sorting options. """ input CompletedAtSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Input for submitting a support contact message from an authenticated user. """ input ContactCreateInput { """ The user's browser name and version (e.g., 'Chrome 120'). """ browser: String """ The version of the Linear client application the user is running. """ clientVersion: String """ The user's device type or model information. """ device: String """ How disappointed the user would be if they could no longer use Linear. Scale: 0 = not disappointed, 1 = somewhat disappointed, 2 = very disappointed, 3 = extremely disappointed. """ disappointmentRating: Int """ The feedback or support message submitted by the user. """ message: String! """ The user's operating system name and version (e.g., 'macOS 14.0'). """ operatingSystem: String """ The type of support contact (e.g., bug report, feature request, general feedback). """ type: String! } """ Return type for contact mutations. """ type ContactPayload { """ Whether the operation was successful. """ success: Boolean! } """ [INTERNAL] Input for submitting a sales or pricing inquiry to the Linear sales team. Small companies are routed to Intercom support, while larger companies are routed to HubSpot. """ input ContactSalesCreateInput { """ The size of the inquiring company (e.g., '1-19', '20-99', '100-499'). Used to route the inquiry to the appropriate sales channel. """ companySize: String """ PostHog distinct ID for correlating this inquiry with anonymous analytics events. """ distinctId: String """ Work email address of the person submitting the sales inquiry. """ email: String! """ An optional message from the user describing their needs or questions. """ message: String """ Full name of the person submitting the sales inquiry. """ name: String! """ PostHog session ID for correlating this inquiry with the user's browsing session. """ sessionId: String """ The page URL from which the sales inquiry was submitted, for attribution tracking. """ url: String } """ [Internal] Comparator for content. """ input ContentComparator { """ [Internal] Contains constraint. """ contains: String """ [Internal] Not-contains constraint. """ notContains: String } enum ContextViewType { activeCycle activeIssues backlog triage upcomingCycle } """ The payload returned by the createCsvExportReport mutation. """ type CreateCsvExportReportPayload { """ Whether the operation was successful. """ success: Boolean! } """ [INTERNAL] Response from creating or joining a workspace. """ type CreateOrJoinOrganizationResponse { """ The workspace that was created or joined. """ organization: AuthOrganization! """ The user who created or joined the workspace. """ user: AuthUser! } input CreateOrganizationInput { """ Whether the organization should allow email domain access. """ domainAccess: Boolean """ The name of the organization. """ name: String! """ The timezone of the organization, passed in by client. """ timezone: String """ The URL key of the organization. """ urlKey: String! """ JSON serialized UTM parameters associated with the creation of the workspace. """ utm: String } """ Issue creation date sorting options. """ input CreatedAtSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Payload for custom webhook resource events. """ type CustomResourceWebhookPayload { """ The type of action that triggered the webhook. """ action: String! """ The time the payload was created. """ createdAt: DateTime! """ ID of the organization for which the webhook belongs to. """ organizationId: String! """ The type of resource. """ type: String! """ The ID of the webhook that sent this event. """ webhookId: String! """ Unix timestamp in milliseconds when the webhook was sent. """ webhookTimestamp: Float! } """ A custom view built from a saved filter, sort, and grouping configuration. Views can be personal (visible only to the owner) or shared with the entire workspace. They define which issues, projects, initiatives, or feed items are displayed and how they are organized. Views can optionally be scoped to a team, project, or initiative. """ type CustomView implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The hex color code of the custom view icon. """ color: String """ The time at which the entity was created. """ createdAt: DateTime! """ The user who originally created the custom view. """ creator: User! """ The description of the custom view. """ description: String """ [INTERNAL] The facet that links this custom view to its parent entity (project, initiative, team page, etc.). Null if the view is not attached to any parent via a facet. """ facet: Facet """ The filter applied to feed items in the custom view. When set, this view displays feed items (updates) instead of issues. """ feedItemFilterData: JSONObject """ The structured filter applied to issues in the custom view. Used when the view's modelName is "Issue". """ filterData: JSONObject! """ The legacy serialized filters applied to issues in the custom view. """ filters: JSONObject! @deprecated(reason: "Will be replaced by `filterData` in a future update") """ The icon of the custom view. Can be an emoji or a decorative icon identifier. """ icon: String """ The unique identifier of the entity. """ id: ID! """ The filter applied to initiatives in the custom view. When set, this view displays initiatives instead of issues. """ initiativeFilterData: JSONObject """ Initiatives matching the custom view's initiative filter. Returns an empty connection if the view's modelName is not "Initiative". """ initiatives( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned initiatives. """ filter: InitiativeFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): InitiativeConnection! """ Issues matching the custom view's issue filter. Returns an empty connection if the view's modelName is not "Issue". """ issues( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issues. """ filter: IssueFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ Include issues from sub-teams when the custom view is associated with a team. """ includeSubTeams: Boolean = false """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy """ [INTERNAL] Sort returned issues. """ sort: [IssueSortInput!] ): IssueConnection! """ The entity type this view displays. Determined by which filter is set: "Project" if projectFilterData is set, "Initiative" if initiativeFilterData is set, "FeedItem" if feedItemFilterData is set, or "Issue" by default. """ modelName: String! """ The name of the custom view, displayed in the sidebar and navigation. """ name: String! """ The workspace of the custom view. """ organization: Organization! """ The workspace-level default view preferences for this custom view, if any have been set. """ organizationViewPreferences: ViewPreferences """ The user who owns the custom view. For personal views, only the owner can see and edit the view. """ owner: User! """ The filter applied to projects in the custom view. When set, this view displays projects instead of issues. """ projectFilterData: JSONObject """ Projects matching the custom view's project filter. Returns an empty connection if the view's modelName is not "Project". """ projects( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned projects. """ filter: ProjectFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ Include projects from sub-teams when the custom view is associated with a team. """ includeSubTeams: Boolean = true """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy """ [INTERNAL] Sort returned projects. """ sort: [ProjectSortInput!] ): ProjectConnection! """ Whether the custom view is shared with everyone in the organization. Shared views appear in the workspace sidebar for all members. Personal (non-shared) views are only visible to their owner. """ shared: Boolean! """ The custom view's unique URL slug, used to construct human-readable URLs. Automatically generated on creation. """ slugId: String! """ The team that the custom view is scoped to. Null if the view is workspace-wide or scoped to a project/initiative instead. """ team: Team """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user who last updated the custom view. Null if the updater's account has been deleted. """ updatedBy: User """ Feed items (updates) matching the custom view's feed item filter. Returns an empty connection if the view's modelName is not "FeedItem". """ updates( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned feed items. """ filter: FeedItemFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ Include updates from sub-teams when the custom view is associated with a team. """ includeSubTeams: Boolean = false """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): FeedItemConnection! """ The current user's personal view preferences for this custom view, if they have set any. """ userViewPreferences: ViewPreferences """ The computed view preferences values for this custom view, merging organization defaults with user overrides and system defaults. Use this for the effective display settings rather than reading raw preferences directly. """ viewPreferencesValues: ViewPreferencesValues } type CustomViewConnection { edges: [CustomViewEdge!]! nodes: [CustomView!]! pageInfo: PageInfo! } """ Input for creating a new custom view. A name is required. Optionally scope the view to a team, project, or initiative. """ input CustomViewCreateInput { """ The color of the icon of the custom view. """ color: String """ The description of the custom view. """ description: String """ The feed item filter applied to issues in the custom view. """ feedItemFilterData: FeedItemFilter """ The filter applied to issues in the custom view. """ filterData: IssueFilter """ The icon of the custom view. """ icon: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ [ALPHA] The initiative filter applied to issues in the custom view. """ initiativeFilterData: InitiativeFilter """ The id of the initiative associated with the custom view. """ initiativeId: String """ The name of the custom view. """ name: String! """ The owner of the custom view. """ ownerId: String """ The project filter applied to issues in the custom view. """ projectFilterData: ProjectFilter """ The id of the project associated with the custom view. """ projectId: String """ Whether the custom view is shared with everyone in the workspace. """ shared: Boolean """ The id of the team associated with the custom view. """ teamId: String } """ Custom view creation date sorting options. """ input CustomViewCreatedAtSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } type CustomViewEdge { """ Used in `before` and `after` args """ cursor: String! node: CustomView! } """ Custom view filtering options. """ input CustomViewFilter { """ Compound filters, all of which need to be matched by the custom view. """ and: [CustomViewFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the custom view creator must satisfy. """ creator: UserFilter """ [INTERNAL] Filter based on whether the custom view has a facet. """ hasFacet: Boolean """ Comparator for the identifier. """ id: IDComparator """ Comparator for the custom view model name. """ modelName: StringComparator """ Comparator for the custom view name. """ name: StringComparator """ Compound filters, one of which need to be matched by the custom view. """ or: [CustomViewFilter!] """ Comparator for whether the custom view is shared. """ shared: BooleanComparator """ Filters that the custom view's team must satisfy. """ team: NullableTeamFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } """ The result of a custom view subscribers check. """ type CustomViewHasSubscribersPayload { """ Whether the custom view has subscribers. """ hasSubscribers: Boolean! } """ Custom view name sorting options. """ input CustomViewNameSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ A notification subscription scoped to a specific custom view. The subscriber receives notifications for events matching the custom view's filter criteria. """ type CustomViewNotificationSubscription implements Entity & Node & NotificationSubscription { """ Whether the subscription is active. When inactive, no notifications are generated from this subscription even though it still exists. """ active: Boolean! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The type of contextual view (e.g., active issues, backlog) that further scopes a team notification subscription. Null if the subscription is not associated with a specific view type. """ contextViewType: ContextViewType """ The time at which the entity was created. """ createdAt: DateTime! """ The custom view subscribed to. """ customView: CustomView! """ The customer that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ customer: Customer """ The cycle that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ cycle: Cycle """ The unique identifier of the entity. """ id: ID! """ The initiative that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ initiative: Initiative """ The issue label that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ label: IssueLabel """ The notification event types that this subscription will deliver to the subscriber. """ notificationSubscriptionTypes: [String!]! """ The project that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ project: Project """ The user who will receive notifications from this subscription. """ subscriber: User! """ The team that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ team: Team """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user that this notification subscription is scoped to, for user-specific view subscriptions. Null if the subscription targets a different entity type. """ user: User """ The type of user-specific view that further scopes a user notification subscription. Null if the subscription is not associated with a user view type. """ userContextViewType: UserContextViewType } """ The result of a custom view mutation. """ type CustomViewPayload { """ The custom view that was created or updated. """ customView: CustomView! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Custom view shared status sorting options. Ascending order puts shared views last. """ input CustomViewSharedSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } input CustomViewSortInput { """ Sort by custom view creation date. """ createdAt: CustomViewCreatedAtSort """ Sort by custom view name. """ name: CustomViewNameSort """ Sort by custom view shared status. """ shared: CustomViewSharedSort """ Sort by custom view update date. """ updatedAt: CustomViewUpdatedAtSort } """ The result of a custom view suggestion query. """ type CustomViewSuggestionPayload { """ The suggested view description. """ description: String """ The suggested view icon. """ icon: String """ The suggested view name. """ name: String } """ Input for updating an existing custom view. All fields are optional; only provided fields will be updated. """ input CustomViewUpdateInput { """ The color of the icon of the custom view. """ color: String """ The description of the custom view. """ description: String """ The feed item filter applied to issues in the custom view. """ feedItemFilterData: FeedItemFilter """ The filter applied to issues in the custom view. """ filterData: IssueFilter """ The icon of the custom view. """ icon: String """ [ALPHA] The initiative filter applied to issues in the custom view. """ initiativeFilterData: InitiativeFilter """ [Internal] The id of the initiative associated with the custom view. """ initiativeId: String """ The name of the custom view. """ name: String """ The owner of the custom view. """ ownerId: String """ The project filter applied to issues in the custom view. """ projectFilterData: ProjectFilter """ [Internal] The id of the project associated with the custom view. """ projectId: String """ Whether the custom view is shared with everyone in the workspace. """ shared: Boolean """ The id of the team associated with the custom view. """ teamId: String } """ Custom view update date sorting options. """ input CustomViewUpdatedAtSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ A customer organization tracked in Linear's customer management system. Customers represent external companies or organizations whose product requests and feedback are captured as customer needs, which can be linked to issues and projects. Customers can be associated with domains, external system IDs, Slack channels, and managed by integrations such as Intercom or Salesforce. """ type Customer implements Node { """ The approximate count of customer needs (requests) associated with this customer. This is a denormalized counter and may not reflect the exact count at all times. """ approximateNeedCount: Float! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The email domains associated with this customer (e.g., 'acme.com'). Used to automatically match incoming requests to this customer. Public email domains (e.g., gmail.com) are not allowed. Domains must be unique across all customers in the workspace. """ domains: [String!]! """ Identifiers for this customer in external systems (e.g., CRM IDs from Intercom, Salesforce, or HubSpot). Used for matching customers during integration syncs and upsert operations. External IDs must be unique across customers in the workspace. """ externalIds: [String!]! """ The unique identifier of the entity. """ id: ID! """ The integration that manages this customer's data (e.g., Intercom, Salesforce). Null if the customer is not managed by any data source integration. """ integration: Integration """ URL of the customer's logo image. Null if no logo has been uploaded. """ logoUrl: String """ The primary external source ID when a customer has data from multiple external systems. Must be one of the values in the externalIds array. Null if the customer has zero or one external source. """ mainSourceId: String """ The display name of the customer organization. """ name: String! """ The list of customer needs (product requests and feedback) associated with this customer. """ needs: [CustomerNeed!]! """ The workspace member assigned as the owner of this customer. Null if no owner has been assigned. App users cannot be set as customer owners. """ owner: User """ The annual revenue generated by this customer. Null if revenue data has not been provided. May be synced from an external data source such as a CRM integration. """ revenue: Int """ The number of employees or seats at the customer organization. Null if size data has not been provided. May be synced from an external data source such as a CRM integration. """ size: Float """ The ID of the Slack channel linked to this customer for communication. Null if no Slack channel has been associated. Must be unique across all customers in the workspace. """ slackChannelId: String """ A unique, human-readable URL slug for the customer. Automatically generated and used in customer page URLs. """ slugId: String! """ The current lifecycle status of the customer. Defaults to the first status by position when a customer is created without an explicit status. """ status: CustomerStatus! """ The tier or segment assigned to this customer for prioritization (e.g., Enterprise, Pro, Free). Null if no tier has been assigned. """ tier: CustomerTier """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The URL of the customer's page in the Linear application. """ url: String! } """ Certain properties of a customer. """ type CustomerChildWebhookPayload { """ The domains associated with this customer. """ domains: [String!]! """ The ids of the customers in external systems. """ externalIds: [String!]! """ The ID of the customer. """ id: String! """ The name of the customer. """ name: String! } type CustomerConnection { edges: [CustomerEdge!]! nodes: [Customer!]! pageInfo: PageInfo! } """ Issue customer count sorting options. """ input CustomerCountSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Input for creating a new customer in the workspace. """ input CustomerCreateInput { """ The email domains associated with this customer (e.g., 'acme.com'). Public email domains are not allowed. Defaults to an empty array. """ domains: [String!] = [] """ Identifiers for this customer in external systems (e.g., CRM IDs). Defaults to an empty array. """ externalIds: [String!] = [] """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The URL of the customer's logo image. """ logoUrl: String """ The primary external source ID for customers with multiple sources. Must be one of the values provided in externalIds. """ mainSourceId: String """ The display name of the customer organization. """ name: String! """ The identifier of the user to assign as the owner of the customer. """ ownerId: String """ The annual revenue generated by the customer, in dollars. """ revenue: Int """ The size of the customer organization (e.g., number of employees). """ size: Int """ The ID of the Slack channel to link to this customer. """ slackChannelId: String """ The identifier of the customer status to set. """ statusId: String """ The identifier of the customer tier to assign. """ tierId: String } """ Customer creation date sorting options. """ input CustomerCreatedAtSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } type CustomerEdge { """ Used in `before` and `after` args """ cursor: String! node: Customer! } """ Customer filtering options. """ input CustomerFilter { """ Compound filters, all of which need to be matched by the customer. """ and: [CustomerFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the customer's domains. """ domains: StringArrayComparator """ Comparator for the customer's external IDs. """ externalIds: StringArrayComparator """ Comparator for the identifier. """ id: IDComparator """ Comparator for the customer name. """ name: StringComparator """ Filters that the customer's needs must satisfy. """ needs: CustomerNeedCollectionFilter """ Compound filters, one of which need to be matched by the customer. """ or: [CustomerFilter!] """ Filters that the customer owner must satisfy. """ owner: NullableUserFilter """ Comparator for the customer generated revenue. """ revenue: NumberComparator """ Comparator for the customer size. """ size: NumberComparator """ Comparator for the customer slack channel ID. """ slackChannelId: StringComparator """ Filters that the customer's status must satisfy. """ status: CustomerStatusFilter """ Filters that the customer's tier must satisfy. """ tier: CustomerTierFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Issue customer important count sorting options. """ input CustomerImportantCountSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ A customer need represents a specific product request or piece of feedback from a customer. Customer needs serve as the bridge between customer feedback and engineering work by linking a customer to an issue or project, optionally with a comment or attachment providing additional context. Needs can be created manually, from integrations, or from intake sources like email. """ type CustomerNeed implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The issue attachment linked to this need. Populated when the need originates from an intake source (e.g., Slack, Intercom) or when a URL is manually provided. Provides a link back to the original source of the customer feedback. Mutually exclusive with projectAttachment. """ attachment: Attachment """ The body content of the need in Markdown format. Used to capture manual input about needs that cannot be directly tied to an attachment. Null if the need's content comes from an attached source. """ body: String """ [Internal] The body content of the need as a Prosemirror document JSON string. This is the structured representation of the body field, used for rich text rendering in the editor. """ bodyData: String """ An optional comment providing additional context for this need. Null if the need was not created from or associated with a specific comment. """ comment: Comment """ The time at which the entity was created. """ createdAt: DateTime! """ The user who manually created this customer need. Null for needs created automatically by integrations or intake sources. """ creator: User """ The customer organization this need belongs to. Null if the need has not yet been associated with a customer. """ customer: Customer """ The unique identifier of the entity. """ id: ID! """ The issue this need is linked to. Either issueId or projectId must be set. When set, the need's projectId is denormalized from the issue's project. """ issue: Issue """ The issue this customer need was originally created on, before being moved to a different issue or project. Null if the customer need has not been moved from its original location. """ originalIssue: Issue """ Whether the customer need is important or not. 0 = Not important, 1 = Important. """ priority: Float! """ The project this need is linked to. For issue-based needs, this is denormalized from the issue's project. For project-only needs, this is set directly. """ project: Project """ The project attachment linked to this need. Populated when the need originates from an intake source or when a URL is manually provided for a project-level need. Provides a link back to the original source of the customer feedback. Mutually exclusive with attachment. """ projectAttachment: ProjectAttachment """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The URL of the source attachment linked to this need, if any. Returns the URL from either the issue attachment or project attachment. Null if the need has no attached source. """ url: String } """ A generic payload return from entity archive mutations. """ type CustomerNeedArchivePayload implements ArchivePayload { """ The archived/unarchived entity. Null if entity was deleted. """ entity: CustomerNeed """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Certain properties of a customer need. """ type CustomerNeedChildWebhookPayload { """ The ID of the attachment this need is referencing. """ attachmentId: String """ The ID of the customer that this need is attached to. """ customerId: String """ The ID of the customer need. """ id: String! """ The ID of the issue this need is referencing. """ issueId: String """ The ID of the project this need is referencing. """ projectId: String } """ Customer needs filtering options. """ input CustomerNeedCollectionFilter { """ Compound filters, all of which need to be matched by the customer needs. """ and: [CustomerNeedCollectionFilter!] """ Filters that the need's comment must satisfy. """ comment: NullableCommentFilter """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the need's customer must satisfy. """ customer: NullableCustomerFilter """ Filters that needs to be matched by all customer needs. """ every: CustomerNeedFilter """ Comparator for the identifier. """ id: IDComparator """ Filters that the need's issue must satisfy. """ issue: NullableIssueFilter """ Comparator for the collection length. """ length: NumberComparator """ Compound filters, one of which need to be matched by the customer needs. """ or: [CustomerNeedCollectionFilter!] """ Comparator for the customer need priority. """ priority: NumberComparator """ Filters that the need's project must satisfy. """ project: NullableProjectFilter """ Filters that needs to be matched by some customer needs. """ some: CustomerNeedFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } type CustomerNeedConnection { edges: [CustomerNeedEdge!]! nodes: [CustomerNeed!]! pageInfo: PageInfo! } """ Input for creating a customer need from an existing issue attachment. If the attachment already has an archived need, it will be unarchived instead. """ input CustomerNeedCreateFromAttachmentInput { """ The UUID of the existing issue attachment to create a customer need from. """ attachmentId: String! } """ Input for creating a customer need linked to an issue or project. Either issueId or projectId must be provided. """ input CustomerNeedCreateInput { """ The UUID of an existing attachment to associate with this need as its source. """ attachmentId: String """ A URL to create an attachment from and associate with this customer need as its source. """ attachmentUrl: String """ The body content of the need in Markdown format. Cannot be used together with bodyData. """ body: String """ [Internal] The body content of the need as a Prosemirror document JSON string. Cannot be used together with body. """ bodyData: JSON """ The UUID of an existing comment to associate with this need for additional context. """ commentId: String """ Create the need attributed to an external user with the provided name. This option is only available to OAuth applications creating needs in `actor=app` mode. """ createAsUser: String """ The time at which the customer need was created (e.g. if importing from another system). Must be a time in the past. If none is provided, the backend will generate the time as now. """ createdAt: DateTime """ The external system ID of the customer this need belongs to. Cannot be used together with customerId. """ customerExternalId: String """ The UUID of the customer this need belongs to. Cannot be used together with customerExternalId. """ customerId: String """ Avatar URL for the external user specified in `createAsUser`. Can only be used in conjunction with `createAsUser`. This option is only available to OAuth applications creating needs in `actor=app` mode. """ displayIconUrl: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The issue to link this need to. Accepts a UUID or issue identifier (e.g., 'LIN-123'). Either issueId or projectId must be provided. """ issueId: String """ Whether the customer need is important or not. 0 = Not important, 1 = Important. """ priority: Float """ [INTERNAL] The project to link this need to. Either issueId or projectId must be provided. """ projectId: String } type CustomerNeedEdge { """ Used in `before` and `after` args """ cursor: String! node: CustomerNeed! } """ Customer filtering options. """ input CustomerNeedFilter { """ Compound filters, all of which need to be matched by the customer need. """ and: [CustomerNeedFilter!] """ Filters that the need's comment must satisfy. """ comment: NullableCommentFilter """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the need's customer must satisfy. """ customer: NullableCustomerFilter """ Comparator for the identifier. """ id: IDComparator """ Filters that the need's issue must satisfy. """ issue: NullableIssueFilter """ Compound filters, one of which need to be matched by the customer need. """ or: [CustomerNeedFilter!] """ Comparator for the customer need priority. """ priority: NumberComparator """ Filters that the need's project must satisfy. """ project: NullableProjectFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } """ A notification related to a customer need (request), such as creation, resolution, or being marked as important. """ type CustomerNeedNotification implements Entity & Node & Notification { """ The user that caused the notification. Null if the notification was triggered by a non-user actor such as an integration, external user, or system event. """ actor: User """ [Internal] Notification actor initials if avatar is not available. """ actorAvatarColor: String! """ [Internal] Notification avatar URL. """ actorAvatarUrl: String """ [Internal] Notification actor initials if avatar is not available. """ actorInitials: String """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The bot that caused the notification. """ botActor: ActorBot """ The category of the notification. """ category: NotificationCategory! """ The time at which the entity was created. """ createdAt: DateTime! """ The customer need related to the notification. """ customerNeed: CustomerNeed! """ Related customer need. """ customerNeedId: String! """ The time at which an email reminder for this notification was sent to the user. Null if no email reminder has been sent. """ emailedAt: DateTime """ The external user that caused the notification. Populated when the notification was triggered by an external user (e.g., a commenter from a connected integration like Slack or GitHub) rather than a Linear workspace member. """ externalUserActor: ExternalUser """ [Internal] Notifications with the same grouping key will be grouped together in the UI. """ groupingKey: String! """ [Internal] Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`. """ groupingPriority: Float! """ The unique identifier of the entity. """ id: ID! """ [Internal] Inbox URL for the notification. """ inboxUrl: String! """ [Internal] Initiative update health for new updates. """ initiativeUpdateHealth: String """ [Internal] If notification actor was Linear. """ isLinearActor: Boolean! """ [Internal] Issue's status type for issue notifications. """ issueStatusType: String """ [Internal] Project update health for new updates. """ projectUpdateHealth: String """ The time at which the user marked the notification as read. Null if the notification is unread. """ readAt: DateTime """ The issue related to the notification. """ relatedIssue: Issue """ The project related to the notification. """ relatedProject: Project """ The time until which a notification is snoozed. After this time, the notification reappears in the user's inbox. Null if the notification is not currently snoozed. """ snoozedUntilAt: DateTime """ [Internal] Notification subtitle. """ subtitle: String! """ [Internal] Notification title. """ title: String! """ Notification type. Determines the kind of event that triggered this notification and which associated entity fields will be populated. """ type: String! """ The time at which a notification was unsnoozed. Null if the notification has not been unsnoozed. """ unsnoozedAt: DateTime """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ [Internal] URL to the target of the notification. """ url: String! """ The recipient user of this notification. """ user: User! } """ Return type for customer need mutations. """ type CustomerNeedPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The customer need entity that was created or updated by the mutation. """ need: CustomerNeed! """ Whether the operation was successful. """ success: Boolean! } """ Input for updating a customer need. Supports reassigning the customer, moving to a different issue or project, changing priority, and updating body content. """ input CustomerNeedUpdateInput { """ When true and priority is also set, applies the same priority update to all other needs from the same customer on the same issue or project. """ applyPriorityToRelatedNeeds: Boolean """ A URL to create a new attachment from and set as the source for this customer need. Replaces any existing manually-added attachment. """ attachmentUrl: String """ The updated body content of the need in Markdown format. Set to null to clear the body. Cannot be used together with bodyData. """ body: String """ [Internal] The updated body content of the need as a Prosemirror document JSON string. Set to null to clear the body. Cannot be used together with body. """ bodyData: JSON """ The external system ID of the customer to reassign this need to. Cannot be used together with customerId. """ customerExternalId: String """ The UUID of the customer to reassign this need to. Cannot be used together with customerExternalId. """ customerId: String """ An optional identifier in UUID v4 format. If provided, will be set as the customer need's ID. """ id: String """ The issue to move this need to. Accepts a UUID or issue identifier (e.g., 'LIN-123'). The need's attachment will also be moved to the target issue. """ issueId: String """ Whether the customer need is important or not. 0 = Not important, 1 = Important. """ priority: Float """ [INTERNAL] The project to move this need to. """ projectId: String } """ Return type for customer need update mutations, including any related needs that were also updated. """ type CustomerNeedUpdatePayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The customer need entity that was created or updated by the mutation. """ need: CustomerNeed! """ Whether the operation was successful. """ success: Boolean! """ Additional customer needs from the same customer on the same issue/project that were updated when applyPriorityToRelatedNeeds was set. """ updatedRelatedNeeds: [CustomerNeed!]! } """ Payload for a customer need webhook. """ type CustomerNeedWebhookPayload { """ The time at which the entity was archived. """ archivedAt: String """ The attachment this need is referencing. """ attachment: AttachmentWebhookPayload """ The ID of the attachment this need is referencing. """ attachmentId: String """ The body of the need in Markdown format. """ body: String """ The ID of the comment this need is referencing. """ commentId: String """ The time at which the entity was created. """ createdAt: String! """ The ID of the creator of the customer need. """ creatorId: String """ The customer that this need is attached to. """ customer: CustomerChildWebhookPayload """ The ID of the customer that this need is attached to. """ customerId: String """ The ID of the entity. """ id: String! """ The issue this need is referencing. """ issue: IssueChildWebhookPayload """ The ID of the issue this need is referencing. """ issueId: String """ The issue ID this customer need was originally created on. Will be undefined if the customer need hasn't been moved. """ originalIssueId: String """ The priority of the need. """ priority: Float! """ The project this need is referencing. """ project: ProjectChildWebhookPayload """ The ID of the project attachment this need is referencing. """ projectAttachmentId: String """ The ID of the project this need is referencing. """ projectId: String """ The time at which the entity was updated. """ updatedAt: String! } """ A notification related to a customer, such as being added as the customer owner. """ type CustomerNotification implements Entity & Node & Notification { """ The user that caused the notification. Null if the notification was triggered by a non-user actor such as an integration, external user, or system event. """ actor: User """ [Internal] Notification actor initials if avatar is not available. """ actorAvatarColor: String! """ [Internal] Notification avatar URL. """ actorAvatarUrl: String """ [Internal] Notification actor initials if avatar is not available. """ actorInitials: String """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The bot that caused the notification. """ botActor: ActorBot """ The category of the notification. """ category: NotificationCategory! """ The time at which the entity was created. """ createdAt: DateTime! """ The customer related to the notification. """ customer: Customer! """ Related customer. """ customerId: String! """ The time at which an email reminder for this notification was sent to the user. Null if no email reminder has been sent. """ emailedAt: DateTime """ The external user that caused the notification. Populated when the notification was triggered by an external user (e.g., a commenter from a connected integration like Slack or GitHub) rather than a Linear workspace member. """ externalUserActor: ExternalUser """ [Internal] Notifications with the same grouping key will be grouped together in the UI. """ groupingKey: String! """ [Internal] Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`. """ groupingPriority: Float! """ The unique identifier of the entity. """ id: ID! """ [Internal] Inbox URL for the notification. """ inboxUrl: String! """ [Internal] Initiative update health for new updates. """ initiativeUpdateHealth: String """ [Internal] If notification actor was Linear. """ isLinearActor: Boolean! """ [Internal] Issue's status type for issue notifications. """ issueStatusType: String """ [Internal] Project update health for new updates. """ projectUpdateHealth: String """ The time at which the user marked the notification as read. Null if the notification is unread. """ readAt: DateTime """ The time until which a notification is snoozed. After this time, the notification reappears in the user's inbox. Null if the notification is not currently snoozed. """ snoozedUntilAt: DateTime """ [Internal] Notification subtitle. """ subtitle: String! """ [Internal] Notification title. """ title: String! """ Notification type. Determines the kind of event that triggered this notification and which associated entity fields will be populated. """ type: String! """ The time at which a notification was unsnoozed. Null if the notification has not been unsnoozed. """ unsnoozedAt: DateTime """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ [Internal] URL to the target of the notification. """ url: String! """ The recipient user of this notification. """ user: User! } """ A notification subscription scoped to a specific customer. The subscriber receives notifications for events related to this customer, such as new customer needs or ownership changes. """ type CustomerNotificationSubscription implements Entity & Node & NotificationSubscription { """ Whether the subscription is active. When inactive, no notifications are generated from this subscription even though it still exists. """ active: Boolean! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The type of contextual view (e.g., active issues, backlog) that further scopes a team notification subscription. Null if the subscription is not associated with a specific view type. """ contextViewType: ContextViewType """ The time at which the entity was created. """ createdAt: DateTime! """ The custom view that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ customView: CustomView """ The customer subscribed to. """ customer: Customer! """ The cycle that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ cycle: Cycle """ The unique identifier of the entity. """ id: ID! """ The initiative that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ initiative: Initiative """ The issue label that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ label: IssueLabel """ The notification event types that this subscription will deliver to the subscriber. """ notificationSubscriptionTypes: [String!]! """ The project that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ project: Project """ The user who will receive notifications from this subscription. """ subscriber: User! """ The team that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ team: Team """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user that this notification subscription is scoped to, for user-specific view subscriptions. Null if the subscription targets a different entity type. """ user: User """ The type of user-specific view that further scopes a user notification subscription. Null if the subscription is not associated with a user view type. """ userContextViewType: UserContextViewType } """ Return type for customer mutations. """ type CustomerPayload { """ The customer entity that was created or updated by the mutation. """ customer: Customer! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Issue customer revenue sorting options. """ input CustomerRevenueSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Issue customer sorting options. """ input CustomerSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Customer sorting options. """ input CustomerSortInput { """ Sort by approximate customer need count """ approximateNeedCount: ApproximateNeedCountSort """ Sort by customer creation date """ createdAt: CustomerCreatedAtSort """ Sort by name """ name: NameSort """ Sort by owner name """ owner: OwnerSort """ Sort by customer generated revenue """ revenue: RevenueSort """ Sort by customer size """ size: SizeSort """ Sort by customer status """ status: CustomerStatusSort """ Sort by customer tier """ tier: TierSort } """ A workspace-defined lifecycle status for customers (e.g., Active, Churned, Trial). Customer statuses are ordered by position and displayed with a color in the UI. Every workspace has at least one status, and a default status is assigned to new customers when none is specified. """ type CustomerStatus implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The color of the status indicator in the UI, as a HEX string (e.g., '#ff0000'). """ color: String! """ The time at which the entity was created. """ createdAt: DateTime! """ An optional description explaining what this status represents in the customer lifecycle. """ description: String """ The user-facing display name of the status shown in the UI. Defaults to the internal name if not explicitly set. """ displayName: String! """ The unique identifier of the entity. """ id: ID! """ The internal name of the status. Used as the default display name if no displayName is explicitly set. """ name: String! """ The sort position of the status in the workspace's customer lifecycle flow. Lower values appear first. Collisions are automatically resolved by redistributing positions. """ position: Float! """ [Deprecated] The type of the customer status. Always returns null as statuses are no longer grouped by type. """ type: CustomerStatusType @deprecated(reason: "Customer statuses are no longer grouped by type.") """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ Certain properties of a customer status. """ type CustomerStatusChildWebhookPayload { """ The color of the customer status. """ color: String! """ The description of the customer status. """ description: String """ The display name of the customer status. """ displayName: String! """ The ID of the customer status. """ id: String! """ The name of the customer status. """ name: String! """ The type of the customer status. """ type: String @deprecated(reason: "Customer statuses are no longer grouped by type.") } type CustomerStatusConnection { edges: [CustomerStatusEdge!]! nodes: [CustomerStatus!]! pageInfo: PageInfo! } """ Input for creating a customer status in the workspace's customer lifecycle flow. """ input CustomerStatusCreateInput { """ The color of the status indicator in the UI, as a HEX string (e.g., '#ff0000'). """ color: String! """ An optional description explaining what this status represents. """ description: String """ The user-facing display name of the status. At least one of name or displayName must be provided. """ displayName: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The internal name of the status. At least one of name or displayName must be provided. """ name: String """ The sort position of the status in the workspace's customer lifecycle flow. If omitted or colliding, a position is automatically assigned at the end. """ position: Float } type CustomerStatusEdge { """ Used in `before` and `after` args """ cursor: String! node: CustomerStatus! } """ Customer status filtering options. """ input CustomerStatusFilter { """ Compound filters, all of which need to be matched by the customer status. """ and: [CustomerStatusFilter!] """ Comparator for the customer status color. """ color: StringComparator """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the customer status description. """ description: StringComparator """ Comparator for the identifier. """ id: IDComparator """ Comparator for the customer status name. """ name: StringComparator """ Compound filters, one of which needs to be matched by the customer status. """ or: [CustomerStatusFilter!] """ Comparator for the customer status position. """ position: NumberComparator """ Comparator for the customer status type. """ type: StringComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Return type for customer status mutations. """ type CustomerStatusPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The customer status entity that was created or updated by the mutation. """ status: CustomerStatus! """ Whether the operation was successful. """ success: Boolean! } """ Customer status sorting options. """ input CustomerStatusSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ [DEPRECATED] A type of customer status. """ enum CustomerStatusType { active inactive } """ Input for updating an existing customer status. """ input CustomerStatusUpdateInput { """ The updated color of the status indicator in the UI, as a HEX string. """ color: String """ The updated description of the status. """ description: String """ The updated user-facing display name of the status. """ displayName: String """ The updated internal name of the status. """ name: String """ The updated sort position of the status in the workspace's customer lifecycle flow. """ position: Float } """ A workspace-defined tier or segment for categorizing customers (e.g., Enterprise, Pro, Free). Customer tiers are used for prioritization and filtering, are ordered by position, and displayed with a color in the UI. Tier names are unique within a workspace. """ type CustomerTier implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The color of the tier indicator in the UI, as a HEX string (e.g., '#ff0000'). """ color: String! """ The time at which the entity was created. """ createdAt: DateTime! """ An optional description explaining what this tier represents and its intended use for customer segmentation. """ description: String """ The user-facing display name of the tier shown in the UI. Defaults to the internal name if not explicitly set. """ displayName: String! """ The unique identifier of the entity. """ id: ID! """ The internal name of the tier. Must be unique within the workspace. Used as the default display name if no displayName is explicitly set. """ name: String! """ The sort position of the tier in the workspace's customer tier ordering. Lower values appear first. Collisions are automatically resolved by redistributing positions. """ position: Float! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ Certain properties of a customer tier. """ type CustomerTierChildWebhookPayload { """ The color of the customer tier. """ color: String! """ The description of the customer tier. """ description: String """ The display name of the customer tier. """ displayName: String! """ The ID of the customer tier. """ id: String! """ The name of the customer tier. """ name: String! } type CustomerTierConnection { edges: [CustomerTierEdge!]! nodes: [CustomerTier!]! pageInfo: PageInfo! } """ Input for creating a customer tier in the workspace's customer tier ordering. """ input CustomerTierCreateInput { """ The color of the tier indicator in the UI, as a HEX string (e.g., '#ff0000'). """ color: String! """ An optional description explaining what this tier represents. """ description: String """ The user-facing display name of the tier. At least one of name or displayName must be provided. """ displayName: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The internal name of the tier. Must be unique within the workspace. At least one of name or displayName must be provided. """ name: String """ The sort position of the tier in the workspace's customer tier ordering. If omitted or colliding, a position is automatically assigned at the end. """ position: Float } type CustomerTierEdge { """ Used in `before` and `after` args """ cursor: String! node: CustomerTier! } """ Customer tier filtering options. """ input CustomerTierFilter { """ Compound filters, all of which need to be matched by the customer tier. """ and: [CustomerTierFilter!] """ Comparator for the customer tier color. """ color: StringComparator """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the customer tier description. """ description: StringComparator """ Comparator for the customer tier display name. """ displayName: StringComparator """ Comparator for the identifier. """ id: IDComparator """ Compound filters, one of which needs to be matched by the customer tier. """ or: [CustomerTierFilter!] """ Comparator for the customer tier position. """ position: NumberComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Return type for customer tier mutations. """ type CustomerTierPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! """ The customer tier entity that was created or updated by the mutation. """ tier: CustomerTier! } """ Input for updating an existing customer tier. """ input CustomerTierUpdateInput { """ The updated color of the tier indicator in the UI, as a HEX string. """ color: String """ The updated description of the tier. """ description: String """ The updated user-facing display name of the tier. """ displayName: String """ The updated internal name of the tier. """ name: String """ The updated sort position of the tier in the workspace's customer tier ordering. """ position: Float } """ Input for updating an existing customer. """ input CustomerUpdateInput { """ The updated list of email domains associated with this customer. Replaces the existing domains. """ domains: [String!] """ The updated list of external system identifiers for this customer. New IDs will be appended with source metadata. """ externalIds: [String!] """ The URL of the customer's logo image. """ logoUrl: String """ The primary external source ID for customers with multiple sources. Must be one of the values in externalIds. """ mainSourceId: String """ The updated name of the customer. """ name: String """ The identifier of the user to assign as the owner of the customer. """ ownerId: String """ The annual revenue generated by the customer, in dollars. """ revenue: Int """ The size of the customer organization (e.g., number of employees). """ size: Int """ The ID of the Slack channel to link to this customer. Set to null to unlink the current channel. """ slackChannelId: String """ The identifier of the customer status to set. """ statusId: String """ The identifier of the customer tier to assign. """ tierId: String } """ Input for upserting a customer. Matches against existing customers using id, externalId, slackChannelId, or domains. Creates a new customer if no match is found. """ input CustomerUpsertInput { """ The email domains associated with this customer. """ domains: [String!] """ An external system identifier for this customer. Used for matching existing customers during upsert. """ externalId: String """ The identifier in UUID v4 format. Used to match an existing customer for upsert. """ id: String """ The URL of the customer's logo image. """ logoUrl: String """ The name of the customer. Required when creating a new customer. """ name: String """ The identifier of the user to assign as the owner of the customer. """ ownerId: String """ The annual revenue generated by the customer, in dollars. """ revenue: Int """ The size of the customer organization (e.g., number of employees). """ size: Int """ The ID of the Slack channel to link to this customer. """ slackChannelId: String """ The identifier of the customer status to set. """ statusId: String """ The identifier of the customer tier to assign. Cannot be used together with tierName. """ tierId: String """ The name of the customer tier to assign. A new tier will be created if one with this name does not exist. Cannot be used together with tierId. """ tierName: String } """ Mode that controls who can see and set Customers in Slack Asks. """ enum CustomerVisibilityMode { LinearOnly SlackMembers SlackMembersAndGuests } """ Payload for a customer webhook. """ type CustomerWebhookPayload { """ The approximate number of needs of the customer. """ approximateNeedCount: Float! """ The time at which the entity was archived. """ archivedAt: String """ The time at which the entity was created. """ createdAt: String! """ The domains associated with this customer. """ domains: [String!]! """ The ids of the customers in external systems. """ externalIds: [String!]! """ The ID of the entity. """ id: String! """ The customer's logo URL. """ logoUrl: String """ The ID of the main source, when a customer has multiple sources. Must be one of externalIds. """ mainSourceId: String """ The name of the customer. """ name: String! """ The ID of the user who owns the customer. """ ownerId: String """ The annual revenue generated by the customer. """ revenue: Float """ The size of the customer. """ size: Float """ The ID of the Slack channel used to interact with the customer. """ slackChannelId: String """ The customer's unique URL slug. """ slugId: String! """ The customer status. """ status: CustomerStatusChildWebhookPayload """ The ID of the customer status. """ statusId: String """ The customer tier. """ tier: CustomerTierChildWebhookPayload """ The ID of the customer tier. """ tierId: String """ The time at which the entity was updated. """ updatedAt: String! """ The URL of the customer. """ url: String! } """ [Internal] Configuration for the customer attributes data source. """ input CustomersAttributesDataSourceConfigurationInput { """ [Internal] Whether to allow manual edits to customer attributes when no source is configured. """ allowManualEdits: Boolean """ [Internal] Errors encountered while syncing customer attributes (set by sync workers). """ attributesErrors: JSONObject """ [Internal] Mapping from customer attribute keys (owner, revenue, size, status, tier, externalId) to external field IDs. """ attributesMapping: JSONObject """ [Internal] Integration details (when sourceType is 'integration'). """ integration: CustomersAttributesDataSourceIntegrationInput """ [Internal] How customer attribute values are sourced: 'manual' or 'integration'. """ sourceType: String! } """ [Internal] Integration providing customer attribute data. """ input CustomersAttributesDataSourceIntegrationInput { """ [Internal] The integration service that manages customer attributes. """ service: IntegrationService! } """ [Internal] Input for updating workspace Customers feature configuration. """ input CustomersConfigurationInput { """ [Internal] Configuration for the customer attributes data source. """ attributesDataSourceConfiguration: CustomersAttributesDataSourceConfigurationInput """ [Internal] The team to use to create default issues for new request items. """ defaultTeamId: String """ [Internal] Domains or email addresses excluded entirely from the Customers feature. """ excludeList: [String!] """ [Internal] Domains or email addresses ignored when matching to a customer. """ ignoreList: [String!] """ [Internal] The currency code used for customer revenue. """ revenueCurrencyCode: String """ [Internal] How customer revenue should be displayed. """ revenueDisplay: String } """ A time-boxed iteration (similar to a sprint) used for planning and tracking work. Cycles belong to a team and have defined start and end dates. Issues are assigned to cycles for time-based planning, and progress is tracked via completed, in-progress, and total scope. Cycles are automatically completed when their end date passes, and uncompleted issues can be carried over to the next cycle. """ type Cycle implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the cycle was automatically archived by the auto-pruning process. Null if the cycle has not been auto-archived. """ autoArchivedAt: DateTime """ The completion time of the cycle. If null, the cycle has not been completed yet. A cycle is completed either when its end date passes or when it is manually completed early. """ completedAt: DateTime """ The number of completed issues in the cycle after each day. Each entry corresponds to the same day index as issueCountHistory. """ completedIssueCountHistory: [Float!]! """ The number of completed estimation points after each day. Used together with scopeHistory for burndown charts. """ completedScopeHistory: [Float!]! """ The time at which the entity was created. """ createdAt: DateTime! """ [Internal] The current progress snapshot of the cycle, broken down by issue status categories. """ currentProgress: JSONObject! """ The description of the cycle. """ description: String """ [Internal] Documents associated with the cycle. """ documents( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned documents. """ filter: DocumentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): DocumentConnection! """ The end date and time of the cycle. When a cycle is completed prematurely, this is updated to match the completion time. When cycles are disabled, both endsAt and completedAt are set to the current time. """ endsAt: DateTime! """ The unique identifier of the entity. """ id: ID! """ The number of in-progress estimation points after each day. Tracks work that has been started but not yet completed. """ inProgressScopeHistory: [Float!]! """ The parent cycle this cycle was inherited from. When a parent team creates cycles, sub-teams automatically receive corresponding inherited cycles. """ inheritedFrom: Cycle """ Whether the cycle is currently active. A cycle is active if the current time is between its start and end dates and it has not been completed. """ isActive: Boolean! """ Whether the cycle has not yet started. True if the cycle's start date is in the future. """ isFuture: Boolean! """ Whether this cycle is the next upcoming (not yet started) cycle for the team. """ isNext: Boolean! """ Whether the cycle's end date has passed. """ isPast: Boolean! """ Whether this cycle is the most recently completed cycle for the team. """ isPrevious: Boolean! """ The total number of issues in the cycle after each day. Each entry represents a snapshot at the end of that day, forming the basis for burndown charts. """ issueCountHistory: [Float!]! """ Issues that are currently assigned to this cycle. """ issues( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issues. """ filter: IssueFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueConnection! """ [Internal] Links associated with the cycle. """ links( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): EntityExternalLinkConnection! """ The custom name of the cycle. If not set, the cycle is displayed using its number (e.g., "Cycle 5"). """ name: String """ The auto-incrementing number of the cycle, unique within its team. This value is assigned automatically by the database and cannot be set on creation. """ number: Float! """ The overall progress of the cycle as a number between 0 and 1. Calculated as (completed estimate points + 0.25 * in-progress estimate points) / total estimate points. Returns 0 if no estimate points exist. """ progress: Float! """ [Internal] The detailed progress history of the cycle, including per-status breakdowns over time. """ progressHistory: JSONObject! """ The total number of estimation points (scope) in the cycle after each day. Used for scope-based burndown charts. """ scopeHistory: [Float!]! """ The start date and time of the cycle. """ startsAt: DateTime! """ The team that the cycle belongs to. Each cycle is scoped to exactly one team. """ team: Team! """ Issues that were still open (not completed) when the cycle was closed. These issues may have been moved to the next cycle. """ uncompletedIssuesUponClose( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issues. """ filter: IssueFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueConnection! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ A generic payload return from entity archive mutations. """ type CycleArchivePayload implements ArchivePayload { """ The archived/unarchived entity. Null if entity was deleted. """ entity: Cycle """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Certain properties of a cycle. """ type CycleChildWebhookPayload { """ The end date of the cycle. """ endsAt: String! """ The ID of the cycle. """ id: String! """ The name of the cycle. """ name: String """ The number of the cycle. """ number: Float! """ The start date of the cycle. """ startsAt: String! } type CycleConnection { edges: [CycleEdge!]! nodes: [Cycle!]! pageInfo: PageInfo! } """ Input for creating a new cycle. """ input CycleCreateInput { """ The completion time of the cycle. If null, the cycle hasn't been completed. """ completedAt: DateTime """ The description of the cycle. """ description: String """ The end time of the cycle. """ endsAt: DateTime! """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The custom name of the cycle. """ name: String """ The start time of the cycle. """ startsAt: DateTime! """ The team to associate the cycle with. """ teamId: String! } type CycleEdge { """ Used in `before` and `after` args """ cursor: String! node: Cycle! } """ Cycle filtering options. """ input CycleFilter { """ Compound filters, all of which need to be matched by the cycle. """ and: [CycleFilter!] """ Comparator for the cycle completed at date. """ completedAt: DateComparator """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the cycle ends at date. """ endsAt: DateComparator """ Comparator for the identifier. """ id: IDComparator """ Comparator for the inherited cycle ID. """ inheritedFromId: IDComparator """ Comparator for the filtering active cycle. """ isActive: BooleanComparator """ Comparator for the filtering future cycles. """ isFuture: BooleanComparator """ Comparator for filtering for whether the cycle is currently in cooldown. """ isInCooldown: BooleanComparator """ Comparator for the filtering next cycle. """ isNext: BooleanComparator """ Comparator for the filtering past cycles. """ isPast: BooleanComparator """ Comparator for the filtering previous cycle. """ isPrevious: BooleanComparator """ Filters that the cycles issues must satisfy. """ issues: IssueCollectionFilter """ Comparator for the cycle name. """ name: StringComparator """ Comparator for the cycle number. """ number: NumberComparator """ Compound filters, one of which need to be matched by the cycle. """ or: [CycleFilter!] """ Comparator for the cycle start date. """ startsAt: DateComparator """ Filters that the cycles team must satisfy. """ team: TeamFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } """ A notification subscription scoped to a specific cycle. The subscriber receives notifications for events related to issues in this cycle. """ type CycleNotificationSubscription implements Entity & Node & NotificationSubscription { """ Whether the subscription is active. When inactive, no notifications are generated from this subscription even though it still exists. """ active: Boolean! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The type of contextual view (e.g., active issues, backlog) that further scopes a team notification subscription. Null if the subscription is not associated with a specific view type. """ contextViewType: ContextViewType """ The time at which the entity was created. """ createdAt: DateTime! """ The custom view that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ customView: CustomView """ The customer that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ customer: Customer """ The cycle subscribed to. """ cycle: Cycle! """ The unique identifier of the entity. """ id: ID! """ The initiative that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ initiative: Initiative """ The issue label that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ label: IssueLabel """ The notification event types that this subscription will deliver to the subscriber. """ notificationSubscriptionTypes: [String!]! """ The project that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ project: Project """ The user who will receive notifications from this subscription. """ subscriber: User! """ The team that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ team: Team """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user that this notification subscription is scoped to, for user-specific view subscriptions. Null if the subscription targets a different entity type. """ user: User """ The type of user-specific view that further scopes a user notification subscription. Null if the subscription is not associated with a user view type. """ userContextViewType: UserContextViewType } """ The payload returned by cycle mutations. """ type CyclePayload { """ The cycle that was created or updated. """ cycle: Cycle """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } enum CyclePeriod { after before during } """ Comparator for period when issue was added to a cycle. """ input CyclePeriodComparator { """ Equals constraint. """ eq: CyclePeriod """ In-array constraint. """ in: [CyclePeriod!] """ Not-equals constraint. """ neq: CyclePeriod """ Not-in-array constraint. """ nin: [CyclePeriod!] """ Null constraint. Matches any non-null values if the given value is false, otherwise it matches null values. """ null: Boolean } """ Input for shifting all cycles from a certain cycle onwards by a certain number of days. """ input CycleShiftAllInput { """ The number of days to shift the cycles by. """ daysToShift: Float! """ The cycle ID at which to start the shift. """ id: String! } """ Issue cycle sorting options. """ input CycleSort { """ When set to true, cycles will be ordered with a custom order. Current cycle comes first, followed by upcoming cycles in ASC order, followed by previous cycles in DESC order. """ currentCycleFirst: Boolean = false """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Input for updating an existing cycle. """ input CycleUpdateInput { """ The completion time of the cycle. If null, the cycle hasn't been completed. """ completedAt: DateTime """ The description of the cycle. """ description: String """ The end time of the cycle. """ endsAt: DateTime """ The custom name of the cycle. """ name: String """ The start time of the cycle. """ startsAt: DateTime } """ Payload for a cycle webhook. """ type CycleWebhookPayload { """ The time at which the entity was archived. """ archivedAt: String """ The time at which the cycle was automatically archived by the auto pruning process. """ autoArchivedAt: String """ The completion time of the cycle. If null, the cycle hasn't been completed. """ completedAt: String """ The number of completed issues in the cycle after each day. """ completedIssueCountHistory: [Float!]! """ The number of completed estimation points after each day. """ completedScopeHistory: [Float!]! """ The time at which the entity was created. """ createdAt: String! """ The cycle's description. """ description: String """ The end date of the cycle. """ endsAt: String! """ The ID of the entity. """ id: String! """ The number of in progress estimation points after each day. """ inProgressScopeHistory: [Float!]! """ The ID of the cycle inherited from. """ inheritedFromId: String """ The total number of issues in the cycle after each day. """ issueCountHistory: [Float!]! """ The name of the cycle. """ name: String """ The number of the cycle. """ number: Float! """ The total number of estimation points after each day. """ scopeHistory: [Float!]! """ The start date of the cycle. """ startsAt: String! """ The team ID of the cycle. """ teamId: String! """ The IDs of the uncompleted issues upon close. """ uncompletedIssuesUponCloseIds: [String!]! """ The time at which the entity was updated. """ updatedAt: String! } """ [Internal] A configurable dashboard composed of widgets that display analytics, metrics, and insights. Dashboards can be personal or shared with the workspace, and optionally scoped to one or more teams. Each dashboard contains a set of widget configurations that define what data is visualized. """ type Dashboard implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The hex color code of the dashboard icon. """ color: String """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the dashboard. Null if the creator's account has been deleted. """ creator: User """ The description of the dashboard. """ description: String """ The icon of the dashboard. Can be an emoji or a decorative icon identifier. """ icon: String """ The unique identifier of the entity. """ id: ID! """ A global issue filter applied to all dashboard widgets that display issue data. Individual widgets may apply additional filters on top of this. """ issueFilter: JSONObject """ The name of the dashboard. """ name: String! """ The organization that the dashboard belongs to. """ organization: Organization! """ The owner of the dashboard. For personal dashboards, only the owner can view them. Null if the owner's account has been deleted. """ owner: User """ A global project filter applied to all dashboard widgets that display project data. Individual widgets may apply additional filters on top of this. """ projectFilter: JSONObject """ Whether the dashboard is shared with everyone in the workspace. Shared dashboards are visible to all members; unshared dashboards are only visible to the owner. """ shared: Boolean! """ The dashboard's unique URL slug, used to construct human-readable URLs. Automatically generated on creation. """ slugId: String! """ The sort order of the dashboard within the workspace or its team. Lower values appear first. """ sortOrder: Float! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user who last updated the dashboard. Null if no user has updated it or the updater's account has been deleted. """ updatedBy: User """ The widget configuration for the dashboard, defining the layout grid of rows and the widgets within each row, including their type, size, and data settings. """ widgets: JSONObject! } """ Union type for all possible webhook entity data payloads """ union DataWebhookPayload = | AgentActivityWebhookPayload | AgentSessionWebhookPayload | AttachmentWebhookPayload | AuditEntryWebhookPayload | CommentWebhookPayload | CustomerNeedWebhookPayload | CustomerWebhookPayload | CycleWebhookPayload | DocumentWebhookPayload | InitiativeUpdateWebhookPayload | InitiativeWebhookPayload | IssueLabelWebhookPayload | IssueWebhookPayload | ProjectLabelWebhookPayload | ProjectUpdateWebhookPayload | ProjectWebhookPayload | ReactionWebhookPayload | ReleaseWebhookPayload | UserWebhookPayload """ Comparator for dates. """ input DateComparator { """ Equals constraint. """ eq: DateTimeOrDuration """ Greater-than constraint. Matches any values that are greater than the given value. """ gt: DateTimeOrDuration """ Greater-than-or-equal constraint. Matches any values that are greater than or equal to the given value. """ gte: DateTimeOrDuration """ In-array constraint. """ in: [DateTimeOrDuration!] """ Less-than constraint. Matches any values that are less than the given value. """ lt: DateTimeOrDuration """ Less-than-or-equal constraint. Matches any values that are less than or equal to the given value. """ lte: DateTimeOrDuration """ Not-equals constraint. """ neq: DateTimeOrDuration """ Not-in-array constraint. """ nin: [DateTimeOrDuration!] } """ By which resolution is a date defined. """ enum DateResolutionType { halfYear month quarter year } """ 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) """ 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) """ scalar DateTimeOrDuration """ The day of the week. """ enum Day { Friday Monday Saturday Sunday Thursday Tuesday Wednesday } """ Issue delegate sorting options. """ input DelegateSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Input for confirming workspace deletion with a verification code. """ input DeleteOrganizationInput { """ The deletion code to confirm operation. """ deletionCode: String! } """ A generic payload return from entity deletion mutations. """ type DeletePayload implements ArchivePayload { """ The identifier of the deleted entity. """ entityId: String! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ A rich-text document that lives within a project, initiative, team, issue, release, or cycle. Documents support collaborative editing via ProseMirror/Yjs and store their content in a separate DocumentContent entity. Each document is associated with exactly one parent entity. """ type Document implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The hex color of the document icon. Null if no custom color has been set. """ color: String """ Comments associated with the document. """ comments( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned comments. """ filter: CommentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): CommentConnection! """ The document's content in markdown format. """ content: String """ [Internal] The document's content as a base64-encoded Yjs state update. """ contentState: String """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the document. Null if the creator's account has been deleted. """ creator: User """ [Internal] The cycle that the document is associated with. Null if the document belongs to a different parent entity type. """ cycle: Cycle """ The ID of the document content associated with the document. """ documentContentId: String """ The time at which the document was hidden from the default view. Null if the document has not been hidden. """ hiddenAt: DateTime """ The icon of the document, either a decorative icon type or an emoji string. Null if no icon has been set. """ icon: String """ The unique identifier of the entity. """ id: ID! """ The initiative that the document is associated with. Null if the document belongs to a different parent entity type. """ initiative: Initiative """ The issue that the document is associated with. Null if the document belongs to a different parent entity type. """ issue: Issue """ The last template that was applied to this document. Null if no template has been applied. """ lastAppliedTemplate: Template """ The project that the document is associated with. Null if the document belongs to a different parent entity type. """ project: Project """ The release that the document is associated with. Null if the document belongs to a different parent entity type. """ release: Release """ The document's unique URL slug, used to construct human-readable URLs. """ slugId: String! """ The sort order of the document in its parent entity's resources list. This order is shared with other resource types such as external links. """ sortOrder: Float! """ [Internal] A one-sentence AI-generated summary of the document content. Null if no summary has been generated. """ summary: String """ [Internal] The team that the document is associated with. Null if the document belongs to a different parent entity type. """ team: Team """ The title of the document. An empty string indicates an untitled document. """ title: String! """ A flag that indicates whether the document is in the trash bin. Trashed documents are archived and can be restored. """ trashed: Boolean """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user who last updated the document. Null if the user's account has been deleted. """ updatedBy: User """ The canonical url for the document. """ url: String! } """ A generic payload return from entity archive mutations. """ type DocumentArchivePayload implements ArchivePayload { """ The archived/unarchived entity. Null if entity was deleted. """ entity: Document """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Certain properties of a document. """ type DocumentChildWebhookPayload { """ The ID of the document. """ id: String! """ The initiative this document belongs to. """ initiative: InitiativeChildWebhookPayload """ The ID of the initiative this document belongs to. """ initiativeId: String """ The project this document belongs to. """ project: ProjectChildWebhookPayload """ The ID of the project this document belongs to. """ projectId: String """ The title of the document. """ title: String! } type DocumentConnection { edges: [DocumentEdge!]! nodes: [Document!]! pageInfo: PageInfo! } """ The rich-text content body of a document, issue, project, initiative, project milestone, pull request, release note, AI prompt rules, or welcome message. Content is stored as a base64-encoded Yjs state and can be converted to Markdown or ProseMirror JSON. Each DocumentContent belongs to exactly one parent entity and supports real-time collaborative editing. """ type DocumentContent implements Node { """ The AI prompt rules that the content is associated with. Null if the content belongs to a different parent entity type. """ aiPromptRules: AiPromptRules """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The document content in markdown format. This is a derived representation of the canonical Yjs content state. """ content: String """ The document content state as a base64-encoded Yjs state update. This is the canonical representation of the document content used for collaborative editing. """ contentState: String """ The time at which the entity was created. """ createdAt: DateTime! """ The document that the content is associated with. Null if the content belongs to a different parent entity type. """ document: Document """ The unique identifier of the entity. """ id: ID! """ The initiative that the content is associated with. Null if the content belongs to a different parent entity type. """ initiative: Initiative """ The issue that the content is associated with. Null if the content belongs to a different parent entity type. """ issue: Issue """ The project that the content is associated with. Null if the content belongs to a different parent entity type. """ project: Project """ The project milestone that the content is associated with. Null if the content belongs to a different parent entity type. """ projectMilestone: ProjectMilestone """ [Internal] The pull request that the content is associated with. Null if the content belongs to a different parent entity type. """ pullRequest: PullRequest """ The time at which the document content was restored from a previous version in the content history. Null if the content has never been restored. """ restoredAt: DateTime """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The welcome message that the content is associated with. Null if the content belongs to a different parent entity type. """ welcomeMessage: WelcomeMessage } """ Certain properties of a document content. """ type DocumentContentChildWebhookPayload { """ The document this document content belongs to. """ document: DocumentChildWebhookPayload """ The project this document belongs to. """ project: ProjectChildWebhookPayload } """ A draft revision of document content, pending user review. Each user can have at most one draft per document content. Drafts are seeded from the live document state and stored as base64-encoded Yjs state updates, allowing independent editing without affecting the published document until the user explicitly applies their changes. """ type DocumentContentDraft implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The draft content state as a base64-encoded Yjs state update. This represents the user's in-progress edits that have not yet been applied to the live document. """ contentState: String! """ The time at which the entity was created. """ createdAt: DateTime! """ The document content that this draft is a revision of. """ documentContent: DocumentContent! """ The identifier of the document content that this draft is a revision of. """ documentContentId: String! """ The unique identifier of the entity. """ id: ID! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user who created or owns this draft. """ user: User! """ The identifier of the user who owns this draft. """ userId: String! } type DocumentContentHistoryPayload { """ The document content history entries. """ history: [DocumentContentHistoryType!]! """ Whether the operation was successful. """ success: Boolean! } type DocumentContentHistoryType { """ IDs of users whose edits are included in this history entry. """ actorIds: [String!] """ [Internal] The document content as a ProseMirror document at the time this history entry was captured. """ contentData: JSON """ The timestamp of the document content state when this snapshot was captured. This can differ from createdAt because the content is captured from its state at the previously known updatedAt timestamp in the case of an update. On document creation, these timestamps can be identical. """ contentDataSnapshotAt: DateTime! """ The date when this document content history entry record was created. """ createdAt: DateTime! """ The unique identifier of the document content history entry. """ id: String! """ Metadata associated with the history entry, including content diffs and AI-generated change summaries. """ metadata: JSON } """ Input for creating a new document. """ input DocumentCreateInput { """ The color of the icon. """ color: String """ The document content as markdown. """ content: String """ [Internal] Related cycle for the document. """ cycleId: String """ The icon of the document. """ icon: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ [Internal] Related initiative for the document. """ initiativeId: String """ Related issue for the document. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String """ The ID of the last template applied to the document. """ lastAppliedTemplateId: String """ Related project for the document. """ projectId: String """ Related release for the document. """ releaseId: String """ [Internal] The resource folder containing the document. """ resourceFolderId: String """ The order of the item in the resources list. """ sortOrder: Float """ [INTERNAL] The identifiers of the users subscribing to this document. """ subscriberIds: [String!] """ [Internal] Related team for the document. """ teamId: String """ The title of the document. """ title: String! } """ Document creation date sorting options. """ input DocumentCreatedAtSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Document creator sorting options. """ input DocumentCreatorSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } type DocumentEdge { """ Used in `before` and `after` args """ cursor: String! node: Document! } """ Document filtering options. """ input DocumentFilter { """ Compound filters, all of which need to be matched by the document. """ and: [DocumentFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the document's creator must satisfy. """ creator: UserFilter """ Filters that the document's cycle must satisfy. """ cycle: CycleFilter """ Comparator for the identifier. """ id: IDComparator """ Filters that the document's initiative must satisfy. """ initiative: InitiativeFilter """ Filters that the document's issue must satisfy. """ issue: IssueFilter """ Compound filters, one of which need to be matched by the document. """ or: [DocumentFilter!] """ Filters that the document's project must satisfy. """ project: ProjectFilter """ Filters that the document's release must satisfy. """ release: ReleaseFilter """ Comparator for the document slug ID. """ slugId: StringComparator """ Filters that the document's team must satisfy. """ team: NullableTeamFilter """ Comparator for the document title. """ title: StringComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ A notification related to a document, such as comments, mentions, content changes, or document lifecycle events. """ type DocumentNotification implements Entity & Node & Notification { """ The user that caused the notification. Null if the notification was triggered by a non-user actor such as an integration, external user, or system event. """ actor: User """ [Internal] Notification actor initials if avatar is not available. """ actorAvatarColor: String! """ [Internal] Notification avatar URL. """ actorAvatarUrl: String """ [Internal] Notification actor initials if avatar is not available. """ actorInitials: String """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The bot that caused the notification. """ botActor: ActorBot """ The category of the notification. """ category: NotificationCategory! """ Related comment ID. Null if the notification is not related to a comment. """ commentId: String """ The time at which the entity was created. """ createdAt: DateTime! """ Related document ID. """ documentId: String! """ The time at which an email reminder for this notification was sent to the user. Null if no email reminder has been sent. """ emailedAt: DateTime """ The external user that caused the notification. Populated when the notification was triggered by an external user (e.g., a commenter from a connected integration like Slack or GitHub) rather than a Linear workspace member. """ externalUserActor: ExternalUser """ [Internal] Notifications with the same grouping key will be grouped together in the UI. """ groupingKey: String! """ [Internal] Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`. """ groupingPriority: Float! """ The unique identifier of the entity. """ id: ID! """ [Internal] Inbox URL for the notification. """ inboxUrl: String! """ [Internal] Initiative update health for new updates. """ initiativeUpdateHealth: String """ [Internal] If notification actor was Linear. """ isLinearActor: Boolean! """ [Internal] Issue's status type for issue notifications. """ issueStatusType: String """ Related parent comment ID. Null if the notification is not related to a comment. """ parentCommentId: String """ [Internal] Project update health for new updates. """ projectUpdateHealth: String """ Name of the reaction emoji related to the notification. """ reactionEmoji: String """ The time at which the user marked the notification as read. Null if the notification is unread. """ readAt: DateTime """ The time until which a notification is snoozed. After this time, the notification reappears in the user's inbox. Null if the notification is not currently snoozed. """ snoozedUntilAt: DateTime """ [Internal] Notification subtitle. """ subtitle: String! """ [Internal] Notification title. """ title: String! """ Notification type. Determines the kind of event that triggered this notification and which associated entity fields will be populated. """ type: String! """ The time at which a notification was unsnoozed. Null if the notification has not been unsnoozed. """ unsnoozedAt: DateTime """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ [Internal] URL to the target of the notification. """ url: String! """ The recipient user of this notification. """ user: User! } """ The result of a document mutation. """ type DocumentPayload { """ The document that was created or updated. """ document: Document! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Document project sorting options. """ input DocumentProjectSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } type DocumentSearchPayload { """ Archived entities matching the search term along with all their dependencies, serialized for the client sync engine. """ archivePayload: ArchiveResponse! edges: [DocumentSearchResultEdge!]! nodes: [DocumentSearchResult!]! pageInfo: PageInfo! """ Total number of matching results before pagination is applied. """ totalCount: Float! } type DocumentSearchResult implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The hex color of the document icon. Null if no custom color has been set. """ color: String """ Comments associated with the document. """ comments( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned comments. """ filter: CommentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): CommentConnection! """ The document's content in markdown format. """ content: String """ [Internal] The document's content as a base64-encoded Yjs state update. """ contentState: String """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the document. Null if the creator's account has been deleted. """ creator: User """ [Internal] The cycle that the document is associated with. Null if the document belongs to a different parent entity type. """ cycle: Cycle """ The ID of the document content associated with the document. """ documentContentId: String """ The time at which the document was hidden from the default view. Null if the document has not been hidden. """ hiddenAt: DateTime """ The icon of the document, either a decorative icon type or an emoji string. Null if no icon has been set. """ icon: String """ The unique identifier of the entity. """ id: ID! """ The initiative that the document is associated with. Null if the document belongs to a different parent entity type. """ initiative: Initiative """ The issue that the document is associated with. Null if the document belongs to a different parent entity type. """ issue: Issue """ The last template that was applied to this document. Null if no template has been applied. """ lastAppliedTemplate: Template """ Metadata related to search result. """ metadata: JSONObject! """ The project that the document is associated with. Null if the document belongs to a different parent entity type. """ project: Project """ The release that the document is associated with. Null if the document belongs to a different parent entity type. """ release: Release """ The document's unique URL slug, used to construct human-readable URLs. """ slugId: String! """ The sort order of the document in its parent entity's resources list. This order is shared with other resource types such as external links. """ sortOrder: Float! """ [Internal] A one-sentence AI-generated summary of the document content. Null if no summary has been generated. """ summary: String """ [Internal] The team that the document is associated with. Null if the document belongs to a different parent entity type. """ team: Team """ The title of the document. An empty string indicates an untitled document. """ title: String! """ A flag that indicates whether the document is in the trash bin. Trashed documents are archived and can be restored. """ trashed: Boolean """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user who last updated the document. Null if the user's account has been deleted. """ updatedBy: User """ The canonical url for the document. """ url: String! } type DocumentSearchResultEdge { """ Used in `before` and `after` args """ cursor: String! node: DocumentSearchResult! } """ Document sorting options. """ input DocumentSortInput { """ Sort by document creation date. """ createdAt: DocumentCreatedAtSort """ Sort by the document's creator (author). """ creator: DocumentCreatorSort """ Sort by the document's parent project name. """ project: DocumentProjectSort """ Sort by document title. """ title: DocumentTitleSort """ Sort by document last-updated date. """ updatedAt: DocumentUpdatedAtSort } """ Document title sorting options. """ input DocumentTitleSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Input for updating an existing document. """ input DocumentUpdateInput { """ The color of the icon. """ color: String """ The document content as markdown. """ content: String """ [Internal] Related cycle for the document. """ cycleId: String """ The time at which the document was hidden. Set to null to unhide. """ hiddenAt: DateTime """ The icon of the document. """ icon: String """ [Internal] Related initiative for the document. """ initiativeId: String """ Related issue for the document. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String """ The ID of the last template applied to the document. """ lastAppliedTemplateId: String """ Related project for the document. """ projectId: String """ Related release for the document. """ releaseId: String """ [Internal] The resource folder containing the document. """ resourceFolderId: String """ The order of the item in the resources list. """ sortOrder: Float """ [INTERNAL] The identifiers of the users subscribing to this document. """ subscriberIds: [String!] """ [Internal] Related team for the document. """ teamId: String """ The title of the document. """ title: String """ Whether the document has been trashed. Set to true to trash, or null to restore from trash. """ trashed: Boolean } """ Document update date sorting options. """ input DocumentUpdatedAtSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Payload for a document webhook. """ type DocumentWebhookPayload { """ The time at which the entity was archived. """ archivedAt: String """ The color of the document. """ color: String """ The content of the document. """ content: String """ The time at which the entity was created. """ createdAt: String! """ The ID of the user who created the document. """ creatorId: String """ The description of the document. """ description: String """ The time at which the document was hidden. """ hiddenAt: String """ The icon of the document. """ icon: String """ The ID of the entity. """ id: String! """ The ID of the initiative this document belongs to. """ initiativeId: String """ The ID of the last template that was applied to this document. """ lastAppliedTemplateId: String """ The ID of the project this document belongs to. """ projectId: String """ The ID of the resource folder this document belongs to. """ resourceFolderId: String """ The document's unique URL slug. """ slugId: String! """ The order of the item in the resources list. """ sortOrder: Float! """ The IDs of the users who are subscribed to this document. """ subscriberIds: [String!] """ The title of the document. """ title: String! """ A flag that indicates whether the document is in the trash bin. """ trashed: Boolean """ The time at which the entity was updated. """ updatedAt: String! """ The ID of the user who last updated the document. """ updatedById: String } """ A general-purpose draft for unsaved content. Drafts store in-progress text for comments, project updates, initiative updates, posts, pull request comments, and customer needs. Each draft belongs to a user and is associated with exactly one parent entity. Drafts are automatically deleted when the user publishes the corresponding comment or update. """ type Draft implements Node { """ [INTERNAL] Allows for multiple drafts per entity (currently constrained to Pull Requests). """ anchor: String """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The draft text content as a ProseMirror document. """ bodyData: JSON! """ The time at which the entity was created. """ createdAt: DateTime! """ The customer need that this draft is referencing. Null if the draft belongs to a different parent entity type. """ customerNeed: CustomerNeed """ Additional properties for the draft, such as generation metadata for AI-generated drafts, health status for project updates, or post titles. """ data: JSONObject """ The unique identifier of the entity. """ id: ID! """ The initiative for which this is a draft comment or initiative update. Null if the draft belongs to a different parent entity type. """ initiative: Initiative """ The initiative update for which this is a draft comment. Null if the draft belongs to a different parent entity type. """ initiativeUpdate: InitiativeUpdate """ Whether the draft was autogenerated for the user. """ isAutogenerated: Boolean! @deprecated(reason: "Use 'data.generationMetadata' instead") """ The issue for which this is a draft comment. Null if the draft belongs to a different parent entity type. """ issue: Issue """ The parent comment for which this is a draft reply. Null if the draft is a top-level comment or belongs to a different parent entity type. """ parentComment: Comment """ The post for which this is a draft comment. Null if the draft belongs to a different parent entity type. """ post: Post """ The project for which this is a draft comment or project update. Null if the draft belongs to a different parent entity type. """ project: Project """ The project update for which this is a draft comment. Null if the draft belongs to a different parent entity type. """ projectUpdate: ProjectUpdate """ The team for which this is a draft post. Null if the draft belongs to a different parent entity type. """ team: Team """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user who created the draft. """ user: User! """ [INTERNAL] Whether the draft was ported from a local draft. """ wasLocalDraft: Boolean! } type DraftConnection { edges: [DraftEdge!]! nodes: [Draft!]! pageInfo: PageInfo! } type DraftEdge { """ Used in `before` and `after` args """ cursor: String! node: Draft! } """ Issue due date sorting options. """ input DueDateSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Represents a duration in ISO 8601 format. Accepts ISO 8601 duration strings or integers in milliseconds. """ scalar Duration """ An email address that creates Linear issues when emails are sent to it. Email intake addresses can be scoped to a specific team or issue template, and support configurable auto-reply messages for issue creation, completion, and cancellation events. They can also be configured for the Asks web form feature, enabling external users to submit requests via email. """ type EmailIntakeAddress implements Node { """ The unique local part (before the @) of the intake email address, used to route incoming emails to the correct intake handler. """ address: String! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the email intake address. """ creator: User """ Whether issues created from emails sent to this address are automatically converted into customer requests, linking the sender as a customer contact. """ customerRequestsEnabled: Boolean! """ Whether the email address is enabled. """ enabled: Boolean! """ The email address used to forward emails to the intake address. """ forwardingEmailAddress: String """ The unique identifier of the entity. """ id: ID! """ The auto-reply message for issue canceled. If not set, the default reply will be used. """ issueCanceledAutoReply: String """ Whether the auto-reply for issue canceled is enabled. """ issueCanceledAutoReplyEnabled: Boolean! """ The auto-reply message for issue completed. If not set, the default reply will be used. """ issueCompletedAutoReply: String """ Whether the auto-reply for issue completed is enabled. """ issueCompletedAutoReplyEnabled: Boolean! """ The auto-reply message for issue created. If not set, the default reply will be used. """ issueCreatedAutoReply: String """ Whether the auto-reply for issue created is enabled. """ issueCreatedAutoReplyEnabled: Boolean! """ The workspace that the email address is associated with. """ organization: Organization! """ Whether to reopen completed or canceled issues when a substantive email reply is received. """ reopenOnReply: Boolean! """ Whether email replies are enabled. """ repliesEnabled: Boolean! """ The name to be used for outgoing emails. """ senderName: String """ The SES domain identity that the email address is associated with. """ sesDomainIdentity: SesDomainIdentity """ The team that the email address is associated with. """ team: Team """ The template that the email address is associated with. """ template: Template """ The type of the email address. """ type: EmailIntakeAddressType! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ Whether the commenter's name is included in the email replies. """ useUserNamesInReplies: Boolean! } """ Input for creating a new email intake address. """ input EmailIntakeAddressCreateInput { """ Whether customer requests are enabled. """ customerRequestsEnabled: Boolean """ The email address used to forward emails to the intake address. """ forwardingEmailAddress: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The auto-reply message for issue canceled. """ issueCanceledAutoReply: String """ Whether the issue canceled auto-reply is enabled. """ issueCanceledAutoReplyEnabled: Boolean """ The auto-reply message for issue completed. """ issueCompletedAutoReply: String """ Whether the issue completed auto-reply is enabled. """ issueCompletedAutoReplyEnabled: Boolean """ The auto-reply message for issue created. """ issueCreatedAutoReply: String """ Whether the issue created auto-reply is enabled. """ issueCreatedAutoReplyEnabled: Boolean """ Whether to reopen completed or canceled issues when a substantive email reply is received. """ reopenOnReply: Boolean """ Whether email replies are enabled. """ repliesEnabled: Boolean """ The name to be used for outgoing emails. """ senderName: String """ The identifier or key of the team this email address will intake issues for. """ teamId: String """ The identifier of the template this email address will intake issues for. """ templateId: String """ The type of the email address. If not provided, the backend will default to team or template. """ type: EmailIntakeAddressType """ Whether the commenter's name is included in the email replies. """ useUserNamesInReplies: Boolean } """ The result of an email intake address mutation. """ type EmailIntakeAddressPayload { """ The email address that was created or updated. """ emailIntakeAddress: EmailIntakeAddress! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ The type of the email address. """ enum EmailIntakeAddressType { asks asksWeb team template } """ Input for updating an existing email intake address. """ input EmailIntakeAddressUpdateInput { """ Whether customer requests are enabled. """ customerRequestsEnabled: Boolean """ Whether the email address is currently enabled. If set to false, the email address will be disabled and no longer accept incoming emails. """ enabled: Boolean """ The email address used to forward emails to the intake address. """ forwardingEmailAddress: String """ Custom auto-reply message for issue canceled. """ issueCanceledAutoReply: String """ Whether the issue canceled auto-reply is enabled. """ issueCanceledAutoReplyEnabled: Boolean """ Custom auto-reply message for issue completed. """ issueCompletedAutoReply: String """ Whether the issue completed auto-reply is enabled. """ issueCompletedAutoReplyEnabled: Boolean """ The auto-reply message for issue created. """ issueCreatedAutoReply: String """ Whether the issue created auto-reply is enabled. """ issueCreatedAutoReplyEnabled: Boolean """ Whether to reopen completed or canceled issues when a substantive email reply is received. """ reopenOnReply: Boolean """ Whether email replies are enabled. """ repliesEnabled: Boolean """ The name to be used for outgoing emails. """ senderName: String """ The identifier or key of the team this email address will intake issues for. """ teamId: String """ The identifier of the template this email address will intake issues for. """ templateId: String """ Whether the commenter's name is included in the email replies. """ useUserNamesInReplies: Boolean } """ Input for unsubscribing a user from a specific email notification type. """ input EmailUnsubscribeInput { """ The user's email validation token. """ token: String! """ Email type to unsubscribe from. """ type: String! """ The identifier of the user. """ userId: String! } """ The result of an email unsubscribe mutation. """ type EmailUnsubscribePayload { """ Whether the operation was successful. """ success: Boolean! } input EmailUserAccountAuthChallengeInput { """ Response from the login challenge. """ challengeResponse: String """ Auth code for the client initiating the sequence. """ clientAuthCode: String """ The email for which to generate the magic login code. """ email: String! """ The workspace invite link to associate with this authentication. """ inviteLink: String """ Whether the login was requested from the desktop app. """ isDesktop: Boolean """ Whether to only return the login code. This is used by mobile apps to skip showing the login link. """ loginCodeOnly: Boolean """ PostHog session ID for attribution tracking. """ sessionId: String } type EmailUserAccountAuthChallengeResponse { """ Supported challenge for this user account. Can be either verificationCode or password. """ authType: String! """ Whether the operation was successful. """ success: Boolean! } """ A custom emoji defined in the workspace. Custom emojis are uploaded by users and can be used in reactions and other places where standard emojis are supported. Each emoji has a unique name within the workspace. """ type Emoji implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the emoji. """ creator: User """ The unique identifier of the entity. """ id: ID! """ The unique name of the custom emoji within the workspace. """ name: String! """ The workspace that the emoji belongs to. """ organization: Organization! """ The source of the emoji, indicating how it was created (e.g., uploaded by a user or imported). """ source: String! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The URL of the uploaded image for this custom emoji. """ url: String! } type EmojiConnection { edges: [EmojiEdge!]! nodes: [Emoji!]! pageInfo: PageInfo! } """ Input for creating a new custom emoji. """ input EmojiCreateInput { """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The name of the custom emoji. """ name: String! """ The URL for the emoji. """ url: String! } type EmojiEdge { """ Used in `before` and `after` args """ cursor: String! node: Emoji! } """ The result of a custom emoji mutation. """ type EmojiPayload { """ The emoji that was created. """ emoji: Emoji! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ A basic entity. """ interface Entity implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The unique identifier of the entity. """ id: ID! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ Union type for webhook actor payloads """ union EntityActorWebhookPayload = | IntegrationActorWebhookPayload | OauthClientActorWebhookPayload | UserActorWebhookPayload """ An external link attached to a Linear entity such as an initiative, project, team, release, or cycle. External links provide a way to reference related resources outside of Linear (e.g., documentation, design files, dashboards) directly from the entity's resources section. Each link has a URL, display label, and sort order within its parent entity. """ type EntityExternalLink implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the link. """ creator: User! """ The unique identifier of the entity. """ id: ID! """ The initiative that the link is associated with. """ initiative: Initiative """ The link's label. """ label: String! """ The project that the link is associated with. """ project: Project """ The sort order of this link within the parent entity's resources list. Links are sorted together with documents and other resources attached to the entity. """ sortOrder: Float! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The link's URL. """ url: String! } type EntityExternalLinkConnection { edges: [EntityExternalLinkEdge!]! nodes: [EntityExternalLink!]! pageInfo: PageInfo! } """ Input for creating a new external link on an entity. A URL, label, and exactly one parent entity (initiative, project, team, release, or cycle) are required. """ input EntityExternalLinkCreateInput { """ [Internal] The cycle associated with the link. """ cycleId: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The initiative associated with the link. """ initiativeId: String """ The label for the link. """ label: String! """ The project associated with the link. """ projectId: String """ The release associated with the link. """ releaseId: String """ [Internal] The resource folder containing the link. """ resourceFolderId: String """ The order of the item in the entities resources list. """ sortOrder: Float """ [Internal] The team associated with the link. """ teamId: String """ The URL of the link. """ url: String! } type EntityExternalLinkEdge { """ Used in `before` and `after` args """ cursor: String! node: EntityExternalLink! } """ The result of an entity external link mutation. """ type EntityExternalLinkPayload { """ The link that was created or updated. """ entityExternalLink: EntityExternalLink! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Input for updating an existing external link. All fields are optional; only provided fields will be updated. """ input EntityExternalLinkUpdateInput { """ The label for the link. """ label: String """ [Internal] The resource folder containing the link. """ resourceFolderId: String """ The order of the item in the entities resources list. """ sortOrder: Float """ The URL of the link. """ url: String } """ Payload for entity-related webhook events. """ type EntityWebhookPayload { """ The type of action that triggered the webhook. """ action: String! """ The actor who triggered the action. """ actor: EntityActorWebhookPayload """ The time the payload was created. """ createdAt: DateTime! """ The entity that was changed. """ data: DataWebhookPayload! """ ID of the organization for which the webhook belongs to. """ organizationId: String! """ The type of resource, i.e., the name of the entity. """ type: String! """ In case of an update event, previous values of all updated properties. """ updatedFrom: JSONObject """ URL for the entity. """ url: String """ The ID of the webhook that sent this event. """ webhookId: String! """ Unix timestamp in milliseconds when the webhook was sent. """ webhookTimestamp: Float! } """ Comparator for estimates. """ input EstimateComparator { """ Compound filters, one of which need to be matched by the estimate. """ and: [NullableNumberComparator!] """ Equals constraint. """ eq: Float """ Greater-than constraint. Matches any values that are greater than the given value. """ gt: Float """ Greater-than-or-equal constraint. Matches any values that are greater than or equal to the given value. """ gte: Float """ In-array constraint. """ in: [Float!] """ Less-than constraint. Matches any values that are less than the given value. """ lt: Float """ Less-than-or-equal constraint. Matches any values that are less than or equal to the given value. """ lte: Float """ Not-equals constraint. """ neq: Float """ Not-in-array constraint. """ nin: [Float!] """ Null constraint. Matches any non-null values if the given value is false, otherwise it matches null values. """ null: Boolean """ Compound filters, all of which need to be matched by the estimate. """ or: [NullableNumberComparator!] } """ Issue estimate sorting options. """ input EstimateSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Input for tracking an anonymous analytics event. """ input EventTrackingInput { """ The event name to track. """ event: String! """ Optional properties for the event. """ properties: JSONObject """ Client session ID for PostHog session correlation. """ sessionId: String } type EventTrackingPayload { """ Whether the operation was successful. """ success: Boolean! } """ Information about an entity in an external system that is linked to a Linear entity. Provides the external ID, the service it belongs to, and optional service-specific metadata. """ type ExternalEntityInfo { """ The unique identifier of the entity in the external system (e.g., the Jira issue ID, GitHub issue node ID, or Slack message timestamp). """ id: String! """ Service-specific metadata about the external entity. The concrete type depends on the service (e.g., Jira issue key, GitHub repo and issue number, Slack channel info). Null for entity types that do not have additional metadata. """ metadata: ExternalEntityInfoMetadata """ The external service that this entity belongs to (e.g., jira, github, slack). """ service: ExternalSyncService! } """ Metadata about the external GitHub entity. """ type ExternalEntityInfoGithubMetadata { """ The number of the issue. """ number: Float """ The owner of the repository. """ owner: String """ The repository name. """ repo: String } """ Metadata about the external Jira entity. """ type ExternalEntityInfoJiraMetadata { """ The key of the Jira issue. """ issueKey: String """ The id of the Jira issue type. """ issueTypeId: String """ The id of the Jira project. """ projectId: String } union ExternalEntityInfoMetadata = | ExternalEntityInfoGithubMetadata | ExternalEntityInfoJiraMetadata | ExternalEntitySlackMetadata """ Metadata about the external Slack entity. """ type ExternalEntitySlackMetadata { """ The id of the Slack channel. """ channelId: String """ The name of the Slack channel. """ channelName: String """ Whether the entity originated from Slack (not Linear). """ isFromSlack: Boolean! """ The URL of the Slack message. """ messageUrl: String } """ The service that syncs an external entity to Linear. """ enum ExternalSyncService { github jira slack } """ An external user who interacts with Linear through an integrated external service (such as Slack, Jira, GitHub, GitLab, Salesforce, or Microsoft Teams) but does not have a Linear account. External users can create issues, post comments, and add reactions from their respective platforms. They are identified by service-specific user IDs and may optionally have an email address. External users are scoped to a single workspace. """ type ExternalUser implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ A URL to the external user's avatar image. Null if no avatar is available from the external service. """ avatarUrl: String """ The time at which the entity was created. """ createdAt: DateTime! """ The external user's display name. Unique within each workspace. Can match the display name of an actual user. """ displayName: String! """ The external user's email address. """ email: String """ The unique identifier of the entity. """ id: ID! """ The last time the external user was seen interacting with Linear through their external service. Defaults to the creation time and is updated on subsequent interactions. """ lastSeen: DateTime """ The external user's full name. """ name: String! """ The workspace that the external user belongs to. """ organization: Organization! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ Certain properties of an external user. """ type ExternalUserChildWebhookPayload { """ The email of the external user. """ email: String! """ The ID of the external user. """ id: String! """ The name of the external user. """ name: String! } type ExternalUserConnection { edges: [ExternalUserEdge!]! nodes: [ExternalUser!]! pageInfo: PageInfo! } type ExternalUserEdge { """ Used in `before` and `after` args """ cursor: String! node: ExternalUser! } """ A facet representing a join between entities. Facets connect a custom view to an owning entity such as a project, initiative, team page, workspace page, or user feed. They control the order of views within their parent via the sortOrder field. Exactly one source entity and one target entity must be set. """ type Facet implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The unique identifier of the entity. """ id: ID! """ The sort order of the facet within its owning entity scope. Lower values appear first. Sort order is scoped by the source entity (e.g., all facets on a project are sorted independently from facets on an initiative). """ sortOrder: Float! """ The user whose feed this facet belongs to. Set when this facet represents a view in a user's personal feed. """ sourceFeedUser: User """ The owning initiative. Set when this facet represents a view tab on an initiative. """ sourceInitiative: Initiative """ The owning organization. Set for workspace-level facets that are not scoped to a specific team, project, or initiative. """ sourceOrganization: Organization """ The fixed page type (e.g., projects, issues) that this facet is displayed on. Used together with sourceOrganizationId or sourceTeamId to place a view on a specific page at the workspace or team level. """ sourcePage: FacetPageSource """ The owning project. Set when this facet represents a view tab on a project. """ sourceProject: Project """ The owning team. Set when this facet represents a view on a team-level page. """ sourceTeam: Team """ The custom view that this facet points to. Each facet targets exactly one custom view, establishing a one-to-one relationship. """ targetCustomView: CustomView """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } type FacetConnection { edges: [FacetEdge!]! nodes: [Facet!]! pageInfo: PageInfo! } type FacetEdge { """ Used in `before` and `after` args """ cursor: String! node: Facet! } enum FacetPageSource { feed projects teamIssues } """ A user's bookmarked item that appears in their sidebar for quick access. Favorites can reference various entity types including issues, projects, cycles, views, documents, initiatives, labels, users, customers, dashboards, and pull requests. Favorites can be organized into folders and ordered by the user. Each favorite is owned by a single user and links to exactly one target entity (or is a folder containing other favorites). """ type Favorite implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ Children of the favorite. Only applies to favorites of type folder. """ children( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): FavoriteConnection! """ [Internal] Returns the color of the favorite's icon. Unavailable for avatars and views with fixed icons (e.g. cycle). """ color: String """ The time at which the entity was created. """ createdAt: DateTime! """ The favorited custom view. """ customView: CustomView """ The favorited customer. """ customer: Customer """ The favorited cycle. """ cycle: Cycle """ The favorited dashboard. """ dashboard: Dashboard """ [Internal] Detail text for favorite's `title` (e.g. team's name for a project). """ detail: String """ The favorited document. """ document: Document """ [INTERNAL] The favorited facet. """ facet: Facet """ The name of the folder. Only applies to favorites of type folder. """ folderName: String """ [Internal] Name of the favorite's icon. Unavailable for standard views, issues, and avatars """ icon: String """ The unique identifier of the entity. """ id: ID! """ The favorited initiative. """ initiative: Initiative """ The targeted tab of the initiative. """ initiativeTab: InitiativeTab """ The favorited issue. """ issue: Issue """ The favorited label. """ label: IssueLabel """ The user who owns this favorite. Favorites are personal and only visible to their owner. """ owner: User! """ The parent folder of the favorite. Null if the favorite is at the top level of the sidebar. Only favorites of type 'folder' can be parents. """ parent: Favorite """ The team of the favorited predefined view. """ predefinedViewTeam: Team """ The type of favorited predefined view (e.g., 'allIssues', 'activeCycle', 'backlog', 'triage'). Only populated when the favorite type is 'predefinedView'. """ predefinedViewType: String """ The favorited project. """ project: Project """ The favorited project label. """ projectLabel: ProjectLabel """ The targeted tab of the project. """ projectTab: ProjectTab """ [DEPRECATED] The favorited team of the project. """ projectTeam: Team """ The favorited pull request. """ pullRequest: PullRequest """ The favorited release. """ release: Release """ The favorited release pipeline. """ releasePipeline: ReleasePipeline """ The position of this item in the user's favorites list. Lower values appear first. Used to maintain user-defined ordering within the sidebar. """ sortOrder: Float! """ The favorited team. """ team: Team """ [Internal] Favorite's title text (name of the favorite'd object or folder). """ title: String! """ The type of entity this favorite references, such as 'issue', 'project', 'cycle', 'customView', 'document', 'folder', etc. Determines which associated entity field is populated. """ type: String! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ URL of the favorited entity. Folders return 'null' value. """ url: String """ The favorited user. """ user: User } type FavoriteConnection { edges: [FavoriteEdge!]! nodes: [Favorite!]! pageInfo: PageInfo! } """ Input for creating a favorite. Exactly one target entity must be specified (e.g., issueId, projectId, customViewId, folderName, etc.). """ input FavoriteCreateInput { """ The identifier of the custom view to favorite. """ customViewId: String """ The identifier of the customer to favorite. """ customerId: String """ The identifier of the cycle to favorite. """ cycleId: String """ The identifier of the dashboard to favorite. """ dashboardId: String """ The identifier of the document to favorite. """ documentId: String """ The identifier of the facet to favorite. """ facetId: String """ The name of the favorite folder. """ folderName: String """ The identifier. If none is provided, the backend will generate one. """ id: String """ [INTERNAL] The identifier of the initiative to favorite. """ initiativeId: String """ The tab of the initiative to favorite. """ initiativeTab: InitiativeTab """ The identifier of the issue to favorite. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String """ The identifier of the label to favorite. """ labelId: String """ The parent folder of the favorite. """ parentId: String """ The identifier of team for the predefined view to favorite. """ predefinedViewTeamId: String """ The type of the predefined view to favorite. """ predefinedViewType: String """ The identifier of the project to favorite. """ projectId: String """ The identifier of the project label to favorite. """ projectLabelId: String """ The tab of the project to favorite. """ projectTab: ProjectTab """ The identifier of the pull request to favorite. """ pullRequestId: String """ The identifier of the release to favorite. """ releaseId: String """ The identifier of the release pipeline to favorite. """ releasePipelineId: String """ The position of the item in the favorites list. """ sortOrder: Float """ The identifier of the team to favorite. """ teamId: String """ The identifier of the user to favorite. """ userId: String } type FavoriteEdge { """ Used in `before` and `after` args """ cursor: String! node: Favorite! } """ Return type for favorite mutations. """ type FavoritePayload { """ The favorite that was created or updated. """ favorite: Favorite! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Input for updating a favorite's position, parent folder, or folder name. """ input FavoriteUpdateInput { """ The name of the favorite folder. """ folderName: String """ The identifier (in UUID v4 format) of the folder to move the favorite under. """ parentId: String """ The position of the item in the favorites list. """ sortOrder: Float } """ [Internal] An item in a user's activity feed. Feed items represent project updates, initiative updates, or posts that appear in a user's personalized feed based on their team memberships and feed subscriptions. Each feed item references exactly one content entity. Feed items older than 6 months are automatically archived. """ type FeedItem implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The unique identifier of the entity. """ id: ID! """ The initiative update referenced by this feed item. Null if the feed item references a different content type. """ initiativeUpdate: InitiativeUpdate """ The organization this feed item belongs to. """ organization: Organization! """ The post referenced by this feed item. Null if the feed item references a different content type. """ post: Post """ The project update referenced by this feed item. Null if the feed item references a different content type. """ projectUpdate: ProjectUpdate """ The team this feed item is associated with. Null if the feed item is not team-scoped. """ team: Team """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The specific user this feed item is targeted to. Null if the feed item is targeted to a team or organization rather than an individual user. """ user: User } type FeedItemConnection { edges: [FeedItemEdge!]! nodes: [FeedItem!]! pageInfo: PageInfo! } type FeedItemEdge { """ Used in `before` and `after` args """ cursor: String! node: FeedItem! } """ Feed item filtering options """ input FeedItemFilter { """ Compound filters, all of which need to be matched by the feed item. """ and: [FeedItemFilter!] """ Filters that the feed item author must satisfy. """ author: UserFilter """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the identifier. """ id: IDComparator """ Compound filters, one of which need to be matched by the feed item. """ or: [FeedItemFilter!] """ Filters that the feed item's project update must satisfy. """ projectUpdate: ProjectUpdateFilter """ Filters that the related feed item initiatives must satisfy. """ relatedInitiatives: InitiativeCollectionFilter """ Filters that the related feed item team must satisfy. """ relatedTeams: TeamCollectionFilter """ Comparator for the project or initiative update health: onTrack, atRisk, offTrack """ updateHealth: StringComparator """ Comparator for the update type: initiative, project, team """ updateType: StringComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Cadence to generate feed summary """ enum FeedSummarySchedule { daily never weekly } """ The result of a data fetch query using natural language. """ type FetchDataPayload { """ The fetched data as a JSON object. The shape depends on the natural language query and the resolved GraphQL query. Null if the query returned no results. """ data: JSONObject """ The filter variables that were generated and applied to the GraphQL query. Null if no filters were needed. """ filters: JSONObject """ The GraphQL query that was generated from the natural language input and executed to produce the data. Useful for debugging or reusing the query directly. """ query: String """ Whether the fetch operation was successful. """ success: Boolean! } type FileUploadDeletePayload { """ Whether the operation was successful. """ success: Boolean! } """ By which resolution is frequency defined. """ enum FrequencyResolutionType { daily weekly } """ The result of a Front attachment mutation. """ type FrontAttachmentPayload { """ The issue attachment that was created. """ attachment: Attachment! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } input FrontSettingsInput { """ Whether a ticket should be automatically reopened when its linked Linear issue is canceled. """ automateTicketReopeningOnCancellation: Boolean """ Whether a ticket should be automatically reopened when a comment is posted on its linked Linear issue """ automateTicketReopeningOnComment: Boolean """ Whether a ticket should be automatically reopened when its linked Linear issue is completed. """ automateTicketReopeningOnCompletion: Boolean """ Whether a ticket should be automatically reopened when its linked Linear project is canceled. """ automateTicketReopeningOnProjectCancellation: Boolean """ Whether a ticket should be automatically reopened when its linked Linear project is completed. """ automateTicketReopeningOnProjectCompletion: Boolean """ [ALPHA] Whether customer and customer requests should not be automatically created when conversations are linked to a Linear issue. """ disableCustomerRequestsAutoCreation: Boolean """ Whether Linear Agent should be enabled for this integration. """ enableAiIntake: Boolean """ Whether an internal message should be added when someone comments on an issue. """ sendNoteOnComment: Boolean """ Whether an internal message should be added when a Linear issue changes status (for status types except completed or canceled). """ sendNoteOnStatusChange: Boolean } """ A Git automation rule that automatically transitions issues to a specified workflow state when a Git event occurs (e.g., when a PR is opened, move the linked issue to 'In Review'). Each rule is scoped to a team and optionally to a specific target branch. When no target branch is specified, the rule acts as the default for all branches. Target-branch-specific rules override the defaults. """ type GitAutomationState implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ [DEPRECATED] The target branch, if null, the automation will be triggered on any branch. """ branchPattern: String @deprecated(reason: "Use targetBranch instead.") """ The time at which the entity was created. """ createdAt: DateTime! """ The Git event that triggers this automation rule (e.g., branch created, PR opened for review, or PR merged). """ event: GitAutomationStates! """ The unique identifier of the entity. """ id: ID! """ The workflow state that linked issues will be transitioned to when the Git event fires. Null if this rule is configured to take no action, overriding any default rule for the same event. """ state: WorkflowState """ The target branch that this automation rule applies to. When set, this rule only fires for pull requests targeting the specified branch pattern, overriding any default rule for the same event. Null if this is a default rule that applies to all branches. """ targetBranch: GitAutomationTargetBranch """ The team that this automation rule belongs to. Issues must belong to this team for the automation to apply. """ team: Team! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } type GitAutomationStateConnection { edges: [GitAutomationStateEdge!]! nodes: [GitAutomationState!]! pageInfo: PageInfo! } """ Input for creating a new Git automation rule. """ input GitAutomationStateCreateInput { """ The event that triggers the automation. """ event: GitAutomationStates! """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The associated workflow state. If null, will override default behaviour and take no action. """ stateId: String """ The associated target branch. If null, all branches are targeted. """ targetBranchId: String """ The team associated with the automation state. """ teamId: String! } type GitAutomationStateEdge { """ Used in `before` and `after` args """ cursor: String! node: GitAutomationState! } """ The result of a git automation state mutation. """ type GitAutomationStatePayload { """ The automation state that was created or updated. """ gitAutomationState: GitAutomationState! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Input for updating an existing Git automation rule. """ input GitAutomationStateUpdateInput { """ The event that triggers the automation. """ event: GitAutomationStates """ The associated workflow state. """ stateId: String """ The associated target branch. If null, all branches are targeted. """ targetBranchId: String } """ The Git events that can trigger an automation rule. Each value corresponds to a pull/merge request lifecycle event (e.g., branch created, PR opened for review, PR merged). """ enum GitAutomationStates { draft merge mergeable review start } """ A target branch definition used by Git automation rules to scope automations to specific branches. The branch can be specified as an exact name (e.g., 'main') or as a regular expression pattern (e.g., 'release/.*'). Each target branch belongs to a team and can have multiple automation rules associated with it, which override the team's default automation rules when a PR targets a matching branch. """ type GitAutomationTargetBranch implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ Git automation rules associated with this target branch. These rules override the team's default automation rules when a pull request targets a branch matching this pattern. """ automationStates( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): GitAutomationStateConnection! """ The branch name or pattern to match against pull request target branches. Interpreted as a literal branch name unless isRegex is true, in which case it is treated as a regular expression. """ branchPattern: String! """ The time at which the entity was created. """ createdAt: DateTime! """ The unique identifier of the entity. """ id: ID! """ Whether the branch pattern should be interpreted as a regular expression. When false, the pattern is matched as an exact branch name. """ isRegex: Boolean! """ The team that this target branch definition belongs to. The branch pattern is unique within a team. """ team: Team! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ Input for creating a new Git target branch definition. """ input GitAutomationTargetBranchCreateInput { """ The target branch pattern. """ branchPattern: String! """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ Whether the branch pattern is a regular expression. """ isRegex: Boolean = false """ The team associated with the Git target branch automation. """ teamId: String! } """ The result of a git automation target branch mutation. """ type GitAutomationTargetBranchPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! """ The Git target branch automation that was created or updated. """ targetBranch: GitAutomationTargetBranch! } """ Input for updating an existing Git target branch definition. """ input GitAutomationTargetBranchUpdateInput { """ The target branch pattern. """ branchPattern: String """ Whether the branch pattern is a regular expression. """ isRegex: Boolean } type GitHubCommitIntegrationPayload { """ The integration that was created or updated. """ integration: Integration """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! """ The webhook secret to provide to GitHub. """ webhookSecret: String! } type GitHubEnterpriseServerInstallVerificationPayload { """ Has the install been successful. """ success: Boolean! } type GitHubEnterpriseServerPayload { """ The app install address. """ installUrl: String! """ The integration that was created or updated. """ integration: Integration """ The identifier of the last sync operation. """ lastSyncId: Float! """ The setup address. """ setupUrl: String! """ Whether the operation was successful. """ success: Boolean! """ The webhook secret to provide to GitHub. """ webhookSecret: String! } input GitHubImportSettingsInput { """ A map storing all available issue labels per repository """ labels: JSONObject """ The avatar URL for the GitHub organization. """ orgAvatarUrl: String! """ The GitHub organization's name. """ orgLogin: String! """ The type of Github org """ orgType: GithubOrgType! """ The names of the repositories connected for the GitHub integration. """ repositories: [GitHubRepoInput!]! } input GitHubPersonalSettingsInput { """ The GitHub user's name. """ login: String! } """ Instruction for the client after attempting to remove code access from a GitHub integration. """ enum GitHubRemoveCodeAccessAction { Done InstallBasicApp } input GitHubRepoInput { """ Whether the repository is archived. """ archived: Boolean """ The external identifier (GitHub node ID) for the repository. """ externalId: String """ The full name of the repository. """ fullName: String! """ The GitHub repo id. """ id: Float! } input GitHubRepoMappingInput { """ Whether the sync for this mapping is bidirectional. """ bidirectional: Boolean """ Whether this mapping is the default one for issue creation. """ default: Boolean """ Labels to filter incoming GitHub issue creation by. """ gitHubLabels: [String!] """ The GitHub repo id. """ gitHubRepoId: Float! """ The unique identifier for this mapping. """ id: String! """ The Linear team id to map to the given project. """ linearTeamId: String! } input GitHubSettingsInput { """ Whether the integration has code access """ codeAccess: Boolean """ The enterprise URL if this is a GitHub Enterprise Cloud integration. """ enterpriseUrl: String """ The stable external identifier (GitHub node ID) for the organization. """ externalOrgId: String """ The avatar URL for the GitHub organization. """ orgAvatarUrl: String """ The GitHub organization's name. """ orgLogin: String! """ The type of Github org """ orgType: GithubOrgType pullRequestReviewTool: PullRequestReviewTool """ The names of the repositories connected for the GitHub integration. """ repositories: [GitHubRepoInput!] """ Mapping of team to repository for syncing. """ repositoriesMapping: [GitHubRepoMappingInput!] } type GitLabIntegrationCreatePayload { """ Error message if the connection failed. """ error: String """ Method and post-encoding upstream URI of the failed request, for debugging proxy allowlist rules (e.g. `GET /api/v4/projects/aire%2Fagents`). """ errorRequest: String """ Response body from GitLab for debugging. """ errorResponseBody: String """ Response headers from GitLab for debugging (JSON stringified). """ errorResponseHeaders: String """ The integration that was created or updated. """ integration: Integration """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! """ The webhook secret to provide to GitLab. """ webhookSecret: String! } input GitLabSettingsInput { """ The ISO timestamp the GitLab access token expires. """ expiresAt: String """ Whether the token is limited to a read-only scope. """ readonly: Boolean """ The self-hosted URL of the GitLab instance. """ url: String """ When true, MR webhook PR sync uses the project-scoped REST aggregator instead of GraphQL. Set automatically for teleport-routed installations whose proxies require all upstream paths to live under `/api/v4/projects/...`. """ useRestPrSync: Boolean """ Path or numeric ID of a project to use for the setup health check. Set this when the GitLab tenant blocks non-project API endpoints; the setup check then validates against this single project instead of the personal access token endpoint. """ validationProjectPath: String } type GitLabTestConnectionPayload { """ Error message if the connection test failed. """ error: String """ Method and post-encoding upstream URI of the failed request, for debugging proxy allowlist rules (e.g. `GET /api/v4/projects/aire%2Fagents`). """ errorRequest: String """ Response body from GitLab for debugging. """ errorResponseBody: String """ Response headers from GitLab for debugging (JSON stringified). """ errorResponseHeaders: String """ The integration that was created or updated. """ integration: Integration """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ [Internal] The kind of link between an issue and a pull request. """ enum GitLinkKind { closes contributes links } enum GithubOrgType { organization user } input GongRecordingImportConfigInput { """ The team ID to create issues in for imported recordings. Set to null to disable import. """ teamId: String } input GongSettingsInput { """ Configuration for recording import. """ importConfig: GongRecordingImportConfigInput """ Whether to tag matching internal Gong call participants as user mentions in created issues. """ tagParticipantsInIssues: Boolean } input GoogleSheetsExportSettings { """ Whether the export is enabled. """ enabled: Boolean """ The ID of the target sheet (tab) within the Google Sheet. """ sheetId: Float """ The ID of the exported Google Sheet. """ spreadsheetId: String """ The URL of the exported Google Sheet. """ spreadsheetUrl: String """ The date of the most recent export. """ updatedAt: DateTime } input GoogleSheetsSettingsInput { """ The export settings for initiatives. """ initiative: GoogleSheetsExportSettings """ The export settings for issues. """ issue: GoogleSheetsExportSettings """ The export settings for projects. """ project: GoogleSheetsExportSettings """ [Deprecated] The ID of the target sheet (tab) within the Google Sheet. """ sheetId: Float """ [Deprecated] The ID of the exported Google Sheet. """ spreadsheetId: String """ [Deprecated] The URL of the exported Google Sheet. """ spreadsheetUrl: String """ [Deprecated] The date of the most recent export. """ updatedIssuesAt: DateTime } input GoogleUserAccountAuthInput { """ Code returned from Google's OAuth flow. """ code: String! """ An optional parameter to disable new user signup and force login. Default: false. """ disallowSignup: Boolean """ An optional invite link for a workspace used to populate available workspaces. """ inviteLink: String """ The URI to redirect the user to. """ redirectUri: String """ PostHog session ID for attribution tracking. """ sessionId: String """ The timezone of the user's browser. """ timezone: String! } """ Union type for all possible guidance rule origins """ union GuidanceRuleOriginWebhookPayload = OrganizationOriginWebhookPayload | TeamOriginWebhookPayload """ Metadata for guidance that should be provided to an AI agent. """ type GuidanceRuleWebhookPayload { """ The content of the guidance as markdown. """ body: String! """ Where the guidance was defined within the organization. """ origin: GuidanceRuleOriginWebhookPayload! } """ Comparator for identifiers. """ input IDComparator { """ Equals constraint. """ eq: ID """ In-array constraint. """ in: [ID!] """ Not-equals constraint. """ neq: ID """ Not-in-array constraint. """ nin: [ID!] } """ A SAML/SSO or web forms identity provider configuration for a workspace. Identity providers enable single sign-on authentication via SAML 2.0 and can optionally support SCIM for automated user provisioning and group-based role mapping. Each workspace can have a default general-purpose identity provider and additional web forms identity providers for Asks web authentication. """ type IdentityProvider implements Node { """ [INTERNAL] SCIM admins group push settings. """ adminsGroupPush: JSONObject """ Whether users are allowed to change their name and display name even if SCIM is enabled. """ allowNameChange: Boolean! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ Whether the identity provider is the default identity provider migrated from organization level settings. """ defaultMigrated: Boolean! """ [INTERNAL] SCIM guests group push settings. """ guestsGroupPush: JSONObject """ The unique identifier of the entity. """ id: ID! """ The issuer's custom entity ID. """ issuerEntityId: String """ [INTERNAL] SCIM owners group push settings. """ ownersGroupPush: JSONObject """ The SAML priority used to pick default workspace in SAML SP initiated flow, when same domain is claimed for SAML by multiple workspaces. Lower priority value means higher preference. """ priority: Float """ Whether SAML authentication is enabled for the workspace. """ samlEnabled: Boolean! """ Whether SCIM provisioning is enabled for the workspace. """ scimEnabled: Boolean! """ The service provider (Linear) custom entity ID. Defaults to https://auth.linear.app/sso """ spEntityId: String """ Binding method for authentication call. Can be either `post` (default) or `redirect`. """ ssoBinding: String """ Sign in endpoint URL for the identity provider. """ ssoEndpoint: String """ The algorithm of the Signing Certificate. Can be one of `sha1`, `sha256` (default), or `sha512`. """ ssoSignAlgo: String """ X.509 Signing Certificate in string form. """ ssoSigningCert: String """ The type of identity provider. """ type: IdentityProviderType! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ The type of identity provider. """ enum IdentityProviderType { general webForms } type ImageUploadFromUrlPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! """ The URL containing the image. """ url: String } input InheritanceEntityMapping { """ Mapping of the IssueLabel ID to the new IssueLabel name. """ issueLabels: JSONObject """ Mapping of the WorkflowState ID to the new WorkflowState ID. """ workflowStates: JSONObject! } """ An initiative is a high-level strategic grouping of projects toward a business goal. Initiatives can contain multiple projects, have their own status updates and health tracking, and can be organized hierarchically with parent-child relationships. """ type Initiative implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The initiative's color. """ color: String """ The time at which the initiative was moved into Completed status. Null if the initiative has not been completed. """ completedAt: DateTime """ The initiative's content in markdown format. """ content: String """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the initiative. """ creator: User """ The description of the initiative. """ description: String """ The content of the initiative description. """ documentContent: DocumentContent """ Documents associated with the initiative. """ documents( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned documents. """ filter: DocumentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): DocumentConnection! """ [Internal] Facets associated with the initiative, used for filtering and categorization. """ facets: [Facet!]! """ The resolution of the reminder frequency. """ frequencyResolution: FrequencyResolutionType! """ The overall health of the initiative, derived from the most recent initiative update. Possible values are onTrack, atRisk, or offTrack. Null if no health has been reported. """ health: InitiativeUpdateHealthType """ The time at which the initiative health was last updated, typically when a new initiative update is posted. Null if health has never been set. """ healthUpdatedAt: DateTime """ History entries associated with the initiative. """ history( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): InitiativeHistoryConnection! """ The icon of the initiative. Can be an emoji or a decorative icon type. """ icon: String """ The unique identifier of the entity. """ id: ID! """ Initiative updates associated with the initiative. """ initiativeUpdates( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): InitiativeUpdateConnection! """ Settings for all integrations associated with that initiative. """ integrationsSettings: IntegrationsSettings """ [Internal] The IDs of the initiative labels associated with this initiative. """ labelIds: [String!]! """ [Internal] Labels associated with this initiative. """ labels( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned initiative labels. """ filter: InitiativeLabelFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): InitiativeLabelConnection! """ The most recent status update posted for this initiative. Null if no updates have been posted. """ lastUpdate: InitiativeUpdate """ Links associated with the initiative. """ links( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): EntityExternalLinkConnection! """ The name of the initiative. """ name: String! """ The workspace of the initiative. """ organization: Organization! """ The user who owns the initiative. The owner is typically responsible for posting status updates and driving the initiative to completion. Null if no owner is assigned. """ owner: User """ Parent initiative associated with the initiative. """ parentInitiative: Initiative """ [Internal] Parent initiatives associated with the initiative. """ parentInitiatives( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned parent initiatives. """ filter: InitiativeFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy """ [INTERNAL] Sort returned initiatives. """ sort: [InitiativeSortInput!] ): InitiativeConnection! """ Projects associated with the initiative. """ projects( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned projects. """ filter: ProjectFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ Whether to include projects from sub-initiatives. Defaults to true. """ includeSubInitiatives: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy """ [INTERNAL] Sort returned projects. """ sort: [ProjectSortInput!] ): ProjectConnection! """ The initiative's unique URL slug, used to construct human-readable URLs. """ slugId: String! """ The sort order of the initiative within the workspace. """ sortOrder: Float! """ The time at which the initiative was moved into Active status. Null if the initiative has not been activated. """ startedAt: DateTime """ The lifecycle status of the initiative. One of Planned, Active, Completed. """ status: InitiativeStatus! """ Sub-initiatives associated with the initiative. """ subInitiatives( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned sub-initiatives. """ filter: InitiativeFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy """ [INTERNAL] Sort returned initiatives. """ sort: [InitiativeSortInput!] ): InitiativeConnection! """ The estimated completion date of the initiative. Null if no target date is set. """ targetDate: TimelessDate """ The resolution of the initiative's estimated completion date, indicating whether it refers to a specific day, week, month, quarter, or year. """ targetDateResolution: DateResolutionType """ A flag that indicates whether the initiative is in the trash bin. """ trashed: Boolean """ The frequency at which to prompt for updates. When not set, reminders are inherited from workspace. """ updateReminderFrequency: Float """ The n-weekly frequency at which to prompt for updates. When not set, reminders are inherited from workspace. """ updateReminderFrequencyInWeeks: Float """ The day at which to prompt for updates. """ updateRemindersDay: Day """ The hour at which to prompt for updates. """ updateRemindersHour: Float """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ Initiative URL. """ url: String! } """ A generic payload return from entity archive mutations. """ type InitiativeArchivePayload implements ArchivePayload { """ The archived/unarchived entity. Null if entity was deleted. """ entity: Initiative """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Certain properties of an initiative. """ type InitiativeChildWebhookPayload { """ The ID of the initiative. """ id: String! """ The name of the initiative. """ name: String! """ The URL of the initiative. """ url: String! } """ Initiative collection filtering options. """ input InitiativeCollectionFilter { """ Comparator for the initiative activity type. """ activityType: StringComparator """ Filters that the initiative must be an ancestor of. """ ancestors: InitiativeCollectionFilter """ Compound filters, all of which need to be matched by the initiative. """ and: [InitiativeCollectionFilter!] """ Comparator for the initiative completed at date. """ completedAt: NullableDateComparator """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the initiative creator must satisfy. """ creator: NullableUserFilter """ Filters that needs to be matched by all initiatives. """ every: InitiativeFilter """ Comparator for the initiative health: onTrack, atRisk, offTrack """ health: StringComparator """ Comparator for the initiative health (with age): onTrack, atRisk, offTrack, outdated, noUpdate """ healthWithAge: StringComparator """ Comparator for the identifier. """ id: IDComparator """ Filters that the initiative updates must satisfy. """ initiativeUpdates: InitiativeUpdatesCollectionFilter """ [Internal] Filters that the initiative labels must satisfy. """ labels: InitiativeLabelCollectionFilter """ Comparator for the collection length. """ length: NumberComparator """ Comparator for the initiative name. """ name: StringComparator """ Compound filters, one of which need to be matched by the initiative. """ or: [InitiativeCollectionFilter!] """ Filters that the initiative owner must satisfy. """ owner: NullableUserFilter """ Comparator for the initiative slug ID. """ slugId: StringComparator """ Filters that needs to be matched by some initiatives. """ some: InitiativeFilter """ Comparator for the initiative started at date. """ startedAt: NullableDateComparator """ Comparator for the initiative status: Planned, Active, Completed """ status: StringComparator """ Comparator for the initiative target date. """ targetDate: NullableDateComparator """ Filters that the initiative teams must satisfy. """ teams: TeamCollectionFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } type InitiativeConnection { edges: [InitiativeEdge!]! nodes: [Initiative!]! pageInfo: PageInfo! } """ The properties of the initiative to create. """ input InitiativeCreateInput { """ The initiative's color. """ color: String """ The initiative's content in markdown format. """ content: String """ The description of the initiative. """ description: String """ The initiative's icon. """ icon: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ [Internal] The identifiers of the initiative labels associated with this initiative. """ labelIds: [String!] """ The name of the initiative. """ name: String! """ The owner of the initiative. """ ownerId: String """ The sort order of the initiative within the workspace. """ sortOrder: Float """ The initiative's status. """ status: InitiativeStatus """ The estimated completion date of the initiative. """ targetDate: TimelessDate """ The resolution of the initiative's estimated completion date. """ targetDateResolution: DateResolutionType } """ Initiative creation date sorting options. """ input InitiativeCreatedAtSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } type InitiativeEdge { """ Used in `before` and `after` args """ cursor: String! node: Initiative! } """ Initiative filtering options. """ input InitiativeFilter { """ Comparator for the initiative activity type. """ activityType: StringComparator """ Filters that the initiative must be an ancestor of. """ ancestors: InitiativeCollectionFilter """ Compound filters, all of which need to be matched by the initiative. """ and: [InitiativeFilter!] """ Comparator for the initiative completed at date. """ completedAt: NullableDateComparator """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the initiative creator must satisfy. """ creator: NullableUserFilter """ Comparator for the initiative health: onTrack, atRisk, offTrack """ health: StringComparator """ Comparator for the initiative health (with age): onTrack, atRisk, offTrack, outdated, noUpdate """ healthWithAge: StringComparator """ Comparator for the identifier. """ id: IDComparator """ Filters that the initiative updates must satisfy. """ initiativeUpdates: InitiativeUpdatesCollectionFilter """ [Internal] Filters that the initiative labels must satisfy. """ labels: InitiativeLabelCollectionFilter """ Comparator for the initiative name. """ name: StringComparator """ Compound filters, one of which need to be matched by the initiative. """ or: [InitiativeFilter!] """ Filters that the initiative owner must satisfy. """ owner: NullableUserFilter """ Comparator for the initiative slug ID. """ slugId: StringComparator """ Comparator for the initiative started at date. """ startedAt: NullableDateComparator """ Comparator for the initiative status: Planned, Active, Completed """ status: StringComparator """ Comparator for the initiative target date. """ targetDate: NullableDateComparator """ Filters that the initiative teams must satisfy. """ teams: TeamCollectionFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Initiative health sorting options. """ input InitiativeHealthSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Initiative health update date sorting options. """ input InitiativeHealthUpdatedAtSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ A history record associated with an initiative. Tracks changes to initiative properties such as name, status, owner, target date, icon, color, and parent-child relationships over time. """ type InitiativeHistory implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The events that happened while recording that history. """ entries: JSONObject! """ The unique identifier of the entity. """ id: ID! """ The initiative that this history record belongs to. """ initiative: Initiative! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } type InitiativeHistoryConnection { edges: [InitiativeHistoryEdge!]! nodes: [InitiativeHistory!]! pageInfo: PageInfo! } type InitiativeHistoryEdge { """ Used in `before` and `after` args """ cursor: String! node: InitiativeHistory! } """ A label that can be applied to initiatives for categorization. Initiative labels are workspace-level and can be organized into groups with a parent-child hierarchy. Only child labels (not group labels) can be directly applied to initiatives. """ type InitiativeLabel implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The label's color as a HEX string (e.g., '#EB5757'). Used for visual identification of the label in the UI. """ color: String! """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the label. """ creator: User """ The label's description. """ description: String """ The unique identifier of the entity. """ id: ID! """ Whether the label is a group. When true, this label acts as a container for child labels and cannot be directly applied to issues or projects. When false, the label can be directly applied. """ isGroup: Boolean! """ The date when the label was last applied to an issue, project, or initiative. Null if the label has never been applied. """ lastAppliedAt: DateTime """ The label's name. """ name: String! """ The workspace that the initiative label belongs to. """ organization: Organization! """ The parent label group. If set, this label is a child within a group. Only one child label from each group can be applied to an initiative at a time. """ parent: InitiativeLabel """ [Internal] When the label was retired. """ retiredAt: DateTime """ The user who retired the label. Retired labels cannot be applied to new initiatives but remain on existing ones. Null if the label is active. """ retiredBy: User """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ Certain properties of an initiative label. """ type InitiativeLabelChildWebhookPayload { """ The color of the initiative label. """ color: String! """ The ID of the initiative label. """ id: String! """ The name of the initiative label. """ name: String! """ The parent ID of the initiative label. """ parentId: String } """ Initiative label filtering options. """ input InitiativeLabelCollectionFilter { """ Compound filters, all of which need to be matched by the label. """ and: [InitiativeLabelCollectionFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the initiative labels creator must satisfy. """ creator: NullableUserFilter """ Filters that needs to be matched by all initiative labels. """ every: InitiativeLabelFilter """ Comparator for the identifier. """ id: IDComparator """ Comparator for whether the label is a group label. """ isGroup: BooleanComparator """ Comparator for the collection length. """ length: NumberComparator """ Comparator for the name. """ name: StringComparator """ Filter based on the existence of the relation. """ null: Boolean """ Compound filters, one of which need to be matched by the label. """ or: [InitiativeLabelCollectionFilter!] """ Filters that the initiative label's parent label must satisfy. """ parent: InitiativeLabelFilter """ Filters that needs to be matched by some initiative labels. """ some: InitiativeLabelCollectionFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } type InitiativeLabelConnection { edges: [InitiativeLabelEdge!]! nodes: [InitiativeLabel!]! pageInfo: PageInfo! } type InitiativeLabelEdge { """ Used in `before` and `after` args """ cursor: String! node: InitiativeLabel! } """ Initiative label filtering options. """ input InitiativeLabelFilter { """ Compound filters, all of which need to be matched by the label. """ and: [InitiativeLabelFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the initiative labels creator must satisfy. """ creator: NullableUserFilter """ Comparator for the identifier. """ id: IDComparator """ Comparator for whether the label is a group label. """ isGroup: BooleanComparator """ Comparator for the name. """ name: StringComparator """ Compound filters, one of which need to be matched by the label. """ or: [InitiativeLabelFilter!] """ Filters that the initiative label's parent label must satisfy. """ parent: InitiativeLabelFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Payload for an initiative label webhook. """ type InitiativeLabelWebhookPayload { """ The time at which the entity was archived. """ archivedAt: String """ The color of the initiative label. """ color: String! """ The time at which the entity was created. """ createdAt: String! """ The creator ID of the initiative label. """ creatorId: String """ The label's description. """ description: String """ The ID of the entity. """ id: String! """ Whether the label is a group. """ isGroup: Boolean! """ The name of the initiative label. """ name: String! """ The parent ID of the initiative label. """ parentId: String """ The time at which the entity was updated. """ updatedAt: String! } """ Initiative manual sorting options. """ input InitiativeManualSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Initiative name sorting options. """ input InitiativeNameSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ A notification related to an initiative, such as being added as owner, initiative updates, comments, or mentions. """ type InitiativeNotification implements Entity & Node & Notification { """ The user that caused the notification. Null if the notification was triggered by a non-user actor such as an integration, external user, or system event. """ actor: User """ [Internal] Notification actor initials if avatar is not available. """ actorAvatarColor: String! """ [Internal] Notification avatar URL. """ actorAvatarUrl: String """ [Internal] Notification actor initials if avatar is not available. """ actorInitials: String """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The bot that caused the notification. """ botActor: ActorBot """ The category of the notification. """ category: NotificationCategory! """ The comment related to the notification. """ comment: Comment """ Related comment ID. Null if the notification is not related to a comment. """ commentId: String """ The time at which the entity was created. """ createdAt: DateTime! """ The document related to the notification. """ document: Document """ The time at which an email reminder for this notification was sent to the user. Null if no email reminder has been sent. """ emailedAt: DateTime """ The external user that caused the notification. Populated when the notification was triggered by an external user (e.g., a commenter from a connected integration like Slack or GitHub) rather than a Linear workspace member. """ externalUserActor: ExternalUser """ [Internal] Notifications with the same grouping key will be grouped together in the UI. """ groupingKey: String! """ [Internal] Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`. """ groupingPriority: Float! """ The unique identifier of the entity. """ id: ID! """ [Internal] Inbox URL for the notification. """ inboxUrl: String! """ The initiative related to the notification. """ initiative: Initiative """ Related initiative ID. """ initiativeId: String! """ The initiative update related to the notification. """ initiativeUpdate: InitiativeUpdate """ [Internal] Initiative update health for new updates. """ initiativeUpdateHealth: String """ Related initiative update ID. """ initiativeUpdateId: String """ [Internal] If notification actor was Linear. """ isLinearActor: Boolean! """ [Internal] Issue's status type for issue notifications. """ issueStatusType: String """ The parent comment related to the notification, if a notification is a reply comment notification. """ parentComment: Comment """ Related parent comment ID. Null if the notification is not related to a comment. """ parentCommentId: String """ [Internal] Project update health for new updates. """ projectUpdateHealth: String """ Name of the reaction emoji related to the notification. """ reactionEmoji: String """ The time at which the user marked the notification as read. Null if the notification is unread. """ readAt: DateTime """ The time until which a notification is snoozed. After this time, the notification reappears in the user's inbox. Null if the notification is not currently snoozed. """ snoozedUntilAt: DateTime """ [Internal] Notification subtitle. """ subtitle: String! """ [Internal] Notification title. """ title: String! """ Notification type. Determines the kind of event that triggered this notification and which associated entity fields will be populated. """ type: String! """ The time at which a notification was unsnoozed. Null if the notification has not been unsnoozed. """ unsnoozedAt: DateTime """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ [Internal] URL to the target of the notification. """ url: String! """ The recipient user of this notification. """ user: User! } """ A notification subscription scoped to a specific initiative. The subscriber receives notifications for events related to this initiative, such as updates, comments, and ownership changes. """ type InitiativeNotificationSubscription implements Entity & Node & NotificationSubscription { """ Whether the subscription is active. When inactive, no notifications are generated from this subscription even though it still exists. """ active: Boolean! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The type of contextual view (e.g., active issues, backlog) that further scopes a team notification subscription. Null if the subscription is not associated with a specific view type. """ contextViewType: ContextViewType """ The time at which the entity was created. """ createdAt: DateTime! """ The custom view that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ customView: CustomView """ The customer that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ customer: Customer """ The cycle that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ cycle: Cycle """ The unique identifier of the entity. """ id: ID! """ The initiative subscribed to. """ initiative: Initiative! """ The issue label that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ label: IssueLabel """ The notification event types that this subscription will deliver to the subscriber. """ notificationSubscriptionTypes: [String!]! """ The project that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ project: Project """ The user who will receive notifications from this subscription. """ subscriber: User! """ The team that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ team: Team """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user that this notification subscription is scoped to, for user-specific view subscriptions. Null if the subscription targets a different entity type. """ user: User """ The type of user-specific view that further scopes a user notification subscription. Null if the subscription is not associated with a user view type. """ userContextViewType: UserContextViewType } """ Initiative owner sorting options. """ input InitiativeOwnerSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ The payload returned by the initiative mutations. """ type InitiativePayload { """ The initiative that was created or updated. """ initiative: Initiative! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ A parent-child relation between two initiatives, forming a hierarchy. The initiative field is the parent and relatedInitiative is the child. Cycles and excessive nesting depth are prevented. """ type InitiativeRelation implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The unique identifier of the entity. """ id: ID! """ The parent initiative in this hierarchical relation. """ initiative: Initiative! """ The child initiative in this hierarchical relation. """ relatedInitiative: Initiative! """ The sort order of the child initiative within its parent initiative. """ sortOrder: Float! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user who last created or modified the relation. Null if the user has been deleted. """ user: User } type InitiativeRelationConnection { edges: [InitiativeRelationEdge!]! nodes: [InitiativeRelation!]! pageInfo: PageInfo! } """ Input for creating a parent-child relationship between two initiatives. The initiativeId is the parent and the relatedInitiativeId is the child. """ input InitiativeRelationCreateInput { """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The identifier of the parent initiative in the hierarchy. """ initiativeId: String! """ The identifier of the child initiative in the hierarchy. """ relatedInitiativeId: String! """ The sort order of the child initiative within its parent. """ sortOrder: Float } type InitiativeRelationEdge { """ Used in `before` and `after` args """ cursor: String! node: InitiativeRelation! } """ The result of an initiative relation mutation. """ type InitiativeRelationPayload { """ The initiative relation that was created or updated. """ initiativeRelation: InitiativeRelation! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ The properties of the initiative relation to update. """ input InitiativeRelationUpdateInput { """ The sort order of the child initiative within its parent. """ sortOrder: Float } """ Initiative sorting options. """ input InitiativeSortInput { """ Sort by initiative creation date. """ createdAt: InitiativeCreatedAtSort """ Sort by initiative health status. """ health: InitiativeHealthSort """ Sort by initiative health update date. """ healthUpdatedAt: InitiativeHealthUpdatedAtSort """ Sort by manual order. """ manual: InitiativeManualSort """ Sort by initiative name. """ name: InitiativeNameSort """ Sort by initiative owner name. """ owner: InitiativeOwnerSort """ Sort by initiative target date. """ targetDate: InitiativeTargetDateSort """ Sort by initiative update date. """ updatedAt: InitiativeUpdatedAtSort } enum InitiativeStatus { Active Completed Planned } """ Different tabs available inside an initiative. """ enum InitiativeTab { overview projects updates } """ Initiative target date sorting options. """ input InitiativeTargetDateSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ The join entity linking a project to an initiative. A project can only appear once in an initiative hierarchy -- it cannot be on both an initiative and one of its ancestor or descendant initiatives. """ type InitiativeToProject implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The unique identifier of the entity. """ id: ID! """ The initiative that the project is associated with. """ initiative: Initiative! """ The project that the initiative is associated with. """ project: Project! """ The sort order of the project within its parent initiative. """ sortOrder: String! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } type InitiativeToProjectConnection { edges: [InitiativeToProjectEdge!]! nodes: [InitiativeToProject!]! pageInfo: PageInfo! } """ The properties of the initiativeToProject to create. """ input InitiativeToProjectCreateInput { """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The identifier of the initiative. """ initiativeId: String! """ The identifier of the project. """ projectId: String! """ The sort order for the project within the initiative. """ sortOrder: Float } type InitiativeToProjectEdge { """ Used in `before` and `after` args """ cursor: String! node: InitiativeToProject! } """ The result of an initiative-to-project mutation. """ type InitiativeToProjectPayload { """ The initiative-to-project association that was created or updated. """ initiativeToProject: InitiativeToProject! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ The properties of the initiative-to-project association to update. """ input InitiativeToProjectUpdateInput { """ The sort order for the project within the initiative. """ sortOrder: Float } """ A status update posted to an initiative. Initiative updates communicate progress, health, and blockers to stakeholders. Each update captures the initiative's health at the time of writing and includes a rich-text body with the update content. """ type InitiativeUpdate implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The update content in markdown format. """ body: String! """ [Internal] The content of the update as a Prosemirror document. """ bodyData: String! """ Number of comments associated with the initiative update. """ commentCount: Int! """ Comments associated with the initiative update. """ comments( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned comments. """ filter: CommentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): CommentConnection! """ The time at which the entity was created. """ createdAt: DateTime! """ The diff between the current update and the previous one. """ diff: JSONObject """ The diff between the current update and the previous one, formatted as markdown. """ diffMarkdown: String """ The time the update was edited. """ editedAt: DateTime """ The health of the initiative at the time this update was posted. Possible values are onTrack, atRisk, or offTrack. """ health: InitiativeUpdateHealthType! """ The unique identifier of the entity. """ id: ID! """ [Internal] A snapshot of initiative properties at the time the update was posted, including project statuses, sub-initiative health, and target dates. Used to compute diffs between consecutive updates. """ infoSnapshot: JSONObject """ The initiative that this status update was posted to. """ initiative: Initiative! """ Whether the diff between this update and the previous one should be hidden in the UI. """ isDiffHidden: Boolean! """ Whether the initiative update is stale. """ isStale: Boolean! """ Emoji reaction summary, grouped by emoji type. """ reactionData: JSONObject! """ Reactions associated with the initiative update. """ reactions: [Reaction!]! """ The update's unique URL slug. """ slugId: String! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The URL to the initiative update. """ url: String! """ The user who wrote the update. """ user: User! } """ A generic payload return from entity archive mutations. """ type InitiativeUpdateArchivePayload implements ArchivePayload { """ The archived/unarchived entity. Null if entity was deleted. """ entity: InitiativeUpdate """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Certain properties of an initiative update. """ type InitiativeUpdateChildWebhookPayload { """ The body of the initiative update. """ bodyData: String! """ The edited at timestamp of the initiative update. """ editedAt: String! """ The health of the initiative update. """ health: String! """ The ID of the initiative update. """ id: String! } type InitiativeUpdateConnection { edges: [InitiativeUpdateEdge!]! nodes: [InitiativeUpdate!]! pageInfo: PageInfo! } """ Input for creating a new initiative update. """ input InitiativeUpdateCreateInput { """ The content of the update in markdown format. """ body: String """ [Internal] The content of the update as a Prosemirror document. """ bodyData: JSON """ The health of the initiative at the time of the update. """ health: InitiativeUpdateHealthType """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The initiative to associate the update with. """ initiativeId: String! """ Whether the diff between the current update and the previous one should be hidden. """ isDiffHidden: Boolean } type InitiativeUpdateEdge { """ Used in `before` and `after` args """ cursor: String! node: InitiativeUpdate! } """ Options for filtering initiative updates. """ input InitiativeUpdateFilter { """ Compound filters, all of which need to be matched by the InitiativeUpdate. """ and: [InitiativeUpdateFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the identifier. """ id: IDComparator """ Filters that the initiative update initiative must satisfy. """ initiative: InitiativeFilter """ Compound filters, one of which need to be matched by the InitiativeUpdate. """ or: [InitiativeUpdateFilter!] """ Filters that the initiative updates reactions must satisfy. """ reactions: ReactionCollectionFilter """ Comparator for the updated at date. """ updatedAt: DateComparator """ Filters that the initiative update creator must satisfy. """ user: UserFilter } """ The health type when the update is created. """ enum InitiativeUpdateHealthType { atRisk offTrack onTrack } """ The properties of the initiative to update. """ input InitiativeUpdateInput { """ The initiative's color. """ color: String """ The initiative's content in markdown format. """ content: String """ The description of the initiative. """ description: String """ The resolution type for the update reminder frequency (e.g., weekly, biweekly). """ frequencyResolution: FrequencyResolutionType """ The initiative's icon. """ icon: String """ [Internal] The identifiers of the initiative labels associated with this initiative. """ labelIds: [String!] """ The name of the initiative. """ name: String """ The owner of the initiative. """ ownerId: String """ The sort order of the initiative within the workspace. """ sortOrder: Float """ The initiative's status. """ status: InitiativeStatus """ The estimated completion date of the initiative. Set to null to clear. """ targetDate: TimelessDate """ The resolution of the initiative's estimated completion date. """ targetDateResolution: DateResolutionType """ Whether the initiative has been trashed. Set to true to trash, or null to restore. """ trashed: Boolean """ The frequency at which to prompt for initiative updates. When not set, reminders are inherited from workspace settings. """ updateReminderFrequency: Float """ The n-weekly frequency at which to prompt for initiative updates. When not set, reminders are inherited from workspace settings. """ updateReminderFrequencyInWeeks: Float """ The day of the week on which to prompt for initiative updates. """ updateRemindersDay: Day """ The hour of the day (0-23) at which to prompt for initiative updates. """ updateRemindersHour: Int } """ The result of an initiative update mutation. """ type InitiativeUpdatePayload { """ The initiative update that was created or updated. """ initiativeUpdate: InitiativeUpdate! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ The result of an initiative update reminder mutation. """ type InitiativeUpdateReminderPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Input for updating an existing initiative update. """ input InitiativeUpdateUpdateInput { """ The content of the update in markdown format. """ body: String """ The content of the update as a Prosemirror document. """ bodyData: JSON """ The health of the initiative at the time of the update. """ health: InitiativeUpdateHealthType """ Whether the diff between the current update and the previous one should be hidden. """ isDiffHidden: Boolean } """ Payload for an initiative update webhook. """ type InitiativeUpdateWebhookPayload { """ The time at which the entity was archived. """ archivedAt: String """ The body of the initiative update. """ body: String! """ The body data of the initiative update. """ bodyData: String! """ The time at which the entity was created. """ createdAt: String! """ The diff between the current update and the previous one, formatted as markdown. """ diffMarkdown: String """ The edited at timestamp of the initiative update. """ editedAt: String! """ The health of the initiative update. """ health: String! """ The ID of the entity. """ id: String! """ The initiative that the initiative update belongs to. """ initiative: InitiativeChildWebhookPayload! """ The initiative id of the initiative update. """ initiativeId: String! """ The reaction data for this initiative update. """ reactionData: JSONObject! """ The slug id of the initiative update. """ slugId: String! """ The time at which the entity was updated. """ updatedAt: String! """ The URL of the initiative update. """ url: String """ The user that created the initiative update. """ user: UserChildWebhookPayload! """ The user id of the initiative update. """ userId: String! } """ Initiative update date sorting options. """ input InitiativeUpdatedAtSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Collection filtering options for filtering initiatives by initiative updates. """ input InitiativeUpdatesCollectionFilter { """ Compound filters, all of which need to be matched by the initiative update. """ and: [InitiativeUpdatesCollectionFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that needs to be matched by all initiative updates. """ every: InitiativeUpdatesFilter """ Comparator for the identifier. """ id: IDComparator """ Comparator for the collection length. """ length: NumberComparator """ Compound filters, one of which need to be matched by the update. """ or: [InitiativeUpdatesCollectionFilter!] """ Filters that needs to be matched by some initiative updates. """ some: InitiativeUpdatesFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Options for filtering initiatives by initiative updates. """ input InitiativeUpdatesFilter { """ Compound filters, all of which need to be matched by the initiative updates. """ and: [InitiativeUpdatesFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the identifier. """ id: IDComparator """ Compound filters, one of which need to be matched by the initiative updates. """ or: [InitiativeUpdatesFilter!] """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Payload for an initiative webhook. """ type InitiativeWebhookPayload { """ The time at which the entity was archived. """ archivedAt: String """ The color of the initiative. """ color: String """ When the initiative was completed. """ completedAt: String """ The time at which the entity was created. """ createdAt: String! """ The user who created the initiative. """ creator: UserChildWebhookPayload """ The ID of the user who created the initiative. """ creatorId: String """ The description of the initiative. """ description: String! """ The resolution of the update reminder frequency. """ frequencyResolution: String! """ The health status of the initiative. """ health: String """ When the health status was last updated. """ healthUpdatedAt: String """ The icon of the initiative. """ icon: String """ The ID of the entity. """ id: String! """ The last update for this initiative. """ lastUpdate: InitiativeUpdateChildWebhookPayload """ The ID of the last update for this initiative. """ lastUpdateId: String """ The name of the initiative. """ name: String! """ The ID of the organization this initiative belongs to. """ organizationId: String! """ The user who owns the initiative. """ owner: UserChildWebhookPayload """ The ID of the user who owns the initiative. """ ownerId: String """ The parent initiative associated with the initiative. """ parentInitiative: InitiativeChildWebhookPayload """ The parent initiatives associated with the initiative. """ parentInitiatives: [InitiativeChildWebhookPayload!] """ The projects associated with the initiative. """ projects: [ProjectChildWebhookPayload!] """ The unique slug identifier of the initiative. """ slugId: String! """ The sort order of the initiative within the organization. """ sortOrder: Float! """ When the initiative was started. """ startedAt: String """ The current status of the initiative. """ status: String! """ The sub-initiatives associated with the initiative. """ subInitiatives: [InitiativeChildWebhookPayload!] """ The target date of the initiative. """ targetDate: String """ The resolution of the target date. """ targetDateResolution: String """ Whether the initiative is trashed. """ trashed: Boolean """ The frequency of update reminders. """ updateReminderFrequency: Float """ The frequency of update reminders in weeks. """ updateReminderFrequencyInWeeks: Float """ The day of the week for update reminders. """ updateRemindersDay: Float """ The hour of the day for update reminders. """ updateRemindersHour: Float """ The time at which the entity was updated. """ updatedAt: String! """ The URL of the initiative. """ url: String! } """ An integration with an external service. Integrations connect Linear to tools like Slack, GitHub, GitLab, Jira, Figma, Sentry, Zendesk, Intercom, Front, PagerDuty, Opsgenie, Google Sheets, Microsoft Teams, Discord, Salesforce, and others. Each integration record represents a single configured connection, scoped to a workspace and optionally to a specific team, project, initiative, or custom view. Personal integrations (e.g., Slack Personal, Jira Personal, GitHub Personal) are scoped to the user who created them. """ type Integration implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The user that added the integration. """ creator: User! """ The unique identifier of the entity. """ id: ID! """ The workspace that the integration is associated with. """ organization: Organization! """ The integration's type, identifying which external service this integration connects to (e.g., 'slack', 'github', 'jira', 'figma'). This determines the shape of the integration's settings and data. """ service: String! """ The team that the integration is associated with. """ team: Team """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ Integration actor payload for webhooks. """ type IntegrationActorWebhookPayload { """ The ID of the integration. """ id: String! """ The service of the integration. """ service: String! """ The type of actor. """ type: String! } """ Certain properties of an integration. """ type IntegrationChildWebhookPayload { """ The ID of the integration. """ id: String! """ The service of the integration. """ service: String! } type IntegrationConnection { edges: [IntegrationEdge!]! nodes: [Integration!]! pageInfo: PageInfo! } input IntegrationCustomerDataAttributesRefreshInput { """ The integration service to refresh customer data attributes from. """ service: String! } type IntegrationEdge { """ Used in `before` and `after` args """ cursor: String! node: Integration! } type IntegrationGithubRemoveCodeAccessPayload { """ The action the client should take next. """ action: GitHubRemoveCodeAccessAction! """ The identifier of the last sync operation. """ lastSyncId: Float! } type IntegrationHasScopesPayload { """ Whether the integration has the required scopes. """ hasAllScopes: Boolean! """ The missing scopes. """ missingScopes: [String!] } type IntegrationPayload { """ The integration that was created or updated. """ integration: Integration """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Input for requesting a currently unavailable integration. """ input IntegrationRequestInput { """ Email associated with the request. """ email: String """ Name of the requested integration. """ name: String! } """ The result of an integration request mutation. """ type IntegrationRequestPayload { """ Whether the operation was successful. """ success: Boolean! } """ Linear supported integration services. """ enum IntegrationService { airbyte asksWeb discord email figma figmaPlugin front github githubCodeAccessPersonal githubCommit githubEnterpriseServer githubImport githubPersonal gitlab gong googleCalendarPersonal googleSheets intercom jira jiraPersonal launchDarkly launchDarklyPersonal loom mcpServer mcpServerPersonal microsoftPersonal microsoftTeams microsoftTeamsProjectPost notion opsgenie pagerDuty salesforce sentry slack slackAsks slackCustomViewNotifications slackInitiativePost slackOrgInitiativeUpdatesPost slackOrgProjectUpdatesPost slackPersonal slackPost slackProjectPost slackProjectUpdatesPost zendesk } input IntegrationSettingsInput { front: FrontSettingsInput gitHub: GitHubSettingsInput gitHubImport: GitHubImportSettingsInput gitHubPersonal: GitHubPersonalSettingsInput gitLab: GitLabSettingsInput gong: GongSettingsInput googleSheets: GoogleSheetsSettingsInput intercom: IntercomSettingsInput jira: JiraSettingsInput jiraPersonal: JiraPersonalSettingsInput launchDarkly: LaunchDarklySettingsInput microsoftTeams: MicrosoftTeamsSettingsInput microsoftTeamsProjectPost: MicrosoftTeamsPostSettingsInput notion: NotionSettingsInput opsgenie: OpsgenieInput pagerDuty: PagerDutyInput salesforce: SalesforceSettingsInput sentry: SentrySettingsInput slack: SlackSettingsInput slackAsks: SlackAsksSettingsInput slackCustomViewNotifications: SlackPostSettingsInput slackInitiativePost: SlackPostSettingsInput slackOrgInitiativeUpdatesPost: SlackPostSettingsInput slackOrgProjectUpdatesPost: SlackPostSettingsInput slackPost: SlackPostSettingsInput slackProjectPost: SlackPostSettingsInput zendesk: ZendeskSettingsInput } type IntegrationSlackWorkspaceNamePayload { """ The current name of the Slack workspace. """ name: String! """ Whether the operation was successful. """ success: Boolean! } """ A connection between a template and an integration. This join entity links Linear issue templates to integrations so that external systems (e.g., Slack Asks channels) can use specific templates when creating issues. Each record optionally includes a foreign entity ID to scope the template to a specific external resource, such as a particular Slack channel. """ type IntegrationTemplate implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The identifier of the foreign entity in the external service that this template is scoped to. For example, a Slack channel ID indicating which channel should use this template for creating issues. When null, the template applies to the integration as a whole rather than a specific external resource. """ foreignEntityId: String """ The unique identifier of the entity. """ id: ID! """ The integration that the template is associated with. """ integration: Integration! """ The template that the integration is associated with. """ template: Template! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } type IntegrationTemplateConnection { edges: [IntegrationTemplateEdge!]! nodes: [IntegrationTemplate!]! pageInfo: PageInfo! } """ Input for creating a new integration template. """ input IntegrationTemplateCreateInput { """ The foreign identifier in the other service. """ foreignEntityId: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The identifier of the integration. """ integrationId: String! """ The identifier of the template. """ templateId: String! } type IntegrationTemplateEdge { """ Used in `before` and `after` args """ cursor: String! node: IntegrationTemplate! } """ The result of an integration template mutation. """ type IntegrationTemplatePayload { """ The IntegrationTemplate that was created or updated. """ integrationTemplate: IntegrationTemplate! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } input IntegrationUpdateInput { """ The settings to update. """ settings: IntegrationSettingsInput } """ The configuration of all integrations for different entities. Controls Slack notification preferences for a specific team, project, initiative, or custom view. Exactly one of teamId, projectId, customViewId, or initiativeId must be set, determining which entity these integration settings apply to. """ type IntegrationsSettings implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The type of view to which the integration settings context is associated with. """ contextViewType: ContextViewType """ The time at which the entity was created. """ createdAt: DateTime! """ The unique identifier of the entity. """ id: ID! """ Initiative which those settings apply to. """ initiative: Initiative """ Whether to send a Microsoft Teams message when a project update is created. """ microsoftTeamsProjectUpdateCreated: Boolean """ Project which those settings apply to. """ project: Project """ Whether to send a Slack message when an initiative update is created. """ slackInitiativeUpdateCreated: Boolean """ Whether to send a Slack message when a new issue is added to triage. """ slackIssueAddedToTriage: Boolean """ Whether to send a Slack message when an issue is added to the custom view. """ slackIssueAddedToView: Boolean """ Whether to send a Slack message when a new issue is created for the project or the team. """ slackIssueCreated: Boolean @deprecated(reason: "No longer in use. Use `slackIssueAddedToView` instead.") """ Whether to send a Slack message when a comment is created on any of the project or team's issues. """ slackIssueNewComment: Boolean """ Whether to send a Slack message when an SLA is breached. """ slackIssueSlaBreached: Boolean """ Whether to send a Slack message when an SLA is at high risk. """ slackIssueSlaHighRisk: Boolean """ Whether to send a Slack message when any of the project or team's issues has a change in status. """ slackIssueStatusChangedAll: Boolean """ Whether to send a Slack message when any of the project or team's issues change to completed or canceled. """ slackIssueStatusChangedDone: Boolean """ Whether to send a Slack message when a project update is created. """ slackProjectUpdateCreated: Boolean """ Whether to send a new project update to team Slack channels. """ slackProjectUpdateCreatedToTeam: Boolean """ Whether to send a new project update to workspace Slack channel. """ slackProjectUpdateCreatedToWorkspace: Boolean """ Team which those settings apply to. """ team: Team """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } input IntegrationsSettingsCreateInput { """ The type of view to which the integration settings context is associated with. """ contextViewType: ContextViewType """ The identifier of the custom view to create settings for. """ customViewId: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The identifier of the initiative to create settings for. """ initiativeId: String """ Whether to send a Microsoft Teams message when a project update is created. """ microsoftTeamsProjectUpdateCreated: Boolean """ The identifier of the project to create settings for. """ projectId: String """ Whether to send a Slack message when an initiative update is created. """ slackInitiativeUpdateCreated: Boolean """ Whether to send a Slack message when a new issue is added to triage. """ slackIssueAddedToTriage: Boolean """ Whether to send a Slack message when an issue is added to a view. """ slackIssueAddedToView: Boolean """ Whether to send a Slack message when a new issue is created for the project or the team. """ slackIssueCreated: Boolean """ Whether to send a Slack message when a comment is created on any of the project or team's issues. """ slackIssueNewComment: Boolean """ Whether to receive notification when an SLA has breached on Slack. """ slackIssueSlaBreached: Boolean """ Whether to send a Slack message when an SLA is at high risk. """ slackIssueSlaHighRisk: Boolean """ Whether to send a Slack message when any of the project or team's issues has a change in status. """ slackIssueStatusChangedAll: Boolean """ Whether to send a Slack message when any of the project or team's issues change to completed or canceled. """ slackIssueStatusChangedDone: Boolean """ Whether to send a Slack message when a project update is created. """ slackProjectUpdateCreated: Boolean """ Whether to send a Slack message when a project update is created to team channels. """ slackProjectUpdateCreatedToTeam: Boolean """ Whether to send a Slack message when a project update is created to workspace channel. """ slackProjectUpdateCreatedToWorkspace: Boolean """ The identifier of the team to create settings for. """ teamId: String } type IntegrationsSettingsPayload { """ The settings that were created or updated. """ integrationsSettings: IntegrationsSettings! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } input IntegrationsSettingsUpdateInput { """ Whether to send a Microsoft Teams message when a project update is created. """ microsoftTeamsProjectUpdateCreated: Boolean """ Whether to send a Slack message when an initiative update is created. """ slackInitiativeUpdateCreated: Boolean """ Whether to send a Slack message when a new issue is added to triage. """ slackIssueAddedToTriage: Boolean """ Whether to send a Slack message when an issue is added to a view. """ slackIssueAddedToView: Boolean """ Whether to send a Slack message when a new issue is created for the project or the team. """ slackIssueCreated: Boolean """ Whether to send a Slack message when a comment is created on any of the project or team's issues. """ slackIssueNewComment: Boolean """ Whether to receive notification when an SLA has breached on Slack. """ slackIssueSlaBreached: Boolean """ Whether to send a Slack message when an SLA is at high risk. """ slackIssueSlaHighRisk: Boolean """ Whether to send a Slack message when any of the project or team's issues has a change in status. """ slackIssueStatusChangedAll: Boolean """ Whether to send a Slack message when any of the project or team's issues change to completed or canceled. """ slackIssueStatusChangedDone: Boolean """ Whether to send a Slack message when a project update is created. """ slackProjectUpdateCreated: Boolean """ Whether to send a Slack message when a project update is created to team channels. """ slackProjectUpdateCreatedToTeam: Boolean """ Whether to send a Slack message when a project update is created to workspace channel. """ slackProjectUpdateCreatedToWorkspace: Boolean } input IntercomSettingsInput { """ Whether a ticket should be automatically reopened when its linked Linear issue is canceled. """ automateTicketReopeningOnCancellation: Boolean """ Whether a ticket should be automatically reopened when a comment is posted on its linked Linear issue """ automateTicketReopeningOnComment: Boolean """ Whether a ticket should be automatically reopened when its linked Linear issue is completed. """ automateTicketReopeningOnCompletion: Boolean """ Whether a ticket should be automatically reopened when its linked Linear project is canceled. """ automateTicketReopeningOnProjectCancellation: Boolean """ Whether a ticket should be automatically reopened when its linked Linear project is completed. """ automateTicketReopeningOnProjectCompletion: Boolean """ [ALPHA] Whether customer and customer requests should not be automatically created when conversations are linked to a Linear issue. """ disableCustomerRequestsAutoCreation: Boolean """ Whether Linear Agent should be enabled for this integration. """ enableAiIntake: Boolean """ Whether an internal message should be added when someone comments on an issue. """ sendNoteOnComment: Boolean """ Whether an internal message should be added when a Linear issue changes status (for status types except completed or canceled). """ sendNoteOnStatusChange: Boolean } """ 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. """ type Issue implements Node { """ [Internal] The activity summary information for this issue. """ activitySummary: JSONObject """ The time at which the issue was added to a cycle. """ addedToCycleAt: DateTime """ The time at which the issue was added to a project. """ addedToProjectAt: DateTime """ The time at which the issue was added to a team. """ addedToTeamAt: DateTime """ [Internal] AI prompt progresses associated with this issue. """ aiPromptProgresses( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned AI prompt progresses. """ filter: AiPromptProgressFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): AiPromptProgressConnection! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The external user who requested creation of the Asks issue on behalf of the creator. """ asksExternalUserRequester: ExternalUser """ The internal user who requested creation of the Asks issue on behalf of the creator. """ asksRequester: User """ The user to whom the issue is assigned. Null if the issue is unassigned. """ assignee: User """ Attachments associated with the issue. """ attachments( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned attachments. """ filter: AttachmentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): AttachmentConnection! """ The time at which the issue was automatically archived by the auto pruning process. """ autoArchivedAt: DateTime """ The time at which the issue was automatically closed by the auto pruning process. """ autoClosedAt: DateTime """ The order of the item in its column on the board. """ boardOrder: Float! @deprecated(reason: "Will be removed in near future, please use `sortOrder` instead") """ The bot that created the issue, if applicable. """ botActor: ActorBot """ Suggested branch name for the issue. """ branchName: String! """ The time at which the issue was moved into canceled state. """ canceledAt: DateTime """ Children of the issue. """ children( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issues. """ filter: IssueFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueConnection! """ Comments associated with the issue. """ comments( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned comments. """ filter: CommentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): CommentConnection! """ The time at which the issue was moved into completed state. """ completedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ 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. """ creator: User """ Returns the number of Attachment resources which are created by customer support ticketing systems (e.g. Zendesk). """ customerTicketCount: Int! """ The cycle that the issue is associated with. Null if the issue is not part of any cycle. """ cycle: Cycle """ The agent user that is delegated to work on this issue. Set when an AI agent has been assigned to perform work on this issue. Null if no agent is working on the issue. """ delegate: User """ The issue's description in markdown format. """ description: String """ [Internal] The issue's description content as YJS state. """ descriptionState: String """ [ALPHA] The document content representing this issue description. """ documentContent: DocumentContent """ Documents associated with the issue. """ documents( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned documents. """ filter: DocumentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): DocumentConnection! """ The date at which the issue is due. """ dueDate: TimelessDate """ 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. """ estimate: Float """ The external user who created the issue. Set when the issue was created via an integration (e.g., Slack, Intercom) on behalf of a non-Linear user. Null if the issue was created by a Linear user. """ externalUserCreator: ExternalUser """ The users favorite associated with this issue. """ favorite: Favorite """ Attachments previously associated with the issue before being moved to another issue. """ formerAttachments( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned attachments. """ filter: AttachmentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): AttachmentConnection! """ Customer needs previously associated with the issue before being moved to another issue. """ formerNeeds( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned needs. """ filter: CustomerNeedFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): CustomerNeedConnection! """ History entries associated with the issue. """ history( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueHistoryConnection! """ The unique identifier of the entity. """ id: ID! """ Issue's human readable identifier (e.g. ENG-123). """ identifier: String! """ [Internal] Incoming product intelligence relation suggestions for the issue. """ incomingSuggestions( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueSuggestionConnection! """ Whether this issue inherits shared access from its parent issue. """ inheritsSharedAccess: Boolean! """ Integration type that created this issue, if applicable. """ integrationSourceType: IntegrationService """ Inverse relations associated with this issue. """ inverseRelations( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueRelationConnection! """ Identifiers of the labels associated with this issue. Can be used to query the labels directly. """ labelIds: [String!]! """ Labels associated with this issue. """ labels( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issue labels. """ filter: IssueLabelFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueLabelConnection! """ The last template that was applied to this issue. """ lastAppliedTemplate: Template """ Customer needs associated with the issue. """ needs( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned needs. """ filter: CustomerNeedFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): CustomerNeedConnection! """ 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). """ number: Float! """ The parent of the issue. """ parent: Issue """ Previous identifiers of the issue if it has been moved between teams. """ previousIdentifiers: [String!]! """ The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low. """ priority: Float! """ Label for the priority. """ priorityLabel: String! """ The order of the item in relation to other items in the workspace, when ordered by priority. """ prioritySortOrder: Float! """ The project that the issue is associated with. Null if the issue is not part of any project. """ project: Project """ The project milestone that the issue is associated with. Null if the issue is not assigned to a specific milestone within its project. """ projectMilestone: ProjectMilestone """ Emoji reaction summary for the issue, grouped by emoji type. Contains the count and reacting user information for each emoji. """ reactionData: JSONObject! """ Reactions associated with the issue. """ reactions: [Reaction!]! """ The recurring issue template that created this issue. """ recurringIssueTemplate: Template """ Relations associated with this issue. """ relations( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueRelationConnection! """ Releases associated with the issue. """ releases( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned releases. """ filter: ReleaseFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ReleaseConnection! """ Shared access metadata for this issue. """ sharedAccess: IssueSharedAccess! """ The time at which the issue's SLA will breach. """ slaBreachesAt: DateTime """ The time at which the issue's SLA will enter high risk state. """ slaHighRiskAt: DateTime """ The time at which the issue's SLA will enter medium risk state. """ slaMediumRiskAt: DateTime """ The time at which the issue's SLA began. """ slaStartedAt: DateTime """ The type of SLA set on the issue. Calendar days or business days. """ slaType: String """ The user who snoozed the issue. """ snoozedBy: User """ The time until an issue will be snoozed in Triage view. """ snoozedUntilAt: DateTime """ The order of the item in relation to other items in the organization. Used for manual sorting in list views. """ sortOrder: Float! """ The comment that this issue was created from, when an issue is created from an existing comment. Null if the issue was not created from a comment. """ sourceComment: Comment """ The time at which the issue was moved into started state. """ startedAt: DateTime """ The time at which the issue entered triage. """ startedTriageAt: DateTime """ 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. """ state: WorkflowState! """ The issue's workflow states over time. """ stateHistory( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int ): IssueStateSpanConnection! """ The order of the item in the sub-issue list. Only set if the issue has a parent. """ subIssueSortOrder: Float """ Users who are subscribed to the issue. """ subscribers( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned subscribers. """ filter: UserFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ Should query return disabled/suspended users (default: false). """ includeDisabled: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): UserConnection! """ [Internal] Product Intelligence suggestions for the issue. """ suggestions( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueSuggestionConnection! """ [Internal] The time at which the most recent suggestions for this issue were generated. """ suggestionsGeneratedAt: DateTime """ [Internal] AI-generated activity summary for this issue. """ summary: Summary """ The external services the issue is synced with. """ syncedWith: [ExternalEntityInfo!] """ 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. """ team: Team! """ The issue's title. This is the primary human-readable summary of the work item. """ title: String! """ A flag that indicates whether the issue is in the trash bin. """ trashed: Boolean """ The time at which the issue left triage. """ triagedAt: DateTime """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ Issue URL. """ url: String! } """ A generic payload return from entity archive mutations. """ type IssueArchivePayload implements ArchivePayload { """ The archived/unarchived entity. Null if entity was deleted. """ entity: Issue """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ An issue assignment notification type. """ scalar IssueAssignedToYouNotificationType """ Payload for an issue assigned to you notification. """ type IssueAssignedToYouNotificationWebhookPayload { """ The actor who caused the notification. """ actor: UserChildWebhookPayload """ The ID of the actor who caused the notification. """ actorId: String """ The time at which the entity was archived. """ archivedAt: String """ The time at which the entity was created. """ createdAt: String! """ The ID of the external user who caused the notification. """ externalUserActorId: String """ The ID of the entity. """ id: String! """ The issue this notification belongs to. """ issue: IssueWithDescriptionChildWebhookPayload! """ The ID of the issue this notification belongs to. """ issueId: String! """ An issue assigned to you notification type. """ type: IssueAssignedToYouNotificationType! """ The time at which the entity was updated. """ updatedAt: String! """ The ID of the user who received the notification. """ userId: String! } """ Input for creating multiple issues at once in a batch operation. Up to 50 issues can be created in a single batch. """ input IssueBatchCreateInput { """ The issues to create. """ issues: [IssueCreateInput!]! } """ The result of a batch issue mutation, containing the updated issues and a success indicator. """ type IssueBatchPayload { """ The issues that were updated. """ issues: [Issue!]! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Certain properties of an issue. """ type IssueChildWebhookPayload { """ The ID of the issue. """ id: String! """ The identifier of the issue. """ identifier: String! """ The ID of the team that the issue belongs to. """ team: TeamChildWebhookPayload! """ The ID of the team that the issue belongs to. """ teamId: String! """ The title of the issue. """ title: String! """ The URL of the issue. """ url: String! } """ Issue filtering options. """ input IssueCollectionFilter { """ [Internal] Comparator for the issue's accumulatedStateUpdatedAt date. """ accumulatedStateUpdatedAt: NullableDateComparator """ Filters that the issue's activities must satisfy. """ activity: ActivityCollectionFilter """ Comparator for the issues added to cycle at date. """ addedToCycleAt: NullableDateComparator """ Comparator for the period when issue was added to a cycle. """ addedToCyclePeriod: CyclePeriodComparator """ [Internal] Age (created -> now) comparator, defined if the issue is still open. """ ageTime: NullableDurationComparator """ Compound filters, all of which need to be matched by the issue. """ and: [IssueCollectionFilter!] """ Comparator for the issues archived at date. """ archivedAt: NullableDateComparator """ Filters that the issues assignee must satisfy. """ assignee: NullableUserFilter """ Filters that the issues attachments must satisfy. """ attachments: AttachmentCollectionFilter """ Comparator for the issues auto archived at date. """ autoArchivedAt: NullableDateComparator """ Comparator for the issues auto closed at date. """ autoClosedAt: NullableDateComparator """ Comparator for the issues canceled at date. """ canceledAt: NullableDateComparator """ Filters that the child issues must satisfy. """ children: IssueCollectionFilter """ Filters that the issues comments must satisfy. """ comments: CommentCollectionFilter """ Comparator for the issues completed at date. """ completedAt: NullableDateComparator """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the issues creator must satisfy. """ creator: NullableUserFilter """ Count of customers """ customerCount: NumberComparator """ Count of important customers """ customerImportantCount: NumberComparator """ Filters that the issues cycle must satisfy. """ cycle: NullableCycleFilter """ [Internal] Cycle time (started -> completed) comparator. """ cycleTime: NullableDurationComparator """ Filters that the issue's delegated agent must satisfy. """ delegate: NullableUserFilter """ Comparator for the issues description. """ description: NullableStringComparator """ Comparator for the issues due date. """ dueDate: NullableTimelessDateComparator """ Comparator for the issues estimate. """ estimate: EstimateComparator """ Filters that needs to be matched by all issues. """ every: IssueFilter """ Comparator for filtering issues which are blocked. """ hasBlockedByRelations: RelationExistsComparator """ Comparator for filtering issues which are blocking. """ hasBlockingRelations: RelationExistsComparator """ Comparator for filtering issues which are duplicates. """ hasDuplicateRelations: RelationExistsComparator """ Comparator for filtering issues with relations. """ hasRelatedRelations: RelationExistsComparator """ Comparator for filtering issues which have been shared with users outside of the team. """ hasSharedUsers: RelationExistsComparator """ [Internal] Comparator for filtering issues which have suggested assignees. """ hasSuggestedAssignees: RelationExistsComparator """ [Internal] Comparator for filtering issues which have suggested labels. """ hasSuggestedLabels: RelationExistsComparator """ [Internal] Comparator for filtering issues which have suggested projects. """ hasSuggestedProjects: RelationExistsComparator """ [Internal] Comparator for filtering issues which have suggested related issues. """ hasSuggestedRelatedIssues: RelationExistsComparator """ [Internal] Comparator for filtering issues which have suggested similar issues. """ hasSuggestedSimilarIssues: RelationExistsComparator """ [Internal] Comparator for filtering issues which have suggested teams. """ hasSuggestedTeams: RelationExistsComparator """ Comparator for the identifier. """ id: IssueIDComparator """ Filters that issue labels must satisfy. """ labels: IssueLabelCollectionFilter """ Filters that the last applied template must satisfy. """ lastAppliedTemplate: NullableTemplateFilter """ [Internal] Lead time (created -> completed) comparator. """ leadTime: NullableDurationComparator """ Comparator for the collection length. """ length: NumberComparator """ Filters that the issue's customer needs must satisfy. """ needs: CustomerNeedCollectionFilter """ Comparator for the issues number. """ number: NumberComparator """ Compound filters, one of which need to be matched by the issue. """ or: [IssueCollectionFilter!] """ Filters that the issue parent must satisfy. """ parent: NullableIssueFilter """ Comparator for the issues priority. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low. """ priority: NullableNumberComparator """ Filters that the issues project must satisfy. """ project: NullableProjectFilter """ Filters that the issues project milestone must satisfy. """ projectMilestone: NullableProjectMilestoneFilter """ Filters that the issues reactions must satisfy. """ reactions: ReactionCollectionFilter """ [ALPHA] Filters that the recurring issue template must satisfy. """ recurringIssueTemplate: NullableTemplateFilter """ Filters that the issue's releases must satisfy. """ releases: ReleaseCollectionFilter """ [Internal] Comparator for the issues content. """ searchableContent: ContentComparator """ Filters that users the issue has been shared with must satisfy. """ sharedWith: UserCollectionFilter """ Comparator for the issue's SLA breach date. """ slaBreachesAt: NullableDateComparator """ Comparator for the issues sla status. """ slaStatus: SlaStatusComparator """ Filters that the issues snoozer must satisfy. """ snoozedBy: NullableUserFilter """ Comparator for the issues snoozed until date. """ snoozedUntilAt: NullableDateComparator """ Filters that needs to be matched by some issues. """ some: IssueFilter """ Filters that the source must satisfy. """ sourceMetadata: SourceMetadataComparator """ Comparator for the issues started at date. """ startedAt: NullableDateComparator """ Filters that the issues state must satisfy. """ state: WorkflowStateFilter """ Filters that issue subscribers must satisfy. """ subscribers: UserCollectionFilter """ [Internal] Filters that the issue's suggestions must satisfy. """ suggestions: IssueSuggestionCollectionFilter """ Filters that the issues team must satisfy. """ team: TeamFilter """ Comparator for the issues title. """ title: StringComparator """ [Internal] Triage time (entered triaged -> triaged) comparator. """ triageTime: NullableDurationComparator """ Comparator for the issues triaged at date. """ triagedAt: NullableDateComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ An issue comment mention notification type. """ scalar IssueCommentMentionNotificationType """ Payload for an issue comment mention notification. """ type IssueCommentMentionNotificationWebhookPayload { """ The actor who caused the notification. """ actor: UserChildWebhookPayload """ The ID of the actor who caused the notification. """ actorId: String """ The time at which the entity was archived. """ archivedAt: String """ The comment this notification belongs to. """ comment: CommentChildWebhookPayload! """ The ID of the comment this notification belongs to. """ commentId: String! """ The time at which the entity was created. """ createdAt: String! """ The ID of the external user who caused the notification. """ externalUserActorId: String """ The ID of the entity. """ id: String! """ The issue this notification belongs to. """ issue: IssueWithDescriptionChildWebhookPayload! """ The ID of the issue this notification belongs to. """ issueId: String! """ The parent comment for the comment this notification belongs to. """ parentComment: CommentChildWebhookPayload """ The ID of the parent comment for the comment this notification belongs to. """ parentCommentId: String """ An issue comment mention notification type. """ type: IssueCommentMentionNotificationType! """ The time at which the entity was updated. """ updatedAt: String! """ The ID of the user who received the notification. """ userId: String! } """ An issue comment reaction notification type. """ scalar IssueCommentReactionNotificationType """ Payload for an issue comment reaction notification. """ type IssueCommentReactionNotificationWebhookPayload { """ The actor who caused the notification. """ actor: UserChildWebhookPayload """ The ID of the actor who caused the notification. """ actorId: String """ The time at which the entity was archived. """ archivedAt: String """ The comment this notification belongs to. """ comment: CommentChildWebhookPayload! """ The ID of the comment this notification belongs to. """ commentId: String! """ The time at which the entity was created. """ createdAt: String! """ The ID of the external user who caused the notification. """ externalUserActorId: String """ The ID of the entity. """ id: String! """ The issue this notification belongs to. """ issue: IssueWithDescriptionChildWebhookPayload! """ The ID of the issue this notification belongs to. """ issueId: String! """ The parent comment for the comment this notification belongs to. """ parentComment: CommentChildWebhookPayload """ The ID of the parent comment for the comment this notification belongs to. """ parentCommentId: String """ The emoji of the reaction this notification is for. """ reactionEmoji: String! """ An issue comment reaction notification type. """ type: IssueCommentReactionNotificationType! """ The time at which the entity was updated. """ updatedAt: String! """ The ID of the user who received the notification. """ userId: String! } type IssueConnection { edges: [IssueEdge!]! nodes: [Issue!]! pageInfo: PageInfo! } """ 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. """ input IssueCreateInput { """ The identifier of the user to assign the issue to. """ assigneeId: String """ The time at which the issue was completed (e.g. if importing from another system). Must be a time in the past and after createdAt. Cannot be provided with an incompatible workflow state. """ completedAt: DateTime """ Create issue as a user with the provided name. This option is only available to OAuth applications creating issues in `actor=app` mode. """ createAsUser: String """ The time at which the issue was created (e.g. if importing from another system). Must be a time in the past. If none is provided, the backend will generate the time as now. """ createdAt: DateTime """ The cycle associated with the issue. """ cycleId: String """ The identifier of the agent user to delegate the issue to. """ delegateId: String """ The issue description in markdown format. """ description: String """ [Internal] The issue description as a Prosemirror document. """ descriptionData: JSON """ Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=app` mode. """ displayIconUrl: String """ The date at which the issue is due. """ dueDate: TimelessDate """ The estimated complexity of the issue. """ estimate: Int """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ [Internal] Whether this issue should inherit shared access from its parent issue. Set to false to opt out of automatic shared access inheritance when creating a sub-issue. """ inheritsSharedAccess: Boolean """ The identifiers of the issue labels associated with this ticket. """ labelIds: [String!] """ The ID of the last template applied to the issue. """ lastAppliedTemplateId: String """ The identifier of the parent issue. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ parentId: String """ Whether the passed sort order should be preserved. """ preserveSortOrderOnCreate: Boolean """ The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low. """ priority: Int """ The position of the issue related to other issues, when ordered by priority. """ prioritySortOrder: Float """ The project associated with the issue. """ projectId: String """ The project milestone associated with the issue. """ projectMilestoneId: String """ The comment the issue is referencing. """ referenceCommentId: String """ The identifiers of the releases to associate with this issue. """ releaseIds: [String!] """ [Internal] The time at which an issue will be considered in breach of SLA. """ slaBreachesAt: DateTime """ [Internal] The time at which the issue's SLA was started. """ slaStartedAt: DateTime """ The SLA day count type for the issue. Whether SLA should be business days only or calendar days (default). """ slaType: SLADayCountType """ The position of the issue related to other issues. """ sortOrder: Float """ The comment the issue is created from. """ sourceCommentId: String """ [Internal] The pull request comment the issue is created from. """ sourcePullRequestCommentId: String """ The team state of the issue. """ stateId: String """ The position of the issue in parent's sub-issue list. """ subIssueSortOrder: Float """ The identifiers of the users subscribing to this ticket. """ subscriberIds: [String!] """ The identifier of the team associated with the issue. """ teamId: String! """ The identifier of a template the issue should be created from. If other values are provided in the input, they will override template values. """ templateId: String """ The title of the issue. """ title: String """ Whether to use the default template for the team. When set to true, the default template of this team based on user's membership will be applied. """ useDefaultTemplate: Boolean } """ [Internal] A draft issue that has not yet been created as a full issue. Drafts allow users to prepare issue details (title, description, labels, assignee, etc.) before committing them. Drafts belong to a team and a creator, and support a parent-child hierarchy similar to issues. A draft can have either a parent draft or a parent issue, but not both. """ type IssueDraft implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ Identifier of the user assigned to the draft. Can be used to query the user directly. Null if the draft is unassigned. """ assigneeId: String """ Serialized array of JSONs representing attachments. """ attachments: JSONObject """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the draft. """ creator: User! """ Identifier of the cycle associated with the draft. Can be used to query the cycle directly. Null if no cycle is assigned. """ cycleId: String """ The agent user delegated to work on the issue being drafted. """ delegateId: String """ The draft's description in markdown format. """ description: String """ [Internal] The draft's description as a Prosemirror document. """ descriptionData: JSON """ The date at which the issue would be due. """ dueDate: TimelessDate """ The estimate of the complexity of the draft. Null if no estimate has been set. """ estimate: Float """ The unique identifier of the entity. """ id: ID! """ Identifiers of the labels added to the draft. These labels will be applied to the issue when the draft is published. """ labelIds: [String!]! """ Serialized array of JSONs representing customer needs. """ needs: JSONObject """ The parent draft of the draft. Set when this draft represents a sub-issue of another draft. Null if this is a top-level draft or has a parent issue instead. """ parent: IssueDraft """ The ID of the parent issue draft, if any. """ parentId: String """ The parent issue of the draft. Set when this draft represents a sub-issue that will be created under an existing issue. Null if this is a top-level draft or has a parent draft instead. """ parentIssue: Issue """ The ID of the parent issue, if any. """ parentIssueId: String """ The priority of the draft. 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low. """ priority: Float! """ Label for the priority. """ priorityLabel: String! """ Identifier of the project associated with the draft. Can be used to query the project directly. Null if no project is assigned. """ projectId: String """ Identifier of the project milestone associated with the draft. Can be used to query the project milestone directly. Null if no milestone is assigned. """ projectMilestoneId: String """ Identifiers of the releases associated with the draft. These releases will be linked to the issue when the draft is published. """ releaseIds: [String!]! """ Serialized array of JSONs representing the recurring issue's schedule. """ schedule: JSONObject """ Identifier of the comment that the draft was created from. Set when a draft is created from an existing comment. Null if the draft was not created from a comment. """ sourceCommentId: String """ Identifier of the workflow state associated with the draft. Can be used to query the workflow state directly. Determines the initial status the issue will have when the draft is published. """ stateId: String! """ The order of items in the sub-draft list. Only set if the draft has `parent` set. """ subIssueSortOrder: Float """ Identifier of the team associated with the draft. Can be used to query the team directly. """ teamId: String! """ The draft's title. This will become the issue's title when the draft is published. """ title: String! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } type IssueDraftConnection { edges: [IssueDraftEdge!]! nodes: [IssueDraft!]! pageInfo: PageInfo! } type IssueDraftEdge { """ Used in `before` and `after` args """ cursor: String! node: IssueDraft! } type IssueEdge { """ Used in `before` and `after` args """ cursor: String! node: Issue! } """ An issue emoji reaction notification type. """ scalar IssueEmojiReactionNotificationType """ Payload for an issue emoji reaction notification. """ type IssueEmojiReactionNotificationWebhookPayload { """ The actor who caused the notification. """ actor: UserChildWebhookPayload """ The ID of the actor who caused the notification. """ actorId: String """ The time at which the entity was archived. """ archivedAt: String """ The time at which the entity was created. """ createdAt: String! """ The ID of the external user who caused the notification. """ externalUserActorId: String """ The ID of the entity. """ id: String! """ The issue this notification belongs to. """ issue: IssueWithDescriptionChildWebhookPayload! """ The ID of the issue this notification belongs to. """ issueId: String! """ The emoji of the reaction this notification is for. """ reactionEmoji: String! """ An issue emoji reaction notification type. """ type: IssueEmojiReactionNotificationType! """ The time at which the entity was updated. """ updatedAt: String! """ The ID of the user who received the notification. """ userId: String! } """ Issue filtering options. """ input IssueFilter { """ [Internal] Comparator for the issue's accumulatedStateUpdatedAt date. """ accumulatedStateUpdatedAt: NullableDateComparator """ Filters that the issue's activities must satisfy. """ activity: ActivityCollectionFilter """ Comparator for the issues added to cycle at date. """ addedToCycleAt: NullableDateComparator """ Comparator for the period when issue was added to a cycle. """ addedToCyclePeriod: CyclePeriodComparator """ [Internal] Age (created -> now) comparator, defined if the issue is still open. """ ageTime: NullableDurationComparator """ Compound filters, all of which need to be matched by the issue. """ and: [IssueFilter!] """ Comparator for the issues archived at date. """ archivedAt: NullableDateComparator """ Filters that the issues assignee must satisfy. """ assignee: NullableUserFilter """ Filters that the issues attachments must satisfy. """ attachments: AttachmentCollectionFilter """ Comparator for the issues auto archived at date. """ autoArchivedAt: NullableDateComparator """ Comparator for the issues auto closed at date. """ autoClosedAt: NullableDateComparator """ Comparator for the issues canceled at date. """ canceledAt: NullableDateComparator """ Filters that the child issues must satisfy. """ children: IssueCollectionFilter """ Filters that the issues comments must satisfy. """ comments: CommentCollectionFilter """ Comparator for the issues completed at date. """ completedAt: NullableDateComparator """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the issues creator must satisfy. """ creator: NullableUserFilter """ Count of customers """ customerCount: NumberComparator """ Count of important customers """ customerImportantCount: NumberComparator """ Filters that the issues cycle must satisfy. """ cycle: NullableCycleFilter """ [Internal] Cycle time (started -> completed) comparator. """ cycleTime: NullableDurationComparator """ Filters that the issue's delegated agent must satisfy. """ delegate: NullableUserFilter """ Comparator for the issues description. """ description: NullableStringComparator """ Comparator for the issues due date. """ dueDate: NullableTimelessDateComparator """ Comparator for the issues estimate. """ estimate: EstimateComparator """ Comparator for filtering issues which are blocked. """ hasBlockedByRelations: RelationExistsComparator """ Comparator for filtering issues which are blocking. """ hasBlockingRelations: RelationExistsComparator """ Comparator for filtering issues which are duplicates. """ hasDuplicateRelations: RelationExistsComparator """ Comparator for filtering issues with relations. """ hasRelatedRelations: RelationExistsComparator """ Comparator for filtering issues which have been shared with users outside of the team. """ hasSharedUsers: RelationExistsComparator """ [Internal] Comparator for filtering issues which have suggested assignees. """ hasSuggestedAssignees: RelationExistsComparator """ [Internal] Comparator for filtering issues which have suggested labels. """ hasSuggestedLabels: RelationExistsComparator """ [Internal] Comparator for filtering issues which have suggested projects. """ hasSuggestedProjects: RelationExistsComparator """ [Internal] Comparator for filtering issues which have suggested related issues. """ hasSuggestedRelatedIssues: RelationExistsComparator """ [Internal] Comparator for filtering issues which have suggested similar issues. """ hasSuggestedSimilarIssues: RelationExistsComparator """ [Internal] Comparator for filtering issues which have suggested teams. """ hasSuggestedTeams: RelationExistsComparator """ Comparator for the identifier. """ id: IssueIDComparator """ Filters that issue labels must satisfy. """ labels: IssueLabelCollectionFilter """ Filters that the last applied template must satisfy. """ lastAppliedTemplate: NullableTemplateFilter """ [Internal] Lead time (created -> completed) comparator. """ leadTime: NullableDurationComparator """ Filters that the issue's customer needs must satisfy. """ needs: CustomerNeedCollectionFilter """ Comparator for the issues number. """ number: NumberComparator """ Compound filters, one of which need to be matched by the issue. """ or: [IssueFilter!] """ Filters that the issue parent must satisfy. """ parent: NullableIssueFilter """ Comparator for the issues priority. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low. """ priority: NullableNumberComparator """ Filters that the issues project must satisfy. """ project: NullableProjectFilter """ Filters that the issues project milestone must satisfy. """ projectMilestone: NullableProjectMilestoneFilter """ Filters that the issues reactions must satisfy. """ reactions: ReactionCollectionFilter """ [ALPHA] Filters that the recurring issue template must satisfy. """ recurringIssueTemplate: NullableTemplateFilter """ Filters that the issue's releases must satisfy. """ releases: ReleaseCollectionFilter """ [Internal] Comparator for the issues content. """ searchableContent: ContentComparator """ Filters that users the issue has been shared with must satisfy. """ sharedWith: UserCollectionFilter """ Comparator for the issue's SLA breach date. """ slaBreachesAt: NullableDateComparator """ Comparator for the issues sla status. """ slaStatus: SlaStatusComparator """ Filters that the issues snoozer must satisfy. """ snoozedBy: NullableUserFilter """ Comparator for the issues snoozed until date. """ snoozedUntilAt: NullableDateComparator """ Filters that the source must satisfy. """ sourceMetadata: SourceMetadataComparator """ Comparator for the issues started at date. """ startedAt: NullableDateComparator """ Filters that the issues state must satisfy. """ state: WorkflowStateFilter """ Filters that issue subscribers must satisfy. """ subscribers: UserCollectionFilter """ [Internal] Filters that the issue's suggestions must satisfy. """ suggestions: IssueSuggestionCollectionFilter """ Filters that the issues team must satisfy. """ team: TeamFilter """ Comparator for the issues title. """ title: StringComparator """ [Internal] Triage time (entered triaged -> triaged) comparator. """ triageTime: NullableDurationComparator """ Comparator for the issues triaged at date. """ triagedAt: NullableDateComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ The result of an AI-generated issue filter suggestion based on a text prompt. """ type IssueFilterSuggestionPayload { """ The json filter that is suggested. """ filter: JSONObject """ The log id of the prompt, that created this filter. """ logId: String } """ A record of changes to an issue. Each history entry captures one or more property changes made to an issue within a short grouping window by the same actor. History entries track changes to fields such as title, assignee, status, priority, project, cycle, labels, due date, estimate, parent issue, and more. They also record metadata about what triggered the change (e.g., a user action, workflow automation, triage rule, or integration). """ type IssueHistory implements Node { """ The actor that performed the actions. This field may be empty in the case of integrations or automations. """ actor: User """ Identifier of the user who made these changes. Can be used to query the user directly. Null if the change was made by an integration, automation, or system process. """ actorId: String """ The actors that performed the actions. This field may be empty in the case of integrations or automations. """ actors: [User!] @deprecated(reason: "Use `actor` and `descriptionUpdatedBy` instead.") """ ID's of labels that were added. """ addedLabelIds: [String!] """ The labels that were added to the issue. """ addedLabels: [IssueLabel!] """ ID's of releases that the issue was added to. """ addedToReleaseIds: [String!] """ The releases that the issue was added to. """ addedToReleases: [Release!] """ Whether the issue was archived (true) or unarchived (false) in this change. Null if the archive status was not changed. """ archived: Boolean """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The linked attachment. """ attachment: Attachment """ Identifier of the attachment that was linked to or unlinked from the issue. Can be used to query the attachment directly. Null if no attachment change occurred. """ attachmentId: String """ Whether the issue was auto-archived. """ autoArchived: Boolean """ Whether the issue was auto-closed. """ autoClosed: Boolean """ The bot that performed the action. """ botActor: ActorBot """ [Internal] Serialized JSON representing changes for certain non-relational properties. """ changes: JSONObject """ The time at which the entity was created. """ createdAt: DateTime! """ [Deprecated] Identifier of the customer need that was linked to the issue. Use customer need related arrays in changes instead. """ customerNeedId: String """ The actors that edited the description of the issue, if any. """ descriptionUpdatedBy: [User!] """ The user that was unassigned from the issue. """ fromAssignee: User """ Identifier of the user from whom the issue was re-assigned. Can be used to query the user directly. Null if the assignee was not changed or the issue was previously unassigned. """ fromAssigneeId: String """ The cycle that the issue was moved from. """ fromCycle: Cycle """ Identifier of the previous cycle of the issue. Can be used to query the cycle directly. Null if the cycle was not changed or the issue was not in a cycle. """ fromCycleId: String """ The app user from whom the issue delegation was transferred. """ fromDelegate: User """ What the due date was changed from. """ fromDueDate: TimelessDate """ What the estimate was changed from. """ fromEstimate: Float """ The parent issue that the issue was moved from. """ fromParent: Issue """ Identifier of the previous parent issue. Can be used to query the issue directly. Null if the parent was not changed or the issue previously had no parent. """ fromParentId: String """ What the priority was changed from. """ fromPriority: Float """ The project that the issue was moved from. """ fromProject: Project """ Identifier of the previous project of the issue. Can be used to query the project directly. Null if the project was not changed or the issue was not in a project. """ fromProjectId: String """ The project milestone that the issue was moved from. """ fromProjectMilestone: ProjectMilestone """ Whether the issue had previously breached its SLA. """ fromSlaBreached: Boolean """ The SLA breach time that was previously set on the issue. """ fromSlaBreachesAt: DateTime """ The time at which the issue's SLA was previously started. """ fromSlaStartedAt: DateTime """ The type of SLA that was previously set on the issue. """ fromSlaType: String """ The state that the issue was moved from. """ fromState: WorkflowState """ Identifier of the previous workflow state (issue status) of the issue. Can be used to query the workflow state directly. Null if the status was not changed. """ fromStateId: String """ The team that the issue was moved from. """ fromTeam: Team """ Identifier of the team from which the issue was moved. Can be used to query the team directly. Null if the team was not changed. """ fromTeamId: String """ What the title was changed from. """ fromTitle: String """ The unique identifier of the entity. """ id: ID! """ The issue that was changed. """ issue: Issue! """ The import record. """ issueImport: IssueImport """ Changed issue relationships. """ relationChanges: [IssueRelationHistoryPayload!] """ ID's of releases that the issue was removed from. """ removedFromReleaseIds: [String!] """ The releases that the issue was removed from. """ removedFromReleases: [Release!] """ ID's of labels that were removed. """ removedLabelIds: [String!] """ The labels that were removed from the issue. """ removedLabels: [IssueLabel!] """ The user that was assigned to the issue. """ toAssignee: User """ Identifier of the user to whom the issue was assigned. Can be used to query the user directly. Null if the assignee was not changed or the issue was unassigned. """ toAssigneeId: String """ The new project created from the issue. """ toConvertedProject: Project """ Identifier of the new project that was created by converting this issue to a project. Can be used to query the project directly. Null if the issue was not converted to a project. """ toConvertedProjectId: String """ The cycle that the issue was moved to. """ toCycle: Cycle """ Identifier of the new cycle of the issue. Can be used to query the cycle directly. Null if the cycle was not changed or the issue was removed from a cycle. """ toCycleId: String """ The app user to whom the issue delegation was transferred. """ toDelegate: User """ What the due date was changed to. """ toDueDate: TimelessDate """ What the estimate was changed to. """ toEstimate: Float """ The parent issue that the issue was moved to. """ toParent: Issue """ Identifier of the new parent issue. Can be used to query the issue directly. Null if the parent was not changed or the issue was removed from its parent. """ toParentId: String """ What the priority was changed to. """ toPriority: Float """ The project that the issue was moved to. """ toProject: Project """ Identifier of the new project of the issue. Can be used to query the project directly. Null if the project was not changed or the issue was removed from a project. """ toProjectId: String """ The project milestone that the issue was moved to. """ toProjectMilestone: ProjectMilestone """ Whether the issue has now breached its SLA. """ toSlaBreached: Boolean """ The SLA breach time that is now set on the issue. """ toSlaBreachesAt: DateTime """ The time at which the issue's SLA is now started. """ toSlaStartedAt: DateTime """ The type of SLA that is now set on the issue. """ toSlaType: String """ The state that the issue was moved to. """ toState: WorkflowState """ Identifier of the new workflow state (issue status) of the issue. Can be used to query the workflow state directly. Null if the status was not changed. """ toStateId: String """ The team that the issue was moved to. """ toTeam: Team """ Identifier of the team to which the issue was moved. Can be used to query the team directly. Null if the team was not changed. """ toTeamId: String """ What the title was changed to. """ toTitle: String """ Whether the issue was trashed or un-trashed. """ trashed: Boolean """ Boolean indicating if the issue was auto-assigned using the triage responsibility feature. """ triageResponsibilityAutoAssigned: Boolean """ The users that were notified of the issue. """ triageResponsibilityNotifiedUsers: [User!] """ The team that triggered the triage responsibility action. """ triageResponsibilityTeam: Team """ [INTERNAL] Metadata about the triage rule that made changes to the issue. """ triageRuleMetadata: IssueHistoryTriageRuleMetadata @deprecated(reason: "Use `workflowMetadata` instead.") """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ Whether the issue's description was updated. """ updatedDescription: Boolean """ [INTERNAL] Metadata about the workflow that made changes to the issue. """ workflowMetadata: IssueHistoryWorkflowMetadata } type IssueHistoryConnection { edges: [IssueHistoryEdge!]! nodes: [IssueHistory!]! pageInfo: PageInfo! } type IssueHistoryEdge { """ Used in `before` and `after` args """ cursor: String! node: IssueHistory! } """ An error that occurred during triage rule execution, such as a conflicting label assignment or an invalid property value. Contains the error type and optionally the property that caused the failure. """ type IssueHistoryTriageRuleError { """ Whether the conflict was for the same child label. """ conflictForSameChildLabel: Boolean """ The conflicting labels. """ conflictingLabels: [IssueLabel!] """ The team the issue was being moved from. """ fromTeam: Team """ The property that caused the error. """ property: String """ The team the issue was being moved to. """ toTeam: Team """ The type of error that occurred. """ type: TriageRuleErrorType! } """ Metadata about a triage responsibility rule that made changes to an issue, such as auto-assigning an issue when it enters triage. Includes information about any errors that occurred during rule execution. """ type IssueHistoryTriageRuleMetadata { """ The error that occurred, if any. """ triageRuleError: IssueHistoryTriageRuleError """ The triage rule that triggered the issue update. """ updatedByTriageRule: WorkflowDefinition @deprecated(reason: "Use `IssueHistoryWorkflowMetadata.workflowDefinition` instead.") } """ Metadata about a workflow automation that made changes to an issue. Links the issue history entry back to the workflow definition that triggered the change, and optionally to any AI conversation involved in the automation. """ type IssueHistoryWorkflowMetadata { """ The AI conversation associated with the workflow. """ aiConversation: AiConversation """ The workflow definition that triggered the issue update. """ workflowDefinition: WorkflowDefinition } """ Comparator for issue identifiers. """ input IssueIDComparator { """ Equals constraint. """ eq: ID """ In-array constraint. """ in: [ID!] """ Not-equals constraint. """ neq: ID """ Not-in-array constraint. """ nin: [ID!] } """ An import job for data from an external service such as Jira, Asana, GitHub, Shortcut, or other project management tools. Import jobs track the full lifecycle of importing issues, labels, workflow states, and other data into a Linear workspace, including progress, status, error states, and data mapping configuration. """ type IssueImport implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ Identifier of the user who started the import job. Can be used to query the user directly. Null if the user has been deleted. """ creatorId: String """ File URL for the uploaded CSV for the import, if there is one. """ csvFileUrl: String """ The display name of the import service. """ displayName: String! """ User readable error message, if one has occurred during the import. """ error: String """ Error code and metadata, if one has occurred during the import. """ errorMetadata: JSONObject """ The unique identifier of the entity. """ id: ID! """ The data mapping configuration for the import job. """ mapping: JSONObject """ Current step progress as a percentage (0-100). Null if the import has not yet started or progress tracking is not available. """ progress: Float """ The external service from which data is being imported (e.g., jira, asana, github, shortcut, linear). """ service: String! """ Metadata related to import service. """ serviceMetadata: JSONObject """ The current status of the import job, indicating its position in the import lifecycle (e.g., not started, in progress, complete, error). """ status: String! """ The name of the new team to be created for the import, when the import is configured to create a new team rather than importing into an existing one. Null if importing into an existing team. """ teamName: String """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ The result of checking whether an import from an external service can proceed. """ type IssueImportCheckPayload { """ Whether the operation was successful. """ success: Boolean! } """ The result of deleting an issue import, containing the deleted import job and a success indicator. """ type IssueImportDeletePayload { """ The import job that was deleted. """ issueImport: IssueImport """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ The result of validating a custom JQL query for a Jira import. """ type IssueImportJqlCheckPayload { """ An approximate number of issues matching the JQL query. Null when the query is invalid or the count is unavailable. """ count: Float """ An error message returned by Jira when validating the JQL query. """ error: String """ Returns true if the JQL query has been validated successfully, false otherwise """ success: Boolean! } """ The result of an issue import mutation, containing the import job and a success indicator. """ type IssueImportPayload { """ The import job that was created or updated. """ issueImport: IssueImport """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ The result of checking whether an issue import can be synced with its source service after import completes. """ type IssueImportSyncCheckPayload { """ Returns true if the import can be synced, false otherwise """ canSync: Boolean! """ An error message explaining why the import cannot be synced. Null when canSync is true. """ error: String } """ Input for updating an import job's mapping configuration, such as user and workflow state mappings between the source service and Linear. """ input IssueImportUpdateInput { """ The mapping configuration for the import. """ mapping: JSONObject! } """ Labels that can be associated with issues. Labels help categorize and filter issues across a workspace. They can be workspace-level (shared across all teams) or team-scoped. Labels have a color for visual identification and can be organized hierarchically into groups, where a parent label acts as a group containing child labels. Labels may also be inherited from parent teams to sub-teams. """ type IssueLabel implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ Child labels within this label group. Only populated when the label is a group (isGroup is true). """ children( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issue labels. """ filter: IssueLabelFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueLabelConnection! """ The label's color as a HEX string (e.g., '#EB5757'). Used for visual identification of the label in the UI. """ color: String! """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the label. """ creator: User """ The label's description. """ description: String """ The unique identifier of the entity. """ id: ID! """ The original workspace or parent-team label that this label was inherited from. Null if the label is not inherited. """ inheritedFrom: IssueLabel """ Whether the label is a group. When true, this label acts as a container for child labels and cannot be directly applied to issues or projects. When false, the label can be directly applied. """ isGroup: Boolean! """ Issues associated with the label. """ issues( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issues. """ filter: IssueFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueConnection! """ The date when the label was last applied to an issue, project, or initiative. Null if the label has never been applied. """ lastAppliedAt: DateTime """ The label's name. """ name: String! organization: Organization! @deprecated(reason: "Workspace labels are identified by their team being null.") """ The parent label. """ parent: IssueLabel """ [Internal] When the label was retired. """ retiredAt: DateTime """ The user who retired the label. """ retiredBy: User """ The team that the label is scoped to. If null, the label is a workspace-level label available to all teams in the workspace. """ team: Team """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ Certain properties of an issue label. """ type IssueLabelChildWebhookPayload { """ The color of the issue label. """ color: String! """ The ID of the issue label. """ id: String! """ The name of the issue label. """ name: String! """ The parent ID of the issue label. """ parentId: String } """ Issue label filtering options. """ input IssueLabelCollectionFilter { """ Compound filters, all of which need to be matched by the label. """ and: [IssueLabelCollectionFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the issue labels creator must satisfy. """ creator: NullableUserFilter """ Filters that needs to be matched by all issue labels. """ every: IssueLabelFilter """ Comparator for the identifier. """ id: IDComparator """ Comparator for whether the label is a group label. """ isGroup: BooleanComparator """ Comparator for the collection length. """ length: NumberComparator """ Comparator for the name. """ name: StringComparator """ Filter based on the existence of the relation. """ null: Boolean """ Compound filters, one of which need to be matched by the label. """ or: [IssueLabelCollectionFilter!] """ Filters that the issue label's parent label must satisfy. """ parent: IssueLabelFilter """ Filters that needs to be matched by some issue labels. """ some: IssueLabelFilter """ Filters that the issue labels team must satisfy. """ team: NullableTeamFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } type IssueLabelConnection { edges: [IssueLabelEdge!]! nodes: [IssueLabel!]! pageInfo: PageInfo! } """ Input for creating a new label. A name is required. If no team is specified, the label is created as a workspace-level label available to all teams. """ input IssueLabelCreateInput { """ The color of the label. """ color: String """ The description of the label. """ description: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ Whether the label is a group. """ isGroup: Boolean """ The name of the label. """ name: String! """ The identifier of the parent label. """ parentId: String """ The time at which the label was retired. Set to null to restore a retired label. """ retiredAt: DateTime """ The team associated with the label. If not given, the label will be associated with the entire workspace. """ teamId: String } type IssueLabelEdge { """ Used in `before` and `after` args """ cursor: String! node: IssueLabel! } """ Issue label filtering options. """ input IssueLabelFilter { """ Compound filters, all of which need to be matched by the label. """ and: [IssueLabelFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the issue labels creator must satisfy. """ creator: NullableUserFilter """ Comparator for the identifier. """ id: IDComparator """ Comparator for whether the label is a group label. """ isGroup: BooleanComparator """ Comparator for the name. """ name: StringComparator """ Compound filters, one of which need to be matched by the label. """ or: [IssueLabelFilter!] """ Filters that the issue label's parent label must satisfy. """ parent: IssueLabelFilter """ Filters that the issue labels team must satisfy. """ team: NullableTeamFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } """ The result of a label mutation, containing the created or updated label and a success indicator. """ type IssueLabelPayload { """ The label that was created or updated. """ issueLabel: IssueLabel! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Input for updating an existing label. All fields are optional; only provided fields will be updated. """ input IssueLabelUpdateInput { """ The color of the label. """ color: String """ The description of the label. """ description: String """ Whether the label is a group. """ isGroup: Boolean """ The name of the label. """ name: String """ The identifier of the parent label. """ parentId: String """ The time at which the label was retired. Set to null to restore a retired label. """ retiredAt: DateTime } """ Payload for an issue label webhook. """ type IssueLabelWebhookPayload { """ The time at which the entity was archived. """ archivedAt: String """ The color of the issue label. """ color: String! """ The time at which the entity was created. """ createdAt: String! """ The creator ID of the issue label. """ creatorId: String """ The label's description. """ description: String """ The ID of the entity. """ id: String! """ The original label inherited from. """ inheritedFromId: String """ Whether the label is a group. """ isGroup: Boolean! """ The name of the issue label. """ name: String! """ The parent ID of the issue label. """ parentId: String """ The team ID of the issue label. """ teamId: String """ The time at which the entity was updated. """ updatedAt: String! } """ An issue mention notification type. """ scalar IssueMentionNotificationType """ Payload for an issue mention notification. """ type IssueMentionNotificationWebhookPayload { """ The actor who caused the notification. """ actor: UserChildWebhookPayload """ The ID of the actor who caused the notification. """ actorId: String """ The time at which the entity was archived. """ archivedAt: String """ The time at which the entity was created. """ createdAt: String! """ The ID of the external user who caused the notification. """ externalUserActorId: String """ The ID of the entity. """ id: String! """ The issue this notification belongs to. """ issue: IssueWithDescriptionChildWebhookPayload! """ The ID of the issue this notification belongs to. """ issueId: String! """ An issue mention notification type. """ type: IssueMentionNotificationType! """ The time at which the entity was updated. """ updatedAt: String! """ The ID of the user who received the notification. """ userId: String! } """ An issue new comment notification type. """ scalar IssueNewCommentNotificationType """ Payload for an issue new comment notification. """ type IssueNewCommentNotificationWebhookPayload { """ The actor who caused the notification. """ actor: UserChildWebhookPayload """ The ID of the actor who caused the notification. """ actorId: String """ The time at which the entity was archived. """ archivedAt: String """ The comment this notification belongs to. """ comment: CommentChildWebhookPayload! """ The ID of the comment this notification belongs to. """ commentId: String! """ The time at which the entity was created. """ createdAt: String! """ The ID of the external user who caused the notification. """ externalUserActorId: String """ The ID of the entity. """ id: String! """ The issue this notification belongs to. """ issue: IssueWithDescriptionChildWebhookPayload! """ The ID of the issue this notification belongs to. """ issueId: String! """ The parent comment for the comment this notification belongs to. """ parentComment: CommentChildWebhookPayload """ The ID of the parent comment for the comment this notification belongs to. """ parentCommentId: String """ An issue new comment notification type. """ type: IssueNewCommentNotificationType! """ The time at which the entity was updated. """ updatedAt: String! """ The ID of the user who received the notification. """ userId: String! } """ A notification related to an issue, such as assignment, comment, mention, status change, or priority change. """ type IssueNotification implements Entity & Node & Notification { """ The user that caused the notification. Null if the notification was triggered by a non-user actor such as an integration, external user, or system event. """ actor: User """ [Internal] Notification actor initials if avatar is not available. """ actorAvatarColor: String! """ [Internal] Notification avatar URL. """ actorAvatarUrl: String """ [Internal] Notification actor initials if avatar is not available. """ actorInitials: String """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The bot that caused the notification. """ botActor: ActorBot """ The category of the notification. """ category: NotificationCategory! """ The comment related to the notification. """ comment: Comment """ Related comment ID. Null if the notification is not related to a comment. """ commentId: String """ The time at which the entity was created. """ createdAt: DateTime! """ The time at which an email reminder for this notification was sent to the user. Null if no email reminder has been sent. """ emailedAt: DateTime """ The external user that caused the notification. Populated when the notification was triggered by an external user (e.g., a commenter from a connected integration like Slack or GitHub) rather than a Linear workspace member. """ externalUserActor: ExternalUser """ [Internal] Notifications with the same grouping key will be grouped together in the UI. """ groupingKey: String! """ [Internal] Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`. """ groupingPriority: Float! """ The unique identifier of the entity. """ id: ID! """ [Internal] Inbox URL for the notification. """ inboxUrl: String! """ [Internal] Initiative update health for new updates. """ initiativeUpdateHealth: String """ [Internal] If notification actor was Linear. """ isLinearActor: Boolean! """ The issue related to the notification. """ issue: Issue! """ Related issue ID. """ issueId: String! """ [Internal] Issue's status type for issue notifications. """ issueStatusType: String """ The parent comment related to the notification, if a notification is a reply comment notification. """ parentComment: Comment """ Related parent comment ID. Null if the notification is not related to a comment. """ parentCommentId: String """ [Internal] Project update health for new updates. """ projectUpdateHealth: String """ Name of the reaction emoji related to the notification. """ reactionEmoji: String """ The time at which the user marked the notification as read. Null if the notification is unread. """ readAt: DateTime """ The time until which a notification is snoozed. After this time, the notification reappears in the user's inbox. Null if the notification is not currently snoozed. """ snoozedUntilAt: DateTime """ The subscriptions related to the notification. """ subscriptions: [NotificationSubscription!] """ [Internal] Notification subtitle. """ subtitle: String! """ The team related to the issue notification. """ team: Team! """ [Internal] Notification title. """ title: String! """ Notification type. Determines the kind of event that triggered this notification and which associated entity fields will be populated. """ type: String! """ The time at which a notification was unsnoozed. Null if the notification has not been unsnoozed. """ unsnoozedAt: DateTime """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ [Internal] URL to the target of the notification. """ url: String! """ The recipient user of this notification. """ user: User! } """ The result of an issue mutation, containing the created or updated issue and a success indicator. """ type IssuePayload { """ The issue that was created or updated. """ issue: Issue """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ A mapping of an issue priority value to its human-readable label. """ type IssuePriorityValue { """ Priority's label. """ label: String! """ Priority's number value. """ priority: Int! } """ A reference to an issue discovered during release sync, linking the issue identifier to the commit SHA where the reference was found. """ input IssueReferenceInput { """ The commit SHA where this issue reference was found. """ commitSha: String! """ The issue identifier (e.g. ENG-123). """ identifier: String! } """ A relation between two issues. Issue relations represent directional relationships such as blocking, being blocked by, relating to, or duplicating another issue. Each relation connects a source issue to a related issue with a specific type describing the nature of the relationship. """ type IssueRelation implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The unique identifier of the entity. """ id: ID! """ The source issue whose relationship is being described. This is the issue from which the relation originates. """ issue: Issue! """ The target issue that the source issue is related to. The relation type describes how the source issue relates to this issue. """ relatedIssue: Issue! """ The type of relationship between the source issue and the related issue. Possible values include blocks, duplicate, and related. """ type: String! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } type IssueRelationConnection { edges: [IssueRelationEdge!]! nodes: [IssueRelation!]! pageInfo: PageInfo! } """ Input for creating a new issue relation between two issues. Both the source issue and related issue must be specified along with the relationship type. """ input IssueRelationCreateInput { """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The identifier of the issue that is related to another issue. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String! """ The identifier of the related issue. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ relatedIssueId: String! """ The type of relation of the issue to the related issue. """ type: IssueRelationType! } type IssueRelationEdge { """ Used in `before` and `after` args """ cursor: String! node: IssueRelation! } """ Payload describing a change to an issue relation, including which issue was involved and the type of change that occurred. """ type IssueRelationHistoryPayload { """ The human-readable identifier of the related issue (e.g., ENG-123). """ identifier: String! """ The type of relation change that occurred (e.g., relation added or removed). """ type: String! } """ The result of an issue relation mutation, containing the created or updated issue relation and a success indicator. """ type IssueRelationPayload { """ The issue relation that was created or updated. """ issueRelation: IssueRelation! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ The type of the issue relation. """ enum IssueRelationType { blocks duplicate related similar } """ Input for updating an existing issue relation. All fields are optional; only provided fields will be updated. """ input IssueRelationUpdateInput { """ The identifier of the issue that is related to another issue. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String """ The identifier of the related issue. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ relatedIssueId: String """ The type of relation of the issue to the related issue. """ type: String } type IssueSearchPayload { """ Archived entities matching the search term along with all their dependencies, serialized for the client sync engine. """ archivePayload: ArchiveResponse! edges: [IssueSearchResultEdge!]! nodes: [IssueSearchResult!]! pageInfo: PageInfo! """ Total number of matching results before pagination is applied. """ totalCount: Float! } type IssueSearchResult implements Node { """ [Internal] The activity summary information for this issue. """ activitySummary: JSONObject """ The time at which the issue was added to a cycle. """ addedToCycleAt: DateTime """ The time at which the issue was added to a project. """ addedToProjectAt: DateTime """ The time at which the issue was added to a team. """ addedToTeamAt: DateTime """ [Internal] AI prompt progresses associated with this issue. """ aiPromptProgresses( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned AI prompt progresses. """ filter: AiPromptProgressFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): AiPromptProgressConnection! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The external user who requested creation of the Asks issue on behalf of the creator. """ asksExternalUserRequester: ExternalUser """ The internal user who requested creation of the Asks issue on behalf of the creator. """ asksRequester: User """ The user to whom the issue is assigned. Null if the issue is unassigned. """ assignee: User """ Attachments associated with the issue. """ attachments( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned attachments. """ filter: AttachmentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): AttachmentConnection! """ The time at which the issue was automatically archived by the auto pruning process. """ autoArchivedAt: DateTime """ The time at which the issue was automatically closed by the auto pruning process. """ autoClosedAt: DateTime """ The order of the item in its column on the board. """ boardOrder: Float! @deprecated(reason: "Will be removed in near future, please use `sortOrder` instead") """ The bot that created the issue, if applicable. """ botActor: ActorBot """ Suggested branch name for the issue. """ branchName: String! """ The time at which the issue was moved into canceled state. """ canceledAt: DateTime """ Children of the issue. """ children( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issues. """ filter: IssueFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueConnection! """ Comments associated with the issue. """ comments( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned comments. """ filter: CommentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): CommentConnection! """ The time at which the issue was moved into completed state. """ completedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ 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. """ creator: User """ Returns the number of Attachment resources which are created by customer support ticketing systems (e.g. Zendesk). """ customerTicketCount: Int! """ The cycle that the issue is associated with. Null if the issue is not part of any cycle. """ cycle: Cycle """ The agent user that is delegated to work on this issue. Set when an AI agent has been assigned to perform work on this issue. Null if no agent is working on the issue. """ delegate: User """ The issue's description in markdown format. """ description: String """ [Internal] The issue's description content as YJS state. """ descriptionState: String """ [ALPHA] The document content representing this issue description. """ documentContent: DocumentContent """ Documents associated with the issue. """ documents( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned documents. """ filter: DocumentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): DocumentConnection! """ The date at which the issue is due. """ dueDate: TimelessDate """ 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. """ estimate: Float """ The external user who created the issue. Set when the issue was created via an integration (e.g., Slack, Intercom) on behalf of a non-Linear user. Null if the issue was created by a Linear user. """ externalUserCreator: ExternalUser """ The users favorite associated with this issue. """ favorite: Favorite """ Attachments previously associated with the issue before being moved to another issue. """ formerAttachments( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned attachments. """ filter: AttachmentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): AttachmentConnection! """ Customer needs previously associated with the issue before being moved to another issue. """ formerNeeds( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned needs. """ filter: CustomerNeedFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): CustomerNeedConnection! """ History entries associated with the issue. """ history( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueHistoryConnection! """ The unique identifier of the entity. """ id: ID! """ Issue's human readable identifier (e.g. ENG-123). """ identifier: String! """ [Internal] Incoming product intelligence relation suggestions for the issue. """ incomingSuggestions( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueSuggestionConnection! """ Whether this issue inherits shared access from its parent issue. """ inheritsSharedAccess: Boolean! """ Integration type that created this issue, if applicable. """ integrationSourceType: IntegrationService """ Inverse relations associated with this issue. """ inverseRelations( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueRelationConnection! """ Identifiers of the labels associated with this issue. Can be used to query the labels directly. """ labelIds: [String!]! """ Labels associated with this issue. """ labels( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issue labels. """ filter: IssueLabelFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueLabelConnection! """ The last template that was applied to this issue. """ lastAppliedTemplate: Template """ Metadata related to search result. """ metadata: JSONObject! """ Customer needs associated with the issue. """ needs( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned needs. """ filter: CustomerNeedFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): CustomerNeedConnection! """ 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). """ number: Float! """ The parent of the issue. """ parent: Issue """ Previous identifiers of the issue if it has been moved between teams. """ previousIdentifiers: [String!]! """ The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low. """ priority: Float! """ Label for the priority. """ priorityLabel: String! """ The order of the item in relation to other items in the workspace, when ordered by priority. """ prioritySortOrder: Float! """ The project that the issue is associated with. Null if the issue is not part of any project. """ project: Project """ The project milestone that the issue is associated with. Null if the issue is not assigned to a specific milestone within its project. """ projectMilestone: ProjectMilestone """ Emoji reaction summary for the issue, grouped by emoji type. Contains the count and reacting user information for each emoji. """ reactionData: JSONObject! """ Reactions associated with the issue. """ reactions: [Reaction!]! """ The recurring issue template that created this issue. """ recurringIssueTemplate: Template """ Relations associated with this issue. """ relations( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueRelationConnection! """ Releases associated with the issue. """ releases( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned releases. """ filter: ReleaseFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ReleaseConnection! """ Shared access metadata for this issue. """ sharedAccess: IssueSharedAccess! """ The time at which the issue's SLA will breach. """ slaBreachesAt: DateTime """ The time at which the issue's SLA will enter high risk state. """ slaHighRiskAt: DateTime """ The time at which the issue's SLA will enter medium risk state. """ slaMediumRiskAt: DateTime """ The time at which the issue's SLA began. """ slaStartedAt: DateTime """ The type of SLA set on the issue. Calendar days or business days. """ slaType: String """ The user who snoozed the issue. """ snoozedBy: User """ The time until an issue will be snoozed in Triage view. """ snoozedUntilAt: DateTime """ The order of the item in relation to other items in the organization. Used for manual sorting in list views. """ sortOrder: Float! """ The comment that this issue was created from, when an issue is created from an existing comment. Null if the issue was not created from a comment. """ sourceComment: Comment """ The time at which the issue was moved into started state. """ startedAt: DateTime """ The time at which the issue entered triage. """ startedTriageAt: DateTime """ 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. """ state: WorkflowState! """ The issue's workflow states over time. """ stateHistory( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int ): IssueStateSpanConnection! """ The order of the item in the sub-issue list. Only set if the issue has a parent. """ subIssueSortOrder: Float """ Users who are subscribed to the issue. """ subscribers( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned subscribers. """ filter: UserFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ Should query return disabled/suspended users (default: false). """ includeDisabled: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): UserConnection! """ [Internal] Product Intelligence suggestions for the issue. """ suggestions( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueSuggestionConnection! """ [Internal] The time at which the most recent suggestions for this issue were generated. """ suggestionsGeneratedAt: DateTime """ [Internal] AI-generated activity summary for this issue. """ summary: Summary """ The external services the issue is synced with. """ syncedWith: [ExternalEntityInfo!] """ 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. """ team: Team! """ The issue's title. This is the primary human-readable summary of the work item. """ title: String! """ A flag that indicates whether the issue is in the trash bin. """ trashed: Boolean """ The time at which the issue left triage. """ triagedAt: DateTime """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ Issue URL. """ url: String! } type IssueSearchResultEdge { """ Used in `before` and `after` args """ cursor: String! node: IssueSearchResult! } """ Metadata about an issue's shared access state, including which users the issue is shared with and any field restrictions for shared-only viewers. """ type IssueSharedAccess { """ Issue update fields the viewer cannot modify due to shared-only access. """ disallowedIssueFields: [IssueSharedAccessDisallowedField!]! """ Whether this issue has been shared with users outside the team. """ isShared: Boolean! """ The number of users this issue is shared with. """ sharedWithCount: Int! """ Users this issue is shared with. """ sharedWithUsers: [User!]! """ Whether the viewer can access this issue only through issue sharing. """ viewerHasOnlySharedAccess: Boolean! } """ Issue update fields that are disallowed for users with only shared access. """ enum IssueSharedAccessDisallowedField { cycleId projectId projectMilestoneId teamId } """ Policy controlling whether and by whom issues in a team can be shared with non-team-members. """ enum IssueSharingPolicy { adminsOnly allMembers disabled } """ Payload for issue SLA webhook events. """ type IssueSlaWebhookPayload { """ The type of action that triggered the webhook. """ action: String! """ The time the payload was created. """ createdAt: DateTime! """ The issue that the SLA event is about. """ issueData: IssueWebhookPayload! """ ID of the organization for which the webhook belongs to. """ organizationId: String! """ The type of resource. """ type: String! """ URL for the issue. """ url: String """ The ID of the webhook that sent this event. """ webhookId: String! """ Unix timestamp in milliseconds when the webhook was sent. """ webhookTimestamp: Float! } """ Issue sorting options. """ input IssueSortInput { """ [Internal] Sort by the accumulated time in the current workflow state """ accumulatedStateUpdatedAt: TimeInStatusSort """ Sort by assignee name """ assignee: AssigneeSort """ Sort by issue completion date """ completedAt: CompletedAtSort """ Sort by issue creation date """ createdAt: CreatedAtSort """ Sort by customer name """ customer: CustomerSort """ Sort by number of customers associated with the issue """ customerCount: CustomerCountSort """ Sort by number of important customers associated with the issue """ customerImportantCount: CustomerImportantCountSort """ Sort by customer revenue """ customerRevenue: CustomerRevenueSort """ Sort by Cycle start date """ cycle: CycleSort """ Sort by delegate name """ delegate: DelegateSort """ Sort by issue due date """ dueDate: DueDateSort """ Sort by estimate """ estimate: EstimateSort """ Sort by label """ label: LabelSort """ Sort by label group """ labelGroup: LabelGroupSort """ [ALPHA] Sort by number of links associated with the issue """ linkCount: LinkCountSort """ Sort by manual order """ manual: ManualSort """ Sort by Project Milestone target date """ milestone: MilestoneSort """ Sort by priority """ priority: PrioritySort """ Sort by Project name """ project: ProjectSort """ Sort by most recent release date """ release: ReleaseSort """ Sort by the root issue """ rootIssue: RootIssueSort """ Sort by SLA status """ slaStatus: SlaStatusSort """ Sort by Team name """ team: TeamSort """ Sort by issue title """ title: TitleSort """ Sort by issue update date """ updatedAt: UpdatedAtSort """ Sort by workflow state type """ workflowState: WorkflowStateSort } """ A continuous period of time during which an issue remained in a specific workflow state. """ type IssueStateSpan { """ The timestamp when the issue left this state. Null if the issue is currently in this state. """ endedAt: DateTime """ The unique identifier of the state span. """ id: ID! """ The timestamp when the issue entered this state. """ startedAt: DateTime! """ The workflow state for this span. """ state: WorkflowState """ The workflow state identifier for this span. """ stateId: ID! } type IssueStateSpanConnection { edges: [IssueStateSpanEdge!]! nodes: [IssueStateSpan!]! pageInfo: PageInfo! } type IssueStateSpanEdge { """ Used in `before` and `after` args """ cursor: String! node: IssueStateSpan! } """ An issue status changed notification type. """ scalar IssueStatusChangedNotificationType """ Payload for a terminal issue status change notification. """ type IssueStatusChangedNotificationWebhookPayload { """ The actor who caused the notification. """ actor: UserChildWebhookPayload """ The ID of the actor who caused the notification. """ actorId: String """ The time at which the entity was archived. """ archivedAt: String """ The time at which the entity was created. """ createdAt: String! """ The ID of the external user who caused the notification. """ externalUserActorId: String """ The ID of the entity. """ id: String! """ The issue this notification belongs to. """ issue: IssueWithDescriptionChildWebhookPayload! """ The ID of the issue this notification belongs to. """ issueId: String! """ A terminal issue status change notification type. """ type: IssueStatusChangedNotificationType! """ The time at which the entity was updated. """ updatedAt: String! """ The ID of the user who received the notification. """ userId: String! } """ Filter for issue subscription events. """ input IssueSubscriptionFilter { """ Filter by assignee ID. """ assigneeId: IDComparator """ Filter by parent issue ID. """ parentId: IDComparator """ Filter by project ID. """ projectId: IDComparator """ Filter by workflow state ID. """ stateId: IDComparator """ Filter by team ID. """ teamId: IDComparator } """ [Internal] An AI-generated suggestion for an issue. Suggestions can recommend related or similar issues, assignees, labels, teams, or projects. Each suggestion has a type, state (active, accepted, dismissed), and optionally associated metadata with scoring information. """ type IssueSuggestion implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ [Internal] The reason the suggestion was dismissed by the user. Null if the suggestion has not been dismissed. """ dismissalReason: String """ The unique identifier of the entity. """ id: ID! """ [Internal] The issue that this suggestion applies to. """ issue: Issue! """ [Internal] Identifier of the issue that this suggestion applies to. Can be used to query the issue directly. """ issueId: String! """ [Internal] Metadata associated with the suggestion, including confidence scores and classification. Null if no metadata is available. """ metadata: IssueSuggestionMetadata """ [Internal] The current state of the suggestion: active, accepted, or dismissed. """ state: IssueSuggestionState! """ [Internal] The date when the suggestion's state was last changed (e.g., from active to accepted or dismissed). """ stateChangedAt: DateTime! """ [Internal] The suggested issue, when the suggestion type is similarIssue or relatedIssue. Null for other suggestion types. """ suggestedIssue: Issue """ [Internal] Identifier of the suggested issue. Set when the suggestion type is similarIssue or relatedIssue. Can be used to query the issue directly. """ suggestedIssueId: String """ [Internal] The suggested label, when the suggestion type is label. Null for other suggestion types. """ suggestedLabel: IssueLabel """ [Internal] Identifier of the suggested label. Set when the suggestion type is label. Can be used to query the label directly. """ suggestedLabelId: String """ [Internal] The suggested project, when the suggestion type is project. Null for other suggestion types. """ suggestedProject: Project """ [Internal] The suggested team, when the suggestion type is team. Null for other suggestion types. """ suggestedTeam: Team """ [Internal] The suggested user, when the suggestion type is assignee. Null for other suggestion types. """ suggestedUser: User """ [Internal] Identifier of the suggested user. Set when the suggestion type is assignee. Can be used to query the user directly. """ suggestedUserId: String """ [Internal] The type of suggestion, indicating what kind of entity is being suggested (e.g., similarIssue, relatedIssue, assignee, label, team, project). """ type: IssueSuggestionType! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ IssueSuggestion collection filtering options. """ input IssueSuggestionCollectionFilter { """ Compound filters, all of which need to be matched by the suggestion. """ and: [IssueSuggestionCollectionFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that needs to be matched by all suggestions. """ every: IssueSuggestionFilter """ Comparator for the identifier. """ id: IDComparator """ Comparator for the collection length. """ length: NumberComparator """ Compound filters, one of which need to be matched by the suggestion. """ or: [IssueSuggestionCollectionFilter!] """ Filters that needs to be matched by some suggestions. """ some: IssueSuggestionFilter """ Comparator for the suggestion state. """ state: StringComparator """ Filters that the suggested label must satisfy. """ suggestedLabel: IssueLabelFilter """ Filters that the suggested project must satisfy. """ suggestedProject: NullableProjectFilter """ Filters that the suggested team must satisfy. """ suggestedTeam: NullableTeamFilter """ Filters that the suggested user must satisfy. """ suggestedUser: NullableUserFilter """ Comparator for the suggestion type. """ type: StringComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } type IssueSuggestionConnection { edges: [IssueSuggestionEdge!]! nodes: [IssueSuggestion!]! pageInfo: PageInfo! } type IssueSuggestionEdge { """ Used in `before` and `after` args """ cursor: String! node: IssueSuggestion! } """ IssueSuggestion filtering options. """ input IssueSuggestionFilter { """ Compound filters, all of which need to be matched by the suggestion. """ and: [IssueSuggestionFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the identifier. """ id: IDComparator """ Compound filters, one of which need to be matched by the suggestion. """ or: [IssueSuggestionFilter!] """ Comparator for the suggestion state. """ state: StringComparator """ Filters that the suggested label must satisfy. """ suggestedLabel: IssueLabelFilter """ Filters that the suggested project must satisfy. """ suggestedProject: NullableProjectFilter """ Filters that the suggested team must satisfy. """ suggestedTeam: NullableTeamFilter """ Filters that the suggested user must satisfy. """ suggestedUser: NullableUserFilter """ Comparator for the suggestion type. """ type: StringComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ [Internal] Metadata associated with an issue suggestion, including scoring and classification information. """ type IssueSuggestionMetadata { """ [Internal] Identifier of the automation rule that was applied from this suggestion. Null if no rule was applied. """ appliedAutomationRuleId: String """ [Internal] The classification category of the suggestion. Null if no classification was assigned. """ classification: String """ [Internal] Identifier of the evaluation log entry associated with this suggestion. Null if no log entry exists. """ evalLogId: String """ [Internal] The rank of this suggestion relative to other suggestions of the same type. Lower values indicate higher priority. Null if not ranked. """ rank: Float """ [Internal] The reasons explaining why this suggestion was made. Null if no reasons are available. """ reasons: [String!] """ [Internal] The confidence score of the suggestion. Higher values indicate greater confidence. Null if no score was computed. """ score: Float """ [Internal] The AI prompt variant that generated this suggestion. Null if not applicable. """ variant: String } """ The state of an issue suggestion, indicating whether it is active, accepted, or dismissed. """ enum IssueSuggestionState { accepted active dismissed stale } """ The type of an issue suggestion, indicating what kind of entity is being suggested (e.g., similar issue, assignee, label, team, project). """ enum IssueSuggestionType { assignee label project relatedIssue similarIssue team } """ Return type for AI-generated issue title suggestions based on customer request content. """ type IssueTitleSuggestionFromCustomerRequestPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ [Internal] The evaluation log ID of the AI response, for tracing and debugging. """ logId: String """ The AI-suggested issue title based on the customer request content. """ title: String! } """ A join entity linking an issue to a release for release tracking. Each record represents an association between a single issue and a single release, along with metadata about the source of the link (e.g., which pull requests connected the issue to the release). Creating or deleting these associations automatically records the change in issue history. """ type IssueToRelease implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The unique identifier of the entity. """ id: ID! """ The issue that is linked to the release. """ issue: Issue! """ The release that the issue is linked to. """ release: Release! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } type IssueToReleaseConnection { edges: [IssueToReleaseEdge!]! nodes: [IssueToRelease!]! pageInfo: PageInfo! } """ Input for creating a new association between an issue and a release. Both an issue identifier and a release identifier must be provided. """ input IssueToReleaseCreateInput { """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The identifier of the issue. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String! """ The identifier of the release. """ releaseId: String! } type IssueToReleaseEdge { """ Used in `before` and `after` args """ cursor: String! node: IssueToRelease! } """ The result of an issue-to-release mutation, containing the created or updated association and a success indicator. """ type IssueToReleasePayload { """ The issueToRelease that was created or updated. """ issueToRelease: IssueToRelease! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ An issue unassignment notification type. """ scalar IssueUnassignedFromYouNotificationType """ Payload for an issue unassignment notification. """ type IssueUnassignedFromYouNotificationWebhookPayload { """ The actor who caused the notification. """ actor: UserChildWebhookPayload """ The ID of the actor who caused the notification. """ actorId: String """ The time at which the entity was archived. """ archivedAt: String """ The time at which the entity was created. """ createdAt: String! """ The ID of the external user who caused the notification. """ externalUserActorId: String """ The ID of the entity. """ id: String! """ The issue this notification belongs to. """ issue: IssueWithDescriptionChildWebhookPayload! """ The ID of the issue this notification belongs to. """ issueId: String! """ An issue unassignment notification type. """ type: IssueUnassignedFromYouNotificationType! """ The time at which the entity was updated. """ updatedAt: String! """ The ID of the user who received the notification. """ userId: String! } """ 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. """ input IssueUpdateInput { """ The identifiers of the issue labels to be added to this issue. """ addedLabelIds: [String!] """ The identifiers of the releases to be added to this issue. """ addedReleaseIds: [String!] """ The identifier of the user to assign the issue to. """ assigneeId: String """ Whether the issue was automatically closed because its parent issue was closed. """ autoClosedByParentClosing: Boolean """ The cycle associated with the issue. """ cycleId: String """ The identifier of the agent user to delegate the issue to. """ delegateId: String """ The issue description in markdown format. """ description: String """ [Internal] The issue description as a Prosemirror document. """ descriptionData: JSON """ The date at which the issue is due. """ dueDate: TimelessDate """ The estimated complexity of the issue. """ estimate: Int """ Whether this issue should inherit shared access from its parent issue. """ inheritsSharedAccess: Boolean """ The identifiers of the issue labels associated with this ticket. """ labelIds: [String!] """ The ID of the last template applied to the issue. """ lastAppliedTemplateId: String """ The identifier of the parent issue. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ parentId: String """ The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low. """ priority: Int """ The position of the issue related to other issues, when ordered by priority. """ prioritySortOrder: Float """ The project associated with the issue. """ projectId: String """ The project milestone associated with the issue. """ projectMilestoneId: String """ The identifiers of the releases associated with this issue. """ releaseIds: [String!] """ The identifiers of the issue labels to be removed from this issue. """ removedLabelIds: [String!] """ The identifiers of the releases to be removed from this issue. """ removedReleaseIds: [String!] """ [Internal] The time at which an issue will be considered in breach of SLA. """ slaBreachesAt: DateTime """ [Internal] The time at which the issue's SLA was started. """ slaStartedAt: DateTime """ The SLA day count type for the issue. Whether SLA should be business days only or calendar days (default). """ slaType: SLADayCountType """ The identifier of the user who snoozed the issue. """ snoozedById: String """ The time until which the issue will be snoozed in Triage view. """ snoozedUntilAt: DateTime """ The position of the issue related to other issues. """ sortOrder: Float """ The team state of the issue. """ stateId: String """ The position of the issue in parent's sub-issue list. """ subIssueSortOrder: Float """ The identifiers of the users subscribing to this ticket. """ subscriberIds: [String!] """ The identifier of the team associated with the issue. """ teamId: String """ The issue title. """ title: String """ Whether the issue has been trashed. """ trashed: Boolean } """ Payload for an issue webhook. """ type IssueWebhookPayload { """ The time at which the issue was added to a cycle. """ addedToCycleAt: String """ The time at which the issue was added to a project. """ addedToProjectAt: String """ The time at which the issue was added to a team. """ addedToTeamAt: String """ The time at which the entity was archived. """ archivedAt: String """ The user that is assigned to the issue. """ assignee: UserChildWebhookPayload """ The ID of the user that is assigned to the issue. """ assigneeId: String """ The time at which the issue was auto-archived. """ autoArchivedAt: String """ The time at which the issue was auto-closed. """ autoClosedAt: String """ The bot actor data for this issue. """ botActor: String """ The time at which the issue was canceled. """ canceledAt: String """ The time at which the issue was completed. """ completedAt: String """ The time at which the entity was created. """ createdAt: String! """ The user that created the issue. """ creator: UserChildWebhookPayload """ The ID of the user that created the issue. """ creatorId: String """ The cycle that the issue belongs to. """ cycle: CycleChildWebhookPayload """ The ID of the cycle that the issue belongs to. """ cycleId: String """ The agent user that the issue is delegated to. """ delegate: UserChildWebhookPayload """ The ID of the agent user that the issue is delegated to. """ delegateId: String """ The description of the issue. """ description: String """ The description data of the issue. """ descriptionData: String """ The due date of the issue. """ dueDate: String """ The estimate of the complexity of the issue.. """ estimate: Float """ The external user that created the issue. """ externalUserCreator: ExternalUserChildWebhookPayload """ The ID of the external user that created the issue. """ externalUserCreatorId: String """ The ID of the entity. """ id: String! """ The identifier of the issue. """ identifier: String! """ Integration type that created this issue, if applicable. """ integrationSourceType: String """ Id of the labels associated with this issue. """ labelIds: [String!]! """ The labels associated with this issue. """ labels: [IssueLabelChildWebhookPayload!]! """ The ID of the last template that was applied to the issue. """ lastAppliedTemplateId: String """ The issue's unique number. """ number: Float! """ The ID of the parent issue. """ parentId: String """ Previous identifiers of the issue if it has been moved between teams. """ previousIdentifiers: [String!]! """ The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low. """ priority: Float! """ The label of the issue's priority. """ priorityLabel: String! """ The order of the item in relation to other items in the organization, when ordered by priority. """ prioritySortOrder: Float! """ The project that the issue belongs to. """ project: ProjectChildWebhookPayload """ The ID of the project that the issue belongs to. """ projectId: String """ The project milestone that the issue belongs to. """ projectMilestone: ProjectMilestoneChildWebhookPayload """ The ID of the project milestone that the issue belongs to. """ projectMilestoneId: String """ The reaction data for this issue. """ reactionData: JSONObject! """ The ID of the recurring issue template that created the issue. """ recurringIssueTemplateId: String """ The time at which the issue would breach its SLA. """ slaBreachesAt: String """ The time at which the issue would enter SLA high risk. """ slaHighRiskAt: String """ The time at which the issue would enter SLA medium risk. """ slaMediumRiskAt: String """ The time at which the issue's SLA started. """ slaStartedAt: String """ The type of SLA the issue is under. """ slaType: String """ The time until an issue will be snoozed in Triage view. """ snoozedUntilAt: String """ The order of the item in relation to other items in the organization. """ sortOrder: Float! """ The ID of the source comment that the issue was created from. """ sourceCommentId: String """ The time at which the issue was moved into started state. """ startedAt: String """ The time at which the issue entered triage. """ startedTriageAt: String """ The issue's current workflow state. """ state: WorkflowStateChildWebhookPayload! """ The ID of the issue's current workflow state. """ stateId: String! """ The order of the item in the sub-issue list. Only set if the issue has a parent. """ subIssueSortOrder: Float """ The IDs of the users that are subscribed to the issue. """ subscriberIds: [String!]! """ The entity this issue is synced with. """ syncedWith: JSONObject """ The team that the issue belongs to. """ team: TeamChildWebhookPayload """ The ID of the team that the issue belongs to. """ teamId: String! """ The issue's title. """ title: String! """ A flag that indicates whether the issue is in the trash bin. """ trashed: Boolean """ The time at which the issue was triaged. """ triagedAt: String """ The time at which the entity was updated. """ updatedAt: String! """ The URL of the issue. """ url: String! } """ Certain properties of an issue, including its description. """ type IssueWithDescriptionChildWebhookPayload { """ The description of the issue. """ description: String """ The ID of the issue. """ id: String! """ The identifier of the issue. """ identifier: String! """ The ID of the team that the issue belongs to. """ team: TeamChildWebhookPayload! """ The ID of the team that the issue belongs to. """ teamId: String! """ The title of the issue. """ title: String! """ The URL of the issue. """ url: String! } """ The `JSON` scalar type represents arbitrary values as *stringified* JSON """ scalar JSON """ The `JSONObject` scalar type represents arbitrary values as *embedded* JSON """ scalar JSONObject input JiraConfigurationInput { """ The Jira personal access token. """ accessToken: String! """ The Jira user's email address. A username is also accepted on Jira Server / DC. """ email: String! """ The Jira installation hostname. """ hostname: String! """ Whether this integration will be setup using the manual webhook flow. """ manualSetup: Boolean } input JiraFetchProjectStatusesInput { """ The id of the Jira integration. """ integrationId: String! """ The Jira project ID to fetch statuses for. """ projectId: String! } type JiraFetchProjectStatusesPayload { """ The integration that was created or updated. """ integration: Integration """ The fetched Jira issue statuses (non-Epic). """ issueStatuses: [String!]! """ The identifier of the last sync operation. """ lastSyncId: Float! """ The fetched Jira project statuses (Epic). """ projectStatuses: [String!]! """ Whether the operation was successful. """ success: Boolean! } input JiraLinearMappingInput { """ Whether the sync for this mapping is bidirectional. """ bidirectional: Boolean """ Whether this mapping is the default one for issue creation. """ default: Boolean """ The Jira id for this project. """ jiraProjectId: String! """ Whether this mapping uses legacy unidirectional sync behavior where no changes sync from Linear to Jira. """ legacyUnidirectional: Boolean """ The Linear team id to map to the given project. """ linearTeamId: String! } input JiraPersonalSettingsInput { """ The name of the Jira site currently authorized through the integration. """ siteName: String } input JiraProjectDataInput { """ The Jira id for this project. """ id: String! """ The Jira key for this project, such as ENG. """ key: String! """ The Jira name for this project, such as Engineering. """ name: String! } input JiraSettingsInput { """ The custom OAuth server token endpoint URL (enterprise SSO). """ customOAuthServerUrl: String """ Whether this integration uses custom OAuth authentication (enterprise SSO). """ isCustomOAuth: Boolean """ Whether this integration is for Jira Server or not. """ isJiraServer: Boolean = false """ The label of the Jira instance, for visual identification purposes only """ label: String """ Whether this integration is using a manual setup flow. """ manualSetup: Boolean """ The OAuth client ID for the personal connection OAuth app, when using custom OAuth. """ personalOAuthClientId: String """ The mapping of Jira project id => Linear team id. """ projectMapping: [JiraLinearMappingInput!] """ The Jira projects for the organization. """ projects: [JiraProjectDataInput!]! """ Whether the user needs to provide setup information about the webhook to complete the integration setup. Only relevant for integrations that use a manual setup flow """ setupPending: Boolean """ Jira status names grouped by project, separated into issue statuses (non-Epic) and project statuses (Epic). Structure: projectId -> { issueStatuses: string[], projectStatuses: string[] } """ statusNamesPerIssueType: JSONObject } input JiraUpdateInput { """ The Jira personal access token. """ accessToken: String """ Whether to delete the current manual webhook configuration. """ deleteWebhook: Boolean """ The Jira user email address associated with the personal access token. """ email: String """ The id of the integration to update. """ id: String! """ Whether the Jira instance does not support webhook secrets. """ noSecret: Boolean """ Whether to refresh Jira metadata for the integration. """ updateMetadata: Boolean """ Whether to refresh Jira Projects for the integration. """ updateProjects: Boolean """ Webhook secret for a new manual configuration. """ webhookSecret: String } input JoinOrganizationInput { """ An optional invite link for an organization. """ inviteLink: String """ The identifier of the organization. """ organizationId: String! } """ Issue label-group sorting options. """ input LabelGroupSort { """ The label-group id to sort by """ labelGroupId: String! """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ A notification subscription scoped to a specific issue label. The subscriber receives notifications for events related to issues with this label. """ type LabelNotificationSubscription implements Entity & Node & NotificationSubscription { """ Whether the subscription is active. When inactive, no notifications are generated from this subscription even though it still exists. """ active: Boolean! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The type of contextual view (e.g., active issues, backlog) that further scopes a team notification subscription. Null if the subscription is not associated with a specific view type. """ contextViewType: ContextViewType """ The time at which the entity was created. """ createdAt: DateTime! """ The custom view that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ customView: CustomView """ The customer that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ customer: Customer """ The cycle that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ cycle: Cycle """ The unique identifier of the entity. """ id: ID! """ The initiative that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ initiative: Initiative """ The label subscribed to. """ label: IssueLabel! """ The notification event types that this subscription will deliver to the subscriber. """ notificationSubscriptionTypes: [String!]! """ The project that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ project: Project """ The user who will receive notifications from this subscription. """ subscriber: User! """ The team that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ team: Team """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user that this notification subscription is scoped to, for user-specific view subscriptions. Null if the subscription targets a different entity type. """ user: User """ The type of user-specific view that further scopes a user notification subscription. Null if the subscription is not associated with a user view type. """ userContextViewType: UserContextViewType } """ Issue label sorting options. """ input LabelSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } input LaunchDarklySettingsInput { """ The environment of the LaunchDarkly integration. """ environment: String! """ The project key of the LaunchDarkly integration. """ projectKey: String! } """ [ALPHA] Issue link count sorting options. """ input LinkCountSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } type LogoutResponse { """ Whether the operation was successful. """ success: Boolean! } """ Issue manual sorting options. """ input ManualSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ An additional HTTP header sent with requests to the connected MCP server. Header values are stored securely. """ input McpServerCustomHeaderInput { """ The HTTP header name. """ name: String! """ The HTTP header value. """ value: String! } type MicrosoftTeamsChannel { """ The display name of the channel. """ displayName: String! """ The Microsoft Teams channel id (e.g. `19:abc@thread.tacv2`). """ id: String! """ The membership type of the channel: standard, private, or shared. """ membershipType: String! } type MicrosoftTeamsChannelsPayload { """ Whether the operation was successful. """ success: Boolean! """ The teams the user belongs to with their channels. """ teams: [MicrosoftTeamsTeam!]! } input MicrosoftTeamsPostSettingsInput { """ Microsoft Teams channel id. """ channelId: String! """ Display name of the channel. """ channelName: String! """ Membership type of the channel: standard, private, or shared. """ membershipType: String! """ AAD group id of the Team. """ teamId: String! """ Display name of the Team. """ teamName: String! """ Azure AD tenant id the team belongs to. """ tenantId: String! } input MicrosoftTeamsSettingsInput { """ Whether Code Intelligence should be enabled for this Microsoft Teams integration. """ enableCodeIntelligence: Boolean """ The display name of the Azure AD tenant. """ tenantName: String } type MicrosoftTeamsTeam { """ The channels in the team the user can access. """ channels: [MicrosoftTeamsChannel!]! """ The display name of the team. """ displayName: String! """ The AAD group id of the team. """ id: String! } """ Issue project milestone options. """ input MilestoneSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } type Mutation { """ Creates an agent activity. """ agentActivityCreate( """ The agent activity object to create. """ input: AgentActivityCreateInput! ): AgentActivityPayload! """ [Internal] Creates a prompt agent activity from Linear user input. """ agentActivityCreatePrompt( """ The prompt agent activity object to create. """ input: AgentActivityCreatePromptInput! ): AgentActivityPayload! """ [Internal] Deletes a queued prompt activity, removing it from the queue. """ agentActivityDeleteQueued( """ The ID of the queued agent activity to delete. """ id: String! ): AgentActivityPayload! """ [Internal] Immediately sends a queued prompt activity to the agent, bypassing the queue. """ agentActivitySendQueued( """ The ID of the queued agent activity to send. """ id: String! ): AgentActivityPayload! """ [Internal] Creates a new agent session on behalf of the current user """ agentSessionCreate( """ The agent session object to create. """ input: AgentSessionCreateInput! """ [Internal] Optional pull request to associate with the created session. """ pullRequestId: String ): AgentSessionPayload! """ Creates a new agent session on a root comment. """ agentSessionCreateOnComment( """ The agent session object to create. """ input: AgentSessionCreateOnComment! ): AgentSessionPayload! """ Creates a new agent session on an issue. """ agentSessionCreateOnIssue( """ The agent session object to create. """ input: AgentSessionCreateOnIssue! ): AgentSessionPayload! """ Updates an agent session. """ agentSessionUpdate( """ The identifier of the agent session to update. """ id: String! """ A partial agent session object to update the agent session with. """ input: AgentSessionUpdateInput! ): AgentSessionPayload! """ Updates the externalUrl of an agent session, which is an agent-hosted page associated with this session. """ agentSessionUpdateExternalUrl( """ The identifier of the agent session to update. """ id: String! """ The agent session object to update. """ input: AgentSessionUpdateExternalUrlInput! ): AgentSessionPayload! """ Creates an integration api key for Airbyte to connect with Linear. """ airbyteIntegrationConnect( """ Airbyte integration settings. """ input: AirbyteConfigurationInput! ): IntegrationPayload! """ Creates a new attachment, or updates existing if the same `url` and `issueId` is used. To create an integration-aware attachment, use the integration-specific mutations such as `attachmentLinkZendesk`, `attachmentLinkSlack`, or `attachmentLinkURL` instead. """ attachmentCreate( """ The attachment object to create. """ input: AttachmentCreateInput! ): AttachmentPayload! """ Deletes an issue attachment. """ attachmentDelete( """ The identifier of the attachment to delete. """ id: String! ): DeletePayload! """ Link an existing Discord message to an issue. This creates a rich attachment using the workspace's Discord integration. """ attachmentLinkDiscord( """ The Discord channel ID for the message to link. """ channelId: String! """ Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=app` mode. """ createAsUser: String """ Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=app` mode. """ displayIconUrl: String """ Optional attachment ID that may be provided through the API. """ id: String """ The issue for which to link the Discord message. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String! """ The Discord message ID for the message to link. """ messageId: String! """ The title to use for the attachment. """ title: String """ The Discord message URL for the message to link. """ url: String! ): AttachmentPayload! """ Link an existing Front conversation to an issue. This creates a rich attachment using the workspace's Front integration, enabling features like automated conversation updates. """ attachmentLinkFront( """ The Front conversation ID to link. """ conversationId: String! """ Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=app` mode. """ createAsUser: String """ Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=app` mode. """ displayIconUrl: String """ Optional attachment ID that may be provided through the API. """ id: String """ The issue for which to link the Front conversation. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String! """ The title to use for the attachment. """ title: String ): FrontAttachmentPayload! """ Link a GitHub issue to a Linear issue. This creates a rich attachment using the workspace's GitHub integration, enabling features like automated status syncing. """ attachmentLinkGitHubIssue( """ Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=app` mode. """ createAsUser: String """ Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=app` mode. """ displayIconUrl: String """ Optional attachment ID that may be provided through the API. """ id: String """ The Linear issue for which to link the GitHub issue. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String! """ The title to use for the attachment. """ title: String """ The URL of the GitHub issue to link. """ url: String! ): AttachmentPayload! """ Link a GitHub pull request to an issue. This creates a rich attachment using the workspace's GitHub integration, enabling features like automated status syncing. """ attachmentLinkGitHubPR( """ Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=app` mode. """ createAsUser: String """ Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=app` mode. """ displayIconUrl: String """ Optional attachment ID that may be provided through the API. """ id: String """ The issue for which to link the GitHub pull request. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String! """ [Internal] The kind of link between the issue and the pull request. """ linkKind: GitLinkKind """ The title to use for the attachment. """ title: String """ The URL of the GitHub pull request to link. """ url: String! ): AttachmentPayload! """ Link an existing GitLab MR to an issue. This creates a rich attachment using the workspace's GitLab integration, enabling features like automated status syncing. """ attachmentLinkGitLabMR( """ Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=app` mode. """ createAsUser: String """ Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=app` mode. """ displayIconUrl: String """ Optional attachment ID that may be provided through the API. """ id: String """ The issue for which to link the GitLab merge request. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String! """ The GitLab merge request number to link. """ number: Float! """ The path name to the project including any (sub)groups. E.g. linear/main/client. """ projectPathWithNamespace: String! """ The title to use for the attachment. """ title: String """ The URL of the GitLab merge request to link. """ url: String! ): AttachmentPayload! """ Link an existing Intercom conversation to an issue. This creates a rich attachment using the workspace's Intercom integration, enabling features like automated conversation updates. """ attachmentLinkIntercom( """ The Intercom conversation ID to link. """ conversationId: String! """ Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=app` mode. """ createAsUser: String """ Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=app` mode. """ displayIconUrl: String """ Optional attachment ID that may be provided through the API. """ id: String """ The issue for which to link the Intercom conversation. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String! """ An optional Intercom conversation part ID to link to """ partId: String """ The title to use for the attachment. """ title: String ): AttachmentPayload! """ Link an existing Jira issue to an issue. This creates a rich attachment using the workspace's Jira integration, enabling features like automated status syncing. """ attachmentLinkJiraIssue( """ Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=app` mode. """ createAsUser: String """ Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=app` mode. """ displayIconUrl: String """ Optional attachment ID that may be provided through the API. """ id: String """ The issue for which to link the Jira issue. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String! """ The Jira issue key or ID to link. """ jiraIssueId: String! """ The title to use for the attachment. """ title: String """ Optional fallback URL to use if the Jira issue cannot be found. """ url: String ): AttachmentPayload! """ Link an existing Salesforce case to an issue. This creates a rich attachment using the workspace's Salesforce integration. """ attachmentLinkSalesforce( """ Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=app` mode. """ createAsUser: String """ Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=app` mode. """ displayIconUrl: String """ Optional attachment ID that may be provided through the API. """ id: String """ The issue for which to link the Salesforce case. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String! """ The title to use for the attachment. """ title: String """ The URL of the Salesforce case to link. """ url: String! ): AttachmentPayload! """ Link an existing Slack message to an issue. This creates a rich attachment using the workspace's Slack integration. """ attachmentLinkSlack( """ Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=app` mode. """ createAsUser: String """ Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=app` mode. """ displayIconUrl: String """ Optional attachment ID that may be provided through the API. """ id: String """ The issue to which to link the Slack message. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String! """ Whether to begin syncing the message's Slack thread with a comment thread on the issue. """ syncToCommentThread: Boolean """ The title to use for the attachment. """ title: String """ The Slack message URL for the message to link. """ url: String! ): AttachmentPayload! """ Link any URL to an issue. If the workspace has a matching integration configured and the URL is recognized (e.g., Zendesk, GitHub, Slack), a rich attachment will be created that enables features like automated status updates. Otherwise, a basic attachment is created. """ attachmentLinkURL( """ Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=app` mode. """ createAsUser: String """ Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=app` mode. """ displayIconUrl: String """ The id for the attachment. """ id: String """ The issue for which to link the url. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String! """ The title to use for the attachment. """ title: String """ The url to link. """ url: String! ): AttachmentPayload! """ Link an existing Zendesk ticket to an issue. This creates a rich attachment using the workspace's Zendesk integration, enabling features like automated ticket reopening when the Linear issue is completed. """ attachmentLinkZendesk( """ Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=app` mode. """ createAsUser: String """ Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=app` mode. """ displayIconUrl: String """ Optional attachment ID that may be provided through the API. """ id: String """ The issue for which to link the Zendesk ticket. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String! """ The Zendesk ticket ID to link. """ ticketId: String! """ The title to use for the attachment. """ title: String """ The URL of the Zendesk ticket to link. """ url: String ): AttachmentPayload! """ Begin syncing the thread for an existing Slack message attachment with a comment thread on its issue. """ attachmentSyncToSlack( """ The ID of the Slack attachment to begin syncing. """ id: String! ): AttachmentPayload! """ Updates an existing issue attachment. """ attachmentUpdate( """ The identifier of the attachment to update. """ id: String! """ A partial attachment object to update the attachment with. """ input: AttachmentUpdateInput! ): AttachmentPayload! """ Creates a new comment. """ commentCreate( """ The comment object to create. """ input: CommentCreateInput! ): CommentPayload! """ Deletes a comment. """ commentDelete( """ The identifier of the comment to delete. """ id: String! ): DeletePayload! """ Resolves a comment thread. Marks the root comment as resolved by the current user. """ commentResolve( """ The identifier of the comment to resolve. """ id: String! """ The identifier of the child comment that resolves the thread. If not provided, the thread is resolved without a specific resolving comment. """ resolvingCommentId: String ): CommentPayload! """ Unresolves a previously resolved comment thread. Clears the resolved state on the root comment. """ commentUnresolve( """ The identifier of the comment to unresolve. """ id: String! ): CommentPayload! """ Updates a comment. """ commentUpdate( """ The identifier of the comment to update. """ id: String! """ A partial comment object to update the comment with. """ input: CommentUpdateInput! """ [INTERNAL] Flag to prevent setting editedAt when updating bodyData (used for background uploads). """ skipEditedAt: Boolean ): CommentPayload! """ Creates a support contact message from an authenticated user. The message is saved and forwarded to Intercom for support handling. """ contactCreate( """ The contact entry to create. """ input: ContactCreateInput! ): ContactPayload! """ [INTERNAL] Submits a sales pricing inquiry from the website. Small companies (1-19 employees) are routed to Intercom, while larger companies are routed to HubSpot. """ contactSalesCreate( """ The contact entry to create. """ input: ContactSalesCreateInput! ): ContactPayload! """ Creates a CSV export report for the workspace. The report is generated asynchronously and delivered via email. Requires workspace admin export permission. """ createCsvExportReport( """ IDs of private teams to include in the export. If null, only data from public teams is exported. """ includePrivateTeamIds: [String!] ): CreateCsvExportReportPayload! """ Create a notification to remind a user about an initiative update. """ createInitiativeUpdateReminder( """ The identifier of the initiative to remind about. """ initiativeId: String! """ The user identifier to whom the notification will be sent. By default, it is set to the initiative owner. """ userId: String ): InitiativeUpdateReminderPayload! """ Creates a new workspace from onboarding. """ createOrganizationFromOnboarding( """ Details for the new workspace. """ input: CreateOrganizationInput! """ PostHog session ID for attribution tracking. """ sessionId: String """ Onboarding survey. """ survey: OnboardingCustomerSurvey ): CreateOrJoinOrganizationResponse! """ Create a notification to remind a user about a project update. """ createProjectUpdateReminder( """ The identifier of the project to remind about. """ projectId: String! """ The user identifier to whom the notification will be sent. By default, it is set to the project lead. """ userId: String ): ProjectUpdateReminderPayload! """ Creates a new custom view. """ customViewCreate( """ The properties of the custom view to create. """ input: CustomViewCreateInput! ): CustomViewPayload! """ Deletes a custom view. """ customViewDelete( """ The identifier of the custom view to delete. """ id: String! ): DeletePayload! """ Updates a custom view. """ customViewUpdate( """ The identifier of the custom view to update. """ id: String! """ The properties of the custom view to update. """ input: CustomViewUpdateInput! ): CustomViewPayload! """ Creates a new customer. """ customerCreate( """ The customer to create. """ input: CustomerCreateInput! ): CustomerPayload! """ Deletes a customer. """ customerDelete( """ The identifier of the customer to delete. """ id: String! ): DeletePayload! """ Merges two customers by transferring all needs from the source customer to the target customer. The source customer is archived after the merge. Domains, external IDs, and metadata are combined on the target customer. """ customerMerge( """ The ID of the source customer to merge. All needs from this customer will be transferred to the target, and this customer will be archived. """ sourceCustomerId: String! """ The ID of the target customer to merge into. This customer will receive all needs from the source customer and retain its own. """ targetCustomerId: String! ): CustomerPayload! """ Archives a customer need. """ customerNeedArchive( """ The identifier of the customer need to archive. """ id: String! ): CustomerNeedArchivePayload! """ Creates a new customer need. """ customerNeedCreate( """ The customer need to create. """ input: CustomerNeedCreateInput! ): CustomerNeedPayload! """ Creates a new customer need from an existing issue attachment. If the attachment already has an archived need, it will be unarchived instead of creating a duplicate. """ customerNeedCreateFromAttachment( """ The customer need to create. """ input: CustomerNeedCreateFromAttachmentInput! ): CustomerNeedPayload! """ Deletes a customer need. """ customerNeedDelete( """ The identifier of the customer need to delete. """ id: String! """ Whether to keep the attachment associated with the customer need. """ keepAttachment: Boolean ): DeletePayload! """ Unarchives a customer need. """ customerNeedUnarchive( """ The identifier of the customer need to unarchive. """ id: String! ): CustomerNeedArchivePayload! """ Updates an existing customer need. Supports moving the need to a different issue or project, changing priority, updating the body content, and managing the attached source URL. """ customerNeedUpdate( """ Whether to remove any existing attachment associated with the customer need. """ clearAttachment: Boolean """ The identifier of the customer need to update. """ id: String! """ The properties of the customer need to update. """ input: CustomerNeedUpdateInput! ): CustomerNeedUpdatePayload! """ Creates a new customer status. """ customerStatusCreate( """ The CustomerStatus object to create. """ input: CustomerStatusCreateInput! ): CustomerStatusPayload! """ Deletes a customer status. Cannot delete the last remaining status in a workspace, and the status must not be in use by any customers. """ customerStatusDelete( """ The identifier of the customer status to delete. """ id: String! ): DeletePayload! """ Updates a customer status. """ customerStatusUpdate( """ The identifier of the customer status to update. """ id: String! """ A partial CustomerStatus object to update the CustomerStatus with. """ input: CustomerStatusUpdateInput! ): CustomerStatusPayload! """ Creates a new customer tier. """ customerTierCreate( """ The CustomerTier object to create. """ input: CustomerTierCreateInput! ): CustomerTierPayload! """ Deletes a customer tier. The tier must not be in use by any customers. """ customerTierDelete( """ The identifier of the customer tier to delete. """ id: String! ): DeletePayload! """ Updates a customer tier. """ customerTierUpdate( """ The identifier of the customer tier to update. """ id: String! """ A partial CustomerTier object to update the CustomerTier with. """ input: CustomerTierUpdateInput! ): CustomerTierPayload! """ Unsyncs a managed customer from its current data source integration. External IDs mapping to the external source will be cleared, and the customer will no longer be updated by the integration. """ customerUnsync( """ The identifier of the customer to unsync. """ id: String! ): CustomerPayload! """ Updates an existing customer. """ customerUpdate( """ The identifier of the customer to update. """ id: String! """ The properties of the customer to update. """ input: CustomerUpdateInput! ): CustomerPayload! """ Upserts a customer, creating it if no match is found, or updating it otherwise. Matches against existing customers using `id`, `externalId`, `slackChannelId`, or `domains`. """ customerUpsert( """ The customer to create. """ input: CustomerUpsertInput! ): CustomerPayload! """ Archives a cycle. All issues currently assigned to the cycle are unlinked from it before archiving. """ cycleArchive( """ The identifier of the cycle to archive. """ id: String! ): CycleArchivePayload! """ Creates a new cycle. """ cycleCreate( """ The cycle object to create. """ input: CycleCreateInput! ): CyclePayload! """ Shifts all cycles starts and ends by a certain number of days, starting from the provided cycle onwards. """ cycleShiftAll( """ The shift parameters specifying which cycle to start from and how many days to shift. """ input: CycleShiftAllInput! ): CyclePayload! """ Starts the upcoming cycle as of midnight today. Completes the previous cycle if it has not yet ended. Only the next upcoming (not yet started) cycle for the team can be started. """ cycleStartUpcomingCycleToday( """ The identifier of the cycle to start as of midnight today. Must be the upcoming cycle. """ id: String! ): CyclePayload! """ Updates a cycle. """ cycleUpdate( """ The identifier of the cycle to update. """ id: String! """ A partial cycle object to update the cycle with. """ input: CycleUpdateInput! ): CyclePayload! """ Creates a new document. """ documentCreate( """ The document to create. """ input: DocumentCreateInput! ): DocumentPayload! """ Deletes (trashes) a document. The document is marked as trashed and archived, but not permanently removed. """ documentDelete( """ The identifier of the document to delete. """ id: String! ): DocumentArchivePayload! """ Restores a previously trashed document by unarchiving it. """ documentUnarchive( """ The identifier of the document to restore. """ id: String! ): DocumentArchivePayload! """ Updates a document. """ documentUpdate( """ The identifier of the document to update. Also the identifier from the URL is accepted. """ id: String! """ A partial document object to update the document with. """ input: DocumentUpdateInput! ): DocumentPayload! """ Creates a new email intake address. """ emailIntakeAddressCreate( """ The email intake address object to create. """ input: EmailIntakeAddressCreateInput! ): EmailIntakeAddressPayload! """ Deletes an email intake address object. """ emailIntakeAddressDelete( """ The identifier of the email intake address to delete. """ id: String! ): DeletePayload! """ Rotates an existing email intake address. """ emailIntakeAddressRotate( """ The identifier of the email intake address. """ id: String! ): EmailIntakeAddressPayload! """ Updates an existing email intake address. """ emailIntakeAddressUpdate( """ The identifier of the email intake address. """ id: String! """ The properties of the email intake address to update. """ input: EmailIntakeAddressUpdateInput! ): EmailIntakeAddressPayload! """ Authenticates a user account via email and authentication token. """ emailTokenUserAccountAuth( """ The data used for token authentication. """ input: TokenUserAccountAuthInput! ): AuthResolverResponse! """ Unsubscribes the user from one type of email. """ emailUnsubscribe( """ Unsubscription details. """ input: EmailUnsubscribeInput! ): EmailUnsubscribePayload! """ Finds or creates a new user account by email and sends an email with token. """ emailUserAccountAuthChallenge( """ The data used for email authentication. """ input: EmailUserAccountAuthChallengeInput! ): EmailUserAccountAuthChallengeResponse! """ Creates a custom emoji. """ emojiCreate( """ The emoji object to create. """ input: EmojiCreateInput! ): EmojiPayload! """ Deletes an emoji. """ emojiDelete( """ The identifier of the emoji to delete. """ id: String! ): DeletePayload! """ Creates a new external link on an initiative, project, team, release, or cycle. """ entityExternalLinkCreate( """ The entity link object to create. """ input: EntityExternalLinkCreateInput! ): EntityExternalLinkPayload! """ Deletes an entity external link. """ entityExternalLinkDelete( """ The identifier of the entity link to delete. """ id: String! ): DeletePayload! """ Updates an existing entity external link's URL, label, or sort order. """ entityExternalLinkUpdate( """ The identifier of the entity link to update. """ id: String! """ The entity link object to update. """ input: EntityExternalLinkUpdateInput! ): EntityExternalLinkPayload! """ Creates a new favorite for the authenticated user. Exactly one target entity must be specified. If a favorite for the same entity already exists, the existing favorite is returned (upsert behavior). """ favoriteCreate( """ The favorite object to create. """ input: FavoriteCreateInput! ): FavoritePayload! """ Deletes a favorite, removing it from the user's sidebar. This is an idempotent operation -- deleting a non-existent favorite succeeds silently. """ favoriteDelete( """ The identifier of the favorite reference to delete. """ id: String! ): DeletePayload! """ Updates a favorite's position, parent folder, or folder name. """ favoriteUpdate( """ The identifier of the favorite to update. """ id: String! """ A partial favorite object to update the favorite with. """ input: FavoriteUpdateInput! ): FavoritePayload! """ XHR request payload to upload an images, video and other attachments directly to Linear's cloud storage. """ fileUpload( """ MIME type of the uploaded file. """ contentType: String! """ Filename of the uploaded file. """ filename: String! """ Should the file be made publicly accessible (default: false). """ makePublic: Boolean """ Optional metadata. """ metaData: JSON """ File size of the uploaded file. """ size: Int! ): UploadPayload! """ [INTERNAL] Permanently delete an uploaded file by asset URL. This should be used as a last resort and will break comments and documents that reference the asset. """ fileUploadDangerouslyDelete( """ The asset URL of the uploaded file to delete. """ assetUrl: String! ): FileUploadDeletePayload! """ Creates a new Git automation rule that maps a Git event to a workflow state transition for a team. """ gitAutomationStateCreate( """ The automation state to create. """ input: GitAutomationStateCreateInput! ): GitAutomationStatePayload! """ Deletes a Git automation rule. """ gitAutomationStateDelete( """ The identifier of the automation state to archive. """ id: String! ): DeletePayload! """ Updates an existing Git automation rule, including its workflow state, target branch, and triggering event. """ gitAutomationStateUpdate( """ The identifier of the state to update. """ id: String! """ The state to update. """ input: GitAutomationStateUpdateInput! ): GitAutomationStatePayload! """ Creates a new Git target branch definition that scopes automation rules to pull requests targeting a specific branch pattern. """ gitAutomationTargetBranchCreate( """ The Git target branch automation to create. """ input: GitAutomationTargetBranchCreateInput! ): GitAutomationTargetBranchPayload! """ Deletes a Git target branch definition and its associated automation rules. """ gitAutomationTargetBranchDelete( """ The identifier of the Git target branch automation to archive. """ id: String! ): DeletePayload! """ Updates an existing Git target branch definition, including its branch pattern and regex flag. """ gitAutomationTargetBranchUpdate( """ The identifier of the Git target branch automation to update. """ id: String! """ The updates. """ input: GitAutomationTargetBranchUpdateInput! ): GitAutomationTargetBranchPayload! """ Authenticate user account through Google OAuth. This is the 2nd step of OAuth flow. """ googleUserAccountAuth( """ The data used for Google authentication. """ input: GoogleUserAccountAuthInput! ): AuthResolverResponse! """ Upload an image from an URL to Linear. """ imageUploadFromUrl( """ URL of the file to be uploaded to Linear. """ url: String! ): ImageUploadFromUrlPayload! """ XHR request payload to upload a file for import, directly to Linear's cloud storage. """ importFileUpload( """ MIME type of the uploaded file. """ contentType: String! """ Filename of the uploaded file. """ filename: String! """ Optional metadata. """ metaData: JSON """ File size of the uploaded file. """ size: Int! ): UploadPayload! """ [Internal]Adds a label to an initiative. """ initiativeAddLabel( """ The identifier of the initiative to add the label to. """ id: String! """ The identifier of the label to add. """ labelId: String! ): InitiativePayload! """ Archives an initiative. """ initiativeArchive( """ The identifier of the initiative to archive. """ id: String! ): InitiativeArchivePayload! """ Creates a new initiative. """ initiativeCreate( """ The properties of the initiative to create. """ input: InitiativeCreateInput! ): InitiativePayload! """ Deletes (trashes) an initiative. """ initiativeDelete( """ The identifier of the initiative to delete. """ id: String! ): DeletePayload! """ Creates a new parent-child relation between two initiatives. The relation cannot create cycles or exceed maximum nesting depth. """ initiativeRelationCreate( """ The initiative relation to create. """ input: InitiativeRelationCreateInput! ): InitiativeRelationPayload! """ Deletes an initiative relation. """ initiativeRelationDelete( """ The identifier of the initiative relation to delete. """ id: String! ): DeletePayload! """ Updates an initiative relation. """ initiativeRelationUpdate( """ The identifier of the initiative relation to update. """ id: String! """ The properties of the initiative relation to update. """ input: InitiativeRelationUpdateInput! ): InitiativeRelationPayload! """ [Internal]Removes a label from an initiative. """ initiativeRemoveLabel( """ The identifier of the initiative to remove the label from. """ id: String! """ The identifier of the label to remove. """ labelId: String! ): InitiativePayload! """ Associates a project with an initiative. A project can only appear once in an initiative hierarchy. """ initiativeToProjectCreate( """ The properties of the initiativeToProject to create. """ input: InitiativeToProjectCreateInput! ): InitiativeToProjectPayload! """ Removes a project from an initiative. """ initiativeToProjectDelete( """ The identifier of the initiativeToProject to delete. """ id: String! ): DeletePayload! """ Updates an initiative-to-project association, such as its sort order. """ initiativeToProjectUpdate( """ The identifier of the initiativeToProject to update. """ id: String! """ The properties of the initiativeToProject to update. """ input: InitiativeToProjectUpdateInput! ): InitiativeToProjectPayload! """ Unarchives an initiative. """ initiativeUnarchive( """ The identifier of the initiative to unarchive. """ id: String! ): InitiativeArchivePayload! """ Updates an initiative. """ initiativeUpdate( """ The identifier of the initiative to update. """ id: String! """ The properties of the initiative to update. """ input: InitiativeUpdateInput! ): InitiativePayload! """ Archives an initiative update. """ initiativeUpdateArchive( """ The identifier of the initiative update to archive. """ id: String! ): InitiativeUpdateArchivePayload! """ Creates an initiative update. """ initiativeUpdateCreate( """ The initiative update object to create. """ input: InitiativeUpdateCreateInput! ): InitiativeUpdatePayload! """ Unarchives an initiative update. """ initiativeUpdateUnarchive( """ The identifier of the initiative update to unarchive. """ id: String! ): InitiativeUpdateArchivePayload! """ Updates an initiative update. """ initiativeUpdateUpdate( """ The identifier of the initiative update to update. """ id: String! """ The properties of the initiative update to update. """ input: InitiativeUpdateUpdateInput! ): InitiativeUpdatePayload! """ Archives an integration. """ integrationArchive( """ The identifier of the integration to archive. """ id: String! ): DeletePayload! """ Connect a Slack channel to Asks. """ integrationAsksConnectChannel( """ The Slack OAuth code. """ code: String! """ The Slack OAuth redirect URI. """ redirectUri: String! ): AsksChannelConnectPayload! """ [INTERNAL] Refreshes the customer data attributes from the specified integration service. """ integrationCustomerDataAttributesRefresh( """ The integration service to refresh customer data attributes from. """ input: IntegrationCustomerDataAttributesRefreshInput! ): IntegrationPayload! """ Deletes an integration. """ integrationDelete( """ The identifier of the integration to delete. """ id: String! """ Whether to skip deleting the installation on the external service side. """ skipInstallationDeletion: Boolean ): DeletePayload! """ Integrates the workspace with Discord. """ integrationDiscord( """ The Discord OAuth code. """ code: String! """ The Discord OAuth redirect URI. """ redirectUri: String! ): IntegrationPayload! """ Integrates the workspace with Figma. """ integrationFigma( """ The Figma OAuth code. """ code: String! """ The Figma OAuth redirect URI. """ redirectUri: String! ): IntegrationPayload! """ Integrates the workspace with Front. """ integrationFront( """ The Front OAuth code. """ code: String! """ The Front OAuth redirect URI. """ redirectUri: String! ): IntegrationPayload! """ Connects the workspace with a GitHub Enterprise Server. """ integrationGitHubEnterpriseServerConnect( """ The base URL of the GitHub Enterprise Server installation. """ githubUrl: String! """ The name of GitHub organization. """ organizationName: String! ): GitHubEnterpriseServerPayload! """ Connect your GitHub account to Linear. """ integrationGitHubPersonal( """ The GitHub OAuth code. """ code: String! """ Whether to connect with code access. """ codeAccess: Boolean """ The enterprise URL for GitHub Enterprise Cloud connections. Omit for github.com. """ enterpriseUrl: String ): IntegrationPayload! """ Generates a webhook for the GitHub commit integration. """ integrationGithubCommitCreate: GitHubCommitIntegrationPayload! """ Connects the workspace with the GitHub App. """ integrationGithubConnect( """ The GitHub grant code that's exchanged for OAuth tokens. """ code: String! """ Whether the integration should have code access """ codeAccess: Boolean = false """ The GitHub Enterprise Cloud host (e.g., 'linear-development.ghe.com'). When provided, this creates a GEC integration. """ githubHost: String """ The GitHub data to connect with. """ installationId: String! ): IntegrationPayload! """ Connects the workspace with the GitHub Import App. """ integrationGithubImportConnect( """ The GitHub grant code that's exchanged for OAuth tokens. """ code: String! """ The GitHub data to connect with. """ installationId: String! ): IntegrationPayload! """ Refreshes the data for a GitHub import integration. """ integrationGithubImportRefresh( """ The id of the integration to update. """ id: String! ): IntegrationPayload! """ Removes code access from a GitHub integration, downgrading to the basic GitHub App. """ integrationGithubRemoveCodeAccess( """ The ID of the integration to remove code access from. """ integrationId: String! ): IntegrationGithubRemoveCodeAccessPayload! """ Connects the workspace with a GitLab Access Token. """ integrationGitlabConnect( """ The GitLab Access Token to connect with. """ accessToken: String! """ ISO timestamp when the access token expires. Used as a fallback when `validationProjectPath` is set and `personal_access_tokens/self` is unreachable. """ expiresAt: String """ The URL of the GitLab installation. """ gitlabUrl: String! """ Whether the access token is limited to a read-only scope. Used as a fallback when `validationProjectPath` is set and `personal_access_tokens/self` is unreachable. """ readonly: Boolean """ Optional path or numeric ID of a project to use for the setup health check. Set this when the GitLab tenant blocks non-project API endpoints. """ validationProjectPath: String ): GitLabIntegrationCreatePayload! """ Tests connectivity to a self-hosted GitLab instance and clears auth errors if successful. """ integrationGitlabTestConnection( """ The ID of the GitLab integration to test. """ integrationId: String! ): GitLabTestConnectionPayload! """ Integrates the workspace with Gong. """ integrationGong( """ The Gong OAuth code. """ code: String! """ The Gong OAuth redirect URI. """ redirectUri: String! ): IntegrationPayload! """ [Internal] Connects the Google Calendar to the user to this Linear account via OAuth2. """ integrationGoogleCalendarPersonalConnect( """ [Internal] The Google OAuth code. """ code: String! ): IntegrationPayload! """ Integrates the workspace with Google Sheets. """ integrationGoogleSheets( """ The Google OAuth code. """ code: String! ): IntegrationPayload! """ Integrates the workspace with Intercom. """ integrationIntercom( """ The Intercom OAuth code. """ code: String! """ The Intercom domain URL to use for the integration. Defaults to app.intercom.com if not provided. """ domainUrl: String """ The Intercom OAuth redirect URI. """ redirectUri: String! ): IntegrationPayload! """ Disconnects the workspace from Intercom. """ integrationIntercomDelete: IntegrationPayload! """ [DEPRECATED] Updates settings on the Intercom integration. """ integrationIntercomSettingsUpdate( """ A partial Intercom integration settings object to update the integration settings with. """ input: IntercomSettingsInput! ): IntegrationPayload! @deprecated(reason: "This mutation is deprecated, please use `integrationSettingsUpdate` instead") """ [INTERNAL] Fetches Jira project statuses and stores them in integration settings. """ integrationJiraFetchProjectStatuses( """ Input for fetching Jira project statuses. """ input: JiraFetchProjectStatusesInput! ): JiraFetchProjectStatusesPayload! """ Connect your Jira account to Linear. """ integrationJiraPersonal( """ The Jira personal access token, when connecting using a PAT. """ accessToken: String """ The Jira OAuth code, when connecting using OAuth. """ code: String ): IntegrationPayload! """ [INTERNAL] Updates a Jira Integration. """ integrationJiraUpdate( """ Jira integration update input. """ input: JiraUpdateInput! ): IntegrationPayload! """ [INTERNAL] Integrates the workspace with LaunchDarkly. """ integrationLaunchDarklyConnect( """ The LaunchDarkly OAuth code. """ code: String! """ The LaunchDarkly environment. """ environment: String! """ The LaunchDarkly project key. """ projectKey: String! ): IntegrationPayload! """ [INTERNAL] Integrates your personal account with LaunchDarkly. """ integrationLaunchDarklyPersonalConnect( """ The LaunchDarkly OAuth code. """ code: String! ): IntegrationPayload! """ Enables Loom integration for the workspace. """ integrationLoom: IntegrationPayload! @deprecated(reason: "Not available.") """ [INTERNAL] Connects the workspace with an MCP server. """ integrationMcpServerConnect( """ Optional additional HTTP headers to include with requests to this MCP server. """ customHeaders: [McpServerCustomHeaderInput!] """ The URL of the MCP server to connect with. """ serverUrl: String! """ The ID of the team to connect the MCP server to. """ teamId: String """ The ID of the workflow definition to connect the MCP server to. """ workflowDefinitionId: String ): IntegrationPayload! """ [INTERNAL] Connects the user's personal account with an MCP server. """ integrationMcpServerPersonalConnect( """ Optional additional HTTP headers to include with requests to this MCP server. """ customHeaders: [McpServerCustomHeaderInput!] """ The URL of the MCP server to connect with. """ serverUrl: String! ): IntegrationPayload! """ Connects the user's personal Microsoft account to Linear. """ integrationMicrosoftPersonalConnect( """ The Microsoft OAuth code. """ code: String! """ The Microsoft OAuth redirect URI. """ redirectUri: String! ): IntegrationPayload! """ Integrates the workspace with Microsoft Teams. """ integrationMicrosoftTeams( """ The Microsoft OAuth code. """ code: String! """ The Microsoft OAuth redirect URI. """ redirectUri: String! ): IntegrationPayload! """ [Internal] Connect a project to a Microsoft Teams channel. Find-or-update semantics: creates a microsoftTeamsProjectPost integration row if none exists for the project, or overwrites the existing one's team/channel selection. Requires the connecting user to have linked their personal Microsoft account. """ integrationMicrosoftTeamsProjectPost( """ Microsoft Teams channel id. """ channelId: String! """ Display name of the chosen channel. """ channelName: String! """ Membership type of the channel: standard, private, or shared. """ membershipType: String! """ Integration's associated project. """ projectId: String! """ AAD group id of the chosen team. """ teamId: String! """ Display name of the chosen team. """ teamName: String! ): IntegrationPayload! """ [INTERNAL] Integrates the workspace with Opsgenie. """ integrationOpsgenieConnect( """ The Opsgenie API key. """ apiKey: String! ): IntegrationPayload! """ [INTERNAL] Refresh Opsgenie schedule mappings. """ integrationOpsgenieRefreshScheduleMappings: IntegrationPayload! """ [INTERNAL] Integrates the workspace with PagerDuty. """ integrationPagerDutyConnect( """ The PagerDuty OAuth code. """ code: String! """ The PagerDuty OAuth redirect URI. """ redirectUri: String! ): IntegrationPayload! """ [INTERNAL] Refresh PagerDuty schedule mappings. """ integrationPagerDutyRefreshScheduleMappings: IntegrationPayload! """ Requests a currently unavailable integration. """ integrationRequest( """ Integration request details. """ input: IntegrationRequestInput! ): IntegrationRequestPayload! """ Integrates the workspace with Salesforce. """ integrationSalesforce( """ The Salesforce OAuth code. """ code: String! """ The PKCE code verifier matching the code_challenge sent on authorization. """ codeVerifier: String! """ The Salesforce OAuth redirect URI. """ redirectUri: String! """ The Salesforce installation subdomain. """ subdomain: String! ): IntegrationPayload! """ [INTERNAL] Refreshes the Salesforce integration metadata. """ integrationSalesforceMetadataRefresh( """ The ID of the integration to refresh metadata for. """ id: String! ): IntegrationPayload! """ Integrates the workspace with Sentry. """ integrationSentryConnect( """ The Sentry grant code that's exchanged for OAuth tokens. """ code: String! """ The Sentry installationId to connect with. """ installationId: String! """ The slug of the Sentry organization being connected. """ organizationSlug: String! ): IntegrationPayload! """ [INTERNAL] Updates the integration settings. """ integrationSettingsUpdate( """ The identifier of the integration to update. """ id: String! """ An integration settings object. """ input: IntegrationSettingsInput! ): IntegrationPayload! @deprecated(reason: "Use integrationUpdate instead.") """ Integrates the workspace with Slack. """ integrationSlack( """ The Slack OAuth code. """ code: String! """ The Slack OAuth redirect URI. """ redirectUri: String! """ [DEPRECATED] Whether or not v2 of Slack OAuth should be used. No longer used. """ shouldUseV2Auth: Boolean ): IntegrationPayload! """ Integrates the workspace with the Slack Asks app. """ integrationSlackAsks( """ The Slack OAuth code. """ code: String! """ The Slack OAuth redirect URI. """ redirectUri: String! ): IntegrationPayload! """ Slack integration for custom view notifications. """ integrationSlackCustomViewNotifications( """ The Slack OAuth code. """ code: String! """ Integration's associated custom view. """ customViewId: String! """ The Slack OAuth redirect URI. """ redirectUri: String! ): SlackChannelConnectPayload! """ Integrates a Slack Asks channel with a Customer. """ integrationSlackCustomerChannelLink( """ The Slack OAuth code. """ code: String! """ The customer to link the Slack channel with """ customerId: String! """ The Slack OAuth redirect URI. """ redirectUri: String! ): SuccessPayload! """ Imports custom emojis from your Slack workspace. """ integrationSlackImportEmojis( """ The Slack OAuth code. """ code: String! """ The Slack OAuth redirect URI. """ redirectUri: String! ): IntegrationPayload! """ [Internal] Slack integration for initiative notifications. """ integrationSlackInitiativePost( """ The Slack OAuth code. """ code: String! """ Integration's associated initiative. """ initiativeId: String! """ The Slack OAuth redirect URI. """ redirectUri: String! ): SlackChannelConnectPayload! """ Updates the Slack team's name in Linear for an existing Slack or Asks integration. """ integrationSlackOrAsksUpdateSlackTeamName( """ The integration ID. """ integrationId: String! ): IntegrationSlackWorkspaceNamePayload! """ [Internal] Slack integration for workspace-level initiative update notifications. """ integrationSlackOrgInitiativeUpdatesPost( """ The Slack OAuth code. """ code: String! """ The Slack OAuth redirect URI. """ redirectUri: String! ): SlackChannelConnectPayload! """ Slack integration for workspace-level project update notifications. """ integrationSlackOrgProjectUpdatesPost( """ The Slack OAuth code. """ code: String! """ The Slack OAuth redirect URI. """ redirectUri: String! ): SlackChannelConnectPayload! """ Integrates your personal notifications with Slack. """ integrationSlackPersonal( """ The Slack OAuth code. """ code: String! """ The Slack OAuth redirect URI. """ redirectUri: String! ): IntegrationPayload! """ Slack integration for team notifications. """ integrationSlackPost( """ The Slack OAuth code. """ code: String! """ The Slack OAuth redirect URI. """ redirectUri: String! """ [DEPRECATED] Whether or not v2 of Slack OAuth should be used. No longer used. """ shouldUseV2Auth: Boolean """ Integration's associated team. """ teamId: String! ): SlackChannelConnectPayload! """ Slack integration for project notifications. """ integrationSlackProjectPost( """ The Slack OAuth code. """ code: String! """ Integration's associated project. """ projectId: String! """ The Slack OAuth redirect URI. """ redirectUri: String! """ The service to enable once connected, either 'notifications' or 'updates'. """ service: String! ): SlackChannelConnectPayload! """ [Internal] Enables Linear Agent Slack workflow access for a Slack or Slack Asks integration. """ integrationSlackWorkflowAccessUpdate( """ Whether to enable workflow access. """ enabled: Boolean! """ The ID of the integration to toggle workflow access for. """ integrationId: String! ): IntegrationPayload! """ Creates a new connection between a template and an integration, optionally scoped to a specific external resource such as a Slack channel. """ integrationTemplateCreate( """ The properties of the integrationTemplate to create. """ input: IntegrationTemplateCreateInput! ): IntegrationTemplatePayload! """ Deletes an integration template connection, removing the link between a template and an integration. """ integrationTemplateDelete( """ The identifier of the integrationTemplate to delete. """ id: String! ): DeletePayload! """ [INTERNAL] Updates the integration. """ integrationUpdate( """ The identifier of the integration to update. """ id: String! """ A partial integration object to update the integration with. """ input: IntegrationUpdateInput! ): IntegrationPayload! """ Integrates the workspace with Zendesk. """ integrationZendesk( """ The Zendesk OAuth code. """ code: String! """ The Zendesk OAuth redirect URI. """ redirectUri: String! """ The Zendesk OAuth scopes. """ scope: String! """ The Zendesk installation subdomain. """ subdomain: String! ): IntegrationPayload! """ Creates new Slack notification settings for a team, project, initiative, or custom view. """ integrationsSettingsCreate( """ The settings to create. """ input: IntegrationsSettingsCreateInput! ): IntegrationsSettingsPayload! """ Updates Slack notification settings for a team, project, initiative, or custom view. """ integrationsSettingsUpdate( """ The identifier of the settings to update. """ id: String! """ A settings object to update the settings with. """ input: IntegrationsSettingsUpdateInput! ): IntegrationsSettingsPayload! """ Adds a label to an issue. """ issueAddLabel( """ The identifier of the issue to add the label to. """ id: String! """ The identifier of the label to add. """ labelId: String! ): IssuePayload! """ Archives an issue. """ issueArchive( """ The identifier of the issue to archive. """ id: String! """ Whether to trash the issue. """ trash: Boolean ): IssueArchivePayload! """ Creates a list of issues in one transaction. """ issueBatchCreate( """ A list of issue objects to create. """ input: IssueBatchCreateInput! ): IssueBatchPayload! """ Updates multiple issues at once. """ issueBatchUpdate( """ The id's of the issues to update. Can't be more than 50 at a time. """ ids: [UUID!]! """ A partial issue object to update the issues with. """ input: IssueUpdateInput! ): IssueBatchPayload! """ Creates a new issue. """ issueCreate( """ The issue object to create. """ input: IssueCreateInput! ): IssuePayload! """ Deletes (trashes) an issue. """ issueDelete( """ The identifier of the issue to delete. """ id: String! """ Whether to permanently delete the issue and skip the grace period of 30 days. Available only to admins! """ permanentlyDelete: Boolean ): IssueArchivePayload! """ [INTERNAL] Updates an issue description from the Front app to handle Front attachments correctly. """ issueDescriptionUpdateFromFront( """ Description to update the issue with. """ description: String! """ The identifier of the issue to update. """ id: String! ): IssuePayload! """ Disables external sync on an issue. """ issueExternalSyncDisable( """ The ID of the sync attachment to disable. """ attachmentId: String! ): IssuePayload! """ Kicks off an Asana import job. """ issueImportCreateAsana( """ Asana team name to choose which issues we should import. """ asanaTeamName: String! """ Asana token to fetch information from the Asana API. """ asanaToken: String! """ ID of issue import. If not provided it will be generated. """ id: String """ Whether or not we should collect the data for closed issues. """ includeClosedIssues: Boolean """ Whether to instantly process the import with the default configuration mapping. """ instantProcess: Boolean """ ID of the team into which to import data. """ teamId: String """ Name of new team. When teamId is not set. """ teamName: String ): IssueImportPayload! """ Kicks off a Jira import job from a CSV. """ issueImportCreateCSVJira( """ URL for the CSV. """ csvUrl: String! """ Jira user account email. """ jiraEmail: String """ Jira installation or cloud hostname. """ jiraHostname: String """ Jira personal access token to access Jira REST API. """ jiraToken: String """ ID of the team into which to import data. Empty to create new team. """ teamId: String """ Name of new team. When teamId is not set. """ teamName: String ): IssueImportPayload! """ Kicks off a Shortcut (formerly Clubhouse) import job. """ issueImportCreateClubhouse( """ Shortcut (formerly Clubhouse) group name to choose which issues we should import. """ clubhouseGroupName: String! """ Shortcut (formerly Clubhouse) token to fetch information from the Clubhouse API. """ clubhouseToken: String! """ ID of issue import. If not provided it will be generated. """ id: String """ Whether or not we should collect the data for closed issues. """ includeClosedIssues: Boolean """ Whether to instantly process the import with the default configuration mapping. """ instantProcess: Boolean """ ID of the team into which to import data. """ teamId: String """ Name of new team. When teamId is not set. """ teamName: String ): IssueImportPayload! """ Kicks off a GitHub import job. """ issueImportCreateGithub( """ Labels to use to filter the import data. Only issues matching any of these filters will be imported. """ githubLabels: [String!] """ IDs of the Github repositories from which we will import data. """ githubRepoIds: [Int!] """ Whether or not we should collect the data for closed issues. """ includeClosedIssues: Boolean """ Whether to instantly process the import with the default configuration mapping. """ instantProcess: Boolean """ ID of the team into which to import data. """ teamId: String """ Name of new team. When teamId is not set. """ teamName: String ): IssueImportPayload! """ Kicks off a Jira import job. """ issueImportCreateJira( """ ID of issue import. If not provided it will be generated. """ id: String """ Whether or not we should collect the data for closed issues. """ includeClosedIssues: Boolean """ Whether to instantly process the import with the default configuration mapping. """ instantProcess: Boolean """ Jira user account email. """ jiraEmail: String! """ Jira installation or cloud hostname. """ jiraHostname: String! """ Jira project key from which we will import data. """ jiraProject: String! """ Jira personal access token to access Jira REST API. """ jiraToken: String! """ A custom JQL query to filter issues being imported """ jql: String """ ID of the team into which to import data. Empty to create new team. """ teamId: String """ Name of new team. When teamId is not set. """ teamName: String ): IssueImportPayload! """ [INTERNAL] Kicks off a Linear to Linear import job. """ issueImportCreateLinearV2( """ ID of issue import. If not provided it will be generated. """ id: String """ The source workspace to import from. """ linearSourceOrganizationId: String! ): IssueImportPayload! """ Deletes an import job. """ issueImportDelete( """ ID of the issue import to delete. """ issueImportId: String! ): IssueImportDeletePayload! """ Kicks off import processing. """ issueImportProcess( """ ID of the issue import which we're going to process. """ issueImportId: String! """ The mapping configuration to use for processing the import. """ mapping: JSONObject! ): IssueImportPayload! """ Updates the mapping for the issue import. """ issueImportUpdate( """ The identifier of the issue import. """ id: String! """ The properties of the issue import to update. """ input: IssueImportUpdateInput! ): IssueImportPayload! """ Creates a new label. """ issueLabelCreate( """ The issue label to create. """ input: IssueLabelCreateInput! """ Whether to replace all team-specific labels with the same name with this newly created workspace label (default: false). """ replaceTeamLabels: Boolean ): IssueLabelPayload! """ Deletes an issue label. """ issueLabelDelete( """ The identifier of the label to delete. """ id: String! ): DeletePayload! """ Restores a previously retired label, making it available for use again. """ issueLabelRestore( """ The identifier of the label to restore. """ id: String! ): IssueLabelPayload! """ Retires a label. Retired labels are still visible but cannot be applied to new issues. Existing issues with the label are not affected. """ issueLabelRetire( """ The identifier of the label to retire. """ id: String! ): IssueLabelPayload! """ Updates a label. """ issueLabelUpdate( """ The identifier of the label to update. """ id: String! """ A partial label object to update. """ input: IssueLabelUpdateInput! """ Whether to replace all team-specific labels with the same name with this updated workspace label (default: false). """ replaceTeamLabels: Boolean ): IssueLabelPayload! """ Creates a new issue relation. """ issueRelationCreate( """ The issue relation to create. """ input: IssueRelationCreateInput! """ Used by client undo operations. Should not be set directly. """ overrideCreatedAt: DateTime ): IssueRelationPayload! """ Deletes an issue relation. """ issueRelationDelete( """ The identifier of the issue relation to delete. """ id: String! ): DeletePayload! """ Updates an issue relation. """ issueRelationUpdate( """ The identifier of the issue relation to update. """ id: String! """ The properties of the issue relation to update. """ input: IssueRelationUpdateInput! ): IssueRelationPayload! """ Adds an issue reminder. Will cause a notification to be sent when the issue reminder time is reached. """ issueReminder( """ The identifier of the issue to add a reminder for. """ id: String! """ The time when a reminder notification will be sent. """ reminderAt: DateTime! ): IssuePayload! """ Removes a label from an issue. """ issueRemoveLabel( """ The identifier of the issue to remove the label from. """ id: String! """ The identifier of the label to remove. """ labelId: String! ): IssuePayload! """ Subscribes a user to an issue. """ issueSubscribe( """ The identifier of the issue to subscribe to. """ id: String! """ The email of the user to subscribe, default is the current user. """ userEmail: String """ The identifier of the user to subscribe, default is the current user. """ userId: String ): IssuePayload! """ Creates a new association between an issue and a release, linking the issue to the release for tracking purposes. """ issueToReleaseCreate( """ The properties of the issueToRelease to create. """ input: IssueToReleaseCreateInput! ): IssueToReleasePayload! """ Deletes an issue-to-release association by its identifier, removing the issue from the release. """ issueToReleaseDelete( """ The identifier of the issue-to-release association to delete. """ id: String! ): DeletePayload! """ Deletes an issue-to-release association by looking up the issue and release identifiers, removing the issue from the release. """ issueToReleaseDeleteByIssueAndRelease( """ The identifier of the issue. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String! """ The identifier of the release. """ releaseId: String! ): DeletePayload! """ Unarchives an issue. """ issueUnarchive( """ The identifier of the issue to unarchive. """ id: String! ): IssueArchivePayload! """ Unsubscribes a user from an issue. """ issueUnsubscribe( """ The identifier of the issue to unsubscribe from. """ id: String! """ The email of the user to unsubscribe, default is the current user. """ userEmail: String """ The identifier of the user to unsubscribe, default is the current user. """ userId: String ): IssuePayload! """ Updates an issue. """ issueUpdate( """ The identifier of the issue to update. """ id: String! """ A partial issue object to update the issue with. """ input: IssueUpdateInput! ): IssuePayload! """ [INTERNAL] Connects the workspace with a Jira Personal Access Token. """ jiraIntegrationConnect( """ Jira integration settings. """ input: JiraConfigurationInput! ): IntegrationPayload! """ Join a workspace from onboarding. """ joinOrganizationFromOnboarding( """ Details of the workspace to join. """ input: JoinOrganizationInput! ): CreateOrJoinOrganizationResponse! """ Leave a workspace. """ leaveOrganization( """ ID of the workspace to leave. """ organizationId: String! ): CreateOrJoinOrganizationResponse! """ Logout the client. """ logout( """ The reason for logging out. """ reason: String ): LogoutResponse! """ Logout all of user's sessions including the active one. """ logoutAllSessions( """ The reason for logging out. """ reason: String ): LogoutResponse! """ Logout all of user's sessions excluding the current one. """ logoutOtherSessions( """ The reason for logging out. """ reason: String ): LogoutResponse! """ Logout an individual session with its ID. """ logoutSession( """ ID of the session to logout. """ sessionId: String! ): LogoutResponse! """ Archives a notification. """ notificationArchive( """ The id of the notification to archive. """ id: String! ): NotificationArchivePayload! """ Archives a notification and all related notifications. """ notificationArchiveAll( """ The type and id of the entity to archive notifications for. """ input: NotificationEntityInput! ): NotificationBatchActionPayload! """ Subscribes to or unsubscribes from a specific notification category for a given notification channel. For example, subscribe to 'issueAssignment' notifications via the 'email' channel. """ notificationCategoryChannelSubscriptionUpdate( """ The notification category to subscribe to or unsubscribe from """ category: NotificationCategory! """ The notification channel in which to subscribe to or unsubscribe from the category """ channel: NotificationChannel! """ True if the user wants to subscribe, false if the user wants to unsubscribe """ subscribe: Boolean! ): UserSettingsPayload! """ Marks notification and all related notifications as read. """ notificationMarkReadAll( """ The type and id of the entity to archive notifications for. """ input: NotificationEntityInput! """ The time when notification was marked as read. """ readAt: DateTime! ): NotificationBatchActionPayload! """ Marks notification and all related notifications as unread. """ notificationMarkUnreadAll( """ The type and id of the entity to archive notifications for. """ input: NotificationEntityInput! ): NotificationBatchActionPayload! """ Snoozes a notification and all related notifications. """ notificationSnoozeAll( """ The type and id of the entity to archive notifications for. """ input: NotificationEntityInput! """ The time until a notification will be snoozed. After that it will appear in the inbox again. """ snoozedUntilAt: DateTime! ): NotificationBatchActionPayload! """ Creates a new notification subscription for a specific entity. The subscription determines which notification types the authenticated user will receive for the target entity. Exactly one target entity (customer, custom view, cycle, initiative, label, project, team, or user) must be specified. """ notificationSubscriptionCreate( """ The subscription object to create. """ input: NotificationSubscriptionCreateInput! ): NotificationSubscriptionPayload! """ Deletes a notification subscription reference. """ notificationSubscriptionDelete( """ The identifier of the notification subscription reference to delete. """ id: String! ): DeletePayload! @deprecated(reason: "Update `notificationSubscription.active` to `false` instead.") """ Updates a notification subscription. """ notificationSubscriptionUpdate( """ The identifier of the notification subscription to update. """ id: String! """ A partial notification subscription object to update the notification subscription with. """ input: NotificationSubscriptionUpdateInput! ): NotificationSubscriptionPayload! """ Unarchives a notification. """ notificationUnarchive( """ The id of the notification to unarchive. """ id: String! ): NotificationArchivePayload! """ Unsnoozes a notification and all related notifications. """ notificationUnsnoozeAll( """ The type and id of the entity to archive notifications for. """ input: NotificationEntityInput! """ The time when the notification was unsnoozed. """ unsnoozedAt: DateTime! ): NotificationBatchActionPayload! """ Updates a notification. """ notificationUpdate( """ The identifier of the notification to update. """ id: String! """ A partial notification object to update the notification with. """ input: NotificationUpdateInput! ): NotificationPayload! """ Cancels a previously requested workspace deletion, if the workspace has not yet been fully deleted. """ organizationCancelDelete: OrganizationCancelDeletePayload! """ Permanently deletes the workspace and all its data. Requires a valid deletion code obtained from organizationDeleteChallenge. This action is irreversible. """ organizationDelete( """ Information required to delete the workspace. """ input: DeleteOrganizationInput! ): OrganizationDeletePayload! """ Requests a deletion confirmation code for the workspace. The code is sent to the requesting user's email and must be used with the organizationDelete mutation to confirm deletion. """ organizationDeleteChallenge: OrganizationDeletePayload! """ [INTERNAL] Verifies a domain claim. """ organizationDomainClaim( """ The ID of the organization domain to claim. """ id: String! ): OrganizationDomainSimplePayload! """ [INTERNAL] Adds a domain to be allowed for a workspace. """ organizationDomainCreate( """ The organization domain entry to create. """ input: OrganizationDomainCreateInput! """ Whether to trigger an email verification flow during domain creation. """ triggerEmailVerification: Boolean ): OrganizationDomainPayload! """ Deletes a domain. """ organizationDomainDelete( """ The identifier of the domain to delete. """ id: String! ): DeletePayload! """ [INTERNAL] Updates a workspace domain's settings. """ organizationDomainUpdate( """ The identifier of the domain to update. """ id: String! """ The organization domain entry to update. """ input: OrganizationDomainUpdateInput! ): OrganizationDomainPayload! """ [INTERNAL] Verifies a domain to be added to a workspace. """ organizationDomainVerify( """ The organization domain to verify. """ input: OrganizationDomainVerificationInput! ): OrganizationDomainPayload! """ Creates a new workspace invite and sends an invitation email to the specified address. The invite includes a role assignment and optional team memberships. """ organizationInviteCreate( """ The organization invite object to create. """ input: OrganizationInviteCreateInput! ): OrganizationInvitePayload! """ Deletes (archives) a workspace invite, preventing it from being accepted. """ organizationInviteDelete( """ The identifier of the organization invite to delete. """ id: String! ): DeletePayload! """ Updates an existing workspace invite, such as changing the teams the invitee will be added to. """ organizationInviteUpdate( """ The identifier of the organization invite to update. """ id: String! """ The updates to make to the organization invite object. """ input: OrganizationInviteUpdateInput! ): OrganizationInvitePayload! """ [DEPRECATED] Starts a trial for the workspace. """ organizationStartTrial: OrganizationStartTrialPayload! @deprecated(reason: "Use organizationStartTrialForPlan") """ Starts a trial for the workspace on the specified plan type. The workspace must not already be on a paid plan or in an active trial. """ organizationStartTrialForPlan( """ Plan details for trial """ input: OrganizationStartTrialInput! ): OrganizationStartTrialPayload! """ Updates the user's workspace settings. Different settings require different permission levels; most require the workspaceSettings admin permission. """ organizationUpdate( """ A partial workspace object to update the workspace with. """ input: OrganizationUpdateInput! ): OrganizationPayload! """ [INTERNAL] Finish passkey login process. """ passkeyLoginFinish( """ Random ID to start passkey login with. """ authId: String! """ The WebAuthn authenticator response from the passkey challenge. """ response: JSONObject! ): AuthResolverResponse! """ [INTERNAL] Starts passkey login process. """ passkeyLoginStart( """ Random ID to start passkey login with. """ authId: String! ): PasskeyLoginStartResponse! """ Adds a label to a project. """ projectAddLabel( """ The identifier of the project to add the label to. """ id: String! """ The identifier of the label to add. """ labelId: String! ): ProjectPayload! """ Archives a project. """ projectArchive( """ The identifier of the project to archive. Also the identifier from the URL is accepted. """ id: String! """ Whether to trash the project. """ trash: Boolean ): ProjectArchivePayload! @deprecated(reason: "Deprecated in favor of projectDelete.") """ Creates a new project. """ projectCreate( """ The project properties to set on the new project. """ input: ProjectCreateInput! """ The full name for the Slack channel to create (including prefix). When provided, a Slack channel will be created and connected to the project. """ slackChannelName: String ): ProjectPayload! """ [Internal] Creates a Slack channel for an existing project. """ projectCreateSlackChannel( """ The identifier of the project. """ id: String! """ The identifier of the Slack integration to use. When not provided, uses the organization's configured integration. """ integrationId: String """ The full name for the Slack channel to create (including prefix). When provided, a Slack channel will be created and connected to the project. """ slackChannelName: String! ): ProjectPayload! """ Deletes (trashes) a project. The project can be restored later with projectUnarchive. """ projectDelete( """ The identifier of the project to delete. """ id: String! ): ProjectArchivePayload! """ Disables external sync on a project. """ projectExternalSyncDisable( """ The ID of the project to disable external sync for. """ projectId: String! """ The source of the external sync to disable. """ syncSource: ExternalSyncService! ): ProjectPayload! """ Creates a new project label. """ projectLabelCreate( """ The project label to create. """ input: ProjectLabelCreateInput! ): ProjectLabelPayload! """ Deletes a project label. """ projectLabelDelete( """ The identifier of the label to delete. """ id: String! ): DeletePayload! """ Restores a previously retired project label, making it available for use on new projects. """ projectLabelRestore( """ The identifier of the label to restore. """ id: String! ): ProjectLabelPayload! """ Retires a project label. Retired labels remain on existing projects but cannot be applied to new ones. """ projectLabelRetire( """ The identifier of the label to retire. """ id: String! ): ProjectLabelPayload! """ Updates a project label. """ projectLabelUpdate( """ The identifier of the label to update. """ id: String! """ A partial label object to update. """ input: ProjectLabelUpdateInput! ): ProjectLabelPayload! """ Creates a new project milestone. """ projectMilestoneCreate( """ The project milestone to create. """ input: ProjectMilestoneCreateInput! ): ProjectMilestonePayload! """ Deletes a project milestone. """ projectMilestoneDelete( """ The identifier of the project milestone to delete. """ id: String! ): DeletePayload! """ [Internal] Moves a project milestone to another project, can be called to undo a prior move. """ projectMilestoneMove( """ The identifier of the project milestone to move. """ id: String! """ The project to move the milestone to, as well as any additional options need to make a successful move, or undo a previous move. """ input: ProjectMilestoneMoveInput! ): ProjectMilestoneMovePayload! """ Updates a project milestone. """ projectMilestoneUpdate( """ The identifier of the project milestone to update. Also the identifier from the URL is accepted. """ id: String! """ A partial object to update the project milestone with. """ input: ProjectMilestoneUpdateInput! ): ProjectMilestonePayload! """ [INTERNAL] Reassigns all projects from one project status to another. Used when archiving or deleting a project status. """ projectReassignStatus( """ The identifier of the new project status to update the projects to. """ newProjectStatusId: String! """ The identifier of the project status with which projects will be updated. """ originalProjectStatusId: String! ): SuccessPayload! """ Creates a new project relation. """ projectRelationCreate( """ The project relation to create. """ input: ProjectRelationCreateInput! ): ProjectRelationPayload! """ Deletes a project relation. """ projectRelationDelete( """ The identifier of the project relation to delete. """ id: String! ): DeletePayload! """ Updates a project relation. """ projectRelationUpdate( """ The identifier of the project relation to update. """ id: String! """ The properties of the project relation to update. """ input: ProjectRelationUpdateInput! ): ProjectRelationPayload! """ Removes a label from a project. """ projectRemoveLabel( """ The identifier of the project to remove the label from. """ id: String! """ The identifier of the label to remove. """ labelId: String! ): ProjectPayload! """ Archives a project status. The status must not have any active projects assigned to it and must not be the last status of its type. """ projectStatusArchive( """ The identifier of the project status to archive. """ id: String! ): ProjectStatusArchivePayload! """ Creates a new project status. """ projectStatusCreate( """ The ProjectStatus object to create. """ input: ProjectStatusCreateInput! ): ProjectStatusPayload! """ Unarchives a project status. """ projectStatusUnarchive( """ The identifier of the project status to unarchive. """ id: String! ): ProjectStatusArchivePayload! """ Updates a project status. """ projectStatusUpdate( """ The identifier of the project status to update. """ id: String! """ A partial ProjectStatus object to update the ProjectStatus with. """ input: ProjectStatusUpdateInput! ): ProjectStatusPayload! """ Restores a previously trashed or archived project. """ projectUnarchive( """ The identifier of the project to restore. Also the identifier from the URL is accepted. """ id: String! ): ProjectArchivePayload! """ Updates a project. """ projectUpdate( """ The identifier of the project to update. Also the identifier from the URL is accepted. """ id: String! """ A partial project object to update the project with. """ input: ProjectUpdateInput! ): ProjectPayload! """ Archives a project update. """ projectUpdateArchive( """ The identifier of the project update to archive. """ id: String! ): ProjectUpdateArchivePayload! """ Creates a new project update. """ projectUpdateCreate( """ Data for the project update to create. """ input: ProjectUpdateCreateInput! ): ProjectUpdatePayload! """ Deletes a project update. """ projectUpdateDelete( """ The identifier of the project update to delete. """ id: String! ): DeletePayload! @deprecated(reason: "Use `projectUpdateArchive` instead.") """ Unarchives a project update. """ projectUpdateUnarchive( """ The identifier of the project update to unarchive. """ id: String! ): ProjectUpdateArchivePayload! """ Updates a project update. """ projectUpdateUpdate( """ The identifier of the project update to update. """ id: String! """ The properties of the project update to update. """ input: ProjectUpdateUpdateInput! ): ProjectUpdatePayload! """ Creates a push subscription for the authenticated user's current device or browser. If a subscription already exists for the same session, the old one is replaced. """ pushSubscriptionCreate( """ The push subscription to create. """ input: PushSubscriptionCreateInput! ): PushSubscriptionPayload! """ Deletes a push subscription, unregistering the device from receiving push notifications. """ pushSubscriptionDelete( """ The identifier of the push subscription to delete. """ id: String! ): PushSubscriptionPayload! """ Creates a new reaction. """ reactionCreate( """ The reaction object to create. """ input: ReactionCreateInput! ): ReactionPayload! """ Deletes a reaction. """ reactionDelete( """ The identifier of the reaction to delete. """ id: String! ): DeletePayload! """ Manually update Google Sheets data. """ refreshGoogleSheetsData( """ The identifier of the Google Sheets integration to update. """ id: String! """ The type of export. """ type: String ): IntegrationPayload! """ Archives a release. """ releaseArchive( """ The identifier of the release to archive. """ id: String! ): ReleaseArchivePayload! """ Marks a release as completed. If version is provided, completes that specific release; otherwise completes the most recent started release. """ releaseComplete( """ The input containing the pipeline ID and optional version. """ input: ReleaseCompleteInput! ): ReleasePayload! """ Marks a release as completed using an access key. If version is provided, completes that specific release; otherwise completes the most recent started release. The pipeline is inferred from the access key. """ releaseCompleteByAccessKey( """ The input containing the optional version. """ input: ReleaseCompleteInputBase! ): ReleasePayload! """ Creates a new release in a pipeline. If no stage is specified, defaults to the first completed stage for continuous pipelines or the first started stage for scheduled pipelines. """ releaseCreate( """ The release to create. """ input: ReleaseCreateInput! ): ReleasePayload! """ Moves a release to the trash bin. Trashed releases are archived and will be permanently deleted after a retention period. If the release is already archived, it is marked as trashed with a fresh archive timestamp. """ releaseDelete( """ The identifier of the release to delete. """ id: String! ): ReleaseArchivePayload! """ Creates a release note. """ releaseNoteCreate( """ The release note fields. """ input: ReleaseNoteCreateInput! ): ReleaseNotePayload! """ Deletes a release note. """ releaseNoteDelete( """ The identifier of the release note to delete. """ id: String! ): DeletePayload! """ Updates a release note. """ releaseNoteUpdate( """ The identifier of the release note to update. """ id: String! """ The fields to update. """ input: ReleaseNoteUpdateInput! ): ReleaseNotePayload! """ Archives a release pipeline. """ releasePipelineArchive( """ The identifier of the release pipeline to archive. """ id: String! ): ReleasePipelineArchivePayload! """ Creates a new release pipeline with default stages. Subject to plan entitlement and quota limits. """ releasePipelineCreate( """ The ReleasePipeline object to create. """ input: ReleasePipelineCreateInput! ): ReleasePipelinePayload! """ Permanently deletes a release pipeline and all associated stages and releases. """ releasePipelineDelete( """ The identifier of the release pipeline to delete. """ id: String! ): DeletePayload! """ Unarchives a release pipeline. """ releasePipelineUnarchive( """ The identifier of the release pipeline to unarchive. """ id: String! ): ReleasePipelineArchivePayload! """ Updates an existing release pipeline. Supports updating name, slug, type, production flag, path patterns, and team associations. Private teams that the current user cannot access are preserved in the team list. """ releasePipelineUpdate( """ The identifier of the release pipeline to update. """ id: String! """ A partial ReleasePipeline object to update the ReleasePipeline with. """ input: ReleasePipelineUpdateInput! ): ReleasePipelinePayload! """ Archives a release stage. Only started-type stages can be archived, and only if they have no active releases and at least one other stage of the same type remains. Cannot archive the last non-frozen started stage. """ releaseStageArchive( """ The identifier of the release stage to archive. """ id: String! ): ReleaseStageArchivePayload! """ Creates a new release stage in a pipeline. Non-started stages must use default names and colors, and only one stage of each non-started type is allowed per pipeline. Started stages can optionally be frozen, but at least one non-frozen started stage must remain. """ releaseStageCreate( """ The ReleaseStage object to create. """ input: ReleaseStageCreateInput! ): ReleaseStagePayload! """ Unarchives a release stage. """ releaseStageUnarchive( """ The identifier of the release stage to unarchive. """ id: String! ): ReleaseStageArchivePayload! """ Updates an existing release stage. Only started-type stages can be edited. Supports updating name, color, position, and frozen status. """ releaseStageUpdate( """ The identifier of the release stage to update. """ id: String! """ A partial ReleaseStage object to update the ReleaseStage with. """ input: ReleaseStageUpdateInput! ): ReleaseStagePayload! """ Syncs release data by resolving issue and pull request references and associating them with a release. For continuous pipelines, creates a new completed release. For scheduled pipelines, finds or creates a started release and accumulates issues into it. """ releaseSync( """ The release data to sync. """ input: ReleaseSyncInput! ): ReleasePayload! """ Syncs release data using an access key for CI/CD integration. The pipeline is automatically inferred from the access key's configured resources, so no pipeline ID is needed in the input. """ releaseSyncByAccessKey( """ The release data to sync. """ input: ReleaseSyncInputBase! ): ReleasePayload! """ Unarchives a release. """ releaseUnarchive( """ The identifier of the release to unarchive. """ id: String! ): ReleaseArchivePayload! """ Updates an existing release by ID. Supports updating name, description, version, commit SHA, pipeline, stage, and dates. """ releaseUpdate( """ The identifier of the release to update. """ id: String! """ A partial Release object to update the Release with. """ input: ReleaseUpdateInput! ): ReleasePayload! """ Updates a release by pipeline identifier. Finds the release by version or latest started/planned release, and optionally transitions it to a new stage by name. """ releaseUpdateByPipeline( """ The input containing the pipeline ID, optional version, and optional stage name. """ input: ReleaseUpdateByPipelineInput! ): ReleasePayload! """ Updates a release by pipeline using an access key. """ releaseUpdateByPipelineByAccessKey( """ The input containing the optional version and optional stage name. """ input: ReleaseUpdateByPipelineInputBase! ): ReleasePayload! """ Re-sends a workspace invitation email for the specified invite ID. """ resendOrganizationInvite( """ The identifier of the organization invite to re-send. """ id: String! ): DeletePayload! """ Re-sends a workspace invitation email to the specified email address, if an outstanding invite exists for that address. """ resendOrganizationInviteByEmail( """ The email address tied to the organization invite to re-send. """ email: String! ): DeletePayload! """ Archives a roadmap. """ roadmapArchive( """ The identifier of the roadmap to archive. """ id: String! ): RoadmapArchivePayload! @deprecated(reason: "Roadmaps are deprecated, use initiatives instead.") """ Creates a new roadmap. """ roadmapCreate( """ The properties of the roadmap to create. """ input: RoadmapCreateInput! ): RoadmapPayload! @deprecated(reason: "Roadmaps are deprecated, use initiatives instead.") """ Deletes a roadmap. """ roadmapDelete( """ The identifier of the roadmap to delete. """ id: String! ): DeletePayload! @deprecated(reason: "Roadmaps are deprecated, use initiatives instead.") """ [Deprecated] Creates a new roadmap-to-project association. Use InitiativeToProject instead. """ roadmapToProjectCreate( """ The properties of the roadmapToProject to create. """ input: RoadmapToProjectCreateInput! ): RoadmapToProjectPayload! """ [Deprecated] Deletes a roadmap-to-project association. Use InitiativeToProject instead. """ roadmapToProjectDelete( """ The identifier of the roadmapToProject to delete. """ id: String! ): DeletePayload! """ [Deprecated] Updates a roadmap-to-project association. Use InitiativeToProject instead. """ roadmapToProjectUpdate( """ The identifier of the roadmapToProject to update. """ id: String! """ The properties of the roadmapToProject to update. """ input: RoadmapToProjectUpdateInput! ): RoadmapToProjectPayload! """ Unarchives a roadmap. """ roadmapUnarchive( """ The identifier of the roadmap to unarchive. """ id: String! ): RoadmapArchivePayload! @deprecated(reason: "Roadmaps are deprecated, use initiatives instead.") """ Updates a roadmap. """ roadmapUpdate( """ The identifier of the roadmap to update. """ id: String! """ The properties of the roadmap to update. """ input: RoadmapUpdateInput! ): RoadmapPayload! @deprecated(reason: "Roadmaps are deprecated, use initiatives instead.") """ Authenticates a user account via email and authentication token for SAML. """ samlTokenUserAccountAuth( """ The data used for token authentication. """ input: TokenUserAccountAuthInput! ): AuthResolverResponse! """ Creates a new team. The user who creates the team will automatically be added as a member and owner of the newly created team. Default workflow states, labels, and other team resources are created alongside the team. """ teamCreate( """ The team id to copy settings from, if any. """ copySettingsFromTeamId: String """ The team object to create. """ input: TeamCreateInput! ): TeamPayload! """ Deletes all cycle data for a team, disabling the cycles feature. This removes all cycles and their issue associations. """ teamCyclesDelete( """ The identifier of the team, which cycles will be deleted. """ id: String! ): TeamPayload! """ Archives a team and schedules its data for deletion. Requires team owner or workspace admin permissions. """ teamDelete( """ The identifier of the team to delete. """ id: String! ): DeletePayload! """ Deletes a previously used team key. The active team key (the team's current key) cannot be deleted. """ teamKeyDelete( """ The identifier of the team key to delete. """ id: String! ): DeletePayload! """ Creates a new team membership, adding a user to a team. Validates that the user is not already a member, the team is not archived or retired, and the requesting user has permission to add members. """ teamMembershipCreate( """ The team membership object to create. """ input: TeamMembershipCreateInput! ): TeamMembershipPayload! """ Deletes a team membership, removing the user from the team. Users can remove their own membership, or team owners and workspace admins can remove other members. """ teamMembershipDelete( """ Whether to leave the parent teams. """ alsoLeaveParentTeams: Boolean """ The identifier of the team membership to delete. """ id: String! ): DeletePayload! """ Updates a team membership, such as changing ownership status or sort order. """ teamMembershipUpdate( """ The identifier of the team membership to update. """ id: String! """ A partial team membership object to update the team membership with. """ input: TeamMembershipUpdateInput! ): TeamMembershipPayload! """ Unarchives a team and cancels deletion. """ teamUnarchive( """ The identifier of the team to unarchive. """ id: String! ): TeamArchivePayload! """ Updates a team's settings, properties, or configuration. Requires team owner or workspace admin permissions for most changes. """ teamUpdate( """ The identifier of the team to update. """ id: String! """ A partial team object to update the team with. """ input: TeamUpdateInput! """ [INTERNAL] Mapping of existing team entities to those inherited from the parent team """ mapping: InheritanceEntityMapping ): TeamPayload! """ Creates a new template. """ templateCreate( """ The template object to create. """ input: TemplateCreateInput! ): TemplatePayload! """ Deletes a template. """ templateDelete( """ The identifier of the template to delete. """ id: String! ): DeletePayload! """ Updates an existing template. """ templateUpdate( """ The identifier of the template. """ id: String! """ The properties of the template to update. """ input: TemplateUpdateInput! ): TemplatePayload! """ Creates a new time schedule. """ timeScheduleCreate( """ The properties of the time schedule to create. """ input: TimeScheduleCreateInput! ): TimeSchedulePayload! """ Deletes a time schedule. """ timeScheduleDelete( """ The identifier of the time schedule to delete. """ id: String! ): DeletePayload! """ Refresh the integration schedule information. """ timeScheduleRefreshIntegrationSchedule( """ The identifier of the time schedule to refresh. """ id: String! ): TimeSchedulePayload! """ Updates a time schedule. """ timeScheduleUpdate( """ The identifier of the time schedule to update. """ id: String! """ The properties of the time schedule to update. """ input: TimeScheduleUpdateInput! ): TimeSchedulePayload! """ Upsert an external time schedule. """ timeScheduleUpsertExternal( """ The unique identifier of the external schedule. """ externalId: String! """ The properties of the time schedule to insert or update. """ input: TimeScheduleUpdateInput! ): TimeSchedulePayload! """ Track an anonymous analytics event. """ trackAnonymousEvent( """ Event tracking details. """ input: EventTrackingInput! ): EventTrackingPayload! """ Creates a new triage responsibility. """ triageResponsibilityCreate( """ The properties of the triage responsibility to create. """ input: TriageResponsibilityCreateInput! ): TriageResponsibilityPayload! """ Deletes a triage responsibility. """ triageResponsibilityDelete( """ The identifier of the triage responsibility to delete. """ id: String! ): DeletePayload! """ Updates an existing triage responsibility. """ triageResponsibilityUpdate( """ The identifier of the triage responsibility to update. """ id: String! """ The properties of the triage responsibility to update. """ input: TriageResponsibilityUpdateInput! ): TriageResponsibilityPayload! """ [Internal] Updates existing Slack and Asks integration scopes. """ updateIntegrationSlackScopes( """ The Slack OAuth code. """ code: String! """ The ID of the existing Slack integration """ integrationId: String! """ The Slack OAuth redirect URI. """ redirectUri: String! ): IntegrationPayload! """ Changes the workspace role of a user. The requesting user must have a role equal to or higher than the target role. Requires workspace admin permissions. """ userChangeRole( """ The identifier of the user """ id: String! """ The new role for the user. """ role: UserRoleType! ): UserAdminPayload! """ Connects the Discord user to this Linear account via OAuth2. """ userDiscordConnect( """ The Discord OAuth code. """ code: String! """ The Discord OAuth redirect URI. """ redirectUri: String! ): UserPayload! """ Disconnects the external user from this Linear account. """ userExternalUserDisconnect( """ The external service to disconnect. """ service: String! ): UserPayload! """ Updates a specific user settings flag by performing an operation (e.g., increment or clear) on it. """ userFlagUpdate( """ Settings flag to increment. """ flag: UserFlagType! """ Flag operation to perform. """ operation: UserFlagUpdateOperation! ): UserSettingsFlagPayload! """ Revokes all active sessions for a user, forcing them to re-authenticate. Can only be called by a workspace admin or owner. """ userRevokeAllSessions( """ The identifier of the user to logout all sessions of. """ id: String! ): UserAdminPayload! """ Revokes a specific authentication session for a user. The admin cannot revoke their own sessions with this mutation. Can only be called by a workspace admin or owner. """ userRevokeSession( """ The identifier of the user whose session to revoke. """ id: String! """ The identifier of the session to revoke. """ sessionId: String! ): UserAdminPayload! """ Resets one or more of the user's setting flags. If no specific flags are provided, all flags are reset. """ userSettingsFlagsReset( """ The flags to reset. If not provided all flags will be reset. """ flags: [UserFlagType!] ): UserSettingsFlagsResetPayload! """ Updates the authenticated user's settings, including notification preferences, email subscriptions, theme, and other UI preferences. """ userSettingsUpdate( """ The identifier of the userSettings to update. """ id: String! """ A partial notification object to update the settings with. """ input: UserSettingsUpdateInput! ): UserSettingsPayload! """ Suspends a user, deactivating their account and revoking access to the workspace. The suspended user's sessions are invalidated. Can only be called by a workspace admin or owner. """ userSuspend( """ [INTERNAL] Whether to bypass SCIM restrictions when suspending. Use with caution — this overrides identity provider management. """ forceBypassScimRestrictions: Boolean """ The identifier of the user to suspend. """ id: String! ): UserAdminPayload! """ Unlinks a guest user from their identity provider. Can only be called by an admin when SCIM is enabled. """ userUnlinkFromIdentityProvider( """ The identifier of the guest user to unlink from their identity provider. """ id: String! ): UserAdminPayload! """ Re-activates a suspended user, restoring their access to the workspace. Can only be called by a workspace admin or owner. """ userUnsuspend( """ [INTERNAL] Whether to bypass SCIM restrictions when unsuspending. Use with caution — this overrides identity provider management. """ forceBypassScimRestrictions: Boolean """ The identifier of the user to unsuspend. """ id: String! ): UserAdminPayload! """ Updates a user's profile information. Users can update their own profile; workspace admins can update any user's profile. SCIM-managed users may have restricted name changes. """ userUpdate( """ The identifier of the user to update. Use `me` to reference currently authenticated user. """ id: String! """ A partial user object to update the user with. """ input: UserUpdateInput! ): UserPayload! """ Creates a new view preferences object. If conflicting preferences already exist for the same view type and scope, the existing preferences are replaced. """ viewPreferencesCreate( """ The ViewPreferences object to create. """ input: ViewPreferencesCreateInput! ): ViewPreferencesPayload! """ Deletes a view preferences object. If the preferences do not exist, the operation is treated as a successful idempotent deletion. """ viewPreferencesDelete( """ The identifier of the ViewPreferences to delete. """ id: String! ): DeletePayload! """ Updates an existing view preferences object. For user-type preferences, only the owning user can update them. """ viewPreferencesUpdate( """ The identifier of the ViewPreferences object. """ id: String! """ The properties of the view preferences. """ input: ViewPreferencesUpdateInput! ): ViewPreferencesPayload! """ Creates a new webhook subscription for the workspace. Requires specifying a URL, resource types to subscribe to, and either a specific team or all public teams. """ webhookCreate( """ The webhook object to create. """ input: WebhookCreateInput! ): WebhookPayload! """ Deletes a Webhook. """ webhookDelete( """ The identifier of the Webhook to delete. """ id: String! ): DeletePayload! """ Rotates the signing secret for a webhook, generating a new HMAC-SHA256 key and returning it. The old secret is immediately invalidated. """ webhookRotateSecret( """ The identifier of the Webhook to rotate the secret for. """ id: String! ): WebhookRotateSecretPayload! """ Updates an existing Webhook. """ webhookUpdate( """ The identifier of the Webhook. """ id: String! """ The properties of the Webhook. """ input: WebhookUpdateInput! ): WebhookPayload! """ Archives a state. Only states with issues that have all been archived can be archived. """ workflowStateArchive( """ The identifier of the state to archive. """ id: String! ): WorkflowStateArchivePayload! """ Creates a new state, adding it to the workflow of a team. """ workflowStateCreate( """ The state to create. """ input: WorkflowStateCreateInput! ): WorkflowStatePayload! """ Updates a state. """ workflowStateUpdate( """ The identifier of the state to update. """ id: String! """ A partial state object to update. """ input: WorkflowStateUpdateInput! ): WorkflowStatePayload! } """ Customer name sorting options. """ input NameSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } interface Node { """ The unique identifier of the entity. """ id: ID! } """ A notification delivered to a user's inbox. Notifications are created in response to activity in the workspace such as issue assignments, comments, mentions, and status changes. Each notification has a specific type that determines the associated entity (issue, project, document, etc.) and the nature of the event. Notifications can be read, snoozed, or archived by the user. """ interface Notification implements Entity & Node { """ The user that caused the notification. Null if the notification was triggered by a non-user actor such as an integration, external user, or system event. """ actor: User """ [Internal] Notification actor initials if avatar is not available. """ actorAvatarColor: String! """ [Internal] Notification avatar URL. """ actorAvatarUrl: String """ [Internal] Notification actor initials if avatar is not available. """ actorInitials: String """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The bot that caused the notification. """ botActor: ActorBot """ The category of the notification. """ category: NotificationCategory! """ The time at which the entity was created. """ createdAt: DateTime! """ The time at which an email reminder for this notification was sent to the user. Null if no email reminder has been sent. """ emailedAt: DateTime """ The external user that caused the notification. Populated when the notification was triggered by an external user (e.g., a commenter from a connected integration like Slack or GitHub) rather than a Linear workspace member. """ externalUserActor: ExternalUser """ [Internal] Notifications with the same grouping key will be grouped together in the UI. """ groupingKey: String! """ [Internal] Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`. """ groupingPriority: Float! """ The unique identifier of the entity. """ id: ID! """ [Internal] Inbox URL for the notification. """ inboxUrl: String! """ [Internal] Initiative update health for new updates. """ initiativeUpdateHealth: String """ [Internal] If notification actor was Linear. """ isLinearActor: Boolean! """ [Internal] Issue's status type for issue notifications. """ issueStatusType: String """ [Internal] Project update health for new updates. """ projectUpdateHealth: String """ The time at which the user marked the notification as read. Null if the notification is unread. """ readAt: DateTime """ The time until which a notification is snoozed. After this time, the notification reappears in the user's inbox. Null if the notification is not currently snoozed. """ snoozedUntilAt: DateTime """ [Internal] Notification subtitle. """ subtitle: String! """ [Internal] Notification title. """ title: String! """ Notification type. Determines the kind of event that triggered this notification and which associated entity fields will be populated. """ type: String! """ The time at which a notification was unsnoozed. Null if the notification has not been unsnoozed. """ unsnoozedAt: DateTime """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ [Internal] URL to the target of the notification. """ url: String! """ The recipient user of this notification. """ user: User! } """ A generic payload return from entity archive mutations. """ type NotificationArchivePayload implements ArchivePayload { """ The archived/unarchived entity. Null if entity was deleted. """ entity: Notification """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Return type for batch notification mutations that operate on multiple notifications at once. """ type NotificationBatchActionPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The notifications that were updated by the batch operation. """ notifications: [Notification!]! """ Whether the operation was successful. """ success: Boolean! } """ The categories of notifications a user can subscribe to. """ enum NotificationCategory { appsAndIntegrations assignments commentsAndReplies customers documentChanges feed mentions postsAndUpdates reactions reminders reviews statusChanges subscriptions system triage } """ A user's fully resolved notification category preferences. Each category maps to channel preferences indicating whether mobile, desktop, email, and Slack delivery are enabled. """ type NotificationCategoryPreferences { """ The preferences for notifications about apps and integrations. """ appsAndIntegrations: NotificationChannelPreferences! """ The preferences for notifications about assignments. """ assignments: NotificationChannelPreferences! """ The preferences for notifications about comments and replies. """ commentsAndReplies: NotificationChannelPreferences! """ The preferences for customer notifications. """ customers: NotificationChannelPreferences! """ The preferences for notifications about document changes. """ documentChanges: NotificationChannelPreferences! """ The preferences for feed summary notifications. """ feed: NotificationChannelPreferences! """ The preferences for notifications about mentions. """ mentions: NotificationChannelPreferences! """ The preferences for notifications about posts and updates. """ postsAndUpdates: NotificationChannelPreferences! """ The preferences for notifications about reactions. """ reactions: NotificationChannelPreferences! """ The preferences for notifications about reminders. """ reminders: NotificationChannelPreferences! """ The preferences for notifications about reviews. """ reviews: NotificationChannelPreferences! """ The preferences for notifications about status changes. """ statusChanges: NotificationChannelPreferences! """ The preferences for notifications about subscriptions. """ subscriptions: NotificationChannelPreferences! """ The preferences for system notifications. """ system: NotificationChannelPreferences! """ The preferences for triage notifications. """ triage: NotificationChannelPreferences! } input NotificationCategoryPreferencesInput { """ The preferences for notifications about apps and integrations. """ appsAndIntegrations: PartialNotificationChannelPreferencesInput """ The preferences for notifications about assignments. """ assignments: PartialNotificationChannelPreferencesInput """ The preferences for notifications about comments and replies. """ commentsAndReplies: PartialNotificationChannelPreferencesInput """ The preferences for notifications about customers. """ customers: PartialNotificationChannelPreferencesInput """ The preferences for notifications about document changes. """ documentChanges: PartialNotificationChannelPreferencesInput """ The preferences for notifications about feed summaries. """ feed: PartialNotificationChannelPreferencesInput """ The preferences for notifications about mentions. """ mentions: PartialNotificationChannelPreferencesInput """ The preferences for notifications about posts and updates. """ postsAndUpdates: PartialNotificationChannelPreferencesInput """ The preferences for notifications about reactions. """ reactions: PartialNotificationChannelPreferencesInput """ The preferences for notifications about reminders. """ reminders: PartialNotificationChannelPreferencesInput """ The preferences for notifications about reviews. """ reviews: PartialNotificationChannelPreferencesInput """ The preferences for notifications about status changes. """ statusChanges: PartialNotificationChannelPreferencesInput """ The preferences for notifications about subscriptions. """ subscriptions: PartialNotificationChannelPreferencesInput """ The preferences for notifications about triage. """ triage: PartialNotificationChannelPreferencesInput } """ The delivery channels a user can receive notifications in. """ enum NotificationChannel { desktop email mobile slack } """ A user's resolved notification channel preferences, indicating whether each delivery channel (mobile, desktop, email, Slack) is enabled or disabled. """ type NotificationChannelPreferences { """ Whether notifications are currently enabled for desktop. """ desktop: Boolean! """ Whether notifications are currently enabled for email. """ email: Boolean! """ Whether notifications are currently enabled for mobile. """ mobile: Boolean! """ Whether notifications are currently enabled for Slack. """ slack: Boolean! } type NotificationConnection { edges: [NotificationEdge!]! nodes: [Notification!]! pageInfo: PageInfo! } """ A user's notification delivery preferences across channels. Currently only supports mobile channel delivery scheduling. """ type NotificationDeliveryPreferences { """ The delivery preferences for the mobile channel. """ mobile: NotificationDeliveryPreferencesChannel } """ Delivery preferences for a specific notification channel, including an optional delivery schedule that restricts when notifications are sent. """ type NotificationDeliveryPreferencesChannel { """ [DEPRECATED] Whether notifications are enabled for this channel. Use notificationChannelPreferences instead. """ notificationsDisabled: Boolean @deprecated(reason: "This field has been replaced by notificationChannelPreferences") """ The schedule for notifications on this channel. """ schedule: NotificationDeliveryPreferencesSchedule } input NotificationDeliveryPreferencesChannelInput { """ The schedule for notifications on this channel. """ schedule: NotificationDeliveryPreferencesScheduleInput } """ A user's notification delivery window for a specific day of the week. Defines the time range during which notifications will be delivered. """ type NotificationDeliveryPreferencesDay { """ The end time of the notification delivery window in HH:MM military time format (e.g., '18:00'). Must be later than 'start'. """ end: String """ The start time of the notification delivery window in HH:MM military time format (e.g., '09:00'). Must be earlier than 'end'. """ start: String } input NotificationDeliveryPreferencesDayInput { """ The end time of the notification delivery window in HH:MM military time format (e.g., '18:00'). Must be later than 'start'. """ end: String """ The start time of the notification delivery window in HH:MM military time format (e.g., '09:00'). Must be earlier than 'end'. """ start: String } input NotificationDeliveryPreferencesInput { """ The delivery preferences for the mobile channel. """ mobile: NotificationDeliveryPreferencesChannelInput } """ A user's weekly notification delivery schedule, defining delivery windows for each day of the week. Notifications outside these windows are held and delivered when the window opens. """ type NotificationDeliveryPreferencesSchedule { """ Whether the entire delivery schedule is disabled. When true, notifications are delivered at any time regardless of the per-day settings. """ disabled: Boolean """ Delivery preferences for Friday. """ friday: NotificationDeliveryPreferencesDay! """ Delivery preferences for Monday. """ monday: NotificationDeliveryPreferencesDay! """ Delivery preferences for Saturday. """ saturday: NotificationDeliveryPreferencesDay! """ Delivery preferences for Sunday. """ sunday: NotificationDeliveryPreferencesDay! """ Delivery preferences for Thursday. """ thursday: NotificationDeliveryPreferencesDay! """ Delivery preferences for Tuesday. """ tuesday: NotificationDeliveryPreferencesDay! """ Delivery preferences for Wednesday. """ wednesday: NotificationDeliveryPreferencesDay! } input NotificationDeliveryPreferencesScheduleInput { """ Whether the entire delivery schedule is disabled. When true, notifications are delivered at any time regardless of the per-day settings. """ disabled: Boolean """ Delivery preferences for Friday. """ friday: NotificationDeliveryPreferencesDayInput! """ Delivery preferences for Monday. """ monday: NotificationDeliveryPreferencesDayInput! """ Delivery preferences for Saturday. """ saturday: NotificationDeliveryPreferencesDayInput! """ Delivery preferences for Sunday. """ sunday: NotificationDeliveryPreferencesDayInput! """ Delivery preferences for Thursday. """ thursday: NotificationDeliveryPreferencesDayInput! """ Delivery preferences for Tuesday. """ tuesday: NotificationDeliveryPreferencesDayInput! """ Delivery preferences for Wednesday. """ wednesday: NotificationDeliveryPreferencesDayInput! } type NotificationEdge { """ Used in `before` and `after` args """ cursor: String! node: Notification! } """ Identifies a specific entity whose related notifications should be targeted by a batch operation. Exactly one entity identifier should be provided. """ input NotificationEntityInput { """ The id of the notification. """ id: String """ The id of the initiative related to the notification. """ initiativeId: String """ The id of the initiative update related to the notification. """ initiativeUpdateId: String """ The id of the issue related to the notification. """ issueId: String """ The id of the OAuth client approval related to the notification. """ oauthClientApprovalId: String """ [DEPRECATED] The id of the project related to the notification. """ projectId: String """ The id of the project update related to the notification. """ projectUpdateId: String } """ Notification filtering options. """ input NotificationFilter { """ Compound filters, all of which need to be matched by the notification. """ and: [NotificationFilter!] """ Comparator for the archived at date. """ archivedAt: DateComparator """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the identifier. """ id: IDComparator """ Compound filters, one of which need to be matched by the notification. """ or: [NotificationFilter!] """ Comparator for the notification type. """ type: StringComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Return type for notification mutations. """ type NotificationPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The notification that was updated. """ notification: Notification! """ Whether the operation was successful. """ success: Boolean! } """ A subscription that controls which notifications a user receives for a specific entity such as a team, project, cycle, label, custom view, initiative, or user. This is not a billing subscription -- it determines notification preferences. Each subscription is scoped to exactly one target entity and specifies the notification types the subscriber wants to receive. When active, matching events on the target entity generate notifications for the subscriber. """ interface NotificationSubscription implements Entity & Node { """ Whether the subscription is active. When inactive, no notifications are generated from this subscription even though it still exists. """ active: Boolean! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The type of contextual view (e.g., active issues, backlog) that further scopes a team notification subscription. Null if the subscription is not associated with a specific view type. """ contextViewType: ContextViewType """ The time at which the entity was created. """ createdAt: DateTime! """ The custom view that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ customView: CustomView """ The customer that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ customer: Customer """ The cycle that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ cycle: Cycle """ The unique identifier of the entity. """ id: ID! """ The initiative that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ initiative: Initiative """ The issue label that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ label: IssueLabel """ The project that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ project: Project """ The user who will receive notifications from this subscription. """ subscriber: User! """ The team that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ team: Team """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user that this notification subscription is scoped to, for user-specific view subscriptions. Null if the subscription targets a different entity type. """ user: User """ The type of user-specific view that further scopes a user notification subscription. Null if the subscription is not associated with a user view type. """ userContextViewType: UserContextViewType } type NotificationSubscriptionConnection { edges: [NotificationSubscriptionEdge!]! nodes: [NotificationSubscription!]! pageInfo: PageInfo! } """ Input for creating a notification subscription. Exactly one target entity (customer, custom view, cycle, initiative, label, project, team, or user) must be specified along with the notification types to subscribe to. """ input NotificationSubscriptionCreateInput { """ Whether the subscription is active. Set to false to pause notifications without deleting the subscription. """ active: Boolean """ The type of view to which the notification subscription context is associated with. """ contextViewType: ContextViewType """ The identifier of the custom view to subscribe to. """ customViewId: String """ The identifier of the customer to subscribe to. """ customerId: String """ The identifier of the cycle to subscribe to. """ cycleId: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The identifier of the initiative to subscribe to. """ initiativeId: String """ The identifier of the label to subscribe to. """ labelId: String """ The specific notification event types the subscriber wants to receive for the target entity. """ notificationSubscriptionTypes: [String!] """ The identifier of the project to subscribe to. """ projectId: String """ The identifier of the team to subscribe to. """ teamId: String """ The type of user view to which the notification subscription context is associated with. """ userContextViewType: UserContextViewType """ The identifier of the user to subscribe to. """ userId: String } type NotificationSubscriptionEdge { """ Used in `before` and `after` args """ cursor: String! node: NotificationSubscription! } """ The result of a notification subscription mutation. """ type NotificationSubscriptionPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The notification subscription that was created or updated. This controls which notifications the user receives for the associated entity. """ notificationSubscription: NotificationSubscription! """ Whether the operation was successful. """ success: Boolean! } """ Input for updating an existing notification subscription. Allows changing the subscribed notification types and active state. """ input NotificationSubscriptionUpdateInput { """ Whether the subscription is active. """ active: Boolean """ The specific notification event types the subscriber wants to receive. Replaces all previously configured types. """ notificationSubscriptionTypes: [String!] } """ Input for updating a notification's read and snooze state. """ input NotificationUpdateInput { """ The id of the initiative update related to the notification. """ initiativeUpdateId: String """ The id of the project update related to the notification. """ projectUpdateId: String """ The time when notification was marked as read. """ readAt: DateTime """ The time until a notification will be snoozed. After that it will appear in the inbox again. """ snoozedUntilAt: DateTime } union NotificationWebhookPayload = | IssueAssignedToYouNotificationWebhookPayload | IssueCommentMentionNotificationWebhookPayload | IssueCommentReactionNotificationWebhookPayload | IssueEmojiReactionNotificationWebhookPayload | IssueMentionNotificationWebhookPayload | IssueNewCommentNotificationWebhookPayload | IssueStatusChangedNotificationWebhookPayload | IssueUnassignedFromYouNotificationWebhookPayload | OtherNotificationWebhookPayload input NotionSettingsInput { """ The ID of the Notion workspace being connected. """ workspaceId: String! """ The name of the Notion workspace being connected. """ workspaceName: String! } """ Comment filtering options. """ input NullableCommentFilter { """ Compound filters, all of which need to be matched by the comment. """ and: [NullableCommentFilter!] """ Comparator for the comment's body. """ body: StringComparator """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the comment's document content must satisfy. """ documentContent: NullableDocumentContentFilter """ Comparator for the identifier. """ id: IDComparator """ [Internal] Filters that the comment's initiative must satisfy. """ initiative: NullableInitiativeFilter """ Filters that the comment's issue must satisfy. """ issue: NullableIssueFilter """ Filters that the comment's customer needs must satisfy. """ needs: CustomerNeedCollectionFilter """ Filter based on the existence of the relation. """ null: Boolean """ Compound filters, one of which need to be matched by the comment. """ or: [NullableCommentFilter!] """ Filters that the comment parent must satisfy. """ parent: NullableCommentFilter """ [Internal] Filters that the comment's project must satisfy. """ project: NullableProjectFilter """ Filters that the comment's project update must satisfy. """ projectUpdate: NullableProjectUpdateFilter """ Filters that the comment's reactions must satisfy. """ reactions: ReactionCollectionFilter """ Comparator for the updated at date. """ updatedAt: DateComparator """ Filters that the comment's creator must satisfy. """ user: UserFilter } """ Customer filtering options. """ input NullableCustomerFilter { """ Compound filters, all of which need to be matched by the customer. """ and: [NullableCustomerFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the customer's domains. """ domains: StringArrayComparator """ Comparator for the customer's external IDs. """ externalIds: StringArrayComparator """ Comparator for the identifier. """ id: IDComparator """ Comparator for the customer name. """ name: StringComparator """ Filters that the customer's needs must satisfy. """ needs: CustomerNeedCollectionFilter """ Filter based on the existence of the relation. """ null: Boolean """ Compound filters, one of which need to be matched by the customer. """ or: [NullableCustomerFilter!] """ Filters that the customer owner must satisfy. """ owner: NullableUserFilter """ Comparator for the customer generated revenue. """ revenue: NumberComparator """ Comparator for the customer size. """ size: NumberComparator """ Comparator for the customer slack channel ID. """ slackChannelId: StringComparator """ Filters that the customer's status must satisfy. """ status: CustomerStatusFilter """ Filters that the customer's tier must satisfy. """ tier: CustomerTierFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Cycle filtering options. """ input NullableCycleFilter { """ Compound filters, all of which need to be matched by the cycle. """ and: [NullableCycleFilter!] """ Comparator for the cycle completed at date. """ completedAt: DateComparator """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the cycle ends at date. """ endsAt: DateComparator """ Comparator for the identifier. """ id: IDComparator """ Comparator for the inherited cycle ID. """ inheritedFromId: IDComparator """ Comparator for the filtering active cycle. """ isActive: BooleanComparator """ Comparator for the filtering future cycles. """ isFuture: BooleanComparator """ Comparator for filtering for whether the cycle is currently in cooldown. """ isInCooldown: BooleanComparator """ Comparator for the filtering next cycle. """ isNext: BooleanComparator """ Comparator for the filtering past cycles. """ isPast: BooleanComparator """ Comparator for the filtering previous cycle. """ isPrevious: BooleanComparator """ Filters that the cycles issues must satisfy. """ issues: IssueCollectionFilter """ Comparator for the cycle name. """ name: StringComparator """ Filter based on the existence of the relation. """ null: Boolean """ Comparator for the cycle number. """ number: NumberComparator """ Compound filters, one of which need to be matched by the cycle. """ or: [NullableCycleFilter!] """ Comparator for the cycle start date. """ startsAt: DateComparator """ Filters that the cycles team must satisfy. """ team: TeamFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Comparator for optional dates. """ input NullableDateComparator { """ Equals constraint. """ eq: DateTimeOrDuration """ Greater-than constraint. Matches any values that are greater than the given value. """ gt: DateTimeOrDuration """ Greater-than-or-equal constraint. Matches any values that are greater than or equal to the given value. """ gte: DateTimeOrDuration """ In-array constraint. """ in: [DateTimeOrDuration!] """ Less-than constraint. Matches any values that are less than the given value. """ lt: DateTimeOrDuration """ Less-than-or-equal constraint. Matches any values that are less than or equal to the given value. """ lte: DateTimeOrDuration """ Not-equals constraint. """ neq: DateTimeOrDuration """ Not-in-array constraint. """ nin: [DateTimeOrDuration!] """ Null constraint. Matches any non-null values if the given value is false, otherwise it matches null values. """ null: Boolean } """ Document content filtering options. """ input NullableDocumentContentFilter { """ Compound filters, all of which need to be matched by the user. """ and: [NullableDocumentContentFilter!] """ Comparator for the document content. """ content: NullableStringComparator """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the document content document must satisfy. """ document: DocumentFilter """ Comparator for the identifier. """ id: IDComparator """ Filter based on the existence of the relation. """ null: Boolean """ Compound filters, one of which need to be matched by the user. """ or: [NullableDocumentContentFilter!] """ Filters that the document content project must satisfy. """ project: ProjectFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Nullable comparator for optional durations. """ input NullableDurationComparator { """ Equals constraint. """ eq: Duration """ Greater-than constraint. Matches any values that are greater than the given value. """ gt: Duration """ Greater-than-or-equal constraint. Matches any values that are greater than or equal to the given value. """ gte: Duration """ In-array constraint. """ in: [Duration!] """ Less-than constraint. Matches any values that are less than the given value. """ lt: Duration """ Less-than-or-equal constraint. Matches any values that are less than or equal to the given value. """ lte: Duration """ Not-equals constraint. """ neq: Duration """ Not-in-array constraint. """ nin: [Duration!] """ Null constraint. Matches any non-null values if the given value is false, otherwise it matches null values. """ null: Boolean } """ Initiative filtering options. """ input NullableInitiativeFilter { """ Comparator for the initiative activity type. """ activityType: StringComparator """ Filters that the initiative must be an ancestor of. """ ancestors: InitiativeCollectionFilter """ Compound filters, all of which need to be matched by the initiative. """ and: [NullableInitiativeFilter!] """ Comparator for the initiative completed at date. """ completedAt: NullableDateComparator """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the initiative creator must satisfy. """ creator: NullableUserFilter """ Comparator for the initiative health: onTrack, atRisk, offTrack """ health: StringComparator """ Comparator for the initiative health (with age): onTrack, atRisk, offTrack, outdated, noUpdate """ healthWithAge: StringComparator """ Comparator for the identifier. """ id: IDComparator """ Filters that the initiative updates must satisfy. """ initiativeUpdates: InitiativeUpdatesCollectionFilter """ [Internal] Filters that the initiative labels must satisfy. """ labels: InitiativeLabelCollectionFilter """ Comparator for the initiative name. """ name: StringComparator """ Filter based on the existence of the relation. """ null: Boolean """ Compound filters, one of which need to be matched by the initiative. """ or: [NullableInitiativeFilter!] """ Filters that the initiative owner must satisfy. """ owner: NullableUserFilter """ Comparator for the initiative slug ID. """ slugId: StringComparator """ Comparator for the initiative started at date. """ startedAt: NullableDateComparator """ Comparator for the initiative status: Planned, Active, Completed """ status: StringComparator """ Comparator for the initiative target date. """ targetDate: NullableDateComparator """ Filters that the initiative teams must satisfy. """ teams: TeamCollectionFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Issue filtering options. """ input NullableIssueFilter { """ [Internal] Comparator for the issue's accumulatedStateUpdatedAt date. """ accumulatedStateUpdatedAt: NullableDateComparator """ Filters that the issue's activities must satisfy. """ activity: ActivityCollectionFilter """ Comparator for the issues added to cycle at date. """ addedToCycleAt: NullableDateComparator """ Comparator for the period when issue was added to a cycle. """ addedToCyclePeriod: CyclePeriodComparator """ [Internal] Age (created -> now) comparator, defined if the issue is still open. """ ageTime: NullableDurationComparator """ Compound filters, all of which need to be matched by the issue. """ and: [NullableIssueFilter!] """ Comparator for the issues archived at date. """ archivedAt: NullableDateComparator """ Filters that the issues assignee must satisfy. """ assignee: NullableUserFilter """ Filters that the issues attachments must satisfy. """ attachments: AttachmentCollectionFilter """ Comparator for the issues auto archived at date. """ autoArchivedAt: NullableDateComparator """ Comparator for the issues auto closed at date. """ autoClosedAt: NullableDateComparator """ Comparator for the issues canceled at date. """ canceledAt: NullableDateComparator """ Filters that the child issues must satisfy. """ children: IssueCollectionFilter """ Filters that the issues comments must satisfy. """ comments: CommentCollectionFilter """ Comparator for the issues completed at date. """ completedAt: NullableDateComparator """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the issues creator must satisfy. """ creator: NullableUserFilter """ Count of customers """ customerCount: NumberComparator """ Count of important customers """ customerImportantCount: NumberComparator """ Filters that the issues cycle must satisfy. """ cycle: NullableCycleFilter """ [Internal] Cycle time (started -> completed) comparator. """ cycleTime: NullableDurationComparator """ Filters that the issue's delegated agent must satisfy. """ delegate: NullableUserFilter """ Comparator for the issues description. """ description: NullableStringComparator """ Comparator for the issues due date. """ dueDate: NullableTimelessDateComparator """ Comparator for the issues estimate. """ estimate: EstimateComparator """ Comparator for filtering issues which are blocked. """ hasBlockedByRelations: RelationExistsComparator """ Comparator for filtering issues which are blocking. """ hasBlockingRelations: RelationExistsComparator """ Comparator for filtering issues which are duplicates. """ hasDuplicateRelations: RelationExistsComparator """ Comparator for filtering issues with relations. """ hasRelatedRelations: RelationExistsComparator """ Comparator for filtering issues which have been shared with users outside of the team. """ hasSharedUsers: RelationExistsComparator """ [Internal] Comparator for filtering issues which have suggested assignees. """ hasSuggestedAssignees: RelationExistsComparator """ [Internal] Comparator for filtering issues which have suggested labels. """ hasSuggestedLabels: RelationExistsComparator """ [Internal] Comparator for filtering issues which have suggested projects. """ hasSuggestedProjects: RelationExistsComparator """ [Internal] Comparator for filtering issues which have suggested related issues. """ hasSuggestedRelatedIssues: RelationExistsComparator """ [Internal] Comparator for filtering issues which have suggested similar issues. """ hasSuggestedSimilarIssues: RelationExistsComparator """ [Internal] Comparator for filtering issues which have suggested teams. """ hasSuggestedTeams: RelationExistsComparator """ Comparator for the identifier. """ id: IssueIDComparator """ Filters that issue labels must satisfy. """ labels: IssueLabelCollectionFilter """ Filters that the last applied template must satisfy. """ lastAppliedTemplate: NullableTemplateFilter """ [Internal] Lead time (created -> completed) comparator. """ leadTime: NullableDurationComparator """ Filters that the issue's customer needs must satisfy. """ needs: CustomerNeedCollectionFilter """ Filter based on the existence of the relation. """ null: Boolean """ Comparator for the issues number. """ number: NumberComparator """ Compound filters, one of which need to be matched by the issue. """ or: [NullableIssueFilter!] """ Filters that the issue parent must satisfy. """ parent: NullableIssueFilter """ Comparator for the issues priority. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low. """ priority: NullableNumberComparator """ Filters that the issues project must satisfy. """ project: NullableProjectFilter """ Filters that the issues project milestone must satisfy. """ projectMilestone: NullableProjectMilestoneFilter """ Filters that the issues reactions must satisfy. """ reactions: ReactionCollectionFilter """ [ALPHA] Filters that the recurring issue template must satisfy. """ recurringIssueTemplate: NullableTemplateFilter """ Filters that the issue's releases must satisfy. """ releases: ReleaseCollectionFilter """ [Internal] Comparator for the issues content. """ searchableContent: ContentComparator """ Filters that users the issue has been shared with must satisfy. """ sharedWith: UserCollectionFilter """ Comparator for the issue's SLA breach date. """ slaBreachesAt: NullableDateComparator """ Comparator for the issues sla status. """ slaStatus: SlaStatusComparator """ Filters that the issues snoozer must satisfy. """ snoozedBy: NullableUserFilter """ Comparator for the issues snoozed until date. """ snoozedUntilAt: NullableDateComparator """ Filters that the source must satisfy. """ sourceMetadata: SourceMetadataComparator """ Comparator for the issues started at date. """ startedAt: NullableDateComparator """ Filters that the issues state must satisfy. """ state: WorkflowStateFilter """ Filters that issue subscribers must satisfy. """ subscribers: UserCollectionFilter """ [Internal] Filters that the issue's suggestions must satisfy. """ suggestions: IssueSuggestionCollectionFilter """ Filters that the issues team must satisfy. """ team: TeamFilter """ Comparator for the issues title. """ title: StringComparator """ [Internal] Triage time (entered triaged -> triaged) comparator. """ triageTime: NullableDurationComparator """ Comparator for the issues triaged at date. """ triagedAt: NullableDateComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Comparator for optional numbers. """ input NullableNumberComparator { """ Equals constraint. """ eq: Float """ Greater-than constraint. Matches any values that are greater than the given value. """ gt: Float """ Greater-than-or-equal constraint. Matches any values that are greater than or equal to the given value. """ gte: Float """ In-array constraint. """ in: [Float!] """ Less-than constraint. Matches any values that are less than the given value. """ lt: Float """ Less-than-or-equal constraint. Matches any values that are less than or equal to the given value. """ lte: Float """ Not-equals constraint. """ neq: Float """ Not-in-array constraint. """ nin: [Float!] """ Null constraint. Matches any non-null values if the given value is false, otherwise it matches null values. """ null: Boolean } """ Project filtering options. """ input NullableProjectFilter { """ Filters that the project's team must satisfy. """ accessibleTeams: TeamCollectionFilter """ [ALPHA] Comparator for the project activity type: buzzin, active, some, none """ activityType: StringComparator """ Compound filters, all of which need to be matched by the project. """ and: [NullableProjectFilter!] """ Comparator for the project cancelation date. """ canceledAt: NullableDateComparator """ Comparator for the project completion date. """ completedAt: NullableDateComparator """ Filters that the project's completed milestones must satisfy. """ completedProjectMilestones: ProjectMilestoneCollectionFilter """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the projects creator must satisfy. """ creator: UserFilter """ Count of customers """ customerCount: NumberComparator """ Count of important customers """ customerImportantCount: NumberComparator """ Comparator for filtering projects which are blocked. """ hasBlockedByRelations: RelationExistsComparator """ Comparator for filtering projects which are blocking. """ hasBlockingRelations: RelationExistsComparator """ [Deprecated] Comparator for filtering projects which this is depended on by. """ hasDependedOnByRelations: RelationExistsComparator """ [Deprecated]Comparator for filtering projects which this depends on. """ hasDependsOnRelations: RelationExistsComparator """ Comparator for filtering projects with relations. """ hasRelatedRelations: RelationExistsComparator """ Comparator for filtering projects with violated dependencies. """ hasViolatedRelations: RelationExistsComparator """ Comparator for the project health: onTrack, atRisk, offTrack """ health: StringComparator """ Comparator for the project health (with age): onTrack, atRisk, offTrack, outdated, noUpdate """ healthWithAge: StringComparator """ Comparator for the identifier. """ id: IDComparator """ Filters that the projects initiatives must satisfy. """ initiatives: InitiativeCollectionFilter """ Filters that the projects issues must satisfy. """ issues: IssueCollectionFilter """ Filters that project labels must satisfy. """ labels: ProjectLabelCollectionFilter """ Filters that the last applied template must satisfy. """ lastAppliedTemplate: NullableTemplateFilter """ Filters that the projects lead must satisfy. """ lead: NullableUserFilter """ Filters that the projects members must satisfy. """ members: UserCollectionFilter """ Comparator for the project name. """ name: StringComparator """ Filters that the project's customer needs must satisfy. """ needs: CustomerNeedCollectionFilter """ Filters that the project's next milestone must satisfy. """ nextProjectMilestone: ProjectMilestoneFilter """ Filter based on the existence of the relation. """ null: Boolean """ Compound filters, one of which need to be matched by the project. """ or: [NullableProjectFilter!] """ Comparator for the projects priority. """ priority: NullableNumberComparator """ Filters that the project's milestones must satisfy. """ projectMilestones: ProjectMilestoneCollectionFilter """ Comparator for the project updates. """ projectUpdates: ProjectUpdatesCollectionFilter """ Filters that the projects roadmaps must satisfy. """ roadmaps: RoadmapCollectionFilter """ [Internal] Comparator for the project's content. """ searchableContent: ContentComparator """ Comparator for the project slug ID. """ slugId: StringComparator """ Comparator for the project start date. """ startDate: NullableDateComparator """ Comparator for the project started date (when it was moved to an "In Progress" status). """ startedAt: NullableDateComparator """ [DEPRECATED] Comparator for the project state. """ state: StringComparator """ Filters that the project's status must satisfy. """ status: ProjectStatusFilter """ Comparator for the project target date. """ targetDate: NullableDateComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Project milestone filtering options. """ input NullableProjectMilestoneFilter { """ Compound filters, all of which need to be matched by the project milestone. """ and: [NullableProjectMilestoneFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the identifier. """ id: IDComparator """ Comparator for the project milestone name. """ name: NullableStringComparator """ Filter based on the existence of the relation. """ null: Boolean """ Compound filters, one of which need to be matched by the project milestone. """ or: [NullableProjectMilestoneFilter!] """ Filters that the project milestone's project must satisfy. """ project: NullableProjectFilter """ Comparator for the project milestone target date. """ targetDate: NullableDateComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Nullable project update filtering options. """ input NullableProjectUpdateFilter { """ Compound filters, all of which need to be matched by the project update. """ and: [NullableProjectUpdateFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the identifier. """ id: IDComparator """ Filter based on the existence of the relation. """ null: Boolean """ Compound filters, one of which need to be matched by the project update. """ or: [NullableProjectUpdateFilter!] """ Filters that the project update project must satisfy. """ project: ProjectFilter """ Filters that the project updates reactions must satisfy. """ reactions: ReactionCollectionFilter """ Comparator for the updated at date. """ updatedAt: DateComparator """ Filters that the project update creator must satisfy. """ user: UserFilter } """ Comparator for optional strings. """ input NullableStringComparator { """ Contains constraint. Matches any values that contain the given string. """ contains: String """ Contains case insensitive constraint. Matches any values that contain the given string case insensitive. """ containsIgnoreCase: String """ Contains case and accent insensitive constraint. Matches any values that contain the given string case and accent insensitive. """ containsIgnoreCaseAndAccent: String """ Ends with constraint. Matches any values that end with the given string. """ endsWith: String """ Equals constraint. """ eq: String """ Equals case insensitive. Matches any values that matches the given string case insensitive. """ eqIgnoreCase: String """ In-array constraint. """ in: [String!] """ Not-equals constraint. """ neq: String """ Not-equals case insensitive. Matches any values that don't match the given string case insensitive. """ neqIgnoreCase: String """ Not-in-array constraint. """ nin: [String!] """ Doesn't contain constraint. Matches any values that don't contain the given string. """ notContains: String """ Doesn't contain case insensitive constraint. Matches any values that don't contain the given string case insensitive. """ notContainsIgnoreCase: String """ Doesn't end with constraint. Matches any values that don't end with the given string. """ notEndsWith: String """ Doesn't start with constraint. Matches any values that don't start with the given string. """ notStartsWith: String """ Null constraint. Matches any non-null values if the given value is false, otherwise it matches null values. """ null: Boolean """ Starts with constraint. Matches any values that start with the given string. """ startsWith: String """ Starts with case insensitive constraint. Matches any values that start with the given string. """ startsWithIgnoreCase: String } """ Team filtering options. """ input NullableTeamFilter { """ Filters that the team's ancestors must satisfy. """ ancestors: TeamCollectionFilter """ Compound filters, all of which need to be matched by the team. """ and: [NullableTeamFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the team description. """ description: NullableStringComparator """ Comparator for the identifier. """ id: IDComparator """ Filters that the teams issues must satisfy. """ issues: IssueCollectionFilter """ Comparator for the team key. """ key: StringComparator """ Comparator for the team name. """ name: StringComparator """ Filter based on the existence of the relation. """ null: Boolean """ Compound filters, one of which need to be matched by the team. """ or: [NullableTeamFilter!] """ Filters that the teams parent must satisfy. """ parent: NullableTeamFilter """ Comparator for the team privacy. """ private: BooleanComparator """ Filters that the team's release pipelines must satisfy. """ releasePipelines: ReleasePipelineCollectionFilter """ Comparator for the time at which the team was retired. """ retiredAt: NullableDateComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Template filtering options. """ input NullableTemplateFilter { """ Compound filters, all of which need to be matched by the template. """ and: [NullableTemplateFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the identifier. """ id: IDComparator """ Comparator for the inherited template's ID. """ inheritedFromId: IDComparator """ Comparator for the template's name. """ name: StringComparator """ Filter based on the existence of the relation. """ null: Boolean """ Compound filters, one of which need to be matched by the template. """ or: [NullableTemplateFilter!] """ Comparator for the template's type. """ type: StringComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Comparator for optional timeless dates. """ input NullableTimelessDateComparator { """ Equals constraint. """ eq: TimelessDateOrDuration """ Greater-than constraint. Matches any values that are greater than the given value. """ gt: TimelessDateOrDuration """ Greater-than-or-equal constraint. Matches any values that are greater than or equal to the given value. """ gte: TimelessDateOrDuration """ In-array constraint. """ in: [TimelessDateOrDuration!] """ Less-than constraint. Matches any values that are less than the given value. """ lt: TimelessDateOrDuration """ Less-than-or-equal constraint. Matches any values that are less than or equal to the given value. """ lte: TimelessDateOrDuration """ Not-equals constraint. """ neq: TimelessDateOrDuration """ Not-in-array constraint. """ nin: [TimelessDateOrDuration!] """ Null constraint. Matches any non-null values if the given value is false, otherwise it matches null values. """ null: Boolean } """ User filtering options. """ input NullableUserFilter { """ Comparator for the user's activity status. """ active: BooleanComparator """ Comparator for the user's admin status. """ admin: BooleanComparator """ Compound filters, all of which need to be matched by the user. """ and: [NullableUserFilter!] """ Comparator for the user's app status. """ app: BooleanComparator """ Filters that the users assigned issues must satisfy. """ assignedIssues: IssueCollectionFilter """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the user's display name. """ displayName: StringComparator """ Comparator for the user's email. """ email: StringComparator """ Comparator for the identifier. """ id: IDComparator """ Comparator for the user's invited status. """ invited: BooleanComparator """ Comparator for the user's invited status. """ isInvited: BooleanComparator """ Filter based on the currently authenticated user. Set to true to filter for the authenticated user, false for any other user. """ isMe: BooleanComparator """ Comparator for the user's name. """ name: StringComparator """ Filter based on the existence of the relation. """ null: Boolean """ Compound filters, one of which need to be matched by the user. """ or: [NullableUserFilter!] """ Comparator for the user's owner status. """ owner: BooleanComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Comparator for numbers. """ input NumberComparator { """ Equals constraint. """ eq: Float """ Greater-than constraint. Matches any values that are greater than the given value. """ gt: Float """ Greater-than-or-equal constraint. Matches any values that are greater than or equal to the given value. """ gte: Float """ In-array constraint. """ in: [Float!] """ Less-than constraint. Matches any values that are less than the given value. """ lt: Float """ Less-than-or-equal constraint. Matches any values that are less than or equal to the given value. """ lte: Float """ Not-equals constraint. """ neq: Float """ Not-in-array constraint. """ nin: [Float!] } """ Payload for OAuth app webhook events. """ type OAuthAppWebhookPayload { """ The type of action that triggered the webhook. """ action: String! """ The time the payload was created. """ createdAt: DateTime! """ Id of the OAuth client that was revoked. """ oauthClientId: String! """ ID of the organization for which the webhook belongs to. """ organizationId: String! """ The type of resource. """ type: String! """ The ID of the webhook that sent this event. """ webhookId: String! """ Unix timestamp in milliseconds when the webhook was sent. """ webhookTimestamp: Float! } """ Payload for OAuth authorization webhook events. """ type OAuthAuthorizationWebhookPayload { """ The type of action that triggered the webhook. """ action: String! """ The number of currently active tokens for the user for this client. """ activeTokensForUser: Float! """ The time the payload was created. """ createdAt: DateTime! """ Details of the OAuth client the authorization belongs to. """ oauthClient: OauthClientChildWebhookPayload! """ ID of the OAuth client the authorization belongs to. """ oauthClientId: String! """ ID of the organization for which the webhook belongs to. """ organizationId: String! """ The type of resource. """ type: String! """ Details of the user that the authorization belongs to. """ user: UserChildWebhookPayload! """ ID of the user that the authorization belongs to. """ userId: String! """ The ID of the webhook that sent this event. """ webhookId: String! """ Unix timestamp in milliseconds when the webhook was sent. """ webhookTimestamp: Float! } """ The different requests statuses possible for an OAuth client approval request. """ enum OAuthClientApprovalStatus { approved denied requested } """ OAuth client actor payload for webhooks. """ type OauthClientActorWebhookPayload { """ The ID of the OAuth client. """ id: String! """ The name of the OAuth client. """ name: String! """ The type of actor. """ type: String! } """ A request to install an OAuth client application on a workspace, along with the admin's approval or denial response. When a user attempts to install an OAuth application that requires admin approval, an approval record is created. A workspace admin can then approve or deny the request, optionally providing a reason. The record also tracks any newly requested scopes that were added after the initial approval. """ type OauthClientApproval implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ An optional explanation from the admin for why the installation request was denied. """ denyReason: String """ The unique identifier of the entity. """ id: ID! """ Additional OAuth scopes requested after the initial approval. These scopes are not yet approved and require a separate admin decision. Null if no additional scopes have been requested. These scopes will never overlap with the already-approved scopes. """ newlyRequestedScopes: [String!] """ The identifier of the OAuth client application being requested for installation in this workspace. """ oauthClientId: String! """ An optional message from the requester explaining why they want to install the OAuth application. """ requestReason: String """ The identifier of the user who initiated the request to install the OAuth client application. """ requesterId: String! """ The identifier of the workspace admin who approved or denied the installation request. Null if the request has not yet been responded to. """ responderId: String """ The OAuth scopes that the application has been approved to use within this workspace (e.g., 'read', 'write', 'issues:create'). """ scopes: [String!]! """ The current status of the approval request: requested (pending admin review), approved, or denied. """ status: OAuthClientApprovalStatus! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ A notification related to an OAuth client approval request, sent to workspace admins when an application requests access. """ type OauthClientApprovalNotification implements Entity & Node & Notification { """ The user that caused the notification. Null if the notification was triggered by a non-user actor such as an integration, external user, or system event. """ actor: User """ [Internal] Notification actor initials if avatar is not available. """ actorAvatarColor: String! """ [Internal] Notification avatar URL. """ actorAvatarUrl: String """ [Internal] Notification actor initials if avatar is not available. """ actorInitials: String """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The bot that caused the notification. """ botActor: ActorBot """ The category of the notification. """ category: NotificationCategory! """ The time at which the entity was created. """ createdAt: DateTime! """ The time at which an email reminder for this notification was sent to the user. Null if no email reminder has been sent. """ emailedAt: DateTime """ The external user that caused the notification. Populated when the notification was triggered by an external user (e.g., a commenter from a connected integration like Slack or GitHub) rather than a Linear workspace member. """ externalUserActor: ExternalUser """ [Internal] Notifications with the same grouping key will be grouped together in the UI. """ groupingKey: String! """ [Internal] Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`. """ groupingPriority: Float! """ The unique identifier of the entity. """ id: ID! """ [Internal] Inbox URL for the notification. """ inboxUrl: String! """ [Internal] Initiative update health for new updates. """ initiativeUpdateHealth: String """ [Internal] If notification actor was Linear. """ isLinearActor: Boolean! """ [Internal] Issue's status type for issue notifications. """ issueStatusType: String """ The OAuth client approval request related to the notification. """ oauthClientApproval: OauthClientApproval! """ Related OAuth client approval request ID. """ oauthClientApprovalId: String! """ [Internal] Project update health for new updates. """ projectUpdateHealth: String """ The time at which the user marked the notification as read. Null if the notification is unread. """ readAt: DateTime """ The time until which a notification is snoozed. After this time, the notification reappears in the user's inbox. Null if the notification is not currently snoozed. """ snoozedUntilAt: DateTime """ [Internal] Notification subtitle. """ subtitle: String! """ [Internal] Notification title. """ title: String! """ Notification type. Determines the kind of event that triggered this notification and which associated entity fields will be populated. """ type: String! """ The time at which a notification was unsnoozed. Null if the notification has not been unsnoozed. """ unsnoozedAt: DateTime """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ [Internal] URL to the target of the notification. """ url: String! """ The recipient user of this notification. """ user: User! } """ Certain properties of an OAuth client. """ type OauthClientChildWebhookPayload { """ The ID of the OAuth client. """ id: String! """ The name of the OAuth client. """ name: String! } input OnboardingCustomerSurvey { companyRole: String companySize: String } input OpsgenieInput { """ The date when the Opsgenie API failed with an unauthorized error. """ apiFailedWithUnauthorizedErrorAt: DateTime } """ A workspace (referred to as Organization in the API). Workspaces are the root-level container for all teams, users, projects, issues, and settings. Every user belongs to at least one workspace, and all data is scoped within a workspace boundary. """ type Organization implements Node { """ [INTERNAL] Whether the workspace has enabled agent automation. """ agentAutomationEnabled: Boolean! """ [INTERNAL] Whether the workspace has enabled the AI add-on (which at this point only includes triage suggestions). """ aiAddonEnabled: Boolean! """ Whether the workspace has enabled AI discussion summaries for issues. """ aiDiscussionSummariesEnabled: Boolean! """ [INTERNAL] Configure per-modality AI host providers and model families. """ aiProviderConfiguration: JSONObject """ Whether the workspace has enabled resolved thread AI summaries. """ aiThreadSummariesEnabled: Boolean! """ [DEPRECATED] Whether member users are allowed to send invites. """ allowMembersToInvite: Boolean @deprecated(reason: "Use `securitySettings.invitationsRole` instead.") """ [INTERNAL] Permitted AI providers. """ allowedAiProviders: [String!]! @deprecated(reason: "Use aiProviderConfiguration instead.") """ Allowed authentication providers, empty array means all are allowed. """ allowedAuthServices: [String!]! @deprecated(reason: "Use authSettings.allowedAuthServices instead.") """ Allowed file upload content types """ allowedFileUploadContentTypes: [String!] """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ Authentication settings for the workspace, including allowed auth providers, bypass rules, and organization visibility during signup. """ authSettings: JSONObject! """ [INTERNAL] Whether code intelligence is enabled for the workspace. """ codeIntelligenceEnabled: Boolean! """ [INTERNAL] GitHub repository in owner/repo format for code intelligence. """ codeIntelligenceRepository: String """ [INTERNAL] Whether the workspace has enabled the Coding Agent. """ codingAgentEnabled: Boolean! """ [Internal] Settings for Coding Agent features. """ codingAgentSettings: JSONObject! """ The time at which the entity was created. """ createdAt: DateTime! """ Approximate total number of issues created in the workspace, including archived ones. This count is cached and may not reflect the exact real-time count. """ createdIssueCount: Int! """ The number of active (non-archived) customers tracked in the workspace. """ customerCount: Int! """ Configuration settings for the Customers feature, including revenue currency and other customer tracking preferences. """ customersConfiguration: JSONObject! """ Whether the Customers feature is enabled and accessible for the workspace based on the current plan. """ customersEnabled: Boolean! """ Default schedule for how often feed summaries are generated. """ defaultFeedSummarySchedule: FeedSummarySchedule """ The time at which deletion of the workspace was requested. Null if no deletion has been requested. """ deletionRequestedAt: DateTime """ [Internal] Facets associated with the workspace, used for configuring custom views and filters. """ facets: [Facet!]! """ Whether the activity feed feature is enabled for the workspace. """ feedEnabled: Boolean! """ The zero-indexed month at which the fiscal year starts (0 = January, 11 = December). Defaults to 0 (January). """ fiscalYearStartMonth: Float! """ [INTERNAL] Whether the workspace has enabled generated updates. """ generatedUpdatesEnabled: Boolean! """ The template format for Git branch names created from issues. Supports template variables like {issueIdentifier} and {issueTitle}. If null, the default formatting will be used. """ gitBranchFormat: String """ Whether issue descriptions should be included in the Git integration linkback messages posted to pull requests. """ gitLinkbackDescriptionsEnabled: Boolean! """ Whether the Git integration linkback messages should be posted as comments on pull requests in private repositories. """ gitLinkbackMessagesEnabled: Boolean! """ Whether the Git integration linkback messages should be posted as comments on pull requests in public repositories. """ gitPublicLinkbackMessagesEnabled: Boolean! """ Whether to hide other organizations for new users signing up with email domains claimed by this organization. """ hideNonPrimaryOrganizations: Boolean! @deprecated(reason: "Use authSettings.hideNonPrimaryOrganizations instead.") """ Whether HIPAA compliance is enabled for the workspace. When enabled, certain data processing features are restricted to meet compliance requirements. """ hipaaComplianceEnabled: Boolean! """ The unique identifier of the entity. """ id: ID! """ The frequency in weeks at which to prompt for initiative updates. When null, initiative update reminders are disabled. Valid values range from 0 to 8. """ initiativeUpdateReminderFrequencyInWeeks: Float """ The day of the week on which initiative update reminders are sent. """ initiativeUpdateRemindersDay: Day! """ The hour of the day (0-23) at which initiative update reminders are sent. """ initiativeUpdateRemindersHour: Float! """ Third-party integrations configured for the workspace (e.g., GitHub, Slack, Figma). """ integrations( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IntegrationConnection! """ IP restriction configurations. """ ipRestrictions: [OrganizationIpRestriction!] """ Workspace-level issue labels (not associated with any specific team). These labels are available across all teams in the workspace. """ labels( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issue labels. """ filter: IssueLabelFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueLabelConnection! """ [Internal] Whether the workspace has enabled Linear Agent. """ linearAgentEnabled: Boolean! """ [Internal] Settings for Linear Agent features. """ linearAgentSettings: JSONObject! """ The URL of the workspace's logo image. Null if no logo has been uploaded. """ logoUrl: String """ The workspace's name. """ name: String! """ Rolling 30-day total file upload volume for the workspace, measured in megabytes. Used for enforcing upload quotas. """ periodUploadVolume: Float! """ Previously used URL keys for the workspace. The last 3 are kept and automatically redirected to the current URL key. """ previousUrlKeys: [String!]! """ Project labels available in the workspace for categorizing projects. """ projectLabels( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned project labels. """ filter: ProjectLabelFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ProjectLabelConnection! """ The workspace's available project statuses, which define the lifecycle stages for projects. """ projectStatuses: [ProjectStatus!]! """ The frequency in weeks at which to prompt for project updates. When null, project update reminders are disabled. Valid values range from 0 to 8. """ projectUpdateReminderFrequencyInWeeks: Float """ The day of the week on which project update reminders are sent. """ projectUpdateRemindersDay: Day! """ The hour of the day (0-23) at which project update reminders are sent. """ projectUpdateRemindersHour: Float! """ [DEPRECATED] The frequency at which to prompt for project updates. """ projectUpdatesReminderFrequency: ProjectUpdateReminderFrequency! @deprecated(reason: "Use organization.projectUpdatesReminderFrequencyInWeeks instead") """ The feature release channel the workspace belongs to, which controls access to pre-release features. """ releaseChannel: ReleaseChannel! """ Whether release management is enabled for the workspace. """ releasesEnabled: Boolean! """ [Internal] Whether agent invocation is restricted to full workspace members. """ restrictAgentInvocationToMembers: Boolean """ [DEPRECATED] Whether workspace label creation, update, and deletion is restricted to admins. """ restrictLabelManagementToAdmins: Boolean @deprecated(reason: "Use `securitySettings.labelManagementRole` instead.") """ [DEPRECATED] Whether team creation is restricted to admins. """ restrictTeamCreationToAdmins: Boolean @deprecated(reason: "Use `securitySettings.teamCreationRole` instead.") """ Whether the roadmap feature is enabled for the workspace. """ roadmapEnabled: Boolean! """ Whether SAML-based single sign-on authentication is enabled for the workspace. """ samlEnabled: Boolean! """ [INTERNAL] SAML settings. """ samlSettings: JSONObject """ Whether SCIM provisioning is enabled for the workspace, allowing automated user and team management from an identity provider. """ scimEnabled: Boolean! """ [INTERNAL] SCIM settings. """ scimSettings: JSONObject """ Security settings for the workspace, including role-based restrictions for invitations, team creation, label management, and other sensitive operations. """ securitySettings: JSONObject! """ [DEPRECATED] Which day count to use for SLA calculations. """ slaDayCount: SLADayCountType! @deprecated(reason: "No longer in use") """ [Internal] Whether to automatically create a Slack channel when a new project is created. """ slackAutoCreateProjectChannel: Boolean! """ The Slack integration used for auto-creating project channels. """ slackProjectChannelIntegration: Integration """ The prefix used for auto-created Slack project channels. """ slackProjectChannelPrefix: String! """ [Internal] Whether the Slack project channels feature is enabled for the workspace. """ slackProjectChannelsEnabled: Boolean! """ The workspace's subscription to a paid plan. """ subscription: PaidSubscription """ Teams in the workspace. Returns only teams visible to the requesting user (all public teams plus private teams the user is a member of). """ teams( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned teams. """ filter: TeamFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): TeamConnection! """ Workspace-level templates (not associated with any specific team). These templates are available across all teams in the workspace. """ templates( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned templates. """ filter: NullableTemplateFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): TemplateConnection! """ [ALPHA] Theme settings for the workspace. """ themeSettings: JSONObject """ The time at which the current plan trial will end. Null if the workspace is not in a trial period. """ trialEndsAt: DateTime """ The time at which the current plan trial started. Null if the workspace is not in a trial period. """ trialStartsAt: DateTime """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The workspace's unique URL key, used in URLs to identify the workspace. """ urlKey: String! """ The number of active (non-deactivated) users in the workspace. """ userCount: Int! """ Users belonging to the workspace. By default only returns active users; use the includeDisabled argument to include deactivated users. """ users( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ Should query return disabled/suspended users (default: false). """ includeDisabled: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): UserConnection! """ [Internal] The list of working days. Sunday is 0, Monday is 1, etc. """ workingDays: [Float!]! } type OrganizationAcceptedOrExpiredInviteDetailsPayload { """ The status of the invite. """ status: OrganizationInviteStatus! } """ Input for updating workspace authentication settings. """ input OrganizationAuthSettingsInput { """ [Internal] The minimum role required for the auth service bypass exemption. """ allowedAuthServiceBypassRole: String """ Allowed authentication providers, empty array means all are allowed. """ allowedAuthServices: [String!] """ Whether to disable admin/owner auth service bypass. """ disableAuthServiceBypass: Boolean """ Whether to hide non-primary workspaces during signup for users with matching email domains. """ hideNonPrimaryOrganizations: Boolean } """ Workspace deletion cancellation response. """ type OrganizationCancelDeletePayload { """ Whether the operation was successful. """ success: Boolean! } """ [Internal] Input for updating Coding Agent settings for the workspace. """ input OrganizationCodingAgentSettingsInput { """ [Internal] The model preference used for Coding Agent sessions. """ model: String } """ Workspace deletion operation response. """ type OrganizationDeletePayload { """ Whether the operation was successful. """ success: Boolean! } """ A verified email domain associated with a workspace. Domains are used for automatic team joining, SSO/SAML authentication, and controlling workspace access. Each domain has an authentication type (general or SAML) and can be verified via email or DNS. """ type OrganizationDomain implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The authentication type this domain is used for. 'general' means standard email-based auth, 'saml' means SAML SSO authentication. """ authType: OrganizationDomainAuthType! """ Whether the domain was claimed by the workspace through DNS TXT record verification. Claimed domains provide stronger ownership proof than email verification and enable additional features like preventing users from creating new workspaces. """ claimed: Boolean """ The time at which the entity was created. """ createdAt: DateTime! """ The user who added the domain. """ creator: User """ Whether users with email addresses from this domain are prevented from creating new workspaces. Can only be set on claimed domains. """ disableOrganizationCreation: Boolean """ The unique identifier of the entity. """ id: ID! """ The identity provider the domain belongs to. """ identityProvider: IdentityProvider """ The domain name (e.g., 'example.com'). """ name: String! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The email address used to verify this domain. Null if the domain was verified via DNS or has not been verified. """ verificationEmail: String """ Whether the domain has been verified via email verification. """ verified: Boolean! } """ What type of auth is the domain used for. """ enum OrganizationDomainAuthType { general saml } """ [INTERNAL] Domain claim request response. """ type OrganizationDomainClaimPayload { """ String to put into DNS for verification. """ verificationString: String! } input OrganizationDomainCreateInput { """ The authentication type this domain is for. """ authType: String = "general" """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The identity provider to which to add the domain. """ identityProviderId: String """ The domain name to add. """ name: String! """ The email address to which to send the verification code. """ verificationEmail: String } """ [INTERNAL] Organization domain operation response. """ type OrganizationDomainPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The workspace domain that was created or updated. """ organizationDomain: OrganizationDomain! """ Whether the operation was successful. """ success: Boolean! } """ [INTERNAL] Organization domain operation response. """ type OrganizationDomainSimplePayload { """ Whether the operation was successful. """ success: Boolean! } input OrganizationDomainUpdateInput { """ Prevent users with this domain to create new workspaces. Only allowed to set on claimed domains! """ disableOrganizationCreation: Boolean } input OrganizationDomainVerificationInput { """ The identifier in UUID v4 format of the domain being verified. """ organizationDomainId: String! """ The verification code sent via email. """ verificationCode: String! } """ Response for checking whether a workspace exists. """ type OrganizationExistsPayload { """ Whether the organization exists. """ exists: Boolean! """ Whether the operation was successful. """ success: Boolean! } """ A pending invitation to join the workspace, sent via email. Invites specify the role the invitee will receive and can optionally include team assignments. Invites can expire and must be accepted by the invitee to grant workspace access. """ type OrganizationInvite implements Node { """ The time at which the invite was accepted by the invitee. Null if the invite is still pending. """ acceptedAt: DateTime """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The email address of the person being invited to the workspace. """ email: String! """ The time at which the invite will expire and can no longer be accepted. Null if the invite does not have an expiration date. """ expiresAt: DateTime """ Whether the invite was sent to an email address outside the workspace's verified domains. """ external: Boolean! """ The unique identifier of the entity. """ id: ID! """ The user who has accepted the invite. Null, if the invite hasn't been accepted. """ invitee: User """ The user who created the invitation. """ inviter: User! """ Extra metadata associated with the invite. """ metadata: JSONObject """ The workspace that the invite is associated with. """ organization: Organization! """ The workspace role (admin, member, guest, or owner) that the invitee will receive upon accepting the invite. """ role: UserRoleType! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } type OrganizationInviteConnection { edges: [OrganizationInviteEdge!]! nodes: [OrganizationInvite!]! pageInfo: PageInfo! } input OrganizationInviteCreateInput { """ The email of the invitee. """ email: String! """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ [INTERNAL] Optional metadata about the invite. """ metadata: JSONObject """ What user role the invite should grant. """ role: UserRoleType = user """ The teams that the user has been invited to. """ teamIds: [String!] } union OrganizationInviteDetailsPayload = | OrganizationAcceptedOrExpiredInviteDetailsPayload | OrganizationInviteFullDetailsPayload type OrganizationInviteEdge { """ Used in `before` and `after` args """ cursor: String! node: OrganizationInvite! } type OrganizationInviteFullDetailsPayload { """ Whether the invite has already been accepted. """ accepted: Boolean! """ Allowed authentication providers, empty array means all are allowed. """ allowedAuthServices: [String!]! """ When the invite was created. """ createdAt: DateTime! """ The email of the invitee. """ email: String! """ Whether the invite has expired. """ expired: Boolean! """ The name of the inviter. """ inviter: String! """ ID of the workspace the invite is for. """ organizationId: String! """ URL of the workspace logo the invite is for. """ organizationLogoUrl: String """ Name of the workspace the invite is for. """ organizationName: String! """ What user role the invite should grant. """ role: UserRoleType! """ The status of the invite. """ status: OrganizationInviteStatus! } """ Workspace invite operation response. """ type OrganizationInvitePayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The organization invite that was created or updated. """ organizationInvite: OrganizationInvite! """ Whether the operation was successful. """ success: Boolean! } """ The different statuses possible for an organization invite. """ enum OrganizationInviteStatus { accepted expired pending } input OrganizationInviteUpdateInput { """ The teams that the user has been invited to. """ teamIds: [String!]! } """ [INTERNAL] IP restriction rule for a workspace, defining allowed or blocked IP ranges. """ type OrganizationIpRestriction { """ Optional restriction description. """ description: String """ Whether the restriction is enabled. """ enabled: Boolean! """ IP range in CIDR format. """ range: String! """ Restriction type. """ type: String! } """ [INTERNAL] Organization IP restriction configuration. """ input OrganizationIpRestrictionInput { """ Optional restriction description. """ description: String """ Whether the restriction is enabled. """ enabled: Boolean! """ IP range in CIDR format. """ range: String! """ Restriction type. """ type: String! } """ [Internal] An MCP server URL entry for the Linear Agent allowlist. """ input OrganizationLinearAgentMcpServerAllowlistEntryInput { """ [Internal] Slug of the built-in MCP integration this entry was added from, if any. """ knownIntegrationKey: String """ [Internal] The MCP server URL that Linear Agent is allowed to use. """ url: String! } """ [Internal] Input for updating Linear Agent settings for the workspace. """ input OrganizationLinearAgentSettingsInput { """ [Internal] The MCP server allowlist for Linear Agent. When unset, all MCP servers are allowed. """ mcpServersAllowlist: [OrganizationLinearAgentMcpServerAllowlistEntryInput!] """ [Internal] Whether the workspace has enabled MCP servers for Linear Agent. """ mcpServersEnabled: Boolean """ [Internal] Whether the workspace has enabled web search for Linear Agent. """ webSearchEnabled: Boolean } """ [INTERNAL] Workspace metadata including region and allowed authentication providers. """ type OrganizationMeta { """ Allowed authentication providers, empty array means all are allowed. """ allowedAuthServices: [String!]! """ The region the workspace is hosted in. """ region: String! } """ Organization origin for guidance rules. """ type OrganizationOriginWebhookPayload { """ The type of origin, always 'Organization'. """ type: String! } """ Workspace update operation response. """ type OrganizationPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The workspace that was created or updated. """ organization: Organization """ Whether the operation was successful. """ success: Boolean! } """ Input for updating workspace security settings such as role-based access controls. """ input OrganizationSecuritySettingsInput { """ The minimum role required to manage agent guidance prompts and settings. """ agentGuidanceRole: UserRoleType """ The minimum role required to manage API settings. """ apiSettingsRole: UserRoleType """ The minimum role required to import data. """ importRole: UserRoleType """ The minimum role required to install and connect new integrations. """ integrationCreationRole: UserRoleType """ The minimum role required to invite users. """ invitationsRole: UserRoleType """ The minimum role required to manage workspace labels. """ labelManagementRole: UserRoleType """ The minimum role required to create personal API keys. """ personalApiKeysRole: UserRoleType """ The minimum role required to create teams. """ teamCreationRole: UserRoleType """ The minimum role required to manage workspace templates. """ templateManagementRole: UserRoleType } """ Input for starting a workspace trial on a specific plan. """ input OrganizationStartTrialInput { """ The plan type to trial. """ planType: String! } """ Workspace trial start response. """ type OrganizationStartTrialPayload { """ Whether the operation was successful. """ success: Boolean! } """ [Internal] Input for updating workspace theme settings. """ input OrganizationThemeSettingsInput { """ [ALPHA] Dark theme palette: CSS custom property name (`--name`) to color or length value. """ darkTheme: JSONObject """ [ALPHA] Light theme palette: CSS custom property name (`--name`) to color or length value. """ lightTheme: JSONObject } """ Input for updating the workspace. """ input OrganizationUpdateInput { """ [INTERNAL] Whether the workspace has enabled agent automation. """ agentAutomationEnabled: Boolean """ [INTERNAL] Whether the workspace has enabled the AI add-on. """ aiAddonEnabled: Boolean """ Whether the workspace has enabled AI discussion summaries for issues. """ aiDiscussionSummariesEnabled: Boolean """ [INTERNAL] Whether the workspace has opted in to AI telemetry. """ aiTelemetryEnabled: Boolean """ Whether the workspace has enabled resolved thread AI summaries. """ aiThreadSummariesEnabled: Boolean """ List of services that are allowed to be used for login. """ allowedAuthServices: [String!] """ Allowed file upload content types. """ allowedFileUploadContentTypes: [String!] """ The authentication settings for the workspace. """ authSettings: OrganizationAuthSettingsInput """ [INTERNAL] Whether code intelligence is enabled for the workspace. """ codeIntelligenceEnabled: Boolean """ [INTERNAL] GitHub repository in owner/repo format for code intelligence. """ codeIntelligenceRepository: String """ [INTERNAL] Whether the workspace has enabled the Coding Agent. """ codingAgentEnabled: Boolean """ [Internal] Settings for Coding Agent features. """ codingAgentSettings: OrganizationCodingAgentSettingsInput """ [INTERNAL] Configuration settings for the Customers feature. """ customersConfiguration: CustomersConfigurationInput """ [INTERNAL] Whether the workspace is using customers. """ customersEnabled: Boolean """ Default schedule for how often feed summaries are generated. """ defaultFeedSummarySchedule: FeedSummarySchedule """ Whether the workspace has enabled the feed feature. """ feedEnabled: Boolean """ The month at which the fiscal year starts. """ fiscalYearStartMonth: Float """ [INTERNAL] Whether the workspace has enabled generated updates. """ generatedUpdatesEnabled: Boolean """ How git branches are formatted. If null, default formatting will be used. """ gitBranchFormat: String """ Whether issue descriptions should be included in Git integration linkback messages. """ gitLinkbackDescriptionsEnabled: Boolean """ Whether the Git integration linkback messages should be sent for private repositories. """ gitLinkbackMessagesEnabled: Boolean """ Whether the Git integration linkback messages should be sent for public repositories. """ gitPublicLinkbackMessagesEnabled: Boolean """ Whether to hide other workspaces for new users signing up with email domains claimed by this organization. """ hideNonPrimaryOrganizations: Boolean """ Whether HIPAA compliance is enabled for the workspace. """ hipaaComplianceEnabled: Boolean """ [ALPHA] The n-weekly frequency at which to prompt for initiative updates. """ initiativeUpdateReminderFrequencyInWeeks: Float """ [ALPHA] The day at which initiative updates are sent. """ initiativeUpdateRemindersDay: Day """ [ALPHA] The hour at which initiative updates are sent. """ initiativeUpdateRemindersHour: Float """ IP restriction configurations controlling allowed access the workspace. """ ipRestrictions: [OrganizationIpRestrictionInput!] """ [Internal] Whether the workspace has enabled Linear Agent. """ linearAgentEnabled: Boolean """ [Internal] Settings for Linear Agent features. """ linearAgentSettings: OrganizationLinearAgentSettingsInput """ The logo URL of the workspace. """ logoUrl: String """ The name of the workspace. """ name: String """ Whether the workspace has opted for having to approve all OAuth applications for install. """ oauthAppReview: Boolean """ The n-weekly frequency at which to prompt for project updates. """ projectUpdateReminderFrequencyInWeeks: Float """ The day at which project updates are sent. """ projectUpdateRemindersDay: Day """ The hour at which project updates are sent. """ projectUpdateRemindersHour: Float """ Whether the workspace has opted for reduced customer support attachment information. """ reducedPersonalInformation: Boolean """ Whether agent invocation is restricted to full workspace members. """ restrictAgentInvocationToMembers: Boolean """ Whether the workspace is using roadmap. """ roadmapEnabled: Boolean """ The security settings for the workspace. """ securitySettings: OrganizationSecuritySettingsInput """ Internal. Whether SLAs have been enabled for the workspace. """ slaEnabled: Boolean """ [Internal] Whether to automatically create a Slack channel when a new project is created. """ slackAutoCreateProjectChannel: Boolean """ The ID of the Slack integration to use for auto-creating project channels. """ slackProjectChannelIntegrationId: String """ The prefix to use for auto-created Slack project channels (p-, proj-, or project-). """ slackProjectChannelPrefix: String """ [Internal] Whether the Slack project channels feature is enabled for the workspace. """ slackProjectChannelsEnabled: Boolean """ [ALPHA] Theme settings for the workspace. """ themeSettings: OrganizationThemeSettingsInput """ The URL key of the workspace. """ urlKey: String """ [Internal] The list of working days. Sunday is 0, Monday is 1, etc. """ workingDays: [Float!] } """ A generic type of notification. """ enum OtherNotificationType { customerAddedAsOwner customerNeedCreated customerNeedMarkedAsImportant customerNeedResolved documentCommentMention documentCommentReaction documentContentChange documentDeleted documentMention documentMoved documentNewComment documentReminder documentRestored documentSubscribed documentThreadResolved documentUnsubscribed feedSummaryGenerated initiativeAddedAsOwner initiativeCommentMention initiativeCommentReaction initiativeDescriptionContentChange initiativeMention initiativeNewComment initiativeReminder initiativeThreadResolved initiativeUpdateCommentMention initiativeUpdateCommentReaction initiativeUpdateCreated initiativeUpdateMention initiativeUpdateNewComment initiativeUpdatePrompt initiativeUpdateReaction issueAddedToTriage issueAddedToView issueBlocking issueCreated issueDue issuePriorityUrgent issueReminder issueReopened issueSlaBreached issueSlaHighRisk issueStatusChangedAll issueSubscribed issueThreadResolved issueUnblocked issueUnsubscribed oauthClientApprovalCreated projectAddedAsLead projectAddedAsMember projectCommentMention projectCommentReaction projectDescriptionContentChange projectMention projectMilestoneCommentMention projectMilestoneCommentReaction projectMilestoneDescriptionContentChange projectMilestoneMention projectMilestoneNewComment projectMilestoneThreadResolved projectNewComment projectReminder projectThreadResolved projectUpdateCommentMention projectUpdateCommentReaction projectUpdateCreated projectUpdateMention projectUpdateNewComment projectUpdatePrompt projectUpdateReaction pullRequestApproved pullRequestChangesRequested pullRequestChecksFailed pullRequestCommentMention pullRequestCommented pullRequestMention pullRequestRemovedFromMergeQueue pullRequestReviewRequested pullRequestReviewRerequested system teamUpdateCommentMention teamUpdateCommentReaction teamUpdateCreated teamUpdateMention teamUpdateNewComment teamUpdateReaction triageResponsibilityIssueAddedToTriage } """ Generic notification payload. """ type OtherNotificationWebhookPayload { """ The actor who caused the notification. """ actor: UserChildWebhookPayload """ The ID of the actor who caused the notification. """ actorId: String """ The time at which the entity was archived. """ archivedAt: String """ The comment this notification belongs to. """ comment: CommentChildWebhookPayload """ The ID of the comment this notification belongs to. """ commentId: String """ The time at which the entity was created. """ createdAt: String! """ The document this notification belongs to. """ document: DocumentChildWebhookPayload """ The ID of the document this notification belongs to. """ documentId: String """ The ID of the external user who caused the notification. """ externalUserActorId: String """ The ID of the entity. """ id: String! """ The issue this notification belongs to. """ issue: IssueWithDescriptionChildWebhookPayload """ The ID of the issue this notification belongs to. """ issueId: String """ The parent comment this notification belongs to. """ parentComment: CommentChildWebhookPayload """ The ID of the parent comment this notification belongs to. """ parentCommentId: String """ The project this notification belongs to. """ project: ProjectChildWebhookPayload """ The ID of the project this notification belongs to. """ projectId: String """ The project update this notification belongs to. """ projectUpdate: ProjectUpdateChildWebhookPayload """ The ID of the project update this notification belongs to. """ projectUpdateId: String """ The emoji of the reaction this notification is for. """ reactionEmoji: String """ The type of the notification. """ type: OtherNotificationType! """ The time at which the entity was updated. """ updatedAt: String! """ The ID of the user who received the notification. """ userId: String! } """ Customer owner sorting options. """ input OwnerSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } type PageInfo { """ Cursor representing the last result in the paginated results. """ endCursor: String """ Indicates if there are more results when paginating forward. """ hasNextPage: Boolean! """ Indicates if there are more results when paginating backward. """ hasPreviousPage: Boolean! """ Cursor representing the first result in the paginated results. """ startCursor: String } input PagerDutyInput { """ The date when the PagerDuty API failed with an unauthorized error. """ apiFailedWithUnauthorizedErrorAt: DateTime } """ How to treat NULL values, whether they should appear first or last """ enum PaginationNulls { first last } """ By which field should the pagination order by """ enum PaginationOrderBy { createdAt updatedAt } """ Whether to sort in ascending or descending order """ enum PaginationSortOrder { Ascending Descending } """ The billing subscription of a workspace. Represents an active paid plan (e.g., Basic, Business, Enterprise) backed by a Stripe subscription. If a workspace has no Subscription record, it is on the free plan. Only one active subscription per workspace is expected. """ type PaidSubscription implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The date the subscription is scheduled to be canceled in the future. Null if no cancellation is scheduled. The subscription remains active until this date. """ cancelAt: DateTime """ The date the subscription was canceled. Null if the subscription has not been canceled. """ canceledAt: DateTime """ The billing collection method for this subscription. 'automatic' means the payment method on file is charged automatically. 'send_invoice' means invoices are sent to the billing email for manual payment. """ collectionMethod: String! """ The time at which the entity was created. """ createdAt: DateTime! """ The user who initially created (purchased) the subscription. Null if the creator has been removed from the workspace. """ creator: User """ The unique identifier of the entity. """ id: ID! """ The date the subscription will be billed next. Null if the subscription is canceled or has no upcoming billing date. """ nextBillingAt: DateTime """ The workspace that the subscription is associated with. """ organization: Organization! """ The subscription plan type that the workspace is scheduled to change to at the next billing cycle. Null if no plan change is pending. """ pendingChangeType: String """ The number of seats (active members) in the subscription. This is the raw count before applying minimum and maximum seat limits. """ seats: Float! """ The maximum number of seats that will be billed in the subscription. The billed seat count will never exceed this value even if actual member count is higher. Null if no maximum is enforced. """ seatsMaximum: Float """ The minimum number of seats that will be billed in the subscription. The billed seat count will never go below this value even if actual member count is lower. Null if no minimum is enforced. """ seatsMinimum: Float """ The subscription plan type (e.g., basic, business, enterprise). Determines the feature set and pricing tier for the workspace. """ type: String! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } input PartialNotificationChannelPreferencesInput { """ Whether notifications are currently enabled for desktop. """ desktop: Boolean """ Whether notifications are currently enabled for email. """ email: Boolean """ Whether notifications are currently enabled for mobile. """ mobile: Boolean """ Whether notifications are currently enabled for Slack. """ slack: Boolean } type PasskeyLoginStartResponse { """ The passkey authentication options to pass to the WebAuthn API. """ options: JSONObject! """ Whether the operation was successful. """ success: Boolean! } """ [Internal] A post or announcement in a team or user feed. Posts can be manually authored by users or AI-generated summaries of team activity. They support rich text content (ProseMirror), emoji reactions, threaded comments, and audio summaries. Posts are associated with either a team or a user, but not both. """ type Post implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The post content summarized for audio text-to-speech consumption. Null if no audio summary has been generated. """ audioSummary: String """ The post content in markdown format. """ body: String! """ [Internal] The content of the post as a ProseMirror document. This is the canonical rich-text representation of the post body. """ bodyData: String! """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the post. Null for system-generated posts. """ creator: User """ The time the post was last edited. Null if the post has not been edited since creation. """ editedAt: DateTime """ The evaluation log ID of the AI response that generated this post. Null for non-AI-generated posts. """ evalLogId: String """ The feed summary schedule cadence that was active when this post was created. Null for non-summary posts. """ feedSummaryScheduleAtCreate: FeedSummarySchedule """ The unique identifier of the entity. """ id: ID! """ Emoji reaction summary for this post, grouped by emoji type. Each entry contains the emoji name, count, and the IDs of users who reacted. """ reactionData: JSONObject! """ The post's unique URL slug, used to construct human-readable URLs. """ slugId: String! """ The team that the post is scoped to, for team-level feed posts. Null for user-scoped posts. """ team: Team """ The post's title. Null or empty for posts that do not have a title. """ title: String """ A URL of the text-to-speech audio rendering of the post body. Null if no audio has been generated. """ ttlUrl: String """ The type of the post, such as 'summary' for AI-generated feed summaries. Null for standard user-authored posts. """ type: PostType """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user that the post is scoped to, for user-level feed posts. Null for team-scoped posts. """ user: User """ [Internal] The structured data used to compose an AI-generated written summary post, including section content and source references. """ writtenSummaryData: JSONObject } """ A notification related to a post, such as new comments or reactions. """ type PostNotification implements Entity & Node & Notification { """ The user that caused the notification. Null if the notification was triggered by a non-user actor such as an integration, external user, or system event. """ actor: User """ [Internal] Notification actor initials if avatar is not available. """ actorAvatarColor: String! """ [Internal] Notification avatar URL. """ actorAvatarUrl: String """ [Internal] Notification actor initials if avatar is not available. """ actorInitials: String """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The bot that caused the notification. """ botActor: ActorBot """ The category of the notification. """ category: NotificationCategory! """ Related comment ID. Null if the notification is not related to a comment. """ commentId: String """ The time at which the entity was created. """ createdAt: DateTime! """ The time at which an email reminder for this notification was sent to the user. Null if no email reminder has been sent. """ emailedAt: DateTime """ The external user that caused the notification. Populated when the notification was triggered by an external user (e.g., a commenter from a connected integration like Slack or GitHub) rather than a Linear workspace member. """ externalUserActor: ExternalUser """ [Internal] Notifications with the same grouping key will be grouped together in the UI. """ groupingKey: String! """ [Internal] Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`. """ groupingPriority: Float! """ The unique identifier of the entity. """ id: ID! """ [Internal] Inbox URL for the notification. """ inboxUrl: String! """ [Internal] Initiative update health for new updates. """ initiativeUpdateHealth: String """ [Internal] If notification actor was Linear. """ isLinearActor: Boolean! """ [Internal] Issue's status type for issue notifications. """ issueStatusType: String """ Related parent comment ID. Null if the notification is not related to a comment. """ parentCommentId: String """ Related post ID. """ postId: String! """ [Internal] Project update health for new updates. """ projectUpdateHealth: String """ Name of the reaction emoji related to the notification. """ reactionEmoji: String """ The time at which the user marked the notification as read. Null if the notification is unread. """ readAt: DateTime """ The time until which a notification is snoozed. After this time, the notification reappears in the user's inbox. Null if the notification is not currently snoozed. """ snoozedUntilAt: DateTime """ [Internal] Notification subtitle. """ subtitle: String! """ [Internal] Notification title. """ title: String! """ Notification type. Determines the kind of event that triggered this notification and which associated entity fields will be populated. """ type: String! """ The time at which a notification was unsnoozed. Null if the notification has not been unsnoozed. """ unsnoozedAt: DateTime """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ [Internal] URL to the target of the notification. """ url: String! """ The recipient user of this notification. """ user: User! } """ Type of Post """ enum PostType { summary update } """ Issue priority sorting options. """ input PrioritySort { """ Whether to consider no priority as the highest or lowest priority """ noPriorityFirst: Boolean = false """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ [Internal] The scope of product intelligence suggestion data for a team. """ enum ProductIntelligenceScope { none team teamHierarchy workspace } """ A project is a collection of issues working toward a shared goal. Projects have start and target dates, milestones, status tracking, and progress metrics. They can span multiple teams and be grouped under initiatives. """ type Project implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ Attachments associated with the project. """ attachments( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ProjectAttachmentConnection! """ The time at which the project was automatically archived by the auto-pruning process. Null if the project has not been auto-archived. """ autoArchivedAt: DateTime """ The time at which the project was moved into a canceled status. Null if the project has not been canceled. """ canceledAt: DateTime """ The project's color as a HEX string. Used in the UI to visually identify the project. """ color: String! """ Comments associated with the project overview. """ comments( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned comments. """ filter: CommentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): CommentConnection! """ The time at which the project was moved into a completed status. Null if the project has not been completed. """ completedAt: DateTime """ The number of completed issues in the project at the end of each week since project creation. Each entry represents one week. """ completedIssueCountHistory: [Float!]! """ The number of completed estimation points at the end of each week since project creation. Each entry represents one week. """ completedScopeHistory: [Float!]! """ The project's content in markdown format. """ content: String """ [Internal] The project's content as YJS state. """ contentState: String """ The issue that was converted into this project. Null if the project was not created from an issue. """ convertedFromIssue: Issue """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the project. """ creator: User """ [INTERNAL] The current progress of the project, broken down by issue status category. """ currentProgress: JSONObject! """ The short description of the project. """ description: String! """ The content of the project description. """ documentContent: DocumentContent """ Documents associated with the project. """ documents( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned documents. """ filter: DocumentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): DocumentConnection! """ External links associated with the project. """ externalLinks( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): EntityExternalLinkConnection! """ [Internal] Facets associated with the project, used for filtering and categorization. """ facets: [Facet!]! """ The user's favorite associated with this project. """ favorite: Favorite """ The resolution of the reminder frequency. """ frequencyResolution: FrequencyResolutionType! """ The overall health of the project, derived from the most recent project update. Possible values are onTrack, atRisk, or offTrack. Null if no health has been reported. """ health: ProjectUpdateHealthType """ The time at which the project health was last updated, typically when a new project update is posted. Null if health has never been set. """ healthUpdatedAt: DateTime """ History entries associated with the project. """ history( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ProjectHistoryConnection! """ The icon of the project. Can be an emoji or a decorative icon type. """ icon: String """ The unique identifier of the entity. """ id: ID! """ The number of in-progress estimation points at the end of each week since project creation. Each entry represents one week. """ inProgressScopeHistory: [Float!]! """ Associations of this project to parent initiatives. """ initiativeToProjects( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): InitiativeToProjectConnection! """ Initiatives that this project belongs to. """ initiatives( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): InitiativeConnection! """ Settings for all integrations associated with that project. """ integrationsSettings: IntegrationsSettings """ Inverse relations associated with this project. """ inverseRelations( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ProjectRelationConnection! """ The total number of issues in the project at the end of each week since project creation. Each entry represents one week. """ issueCountHistory: [Float!]! """ Issues associated with the project. """ issues( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issues. """ filter: IssueFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueConnection! """ The IDs of the project labels associated with this project. """ labelIds: [String!]! """ Labels associated with this project. """ labels( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned project labels. """ filter: ProjectLabelFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ProjectLabelConnection! """ The last template that was applied to this project. """ lastAppliedTemplate: Template """ The most recent status update posted for this project. Null if no updates have been posted. """ lastUpdate: ProjectUpdate """ The user who leads the project. The project lead is typically responsible for posting status updates and driving the project to completion. Null if no lead is assigned. """ lead: User """ Users that are members of the project. """ members( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned users. """ filter: UserFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ Should query return disabled/suspended users (default: false). """ includeDisabled: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): UserConnection! """ The ID of the Microsoft Teams channel connected to the project, if any. """ microsoftTeamsChannelId: String """ The name of the project. """ name: String! """ Customer needs associated with the project. """ needs( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned needs. """ filter: CustomerNeedFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): CustomerNeedConnection! """ The priority of the project. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low. """ priority: Int! """ The priority of the project as a label. """ priorityLabel: String! """ The sort order for the project within the workspace when ordered by priority. """ prioritySortOrder: Float! """ The overall progress of the project. This is the (completed estimate points + 0.25 * in progress estimate points) / total estimate points. """ progress: Float! """ [INTERNAL] The progress history of the project, tracking issue completion over time. """ progressHistory: JSONObject! """ Milestones associated with the project. """ projectMilestones( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned milestones. """ filter: ProjectMilestoneFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ProjectMilestoneConnection! """ The time until which project update reminders are paused. When set, no update reminders will be sent for this project until this date passes. Null means reminders are active. """ projectUpdateRemindersPausedUntilAt: DateTime """ Project updates associated with the project. """ projectUpdates( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ProjectUpdateConnection! """ Relations associated with this project. """ relations( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ProjectRelationConnection! """ The overall scope (total estimate points) of the project. """ scope: Float! """ The total scope (estimation points) of the project at the end of each week since project creation. Each entry represents one week. """ scopeHistory: [Float!]! """ The ID of the Slack channel connected to the project, if any. """ slackChannelId: String """ Whether to send new issue comment notifications to Slack. """ slackIssueComments: Boolean! @deprecated(reason: "No longer in use") """ Whether to send new issue status updates to Slack. """ slackIssueStatuses: Boolean! @deprecated(reason: "No longer is use") """ Whether to send new issue notifications to Slack. """ slackNewIssue: Boolean! @deprecated(reason: "No longer in use") """ The project's unique URL slug, used to construct human-readable URLs. """ slugId: String! """ The sort order for the project within the workspace. Used for manual ordering in list views. """ sortOrder: Float! """ The estimated start date of the project. Null if no start date is set. """ startDate: TimelessDate """ The resolution of the project's start date, indicating whether it refers to a specific month, quarter, half-year, or year. """ startDateResolution: DateResolutionType """ The time at which the project was moved into a started status. Null if the project has not been started. """ startedAt: DateTime """ [DEPRECATED] The type of the state. """ state: String! @deprecated(reason: "Use project.status instead") """ The current project status. Defines the project's position in its lifecycle (e.g., backlog, planned, started, paused, completed, canceled). """ status: ProjectStatus! """ The external services the project is synced with. """ syncedWith: [ExternalEntityInfo!] """ The estimated completion date of the project. Null if no target date is set. """ targetDate: TimelessDate """ The resolution of the project's estimated completion date, indicating whether it refers to a specific month, quarter, half-year, or year. """ targetDateResolution: DateResolutionType """ Teams associated with this project. """ teams( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned teams. """ filter: TeamFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): TeamConnection! """ A flag that indicates whether the project is in the trash bin. """ trashed: Boolean """ The frequency at which to prompt for updates. When not set, reminders are inherited from workspace. """ updateReminderFrequency: Float """ The n-weekly frequency at which to prompt for updates. When not set, reminders are inherited from workspace. """ updateReminderFrequencyInWeeks: Float """ The day at which to prompt for updates. """ updateRemindersDay: Day """ The hour at which to prompt for updates. """ updateRemindersHour: Float """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ Project URL. """ url: String! } """ A generic payload return from entity archive mutations. """ type ProjectArchivePayload implements ArchivePayload { """ The archived/unarchived entity. Null if entity was deleted. """ entity: Project """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ An attachment (link, reference, or integration data) associated with a project. Attachments are typically created by integrations and contain metadata for rendering in the client. """ type ProjectAttachment implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The creator of the attachment. """ creator: User """ The unique identifier of the entity. """ id: ID! """ Custom metadata related to the attachment. Contains user-facing content such as conversation messages or rendered attributes from integrations. """ metadata: JSONObject! """ Metadata about the external source which created the attachment, including foreign identifiers used for syncing with external services. Null if the attachment was not created by an integration. """ source: JSONObject """ The source type of the attachment, derived from the source metadata. Returns the integration type that created the attachment (e.g., 'slack', 'github'), or null if not set. """ sourceType: String """ Optional subtitle of the attachment, providing additional context below the title. """ subtitle: String """ Title of the attachment. """ title: String! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ URL of the attachment. """ url: String! } type ProjectAttachmentConnection { edges: [ProjectAttachmentEdge!]! nodes: [ProjectAttachment!]! pageInfo: PageInfo! } type ProjectAttachmentEdge { """ Used in `before` and `after` args """ cursor: String! node: ProjectAttachment! } """ Certain properties of a project. """ type ProjectChildWebhookPayload { """ The ID of the project. """ id: String! """ The name of the project. """ name: String! """ The URL of the project. """ url: String! } """ Project filtering options. """ input ProjectCollectionFilter { """ Filters that the project's team must satisfy. """ accessibleTeams: TeamCollectionFilter """ [ALPHA] Comparator for the project activity type: buzzin, active, some, none """ activityType: StringComparator """ Compound filters, all of which need to be matched by the project. """ and: [ProjectCollectionFilter!] """ Comparator for the project cancelation date. """ canceledAt: NullableDateComparator """ Comparator for the project completion date. """ completedAt: NullableDateComparator """ Filters that the project's completed milestones must satisfy. """ completedProjectMilestones: ProjectMilestoneCollectionFilter """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the projects creator must satisfy. """ creator: UserFilter """ Count of customers """ customerCount: NumberComparator """ Count of important customers """ customerImportantCount: NumberComparator """ Filters that needs to be matched by all projects. """ every: ProjectFilter """ Comparator for filtering projects which are blocked. """ hasBlockedByRelations: RelationExistsComparator """ Comparator for filtering projects which are blocking. """ hasBlockingRelations: RelationExistsComparator """ [Deprecated] Comparator for filtering projects which this is depended on by. """ hasDependedOnByRelations: RelationExistsComparator """ [Deprecated]Comparator for filtering projects which this depends on. """ hasDependsOnRelations: RelationExistsComparator """ Comparator for filtering projects with relations. """ hasRelatedRelations: RelationExistsComparator """ Comparator for filtering projects with violated dependencies. """ hasViolatedRelations: RelationExistsComparator """ Comparator for the project health: onTrack, atRisk, offTrack """ health: StringComparator """ Comparator for the project health (with age): onTrack, atRisk, offTrack, outdated, noUpdate """ healthWithAge: StringComparator """ Comparator for the identifier. """ id: IDComparator """ Filters that the projects initiatives must satisfy. """ initiatives: InitiativeCollectionFilter """ Filters that the projects issues must satisfy. """ issues: IssueCollectionFilter """ Filters that project labels must satisfy. """ labels: ProjectLabelCollectionFilter """ Filters that the last applied template must satisfy. """ lastAppliedTemplate: NullableTemplateFilter """ Filters that the projects lead must satisfy. """ lead: NullableUserFilter """ Comparator for the collection length. """ length: NumberComparator """ Filters that the projects members must satisfy. """ members: UserCollectionFilter """ Comparator for the project name. """ name: StringComparator """ Filters that the project's customer needs must satisfy. """ needs: CustomerNeedCollectionFilter """ Filters that the project's next milestone must satisfy. """ nextProjectMilestone: ProjectMilestoneFilter """ Compound filters, one of which need to be matched by the project. """ or: [ProjectCollectionFilter!] """ Comparator for the projects priority. """ priority: NullableNumberComparator """ Filters that the project's milestones must satisfy. """ projectMilestones: ProjectMilestoneCollectionFilter """ Comparator for the project updates. """ projectUpdates: ProjectUpdatesCollectionFilter """ Filters that the projects roadmaps must satisfy. """ roadmaps: RoadmapCollectionFilter """ [Internal] Comparator for the project's content. """ searchableContent: ContentComparator """ Comparator for the project slug ID. """ slugId: StringComparator """ Filters that needs to be matched by some projects. """ some: ProjectFilter """ Comparator for the project start date. """ startDate: NullableDateComparator """ Comparator for the project started date (when it was moved to an "In Progress" status). """ startedAt: NullableDateComparator """ [DEPRECATED] Comparator for the project state. """ state: StringComparator """ Filters that the project's status must satisfy. """ status: ProjectStatusFilter """ Comparator for the project target date. """ targetDate: NullableDateComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } type ProjectConnection { edges: [ProjectEdge!]! nodes: [Project!]! pageInfo: PageInfo! } """ Input for creating a new project. A name and at least one team are required. All other fields are optional and will use defaults if not specified. """ input ProjectCreateInput { """ The color of the project. """ color: String """ The project content as markdown. """ content: String """ The ID of the issue that was converted into this project. """ convertedFromIssueId: String """ The description for the project. """ description: String """ The icon of the project. """ icon: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The identifiers of the project labels associated with this project. """ labelIds: [String!] """ The ID of the last template applied to the project. """ lastAppliedTemplateId: String """ The identifier of the project lead. """ leadId: String """ The identifiers of the members of this project. """ memberIds: [String!] """ The name of the project. """ name: String! """ The priority of the project. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low. """ priority: Int """ The sort order for the project within shared views, when ordered by priority. """ prioritySortOrder: Float """ The sort order for the project within shared views. """ sortOrder: Float """ The planned start date of the project. """ startDate: TimelessDate """ The resolution of the project's start date. """ startDateResolution: DateResolutionType """ The ID of the project status. """ statusId: String """ The planned target date of the project. """ targetDate: TimelessDate """ The resolution of the project's estimated completion date. """ targetDateResolution: DateResolutionType """ The identifiers of the teams this project is associated with. """ teamIds: [String!]! """ The ID of a project template to apply when creating the project. Overrides useDefaultTemplate if both are provided. """ templateId: String """ When set to true, the default project template of the first team provided will be applied. If templateId is provided, this will be ignored. """ useDefaultTemplate: Boolean } """ Project creation date sorting options. """ input ProjectCreatedAtSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } type ProjectEdge { """ Used in `before` and `after` args """ cursor: String! node: Project! } """ Project filtering options. """ input ProjectFilter { """ Filters that the project's team must satisfy. """ accessibleTeams: TeamCollectionFilter """ [ALPHA] Comparator for the project activity type: buzzin, active, some, none """ activityType: StringComparator """ Compound filters, all of which need to be matched by the project. """ and: [ProjectFilter!] """ Comparator for the project cancelation date. """ canceledAt: NullableDateComparator """ Comparator for the project completion date. """ completedAt: NullableDateComparator """ Filters that the project's completed milestones must satisfy. """ completedProjectMilestones: ProjectMilestoneCollectionFilter """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the projects creator must satisfy. """ creator: UserFilter """ Count of customers """ customerCount: NumberComparator """ Count of important customers """ customerImportantCount: NumberComparator """ Comparator for filtering projects which are blocked. """ hasBlockedByRelations: RelationExistsComparator """ Comparator for filtering projects which are blocking. """ hasBlockingRelations: RelationExistsComparator """ [Deprecated] Comparator for filtering projects which this is depended on by. """ hasDependedOnByRelations: RelationExistsComparator """ [Deprecated]Comparator for filtering projects which this depends on. """ hasDependsOnRelations: RelationExistsComparator """ Comparator for filtering projects with relations. """ hasRelatedRelations: RelationExistsComparator """ Comparator for filtering projects with violated dependencies. """ hasViolatedRelations: RelationExistsComparator """ Comparator for the project health: onTrack, atRisk, offTrack """ health: StringComparator """ Comparator for the project health (with age): onTrack, atRisk, offTrack, outdated, noUpdate """ healthWithAge: StringComparator """ Comparator for the identifier. """ id: IDComparator """ Filters that the projects initiatives must satisfy. """ initiatives: InitiativeCollectionFilter """ Filters that the projects issues must satisfy. """ issues: IssueCollectionFilter """ Filters that project labels must satisfy. """ labels: ProjectLabelCollectionFilter """ Filters that the last applied template must satisfy. """ lastAppliedTemplate: NullableTemplateFilter """ Filters that the projects lead must satisfy. """ lead: NullableUserFilter """ Filters that the projects members must satisfy. """ members: UserCollectionFilter """ Comparator for the project name. """ name: StringComparator """ Filters that the project's customer needs must satisfy. """ needs: CustomerNeedCollectionFilter """ Filters that the project's next milestone must satisfy. """ nextProjectMilestone: ProjectMilestoneFilter """ Compound filters, one of which need to be matched by the project. """ or: [ProjectFilter!] """ Comparator for the projects priority. """ priority: NullableNumberComparator """ Filters that the project's milestones must satisfy. """ projectMilestones: ProjectMilestoneCollectionFilter """ Comparator for the project updates. """ projectUpdates: ProjectUpdatesCollectionFilter """ Filters that the projects roadmaps must satisfy. """ roadmaps: RoadmapCollectionFilter """ [Internal] Comparator for the project's content. """ searchableContent: ContentComparator """ Comparator for the project slug ID. """ slugId: StringComparator """ Comparator for the project start date. """ startDate: NullableDateComparator """ Comparator for the project started date (when it was moved to an "In Progress" status). """ startedAt: NullableDateComparator """ [DEPRECATED] Comparator for the project state. """ state: StringComparator """ Filters that the project's status must satisfy. """ status: ProjectStatusFilter """ Comparator for the project target date. """ targetDate: NullableDateComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ The result of a project filter suggestion query. """ type ProjectFilterSuggestionPayload { """ The json filter that is suggested. """ filter: JSONObject """ The log id of the prompt, that created this filter. """ logId: String } """ Project health sorting options. """ input ProjectHealthSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ A history record associated with a project. Tracks changes to project properties, status, members, teams, milestones, labels, and relationships over time. """ type ProjectHistory implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The events that happened while recording that history. """ entries: JSONObject! """ The unique identifier of the entity. """ id: ID! """ The project that this history record belongs to. """ project: Project! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } type ProjectHistoryConnection { edges: [ProjectHistoryEdge!]! nodes: [ProjectHistory!]! pageInfo: PageInfo! } type ProjectHistoryEdge { """ Used in `before` and `after` args """ cursor: String! node: ProjectHistory! } """ A label that can be applied to projects for categorization. Project labels are workspace-level and can be organized into groups with a parent-child hierarchy. Only child labels (not group labels) can be directly applied to projects. """ type ProjectLabel implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ Children of the label. """ children( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned project labels. """ filter: ProjectLabelFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ProjectLabelConnection! """ The label's color as a HEX string (e.g., '#EB5757'). Used for visual identification of the label in the UI. """ color: String! """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the label. """ creator: User """ The label's description. """ description: String """ The unique identifier of the entity. """ id: ID! """ Whether the label is a group. When true, this label acts as a container for child labels and cannot be directly applied to issues or projects. When false, the label can be directly applied. """ isGroup: Boolean! """ The date when the label was last applied to an issue, project, or initiative. Null if the label has never been applied. """ lastAppliedAt: DateTime """ The label's name. """ name: String! """ The workspace that the project label belongs to. """ organization: Organization! """ The parent label group. If set, this label is a child within a group. Only one child label from each group can be applied to a project at a time. """ parent: ProjectLabel """ Projects associated with the label. """ projects( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned projects. """ filter: ProjectFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy """ [INTERNAL] Sort returned projects. """ sort: [ProjectSortInput!] ): ProjectConnection! """ [Internal] When the label was retired. """ retiredAt: DateTime """ The user who retired the label. Retired labels cannot be applied to new projects but remain on existing ones. Null if the label is active. """ retiredBy: User """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ Certain properties of a project label. """ type ProjectLabelChildWebhookPayload { """ The color of the project label. """ color: String! """ The ID of the project label. """ id: String! """ The name of the project label. """ name: String! """ The parent ID of the project label. """ parentId: String } """ Project label filtering options. """ input ProjectLabelCollectionFilter { """ Compound filters, all of which need to be matched by the label. """ and: [ProjectLabelCollectionFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the project labels creator must satisfy. """ creator: NullableUserFilter """ Filters that needs to be matched by all project labels. """ every: ProjectLabelFilter """ Comparator for the identifier. """ id: IDComparator """ Comparator for whether the label is a group label. """ isGroup: BooleanComparator """ Comparator for the collection length. """ length: NumberComparator """ Comparator for the name. """ name: StringComparator """ Filter based on the existence of the relation. """ null: Boolean """ Compound filters, one of which need to be matched by the label. """ or: [ProjectLabelCollectionFilter!] """ Filters that the project label's parent label must satisfy. """ parent: ProjectLabelFilter """ Filters that needs to be matched by some project labels. """ some: ProjectLabelCollectionFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } type ProjectLabelConnection { edges: [ProjectLabelEdge!]! nodes: [ProjectLabel!]! pageInfo: PageInfo! } """ Input for creating a new project label. A name is required. The label is created as a workspace-level label available to all projects. """ input ProjectLabelCreateInput { """ The color of the label. """ color: String """ The description of the label. """ description: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ Whether the label is a group. """ isGroup: Boolean """ The name of the label. """ name: String! """ The identifier of the parent label. """ parentId: String """ The time at which the label was retired. Set to null to restore a retired label. """ retiredAt: DateTime } type ProjectLabelEdge { """ Used in `before` and `after` args """ cursor: String! node: ProjectLabel! } """ Project label filtering options. """ input ProjectLabelFilter { """ Compound filters, all of which need to be matched by the label. """ and: [ProjectLabelFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the project labels creator must satisfy. """ creator: NullableUserFilter """ Comparator for the identifier. """ id: IDComparator """ Comparator for whether the label is a group label. """ isGroup: BooleanComparator """ Comparator for the name. """ name: StringComparator """ Compound filters, one of which need to be matched by the label. """ or: [ProjectLabelFilter!] """ Filters that the project label's parent label must satisfy. """ parent: ProjectLabelFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } """ The result of a project label mutation. """ type ProjectLabelPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The label that was created or updated. """ projectLabel: ProjectLabel! """ Whether the operation was successful. """ success: Boolean! } """ Input for updating an existing project label. All fields are optional; only provided fields will be updated. """ input ProjectLabelUpdateInput { """ The color of the label. """ color: String """ The description of the label. """ description: String """ Whether the label is a group. """ isGroup: Boolean """ The name of the label. """ name: String """ The identifier of the parent label. """ parentId: String """ The time at which the label was retired. Set to null to restore a retired label. """ retiredAt: DateTime } """ Payload for a project label webhook. """ type ProjectLabelWebhookPayload { """ The time at which the entity was archived. """ archivedAt: String """ The color of the project label. """ color: String! """ The time at which the entity was created. """ createdAt: String! """ The creator ID of the project label. """ creatorId: String """ The label's description. """ description: String """ The ID of the entity. """ id: String! """ Whether the label is a group. """ isGroup: Boolean! """ The name of the project label. """ name: String! """ The parent ID of the project label. """ parentId: String """ The time at which the entity was updated. """ updatedAt: String! } """ Project lead sorting options. """ input ProjectLeadSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Project manual order sorting options. """ input ProjectManualSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ A milestone within a project. Milestones break a project into phases or target checkpoints, each with its own target date and set of issues. Issues can be assigned to a milestone to track progress toward that checkpoint. """ type ProjectMilestone implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ [Internal] The current progress of the milestone, broken down by issue status category. """ currentProgress: JSONObject! """ The project milestone's description in markdown format. """ description: String """ [Internal] The project milestone's description as YJS state. """ descriptionState: String """ The rich-text content of the milestone description. Null if no description has been set. """ documentContent: DocumentContent """ The unique identifier of the entity. """ id: ID! """ Issues associated with the project milestone. """ issues( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issues. """ filter: IssueFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueConnection! """ The name of the project milestone. """ name: String! """ The progress % of the project milestone. """ progress: Float! """ [Internal] The progress history of the milestone, tracking issue completion over time. """ progressHistory: JSONObject! """ The project that this milestone belongs to. """ project: Project! """ The order of the milestone in relation to other milestones within a project. """ sortOrder: Float! """ The status of the project milestone. """ status: ProjectMilestoneStatus! """ The planned completion date of the milestone. Null if no target date is set. """ targetDate: TimelessDate """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ Certain properties of a project milestone. """ type ProjectMilestoneChildWebhookPayload { """ The ID of the project milestone. """ id: String! """ The name of the project milestone. """ name: String! """ The target date of the project milestone. """ targetDate: String! } """ Milestone collection filtering options. """ input ProjectMilestoneCollectionFilter { """ Compound filters, all of which need to be matched by the milestone. """ and: [ProjectMilestoneCollectionFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that needs to be matched by all milestones. """ every: ProjectMilestoneFilter """ Comparator for the identifier. """ id: IDComparator """ Comparator for the collection length. """ length: NumberComparator """ Comparator for the project milestone name. """ name: NullableStringComparator """ Compound filters, one of which need to be matched by the milestone. """ or: [ProjectMilestoneCollectionFilter!] """ Filters that the project milestone's project must satisfy. """ project: NullableProjectFilter """ Filters that needs to be matched by some milestones. """ some: ProjectMilestoneFilter """ Comparator for the project milestone target date. """ targetDate: NullableDateComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } type ProjectMilestoneConnection { edges: [ProjectMilestoneEdge!]! nodes: [ProjectMilestone!]! pageInfo: PageInfo! } """ Input for creating a new project milestone. """ input ProjectMilestoneCreateInput { """ The description of the project milestone in markdown format. """ description: String """ [Internal] The description of the project milestone as a Prosemirror document. """ descriptionData: JSONObject """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The name of the project milestone. """ name: String! """ Related project for the project milestone. """ projectId: String! """ The sort order for the project milestone within a project. """ sortOrder: Float """ The planned target date of the project milestone. """ targetDate: TimelessDate } type ProjectMilestoneEdge { """ Used in `before` and `after` args """ cursor: String! node: ProjectMilestone! } """ Project milestone filtering options. """ input ProjectMilestoneFilter { """ Compound filters, all of which need to be matched by the project milestone. """ and: [ProjectMilestoneFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the identifier. """ id: IDComparator """ Comparator for the project milestone name. """ name: NullableStringComparator """ Compound filters, one of which need to be matched by the project milestone. """ or: [ProjectMilestoneFilter!] """ Filters that the project milestone's project must satisfy. """ project: NullableProjectFilter """ Comparator for the project milestone target date. """ targetDate: NullableDateComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ [Internal] Input for moving a project milestone to another project. """ input ProjectMilestoneMoveInput { """ Whether to add each milestone issue's team to the project. This is needed when there is a mismatch between a project's teams and the milestone's issues' teams. Either this or newIssueTeamId is required in that situation to resolve constraints. """ addIssueTeamToProject: Boolean """ The team id to move the attached issues to. This is needed when there is a mismatch between a project's teams and the milestone's issues' teams. Either this or addIssueTeamToProject is required in that situation to resolve constraints. """ newIssueTeamId: String """ The identifier of the project to move the milestone to. """ projectId: String! """ A list of issue id to team ids, used for undoing a previous milestone move where the specified issues were moved from the specified teams. """ undoIssueTeamIds: [ProjectMilestoneMoveIssueToTeamInput!] """ A mapping of project id to a previous set of team ids, used for undoing a previous milestone move where the specified teams were added to the project. """ undoProjectTeamIds: ProjectMilestoneMoveProjectTeamsInput } type ProjectMilestoneMoveIssueToTeam { """ The issue id in this relationship, you can use * as wildcard if all issues are being moved to the same team """ issueId: String! """ The team id in this relationship """ teamId: String! } """ [Internal] Used for ProjectMilestoneMoveInput to describe a mapping between an issue and its team. """ input ProjectMilestoneMoveIssueToTeamInput { """ The issue id in this relationship, you can use * as wildcard if all issues are being moved to the same team """ issueId: String! """ The team id in this relationship """ teamId: String! } """ [Internal] The result of a project milestone move mutation. """ type ProjectMilestoneMovePayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ A snapshot of the issues that were moved to new teams, if the user selected to do it, containing an array of mappings between an issue and its previous team. Store on the client to use for undoing a previous milestone move. """ previousIssueTeamIds: [ProjectMilestoneMoveIssueToTeam!] """ A snapshot of the project that had new teams added to it, if the user selected to do it, containing an array of mappings between a project and its previous teams. Store on the client to use for undoing a previous milestone move. """ previousProjectTeamIds: ProjectMilestoneMoveProjectTeams """ The project milestone that was created or updated. """ projectMilestone: ProjectMilestone! """ Whether the operation was successful. """ success: Boolean! } type ProjectMilestoneMoveProjectTeams { """ The project id """ projectId: String! """ The team ids for the project """ teamIds: [String!]! } """ [Internal] Used for ProjectMilestoneMoveInput to describe a snapshot of a project and its team ids """ input ProjectMilestoneMoveProjectTeamsInput { """ The project id """ projectId: String! """ The team ids for the project """ teamIds: [String!]! } """ The result of a project milestone mutation. """ type ProjectMilestonePayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The project milestone that was created or updated. """ projectMilestone: ProjectMilestone! """ Whether the operation was successful. """ success: Boolean! } """ The status of a project milestone. """ enum ProjectMilestoneStatus { done next overdue unstarted } """ Input for updating an existing project milestone. """ input ProjectMilestoneUpdateInput { """ The description of the project milestone in markdown format. """ description: String """ [Internal] The description of the project milestone as a Prosemirror document. """ descriptionData: JSONObject """ The name of the project milestone. """ name: String """ Related project for the project milestone. """ projectId: String """ The sort order for the project milestone within a project. """ sortOrder: Float """ The planned target date of the project milestone. """ targetDate: TimelessDate } """ Project name sorting options. """ input ProjectNameSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ A notification related to a project, such as being added as a member or lead, project updates, comments, or mentions on the project or its milestones. """ type ProjectNotification implements Entity & Node & Notification { """ The user that caused the notification. Null if the notification was triggered by a non-user actor such as an integration, external user, or system event. """ actor: User """ [Internal] Notification actor initials if avatar is not available. """ actorAvatarColor: String! """ [Internal] Notification avatar URL. """ actorAvatarUrl: String """ [Internal] Notification actor initials if avatar is not available. """ actorInitials: String """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The bot that caused the notification. """ botActor: ActorBot """ The category of the notification. """ category: NotificationCategory! """ The comment related to the notification. """ comment: Comment """ Related comment ID. Null if the notification is not related to a comment. """ commentId: String """ The time at which the entity was created. """ createdAt: DateTime! """ The document related to the notification. """ document: Document """ The time at which an email reminder for this notification was sent to the user. Null if no email reminder has been sent. """ emailedAt: DateTime """ The external user that caused the notification. Populated when the notification was triggered by an external user (e.g., a commenter from a connected integration like Slack or GitHub) rather than a Linear workspace member. """ externalUserActor: ExternalUser """ [Internal] Notifications with the same grouping key will be grouped together in the UI. """ groupingKey: String! """ [Internal] Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`. """ groupingPriority: Float! """ The unique identifier of the entity. """ id: ID! """ [Internal] Inbox URL for the notification. """ inboxUrl: String! """ [Internal] Initiative update health for new updates. """ initiativeUpdateHealth: String """ [Internal] If notification actor was Linear. """ isLinearActor: Boolean! """ [Internal] Issue's status type for issue notifications. """ issueStatusType: String """ The parent comment related to the notification, if a notification is a reply comment notification. """ parentComment: Comment """ Related parent comment ID. Null if the notification is not related to a comment. """ parentCommentId: String """ The project related to the notification. """ project: Project! """ Related project ID. """ projectId: String! """ Related project milestone ID. """ projectMilestoneId: String """ The project update related to the notification. """ projectUpdate: ProjectUpdate """ [Internal] Project update health for new updates. """ projectUpdateHealth: String """ Related project update ID. """ projectUpdateId: String """ Name of the reaction emoji related to the notification. """ reactionEmoji: String """ The time at which the user marked the notification as read. Null if the notification is unread. """ readAt: DateTime """ The time until which a notification is snoozed. After this time, the notification reappears in the user's inbox. Null if the notification is not currently snoozed. """ snoozedUntilAt: DateTime """ [Internal] Notification subtitle. """ subtitle: String! """ [Internal] Notification title. """ title: String! """ Notification type. Determines the kind of event that triggered this notification and which associated entity fields will be populated. """ type: String! """ The time at which a notification was unsnoozed. Null if the notification has not been unsnoozed. """ unsnoozedAt: DateTime """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ [Internal] URL to the target of the notification. """ url: String! """ The recipient user of this notification. """ user: User! } """ A notification subscription scoped to a specific project. The subscriber receives notifications for events related to this project, such as updates, comments, and membership changes. """ type ProjectNotificationSubscription implements Entity & Node & NotificationSubscription { """ Whether the subscription is active. When inactive, no notifications are generated from this subscription even though it still exists. """ active: Boolean! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The type of contextual view (e.g., active issues, backlog) that further scopes a team notification subscription. Null if the subscription is not associated with a specific view type. """ contextViewType: ContextViewType """ The time at which the entity was created. """ createdAt: DateTime! """ The custom view that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ customView: CustomView """ The customer that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ customer: Customer """ The cycle that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ cycle: Cycle """ The unique identifier of the entity. """ id: ID! """ The initiative that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ initiative: Initiative """ The issue label that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ label: IssueLabel """ The notification event types that this subscription will deliver to the subscriber. """ notificationSubscriptionTypes: [String!]! """ The project subscribed to. """ project: Project! """ The user who will receive notifications from this subscription. """ subscriber: User! """ The team that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ team: Team """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user that this notification subscription is scoped to, for user-specific view subscriptions. Null if the subscription targets a different entity type. """ user: User """ The type of user-specific view that further scopes a user notification subscription. Null if the subscription is not associated with a user view type. """ userContextViewType: UserContextViewType } """ The result of a project mutation. """ type ProjectPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The project that was created or updated. """ project: Project """ Whether the operation was successful. """ success: Boolean! } """ Project priority sorting options. """ input ProjectPrioritySort { """ Whether to consider no priority as the highest or lowest priority """ noPriorityFirst: Boolean = false """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ A dependency relation between two projects. Relations can optionally be anchored to specific milestones within each project, allowing fine-grained dependency tracking. """ type ProjectRelation implements Node { """ The type of anchor on the source project end of the relation, indicating whether it is anchored to the project itself or a specific milestone. """ anchorType: String! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The unique identifier of the entity. """ id: ID! """ The source project in the dependency relation. """ project: Project! """ The specific milestone within the source project that the relation is anchored to. Null if the relation applies to the project as a whole. """ projectMilestone: ProjectMilestone """ The type of anchor on the target project end of the relation, indicating whether it is anchored to the project itself or a specific milestone. """ relatedAnchorType: String! """ The target project in the dependency relation. """ relatedProject: Project! """ The specific milestone within the target project that the relation is anchored to. Null if the relation applies to the target project as a whole. """ relatedProjectMilestone: ProjectMilestone """ The type of dependency relationship from the project to the related project (e.g., blocks). """ type: String! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user who last created or modified the relation. Null if the user has been deleted. """ user: User } type ProjectRelationConnection { edges: [ProjectRelationEdge!]! nodes: [ProjectRelation!]! pageInfo: PageInfo! } """ Input for creating a new project relation. """ input ProjectRelationCreateInput { """ The type of the anchor for the project. """ anchorType: String! """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The identifier of the project that is related to another project. """ projectId: String! """ The identifier of the project milestone. """ projectMilestoneId: String """ The type of the anchor for the related project. """ relatedAnchorType: String! """ The identifier of the related project. """ relatedProjectId: String! """ The identifier of the related project milestone. """ relatedProjectMilestoneId: String """ The type of relation of the project to the related project. """ type: String! } type ProjectRelationEdge { """ Used in `before` and `after` args """ cursor: String! node: ProjectRelation! } """ The result of a project relation mutation. """ type ProjectRelationPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The project relation that was created or updated. """ projectRelation: ProjectRelation! """ Whether the operation was successful. """ success: Boolean! } """ Input for updating an existing project relation. """ input ProjectRelationUpdateInput { """ The type of the anchor for the project. """ anchorType: String """ The identifier of the project that is related to another project. """ projectId: String """ The identifier of the project milestone. """ projectMilestoneId: String """ The type of the anchor for the related project. """ relatedAnchorType: String """ The identifier of the related project. """ relatedProjectId: String """ The identifier of the related project milestone. """ relatedProjectMilestoneId: String """ The type of relation of the project to the related project. """ type: String } type ProjectSearchPayload { """ Archived entities matching the search term along with all their dependencies, serialized for the client sync engine. """ archivePayload: ArchiveResponse! edges: [ProjectSearchResultEdge!]! nodes: [ProjectSearchResult!]! pageInfo: PageInfo! """ Total number of matching results before pagination is applied. """ totalCount: Float! } type ProjectSearchResult implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ Attachments associated with the project. """ attachments( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ProjectAttachmentConnection! """ The time at which the project was automatically archived by the auto-pruning process. Null if the project has not been auto-archived. """ autoArchivedAt: DateTime """ The time at which the project was moved into a canceled status. Null if the project has not been canceled. """ canceledAt: DateTime """ The project's color as a HEX string. Used in the UI to visually identify the project. """ color: String! """ Comments associated with the project overview. """ comments( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned comments. """ filter: CommentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): CommentConnection! """ The time at which the project was moved into a completed status. Null if the project has not been completed. """ completedAt: DateTime """ The number of completed issues in the project at the end of each week since project creation. Each entry represents one week. """ completedIssueCountHistory: [Float!]! """ The number of completed estimation points at the end of each week since project creation. Each entry represents one week. """ completedScopeHistory: [Float!]! """ The project's content in markdown format. """ content: String """ [Internal] The project's content as YJS state. """ contentState: String """ The issue that was converted into this project. Null if the project was not created from an issue. """ convertedFromIssue: Issue """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the project. """ creator: User """ [INTERNAL] The current progress of the project, broken down by issue status category. """ currentProgress: JSONObject! """ The short description of the project. """ description: String! """ The content of the project description. """ documentContent: DocumentContent """ Documents associated with the project. """ documents( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned documents. """ filter: DocumentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): DocumentConnection! """ External links associated with the project. """ externalLinks( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): EntityExternalLinkConnection! """ [Internal] Facets associated with the project, used for filtering and categorization. """ facets: [Facet!]! """ The user's favorite associated with this project. """ favorite: Favorite """ The resolution of the reminder frequency. """ frequencyResolution: FrequencyResolutionType! """ The overall health of the project, derived from the most recent project update. Possible values are onTrack, atRisk, or offTrack. Null if no health has been reported. """ health: ProjectUpdateHealthType """ The time at which the project health was last updated, typically when a new project update is posted. Null if health has never been set. """ healthUpdatedAt: DateTime """ History entries associated with the project. """ history( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ProjectHistoryConnection! """ The icon of the project. Can be an emoji or a decorative icon type. """ icon: String """ The unique identifier of the entity. """ id: ID! """ The number of in-progress estimation points at the end of each week since project creation. Each entry represents one week. """ inProgressScopeHistory: [Float!]! """ Associations of this project to parent initiatives. """ initiativeToProjects( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): InitiativeToProjectConnection! """ Initiatives that this project belongs to. """ initiatives( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): InitiativeConnection! """ Settings for all integrations associated with that project. """ integrationsSettings: IntegrationsSettings """ Inverse relations associated with this project. """ inverseRelations( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ProjectRelationConnection! """ The total number of issues in the project at the end of each week since project creation. Each entry represents one week. """ issueCountHistory: [Float!]! """ Issues associated with the project. """ issues( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issues. """ filter: IssueFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueConnection! """ The IDs of the project labels associated with this project. """ labelIds: [String!]! """ Labels associated with this project. """ labels( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned project labels. """ filter: ProjectLabelFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ProjectLabelConnection! """ The last template that was applied to this project. """ lastAppliedTemplate: Template """ The most recent status update posted for this project. Null if no updates have been posted. """ lastUpdate: ProjectUpdate """ The user who leads the project. The project lead is typically responsible for posting status updates and driving the project to completion. Null if no lead is assigned. """ lead: User """ Users that are members of the project. """ members( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned users. """ filter: UserFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ Should query return disabled/suspended users (default: false). """ includeDisabled: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): UserConnection! """ Metadata related to search result. """ metadata: JSONObject! """ The ID of the Microsoft Teams channel connected to the project, if any. """ microsoftTeamsChannelId: String """ The name of the project. """ name: String! """ Customer needs associated with the project. """ needs( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned needs. """ filter: CustomerNeedFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): CustomerNeedConnection! """ The priority of the project. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low. """ priority: Int! """ The priority of the project as a label. """ priorityLabel: String! """ The sort order for the project within the workspace when ordered by priority. """ prioritySortOrder: Float! """ The overall progress of the project. This is the (completed estimate points + 0.25 * in progress estimate points) / total estimate points. """ progress: Float! """ [INTERNAL] The progress history of the project, tracking issue completion over time. """ progressHistory: JSONObject! """ Milestones associated with the project. """ projectMilestones( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned milestones. """ filter: ProjectMilestoneFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ProjectMilestoneConnection! """ The time until which project update reminders are paused. When set, no update reminders will be sent for this project until this date passes. Null means reminders are active. """ projectUpdateRemindersPausedUntilAt: DateTime """ Project updates associated with the project. """ projectUpdates( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ProjectUpdateConnection! """ Relations associated with this project. """ relations( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ProjectRelationConnection! """ The overall scope (total estimate points) of the project. """ scope: Float! """ The total scope (estimation points) of the project at the end of each week since project creation. Each entry represents one week. """ scopeHistory: [Float!]! """ The ID of the Slack channel connected to the project, if any. """ slackChannelId: String """ Whether to send new issue comment notifications to Slack. """ slackIssueComments: Boolean! @deprecated(reason: "No longer in use") """ Whether to send new issue status updates to Slack. """ slackIssueStatuses: Boolean! @deprecated(reason: "No longer is use") """ Whether to send new issue notifications to Slack. """ slackNewIssue: Boolean! @deprecated(reason: "No longer in use") """ The project's unique URL slug, used to construct human-readable URLs. """ slugId: String! """ The sort order for the project within the workspace. Used for manual ordering in list views. """ sortOrder: Float! """ The estimated start date of the project. Null if no start date is set. """ startDate: TimelessDate """ The resolution of the project's start date, indicating whether it refers to a specific month, quarter, half-year, or year. """ startDateResolution: DateResolutionType """ The time at which the project was moved into a started status. Null if the project has not been started. """ startedAt: DateTime """ [DEPRECATED] The type of the state. """ state: String! @deprecated(reason: "Use project.status instead") """ The current project status. Defines the project's position in its lifecycle (e.g., backlog, planned, started, paused, completed, canceled). """ status: ProjectStatus! """ The external services the project is synced with. """ syncedWith: [ExternalEntityInfo!] """ The estimated completion date of the project. Null if no target date is set. """ targetDate: TimelessDate """ The resolution of the project's estimated completion date, indicating whether it refers to a specific month, quarter, half-year, or year. """ targetDateResolution: DateResolutionType """ Teams associated with this project. """ teams( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned teams. """ filter: TeamFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): TeamConnection! """ A flag that indicates whether the project is in the trash bin. """ trashed: Boolean """ The frequency at which to prompt for updates. When not set, reminders are inherited from workspace. """ updateReminderFrequency: Float """ The n-weekly frequency at which to prompt for updates. When not set, reminders are inherited from workspace. """ updateReminderFrequencyInWeeks: Float """ The day at which to prompt for updates. """ updateRemindersDay: Day """ The hour at which to prompt for updates. """ updateRemindersHour: Float """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ Project URL. """ url: String! } type ProjectSearchResultEdge { """ Used in `before` and `after` args """ cursor: String! node: ProjectSearchResult! } """ Issue project sorting options. """ input ProjectSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Project sorting options. """ input ProjectSortInput { """ Sort by project creation date """ createdAt: ProjectCreatedAtSort """ Sort by project health status. """ health: ProjectHealthSort """ Sort by project lead name. """ lead: ProjectLeadSort """ Sort by manual order """ manual: ProjectManualSort """ Sort by project name """ name: ProjectNameSort """ Sort by project priority """ priority: ProjectPrioritySort """ Sort by project start date """ startDate: StartDateSort """ Sort by project status """ status: ProjectStatusSort """ Sort by project target date """ targetDate: TargetDateSort """ Sort by project update date """ updatedAt: ProjectUpdatedAtSort } """ A custom project status within a workspace. Statuses are grouped by type (backlog, planned, started, paused, completed, canceled) and define the lifecycle stages a project can move through. Each workspace can customize the names and colors of its project statuses. """ type ProjectStatus implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The color of the status as a HEX string, used for display in the UI. """ color: String! """ The time at which the entity was created. """ createdAt: DateTime! """ Description of the status. """ description: String """ The unique identifier of the entity. """ id: ID! """ Whether a project can remain in this status indefinitely. When false, projects in this status may trigger reminders or auto-archiving after a period of inactivity. """ indefinite: Boolean! """ The name of the status. """ name: String! """ The position of the status within its type group in the workspace's project flow. Used for ordering statuses of the same type. """ position: Float! """ The category type of the project status (e.g., backlog, planned, started, paused, completed, canceled). Determines the status's behavior and position in the project lifecycle. """ type: ProjectStatusType! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ A generic payload return from entity archive mutations. """ type ProjectStatusArchivePayload implements ArchivePayload { """ The archived/unarchived entity. Null if entity was deleted. """ entity: ProjectStatus """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Certain properties of a project status. """ type ProjectStatusChildWebhookPayload { """ The color of the project status. """ color: String! """ The ID of the project status. """ id: String! """ The name of the project status. """ name: String! """ The type of the project status. """ type: String! } type ProjectStatusConnection { edges: [ProjectStatusEdge!]! nodes: [ProjectStatus!]! pageInfo: PageInfo! } """ The count of projects using a specific project status. """ type ProjectStatusCountPayload { """ Total number of projects using this project status that are not visible to the user because they are in an archived team. """ archivedTeamCount: Float! """ Total number of projects using this project status. """ count: Float! """ Total number of projects using this project status that are not visible to the user because they are in a private team. """ privateCount: Float! } """ Input for creating a new project status. """ input ProjectStatusCreateInput { """ The UI color of the status as a HEX string. """ color: String! """ Description of the status. """ description: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ Whether or not a project can be in this status indefinitely. """ indefinite: Boolean = false """ The name of the status. """ name: String! """ The position of the status in the workspace's project flow. """ position: Float! """ The type of the project status. """ type: ProjectStatusType! } type ProjectStatusEdge { """ Used in `before` and `after` args """ cursor: String! node: ProjectStatus! } """ Project status filtering options. """ input ProjectStatusFilter { """ Compound filters, all of which need to be matched by the project status. """ and: [ProjectStatusFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the project status description. """ description: StringComparator """ Comparator for the identifier. """ id: IDComparator """ Comparator for the project status name. """ name: StringComparator """ Compound filters, one of which needs to be matched by the project status. """ or: [ProjectStatusFilter!] """ Comparator for the project status position. """ position: NumberComparator """ Filters that the project status projects must satisfy. """ projects: ProjectCollectionFilter """ Comparator for the project status type. """ type: StringComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ The result of a project status mutation. """ type ProjectStatusPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The project status that was created or updated. """ status: ProjectStatus! """ Whether the operation was successful. """ success: Boolean! } """ Project status sorting options. """ input ProjectStatusSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ A type of project status. """ enum ProjectStatusType { backlog canceled completed paused planned started } """ Input for updating an existing project status. """ input ProjectStatusUpdateInput { """ The UI color of the status as a HEX string. """ color: String """ Description of the status. """ description: String """ Whether or not a project can be in this status indefinitely. """ indefinite: Boolean """ The name of the status. """ name: String """ The position of the status in the workspace's project flow. """ position: Float """ The type of the project status. """ type: ProjectStatusType } """ Different tabs available inside a project. """ enum ProjectTab { customers documents issues updates } """ A status update posted to a project. Project updates communicate progress, health, and blockers to stakeholders. Each update captures the project's health at the time of writing and includes a rich-text body with the update content. """ type ProjectUpdate implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The update content in markdown format. """ body: String! """ [Internal] The content of the update as a Prosemirror document. """ bodyData: String! """ Number of comments associated with the project update. """ commentCount: Int! """ Comments associated with the project update. """ comments( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned comments. """ filter: CommentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): CommentConnection! """ The time at which the entity was created. """ createdAt: DateTime! """ The diff between the current update and the previous one. """ diff: JSONObject """ The diff between the current update and the previous one, formatted as markdown. """ diffMarkdown: String """ The time the update was edited. """ editedAt: DateTime """ The health of the project at the time this update was posted. Possible values are onTrack, atRisk, or offTrack. """ health: ProjectUpdateHealthType! """ The unique identifier of the entity. """ id: ID! """ [Internal] A snapshot of project properties at the time the update was posted, including team, milestone, and issue statistics. Used to compute diffs between consecutive updates. """ infoSnapshot: JSONObject """ Whether the diff between this update and the previous one should be hidden in the UI. """ isDiffHidden: Boolean! """ Whether the project update is stale. """ isStale: Boolean! """ The project that this status update was posted to. """ project: Project! """ Emoji reaction summary, grouped by emoji type. """ reactionData: JSONObject! """ Reactions associated with the project update. """ reactions: [Reaction!]! """ The update's unique URL slug. """ slugId: String! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The URL to the project update. """ url: String! """ The user who wrote the update. """ user: User! } """ A generic payload return from entity archive mutations. """ type ProjectUpdateArchivePayload implements ArchivePayload { """ The archived/unarchived entity. Null if entity was deleted. """ entity: ProjectUpdate """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Certain properties of a project update. """ type ProjectUpdateChildWebhookPayload { """ The body of the project update. """ body: String! """ The ID of the project update. """ id: String! """ The project that the project update belongs to. """ project: ProjectChildWebhookPayload! """ The ID of the user who wrote the project update. """ userId: String! } type ProjectUpdateConnection { edges: [ProjectUpdateEdge!]! nodes: [ProjectUpdate!]! pageInfo: PageInfo! } """ Input for creating a new project update. """ input ProjectUpdateCreateInput { """ The content of the project update in markdown format. """ body: String """ [Internal] The content of the project update as a Prosemirror document. """ bodyData: JSON """ The health of the project at the time of the update. """ health: ProjectUpdateHealthType """ The identifier. If none is provided, the backend will generate one. """ id: String """ Whether the diff between the current update and the previous one should be hidden. """ isDiffHidden: Boolean """ The project to associate the project update with. """ projectId: String! } type ProjectUpdateEdge { """ Used in `before` and `after` args """ cursor: String! node: ProjectUpdate! } """ Options for filtering project updates. """ input ProjectUpdateFilter { """ Compound filters, all of which need to be matched by the ProjectUpdate. """ and: [ProjectUpdateFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the identifier. """ id: IDComparator """ Compound filters, one of which need to be matched by the ProjectUpdate. """ or: [ProjectUpdateFilter!] """ Filters that the project update project must satisfy. """ project: ProjectFilter """ Filters that the project updates reactions must satisfy. """ reactions: ReactionCollectionFilter """ Comparator for the updated at date. """ updatedAt: DateComparator """ Filters that the project update creator must satisfy. """ user: UserFilter } """ The health type when the project update is created. """ enum ProjectUpdateHealthType { atRisk offTrack onTrack } """ Input for updating an existing project. All fields are optional; only provided fields will be updated. Setting a field to null (where supported) will clear the value. """ input ProjectUpdateInput { """ The time at which the project was canceled. """ canceledAt: DateTime """ The color of the project. """ color: String """ The time at which the project was completed. """ completedAt: DateTime """ The project content as markdown. """ content: String """ The ID of the issue from which that project is created. """ convertedFromIssueId: String """ The description for the project. """ description: String """ The resolution type for the update reminder frequency (e.g., weekly, biweekly). """ frequencyResolution: FrequencyResolutionType """ The icon of the project. """ icon: String """ The identifiers of the project labels associated with this project. """ labelIds: [String!] """ The ID of the last template applied to the project. """ lastAppliedTemplateId: String """ The identifier of the project lead. """ leadId: String """ The identifiers of the members of this project. """ memberIds: [String!] """ The name of the project. """ name: String """ The priority of the project. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low. """ priority: Int """ The sort order for the project within shared views, when ordered by priority. """ prioritySortOrder: Float """ The time until which project update reminders are paused. Set to null to resume reminders. """ projectUpdateRemindersPausedUntilAt: DateTime """ Whether to send new issue comment notifications to Slack. """ slackIssueComments: Boolean """ Whether to send issue status update notifications to Slack. """ slackIssueStatuses: Boolean """ Whether to send new issue notifications to Slack. """ slackNewIssue: Boolean """ The sort order for the project in shared views. """ sortOrder: Float """ The planned start date of the project. """ startDate: TimelessDate """ The resolution of the project's start date. """ startDateResolution: DateResolutionType """ The ID of the project status. """ statusId: String """ The planned target date of the project. """ targetDate: TimelessDate """ The resolution of the project's estimated completion date. """ targetDateResolution: DateResolutionType """ The identifiers of the teams this project is associated with. """ teamIds: [String!] """ Whether the project has been trashed. Set to true to trash, or null to restore. """ trashed: Boolean """ The frequency at which to prompt for project updates. When not set, reminders are inherited from workspace settings. """ updateReminderFrequency: Float """ The n-weekly frequency at which to prompt for project updates. When not set, reminders are inherited from workspace settings. """ updateReminderFrequencyInWeeks: Float """ The day of the week on which to prompt for project updates. """ updateRemindersDay: Day """ The hour of the day (0-23) at which to prompt for project updates. """ updateRemindersHour: Int } """ The result of a project update mutation. """ type ProjectUpdatePayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The project update that was created or updated. """ projectUpdate: ProjectUpdate! """ Whether the operation was successful. """ success: Boolean! } """ The frequency at which to send project update reminders. """ enum ProjectUpdateReminderFrequency { month never twoWeeks week } """ The result of a project update reminder mutation. """ type ProjectUpdateReminderPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Input for updating an existing project update. """ input ProjectUpdateUpdateInput { """ The content of the project update in markdown format. """ body: String """ The content of the project update as a Prosemirror document. """ bodyData: JSON """ The health of the project at the time of the update. """ health: ProjectUpdateHealthType """ Whether the diff between the current update and the previous one should be hidden. """ isDiffHidden: Boolean } """ Payload for a project update webhook. """ type ProjectUpdateWebhookPayload { """ The time at which the entity was archived. """ archivedAt: String """ The body of the project update. """ body: String! """ The body data of the project update. """ bodyData: String! """ The time at which the entity was created. """ createdAt: String! """ The diff between the current update and the previous one, formatted as markdown. """ diffMarkdown: String """ The edited at timestamp of the project update. """ editedAt: String! """ The health of the project update. """ health: String! """ The ID of the entity. """ id: String! """ The project that the project update belongs to. """ project: ProjectChildWebhookPayload! """ The project id of the project update. """ projectId: String! """ The reaction data for this project update. """ reactionData: JSONObject! """ The slug id of the project update. """ slugId: String! """ The time at which the entity was updated. """ updatedAt: String! """ The URL of the project update. """ url: String """ The user who wrote the project update. """ user: UserChildWebhookPayload! """ The user id of the project update. """ userId: String! } """ Project update date sorting options. """ input ProjectUpdatedAtSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Collection filtering options for filtering projects by project updates. """ input ProjectUpdatesCollectionFilter { """ Compound filters, all of which need to be matched by the project update. """ and: [ProjectUpdatesCollectionFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that needs to be matched by all updates. """ every: ProjectUpdatesFilter """ Comparator for the project update health. """ health: StringComparator """ Comparator for the identifier. """ id: IDComparator """ Comparator for the collection length. """ length: NumberComparator """ Compound filters, one of which need to be matched by the update. """ or: [ProjectUpdatesCollectionFilter!] """ Filters that needs to be matched by some updates. """ some: ProjectUpdatesFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Options for filtering projects by project updates. """ input ProjectUpdatesFilter { """ Compound filters, all of which need to be matched by the project updates. """ and: [ProjectUpdatesFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the project update health. """ health: StringComparator """ Comparator for the identifier. """ id: IDComparator """ Compound filters, one of which need to be matched by the project updates. """ or: [ProjectUpdatesFilter!] """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Payload for a project webhook. """ type ProjectWebhookPayload { """ The time at which the entity was archived. """ archivedAt: String """ The auto archived at timestamp of the project. """ autoArchivedAt: String """ The canceled at timestamp of the project. """ canceledAt: String """ The project's color. """ color: String! """ The completed at timestamp of the project. """ completedAt: String """ The number of completed issues in the project after each week. """ completedIssueCountHistory: [Float!]! """ The number of completed estimation points after each week. """ completedScopeHistory: [Float!]! """ The content of the project. """ content: String """ The ID of the issue that was converted to the project. """ convertedFromIssueId: String """ The time at which the entity was created. """ createdAt: String! """ The ID of the user who created the project. """ creatorId: String """ The project's description. """ description: String! """ The document content ID of the project. """ documentContentId: String """ The health of the project. """ health: String """ The time at which the project health was updated. """ healthUpdatedAt: String """ The icon of the project. """ icon: String """ The ID of the entity. """ id: String! """ The number of in progress estimation points after each week. """ inProgressScopeHistory: [Float!]! """ The initiatives associated with the project. """ initiatives: [InitiativeChildWebhookPayload!] """ The total number of issues in the project after each week. """ issueCountHistory: [Float!]! """ IDs of the labels associated with this project. """ labelIds: [String!]! """ The ID of the last template that was applied to the project. """ lastAppliedTemplateId: String """ The ID of the last update posted for this project. """ lastUpdateId: String """ The project lead. """ lead: UserChildWebhookPayload """ The ID of the project lead. """ leadId: String """ IDs of the members of the project. """ memberIds: [String!]! """ The milestones associated with the project. """ milestones: [ProjectMilestoneChildWebhookPayload!] """ The project's name. """ name: String! """ The priority of the project. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low. """ priority: Float! """ The sort order for the project within the organization, when ordered by priority. """ prioritySortOrder: Float! """ The time at which the project update reminders were paused until. """ projectUpdateRemindersPausedUntilAt: String """ The total number of estimation points after each week. """ scopeHistory: [Float!]! """ The project's unique URL slug. """ slugId: String! """ The sort order for the project within the organization. """ sortOrder: Float! """ The estimated start date of the project. """ startDate: String """ The resolution of the project's estimated start date. """ startDateResolution: String """ The time at which the project was moved into started state. """ startedAt: String """ The project status. """ status: ProjectStatusChildWebhookPayload """ The ID of the project status. """ statusId: String! """ The external services the project is synced with. """ syncedWith: JSONObject """ The target date of the project. """ targetDate: String """ The resolution of the project's target date. """ targetDateResolution: String """ IDs of the teams associated with this project. """ teamIds: [String!]! """ The trashed status of the project. """ trashed: Boolean """ The time at which the entity was updated. """ updatedAt: String! """ The URL of the project. """ url: String! } """ [Internal] A pull or merge request from a connected version control system (GitHub or GitLab). Pull requests are automatically linked to Linear issues via branch names or commit messages containing issue identifiers. They track the full lifecycle including status, reviewers, checks, and merge state, and are synced bidirectionally with the hosting provider. """ type PullRequest implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The Git SHA of the base commit on the target branch that the pull request is compared against. Null if not yet synced. """ baseSha: String """ [Internal] The CI/CD checks and status checks associated with the pull request, synced from the hosting provider. """ checks: [PullRequestCheck!]! """ [ALPHA] The commits included in the pull request, synced from the hosting provider. Includes metadata such as SHA, message, diff stats, and author information. """ commits: [PullRequestCommit!]! """ The time at which the entity was created. """ createdAt: DateTime! """ [Internal] The Linear user who created the pull request. Null if the creator is an external user not mapped to a Linear account, or if the creator's account has been deleted. """ creator: User """ The Git SHA of the latest commit on the source branch. Updated as new commits are pushed. Null if not yet synced. """ headSha: String """ The unique identifier of the entity. """ id: ID! """ The merge commit created when the pull request was merged. Null if the pull request has not been merged or if the merge commit data is not available. """ mergeCommit: PullRequestCommit """ Merge settings and allowed merge methods for this pull request's repository. Null if the settings have not been synced from the provider. """ mergeSettings: PullRequestMergeSettings """ The current merge status of the pull request, synced from the hosting provider. """ mergeStatus: String! """ The pull request number as assigned by the hosting provider (e.g., #123 on GitHub). Unique within a repository. """ number: Float! """ The time at which the pull request was opened. """ openedAt: DateTime! """ The pull request's unique URL slug, used to construct human-readable URLs within the Linear app. """ slugId: String! """ The source (head) branch of the pull request that contains the proposed changes. """ sourceBranch: String! """ The current status of the pull request (open, closed, merged, or draft). Synced from the hosting provider. """ status: PullRequestStatus! """ The target (base) branch that the pull request will be merged into. """ targetBranch: String! """ The title of the pull request. """ title: String! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The URL of the pull request on the hosting provider (e.g., a GitHub or GitLab URL). """ url: String! } """ [ALPHA] A CI/CD check or status check associated with a pull request (e.g., a GitHub Actions workflow run or a required status check). """ type PullRequestCheck { """ The date and time when the check finished running. Null if the check has not completed yet. """ completedAt: DateTime """ Whether this check is required to pass before the pull request can be merged. Null if the required status is unknown. """ isRequired: Boolean """ The name of the check. """ name: String! """ How the check should be opened in the client. """ presentation: PullRequestCheckPresentation """ The date and time when the check started running. Null if the check has not started yet. """ startedAt: DateTime """ The status of the check. """ status: String! """ The URL to view the check details on the hosting provider. Null if no URL is available. """ url: String """ The name of the CI workflow that triggered the check (e.g., 'CI' or 'Build and Test'). Null if the check is not part of a named workflow. """ workflowName: String } """ [ALPHA] How a pull request check should be opened in the client. """ enum PullRequestCheckPresentation { externalOnly jobLogs markdown runLogs } """ [ALPHA] A Git commit associated with a pull request, including metadata about the commit's content and authors. """ type PullRequestCommit { """ Number of additions in this commit. """ additions: Float! """ External user IDs for commit authors (includes co-authors). """ authorExternalUserIds: [String!]! """ Linear user IDs for commit authors (includes co-authors). """ authorUserIds: [String!]! """ The number of files changed in this commit. Null if the hosting provider did not include this information. """ changedFiles: Float """ The timestamp when the commit was committed, as an ISO 8601 string. """ committedAt: String! """ Number of deletions in this commit. """ deletions: Float! """ Whether this commit is a merge commit (has multiple parents). Merge commits are typically filtered out when counting diff stats. """ isMergeCommit: Boolean """ The full commit message. """ message: String! """ The Git commit SHA. """ sha: String! } """ The method used to merge a pull request. """ enum PullRequestMergeMethod { MERGE REBASE SQUASH } """ [Internal] Merge settings and capabilities for a pull request's repository, including which merge methods are allowed and whether features like merge queues and auto-merge are enabled. """ type PullRequestMergeSettings { """ Whether auto-merge is allowed for the PR's repository. """ autoMergeAllowed: Boolean! """ Whether the branch will be deleted when the pull request is merged. """ deleteBranchOnMerge: Boolean! """ Whether a merge queue is enabled for pull requests in this repository. When enabled, merges go through an ordered queue rather than being merged directly. """ isMergeQueueEnabled: Boolean! """ Whether merge commits are allowed for pull requests PR's repository. """ mergeCommitAllowed: Boolean! """ The merge method used by the merge queue, if applicable. Null when merge queue is not enabled or the method is not specified. """ mergeQueueMergeMethod: PullRequestMergeMethod """ Whether rebase merge is allowed for pull requests PR's repository. """ rebaseMergeAllowed: Boolean! """ Whether squash merge is allowed for this pull request's repository. """ squashMergeAllowed: Boolean! } """ A notification related to a pull request, such as review requests, approvals, comments, check failures, or merge queue events. """ type PullRequestNotification implements Entity & Node & Notification { """ The user that caused the notification. Null if the notification was triggered by a non-user actor such as an integration, external user, or system event. """ actor: User """ [Internal] Notification actor initials if avatar is not available. """ actorAvatarColor: String! """ [Internal] Notification avatar URL. """ actorAvatarUrl: String """ [Internal] Notification actor initials if avatar is not available. """ actorInitials: String """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The bot that caused the notification. """ botActor: ActorBot """ The category of the notification. """ category: NotificationCategory! """ The time at which the entity was created. """ createdAt: DateTime! """ The time at which an email reminder for this notification was sent to the user. Null if no email reminder has been sent. """ emailedAt: DateTime """ The external user that caused the notification. Populated when the notification was triggered by an external user (e.g., a commenter from a connected integration like Slack or GitHub) rather than a Linear workspace member. """ externalUserActor: ExternalUser """ [Internal] Notifications with the same grouping key will be grouped together in the UI. """ groupingKey: String! """ [Internal] Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`. """ groupingPriority: Float! """ The unique identifier of the entity. """ id: ID! """ [Internal] Inbox URL for the notification. """ inboxUrl: String! """ [Internal] Initiative update health for new updates. """ initiativeUpdateHealth: String """ [Internal] If notification actor was Linear. """ isLinearActor: Boolean! """ [Internal] Issue's status type for issue notifications. """ issueStatusType: String """ [Internal] Project update health for new updates. """ projectUpdateHealth: String """ The pull request related to the notification. """ pullRequest: PullRequest! """ Related pull request comment ID. Null if the notification is not related to a pull request comment. """ pullRequestCommentId: String """ Related pull request. """ pullRequestId: String! """ The time at which the user marked the notification as read. Null if the notification is unread. """ readAt: DateTime """ The time until which a notification is snoozed. After this time, the notification reappears in the user's inbox. Null if the notification is not currently snoozed. """ snoozedUntilAt: DateTime """ [Internal] Notification subtitle. """ subtitle: String! """ [Internal] Notification title. """ title: String! """ Notification type. Determines the kind of event that triggered this notification and which associated entity fields will be populated. """ type: String! """ The time at which a notification was unsnoozed. Null if the notification has not been unsnoozed. """ unsnoozedAt: DateTime """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ [Internal] URL to the target of the notification. """ url: String! """ The recipient user of this notification. """ user: User! } """ A reference to a pull request by its repository owner, name, and pull request number. Used during release sync to look up pull requests and associate their linked issues with the release. """ input PullRequestReferenceInput { """ The pull request number. """ number: Int! """ The name of the repository. """ repositoryName: String! """ The owner of the repository (e.g., organization or user name). """ repositoryOwner: String! } enum PullRequestReviewTool { graphite source } """ The status of a pull request. """ enum PullRequestStatus { approved closed draft inReview merged open } """ A device registration for receiving push notifications. Each PushSubscription represents a specific browser or mobile device endpoint where a user has opted in to receive real-time push notifications. A user may have multiple push subscriptions across different devices and browsers. """ type PushSubscription implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The unique identifier of the entity. """ id: ID! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ Input for creating a push subscription to receive push notifications on a device or browser. """ input PushSubscriptionCreateInput { """ The push subscription data in stringified JSON format. For web subscriptions, this must contain keys, endpoint, and expirationTime fields per the Web Push API specification. For mobile subscriptions, this contains the device token. """ data: String! """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The type of push subscription: 'web' for browser-based Web Push API, 'apple' for Apple Push Notification service (or 'appleDevelopment' for sandbox), or 'firebase' for Firebase Cloud Messaging (Android). """ type: PushSubscriptionType = web } """ Return type for push subscription mutations. """ type PushSubscriptionPayload { """ The push subscription that was created or deleted. """ entity: PushSubscription! """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Return type for the push subscription test query. """ type PushSubscriptionTestPayload { """ Whether the operation was successful. """ success: Boolean! } """ The different push subscription types. """ enum PushSubscriptionType { apple appleDevelopment firebase web } type Query { _dummy: String! """ All teams whose settings the user can administer. This includes teams the user can change settings for, but whose issues they may not have direct access to. This differs from the `teams` query which returns teams based on issue access. """ administrableTeams( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned teams. """ filter: TeamFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): TeamConnection! """ All agent activities. """ agentActivities( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned agent activities. """ filter: AgentActivityFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): AgentActivityConnection! """ A specific agent activity. """ agentActivity( """ The identifier of the agent activity to retrieve. """ id: String! ): AgentActivity! """ A specific agent session. """ agentSession( """ The identifier of the agent session to retrieve. """ id: String! ): AgentSession! """ [Internal] Retrieves coding agent sandbox details for a given agent session ID. """ agentSessionSandbox( """ The identifier of the agent session. """ agentSessionId: String! ): CodingAgentSandboxPayload """ All agent sessions. """ agentSessions( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): AgentSessionConnection! """ Retrieves public information about an OAuth application by its client ID. Used during the authorization flow to display application details to the user. """ applicationInfo( """ The client ID of the application. """ clientId: String! ): Application! """ [Internal] All archived teams of the workspace. """ archivedTeams: [Team!]! """ One specific issue attachment. [Deprecated] 'url' can no longer be used as the 'id' parameter. Use 'attachmentsForUrl' instead """ attachment(id: String!): Attachment! """ Query an issue by its associated attachment, and its id. """ attachmentIssue( """ `id` of the attachment for which you'll want to get the issue for. [Deprecated] `url` as the `id` parameter. """ id: String! ): Issue! @deprecated( reason: "Will be removed in near future, please use `attachmentsForURL` to get attachments and their issues instead." ) """ [Internal] Get a list of all unique attachment sources in the workspace. """ attachmentSources( """ (optional) if provided will only return attachment sources for the given team. """ teamId: String ): AttachmentSourcesPayload! """ All issue attachments. To get attachments for a given URL, use `attachmentsForURL` query. """ attachments( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned attachments. """ filter: AttachmentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): AttachmentConnection! """ Returns issue attachments for a given `url`. """ attachmentsForURL( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy """ The attachment URL. """ url: String! ): AttachmentConnection! """ All audit log entries. """ auditEntries( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned audit entries. """ filter: AuditEntryFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): AuditEntryConnection! """ List of audit entry types. """ auditEntryTypes: [AuditEntryType!]! """ User's active sessions. """ authenticationSessions: [AuthenticationSessionResponse!]! """ Fetch users belonging to this user account. """ availableUsers: AuthResolverResponse! """ A specific comment. """ comment( """ The hash of the comment to retrieve. """ hash: String """ The identifier of the comment to retrieve. """ id: String ): Comment! """ All comments the user has access to in the workspace. """ comments( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned comments. """ filter: CommentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): CommentConnection! """ One specific custom view, looked up by ID or slug. """ customView( """ The identifier of the custom view to retrieve. """ id: String! ): CustomView! """ [INTERNAL] Suggests metadata (name, description, icon) for a view based on its filters using AI. Rate-limited to 30 requests per minute. """ customViewDetailsSuggestion( """ The filter object to generate suggestions for. """ filter: JSONObject! """ The entity type the view targets. If null, defaults to "issue". Valid values: "issue", "project", "initiative", "feedItem". """ modelName: String ): CustomViewSuggestionPayload! """ Whether a custom view has active notification subscribers other than the current user. Useful for warning before deleting a shared view. """ customViewHasSubscribers( """ The identifier of the custom view. """ id: String! ): CustomViewHasSubscribersPayload! """ All custom views accessible to the user, including personal views and shared workspace views. Excludes views scoped to a specific project or initiative. """ customViews( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned custom views. """ filter: CustomViewFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy """ [INTERNAL] Sort returned custom views. """ sort: [CustomViewSortInput!] ): CustomViewConnection! """ Retrieves a single customer by ID or slug. """ customer( """ The identifier or slug of the customer to retrieve. """ id: String! ): Customer! """ Retrieves a single customer need by ID or hash. """ customerNeed( """ The hash prefix of the customer need to retrieve (minimum 8 characters). Cannot be used together with id. """ hash: String """ The UUID of the customer need to retrieve. Cannot be used together with hash. """ id: String ): CustomerNeed! """ All customer needs in the workspace, with optional filtering. """ customerNeeds( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned customer needs. """ filter: CustomerNeedFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): CustomerNeedConnection! """ One specific customer status. """ customerStatus( """ The identifier of the customer status to retrieve. """ id: String! ): CustomerStatus! """ All customer statuses defined in the workspace. """ customerStatuses( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): CustomerStatusConnection! """ One specific customer tier. """ customerTier( """ The identifier of the customer tier to retrieve. """ id: String! ): CustomerTier! """ All customer tiers defined in the workspace. """ customerTiers( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): CustomerTierConnection! """ All customers in the workspace, with optional filtering and sorting. """ customers( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned customers. """ filter: CustomerFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy """ Sort criteria for the returned customers. Up to 3 sort fields can be specified. """ sorts: [CustomerSortInput!] ): CustomerConnection! """ One specific cycle, looked up by ID or slug. """ cycle( """ The identifier of the cycle to retrieve. """ id: String! ): Cycle! """ All cycles accessible to the user. """ cycles( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned cycles. """ filter: CycleFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): CycleConnection! """ A specific document by ID or slug. """ document( """ The identifier or slug of the document to retrieve. """ id: String! ): Document! """ A collection of document content history entries. """ documentContentHistory( """ The identifier of the document content to retrieve history for. """ id: String! ): DocumentContentHistoryPayload! """ [Internal] Fetches document content history entries by their IDs, including content data. """ documentContentHistoryEntries( """ The identifiers of the history entries to retrieve. Maximum 10 per request. """ entryIds: [String!]! ): DocumentContentHistoryPayload! """ All documents the user has access to in the workspace. """ documents( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned documents. """ filter: DocumentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy """ [INTERNAL] Sort returned documents. """ sort: [DocumentSortInput!] ): DocumentConnection! """ One specific email intake address. """ emailIntakeAddress(id: String!): EmailIntakeAddress! """ A specific custom emoji by ID or name. """ emoji( """ The identifier or the name of the emoji to retrieve. """ id: String! ): Emoji! """ All custom emojis in the workspace. """ emojis( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): EmojiConnection! """ Retrieves a single entity external link by its identifier. """ entityExternalLink( """ The identifier of the entity external link to retrieve. """ id: String! ): EntityExternalLink! """ Retrieves a single external user by their identifier. """ externalUser( """ The identifier of the external user to retrieve. """ id: String! ): ExternalUser! """ All external users for the organization. External users are people who interact with Linear through integrated services (Slack, Jira, GitHub, etc.) without having a Linear account. """ externalUsers( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ExternalUserConnection! """ [INTERNAL] Webhook failure events for webhooks that belong to an OAuth application. (last 50) """ failuresForOauthWebhooks( """ The identifier of the OAuth client to retrieve failures for. """ oauthClientId: String! ): [WebhookFailureEvent!]! """ A specific favorite by ID. """ favorite(id: String!): Favorite! """ The authenticated user's favorites. Returns all bookmarked items that appear in the user's sidebar. """ favorites( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): FavoriteConnection! """ [Internal] Fetch an arbitrary set of data using natural language query. Be specific about what you want including properties for each entity, sort order, filters, limit and properties. """ fetchData( """ Natural language query describing what data to fetch. Examples: - "All issues for the project with id 12345678-1234-1234-1234-123456789abc including comments" - "The latest project update for each project that's a part of the initiative with id 12345678-1234-1234-1234-123456789abc, including it's sub-initiatives" """ query: String! ): FetchDataPayload! """ Returns a single initiative by its identifier or URL slug. """ initiative(id: String!): Initiative! """ Returns a single initiative relation by its identifier. """ initiativeRelation(id: String!): InitiativeRelation! """ Returns all initiative parent-child relations in the workspace. """ initiativeRelations( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): InitiativeRelationConnection! """ Returns a single initiative-to-project association by its identifier. """ initiativeToProject(id: String!): InitiativeToProject! """ Returns all initiative-to-project associations in the workspace. """ initiativeToProjects( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): InitiativeToProjectConnection! """ Returns a single initiative update by its identifier. """ initiativeUpdate( """ The identifier of the initiative update to retrieve. """ id: String! ): InitiativeUpdate! """ Returns all initiative status updates in the workspace, with optional filtering. """ initiativeUpdates( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned initiative updates. """ filter: InitiativeUpdateFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): InitiativeUpdateConnection! """ Returns all initiatives in the workspace, with optional filtering and sorting. """ initiatives( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned initiatives. """ filter: InitiativeFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy """ [INTERNAL] Sort returned initiatives. """ sort: [InitiativeSortInput!] ): InitiativeConnection! """ Retrieves a single integration by its identifier. """ integration( """ The identifier of the integration to retrieve. """ id: String! ): Integration! """ Checks if the integration has all required scopes. """ integrationHasScopes( """ The integration ID. """ integrationId: String! """ Required scopes. """ scopes: [String!]! ): IntegrationHasScopesPayload! """ Retrieves a single integration template connection by its identifier. """ integrationTemplate( """ The identifier of the integration template to retrieve. """ id: String! ): IntegrationTemplate! """ All integration template connections for the workspace, linking templates to integrations. """ integrationTemplates( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IntegrationTemplateConnection! """ All integrations for the workspace. """ integrations( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IntegrationConnection! """ Retrieves a specific integration settings configuration by its identifier. """ integrationsSettings( """ The identifier of the integration settings to retrieve. """ id: String! ): IntegrationsSettings! """ One specific issue, looked up by its unique identifier. """ issue( """ The identifier of the issue to retrieve. """ id: String! ): Issue! """ Find issues that are related to a given Figma file key. """ issueFigmaFileKeySearch( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The Figma file key. """ fileKey: String! """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueConnection! """ Suggests filters for an issue view based on a text prompt. """ issueFilterSuggestion( """ The ID of the project if filtering a project view. """ projectId: String """ The text prompt to generate a filter suggestion from. """ prompt: String! """ [Internal] The ID of the team if filtering a team view. """ teamId: String ): IssueFilterSuggestionPayload! """ Checks a CSV file validity against a specific import service. """ issueImportCheckCSV( """ The CSV file storage URL. """ csvUrl: String! """ The service the CSV contains data from. """ service: String! ): IssueImportCheckPayload! """ Checks whether it will be possible to set up sync for this project or repository at the end of import. """ issueImportCheckSync( """ The ID of the issue import for which to check sync eligibility """ issueImportId: String! ): IssueImportSyncCheckPayload! """ Checks whether a custom JQL query is valid and can be used to filter issues of a Jira import. """ issueImportJqlCheck( """ Jira user account email. """ jiraEmail: String! """ Jira installation or cloud hostname. """ jiraHostname: String! """ Jira project key to use as the base filter of the query. """ jiraProject: String! """ Jira personal access token to access Jira REST API. """ jiraToken: String! """ The JQL query to validate. """ jql: String! ): IssueImportJqlCheckPayload! """ One specific label, looked up by its unique identifier. """ issueLabel( """ The identifier of the label to retrieve. """ id: String! ): IssueLabel! """ All issue labels. Returns a paginated list of labels visible to the authenticated user, including both workspace-level and team-scoped labels. """ issueLabels( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issue labels. """ filter: IssueLabelFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueLabelConnection! """ Issue priority values and corresponding labels. """ issuePriorityValues: [IssuePriorityValue!]! """ One specific issue relation, looked up by its unique identifier. """ issueRelation( """ The identifier of the issue relation to retrieve. """ id: String! ): IssueRelation! """ All issue relations. Returns a paginated list of all issue relations (blocks, blocked by, relates to, duplicates) visible to the authenticated user. """ issueRelations( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueRelationConnection! """ Returns code repositories that are most likely to be relevant for implementing an issue. """ issueRepositorySuggestions( """ Optional AgentSession ID associated with the issue for which the suggestions are being generated. """ agentSessionId: String """ List of candidate repositories to restrict suggestions to. """ candidateRepositories: [CandidateRepository!]! """ The ID of the issue to get repository suggestions for. """ issueId: String! ): RepositorySuggestionsPayload! """ [DEPRECATED] Search issues. This endpoint is deprecated and will be removed in the future – use `searchIssues` instead. """ issueSearch( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issues. """ filter: IssueFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy """ [Deprecated] Search string to look for. """ query: String ): IssueConnection! """ Suggests an issue title based on a customer request message using AI summarization. """ issueTitleSuggestionFromCustomerRequest( """ The customer request message to generate an issue title from. """ request: String! ): IssueTitleSuggestionFromCustomerRequestPayload! """ One specific issue-to-release association, looked up by its unique identifier. """ issueToRelease( """ The identifier of the issue-to-release association to retrieve. """ id: String! ): IssueToRelease! """ All issue-to-release associations. Returns a paginated list of all issue-to-release links visible to the authenticated user. """ issueToReleases( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueToReleaseConnection! """ Find issue based on the VCS branch name. """ issueVcsBranchSearch( """ The VCS branch name to search for. """ branchName: String! ): Issue """ 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( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issues. """ filter: IssueFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy """ [INTERNAL] Sort returned issues. """ sort: [IssueSortInput!] ): IssueConnection! """ Returns the latest release for the pipeline associated with the access key. """ latestReleaseByAccessKey: Release """ [Internal] Lists Microsoft Teams teams and channels accessible to the connecting user. Uses the user's microsoftPersonal integration for auth. Used by the project channel picker dialog to populate the team/channel dropdowns. """ microsoftTeamsChannels: MicrosoftTeamsChannelsPayload! """ A specific notification by ID. """ notification( """ The identifier of the notification to retrieve. """ id: String! ): Notification! """ A specific notification subscription by ID. """ notificationSubscription( """ The identifier of the notification subscription to retrieve. """ id: String! ): NotificationSubscription! """ The authenticated user's notification subscriptions. These subscriptions control which notifications the user receives for specific entities such as teams, projects, cycles, labels, custom views, initiatives, customers, and users. """ notificationSubscriptions( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): NotificationSubscriptionConnection! """ The authenticated user's notifications. """ notifications( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filters returned notifications. """ filter: NotificationFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): NotificationConnection! """ [Internal] A number of unread notifications. """ notificationsUnreadCount: Int! """ The authenticated user's workspace. """ organization: Organization! """ [INTERNAL] Checks whether the domain can be claimed. """ organizationDomainClaimRequest( """ The ID of the organization domain to claim. """ id: String! ): OrganizationDomainClaimPayload! """ Checks whether a workspace with the given URL key exists. """ organizationExists( """ The URL key of the workspace to check. """ urlKey: String! ): OrganizationExistsPayload! """ Fetches a specific workspace invite by its ID. """ organizationInvite( """ The identifier of the invite to retrieve. """ id: String! ): OrganizationInvite! """ Fetches public details of a specific workspace invite by its ID. This query does not require authentication and is used for invite acceptance flows. """ organizationInviteDetails( """ The identifier of the invite to retrieve details for. """ id: String! ): OrganizationInviteDetailsPayload! """ All pending and accepted invites for the workspace. """ organizationInvites( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): OrganizationInviteConnection! """ [INTERNAL] Get workspace metadata by URL key or workspace ID. """ organizationMeta( """ The URL key of the workspace to retrieve metadata for. """ urlKey: String! ): OrganizationMeta """ Returns a single project by its identifier or URL slug. """ project(id: String!): Project! """ Suggests filters for a project view based on a text prompt. """ projectFilterSuggestion( prompt: String! """ [Internal] The ID of the team if filtering a team view. """ teamId: String ): ProjectFilterSuggestionPayload! """ Returns a single project label by its identifier. """ projectLabel(id: String!): ProjectLabel! """ Returns all project labels in the workspace, with optional filtering. """ projectLabels( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned project labels. """ filter: ProjectLabelFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ProjectLabelConnection! """ Returns a single project milestone by its identifier. """ projectMilestone(id: String!): ProjectMilestone! """ Returns all project milestones in the workspace, with optional filtering. """ projectMilestones( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned project milestones. """ filter: ProjectMilestoneFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ProjectMilestoneConnection! """ Returns a single project relation by its identifier. """ projectRelation(id: String!): ProjectRelation! """ Returns all project dependency relations in the workspace. """ projectRelations( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ProjectRelationConnection! """ Returns a single project status by its identifier. """ projectStatus(id: String!): ProjectStatus! """ [INTERNAL] Count of projects using this project status across the workspace. """ projectStatusProjectCount( """ The identifier of the project status to find the project count for. """ id: String! ): ProjectStatusCountPayload! """ Returns all project statuses in the workspace. """ projectStatuses( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ProjectStatusConnection! """ Returns a single project update by its identifier. """ projectUpdate( """ The identifier of the project update to retrieve. """ id: String! ): ProjectUpdate! """ Returns all project status updates in the workspace, with optional filtering. """ projectUpdates( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned project updates. """ filter: ProjectUpdateFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ProjectUpdateConnection! """ Returns all projects in the workspace, with optional filtering and sorting. """ projects( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned projects. """ filter: ProjectFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy """ [INTERNAL] Sort returned projects. """ sort: [ProjectSortInput!] ): ProjectConnection! """ Sends a test push notification to the authenticated user's registered devices. Useful for verifying that push notification delivery is working correctly. """ pushSubscriptionTest( """ The send strategy to use. """ sendStrategy: SendStrategy = push """ Whether to send to mobile devices. """ targetMobile: Boolean = false ): PushSubscriptionTestPayload! """ The current rate limit status for the authenticated client, including remaining quota and reset timing for each limit type. """ rateLimitStatus: RateLimitPayload! """ Fetch a single release by its UUID or slug identifier. """ release(id: String!): Release! """ Fetch a release note by its UUID or slug identifier. """ releaseNote(id: String!): ReleaseNote! """ Release notes in the workspace. """ releaseNotes( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ReleaseNoteConnection! """ Fetch a single release pipeline by its UUID or slug identifier. """ releasePipeline(id: String!): ReleasePipeline! """ Returns a release pipeline by ID. Requires the access key to have access to the pipeline. """ releasePipelineByAccessKey: ReleasePipeline! """ All release pipelines in the workspace, with optional filtering and sorting. """ releasePipelines( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned release pipelines. """ filter: ReleasePipelineFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy """ Sort returned release pipelines. """ sort: [ReleasePipelineSortInput!] ): ReleasePipelineConnection! """ Search releases with optional text matching against name, version, and pipeline name. When no search term is provided, returns releases ordered by stage priority (started > planned > completed > canceled). """ releaseSearch( """ Filter to apply to the release results. """ filter: ReleaseFilter """ Maximum results. Capped at 50. """ first: Int = 20 """ Search term to match against release name, version, and pipeline name. When omitted, returns releases ordered by stage priority. """ term: String ): [Release!]! """ Fetch a single release stage by its UUID. """ releaseStage(id: String!): ReleaseStage! """ All release stages in the workspace, with optional filtering. """ releaseStages( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned release stages. """ filter: ReleaseStageFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ReleaseStageConnection! """ All releases in the workspace, with optional filtering and sorting. """ releases( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned releases. """ filter: ReleaseFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy """ Sort returned releases. """ sort: [ReleaseSortInput!] ): ReleaseConnection! """ [Deprecated] Returns a single roadmap by its identifier. Use initiatives instead. """ roadmap(id: String!): Roadmap! @deprecated(reason: "Roadmaps are deprecated, use initiatives instead.") """ [Deprecated] Returns a single roadmap-to-project association. Use InitiativeToProject instead. """ roadmapToProject(id: String!): RoadmapToProject! @deprecated(reason: "RoadmapToProject is deprecated, use InitiativeToProject instead.") """ [Deprecated] Returns all roadmap-to-project associations. Use InitiativeToProject instead. """ roadmapToProjects( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): RoadmapToProjectConnection! @deprecated(reason: "RoadmapToProject is deprecated, use InitiativeToProject instead.") """ [Deprecated] Returns all roadmaps in the workspace. Use initiatives instead. """ roadmaps( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): RoadmapConnection! @deprecated(reason: "Roadmaps are deprecated, use initiatives instead.") """ Search documents by text query using full-text and vector search. Results are ranked by relevance unless an orderBy parameter is specified. Rate-limited to 30 requests per minute. """ searchDocuments( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ Should associated comments be searched (default: false). """ includeComments: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy """ UUID of a team to boost in search results. Results from this team are ranked higher. If null, no team boosting is applied. """ teamId: String """ Search string to look for. """ term: String! ): DocumentSearchPayload! """ Search issues by text query using full-text and vector search. Results are ranked by relevance unless an orderBy parameter is specified. Supports optional issue filters and comment inclusion. Rate-limited to 30 requests per minute. """ searchIssues( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issues. """ filter: IssueFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ Should associated comments be searched (default: false). """ includeComments: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy """ UUID of a team to boost in search results. Results from this team are ranked higher. If null, no team boosting is applied. """ teamId: String """ Search string to look for. """ term: String! ): IssueSearchPayload! """ Search projects by text query using full-text and vector search. Results are ranked by relevance unless an orderBy parameter is specified. Rate-limited to 30 requests per minute. """ searchProjects( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ Should associated comments be searched (default: false). """ includeComments: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy """ UUID of a team to boost in search results. Results from this team are ranked higher. If null, no team boosting is applied. """ teamId: String """ Search string to look for. """ term: String! ): ProjectSearchPayload! """ Search for issues, projects, initiatives, and documents using natural language. Uses vector-based semantic search with optional full-text search and reranking. Results can be filtered by type and by entity-specific filters. Rate-limited to 30 requests per minute. """ semanticSearch( """ Filters to apply to the semantic search results of each type. """ filters: SemanticSearchFilters """ Whether to include archived results in the search (default: false). """ includeArchived: Boolean """ The maximum number of results to return (default: 50). """ maxResults: Int """ Search query to look for. """ query: String! """ The types of results to return (default: all). """ types: [SemanticSearchResultType!] ): SemanticSearchPayload! """ Active SLA configurations that can apply to the requested team. """ slaConfigurations( """ The identifier or key of the team to evaluate SLA rules against. """ teamId: String! ): [SlaConfiguration!]! """ Fetch SSO login URL for the email provided. """ ssoUrlFromEmail( """ Email to query the SSO login URL by. """ email: String! """ Whether the client is the desktop app. """ isDesktop: Boolean """ Type of identity provider. """ type: IdentityProviderType! = general ): SsoUrlFromEmailResponse! """ Fetches a specific team by its ID. """ team( """ The identifier of the team to retrieve. """ id: String! ): Team! """ Fetches a specific team membership by its ID. """ teamMembership( """ The identifier of the team membership to retrieve. """ id: String! ): TeamMembership! """ All team memberships in the workspace. """ teamMemberships( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): TeamMembershipConnection! """ 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( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned teams. """ filter: TeamFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): TeamConnection! """ A specific template. """ template( """ The identifier of the template to retrieve. """ id: String! ): Template! """ All templates in the workspace, including both team-scoped and workspace-level templates. """ templates: [Template!]! """ Returns all templates that are associated with the integration type. """ templatesForIntegration( """ The type of integration for which to return associated templates. """ integrationType: String! ): [Template!]! """ A specific time schedule. """ timeSchedule( """ The identifier of the time schedule to retrieve. """ id: String! ): TimeSchedule! """ All time schedules. """ timeSchedules( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): TimeScheduleConnection! """ All triage responsibilities. """ triageResponsibilities( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): TriageResponsibilityConnection! """ A specific triage responsibility. """ triageResponsibility( """ The identifier of the triage responsibility to retrieve. """ id: String! ): TriageResponsibility! """ Fetches a specific user by their ID. """ user( """ The identifier of the user to retrieve. To retrieve the authenticated user, use `viewer` query. """ id: String! ): User! """ Lists all active authentication sessions for a user. Can only be called by a workspace admin or owner. """ userSessions( """ The identifier of the user to list sessions of. """ id: String! ): [AuthenticationSessionResponse!]! """ The authenticated user's notification and UI settings. """ userSettings: UserSettings! """ All users in the workspace. Supports filtering, sorting, and pagination. """ users( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned users. """ filter: UserFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ Should query return disabled/suspended users (default: false). """ includeDisabled: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy """ [INTERNAL] Sort returned users. """ sort: [UserSortInput!] ): UserConnection! """ Verify that we received the correct response from the GitHub Enterprise Server. """ verifyGitHubEnterpriseServerInstallation( """ The integration ID. """ integrationId: String! ): GitHubEnterpriseServerInstallVerificationPayload! """ The currently authenticated user making the API request. """ viewer: User! """ Retrieves a single webhook by its identifier. """ webhook( """ The identifier of the webhook to retrieve. """ id: String! ): Webhook! """ All webhooks for the current workspace. """ webhooks( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): WebhookConnection! """ One specific workflow state (issue status), looked up by its unique identifier. """ workflowState( """ The identifier of the workflow state to retrieve. """ id: String! ): WorkflowState! """ 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( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned workflow states. """ filter: WorkflowStateFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): WorkflowStateConnection! } """ The current rate limit status for the authenticated entity. """ type RateLimitPayload { """ The identifier being rate limited, typically the API key or user ID. """ identifier: String """ The category of rate limit applied to this request, such as API complexity or request count. """ kind: String! """ The current state of each rate limit type, including remaining quota and reset timing. """ limits: [RateLimitResultPayload!]! } """ The state of a specific rate limit type, including remaining quota and reset timing. """ type RateLimitResultPayload { """ The total allowed quantity for this type of limit. """ allowedAmount: Float! """ The duration in milliseconds of the rate limit window. After this period elapses, the limit is fully replenished. """ period: Float! """ The remaining quantity for this type of limit after this request. """ remainingAmount: Float! """ The requested quantity for this type of limit. """ requestedAmount: Float! """ The UNIX timestamp (in milliseconds) at which the rate limit will be fully replenished. """ reset: Float! """ The specific type of rate limit being tracked, such as query complexity or mutation count. """ type: String! } """ An emoji reaction on a comment, issue, project update, initiative update, post, pull request, or pull request comment. Each reaction is associated with exactly one parent entity and is created by either a workspace user or an external user. Reactions are persisted individually but surfaced on their parent entities as aggregated reactionData. """ type Reaction implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The comment that the reaction is associated with. Null if the reaction belongs to a different parent entity type. """ comment: Comment """ The time at which the entity was created. """ createdAt: DateTime! """ The name of the emoji used for this reaction. For custom workspace emojis, this is the custom emoji name; for standard emojis, this is the normalized emoji name. """ emoji: String! """ The external user that created the reaction through an integration. Null if the reaction was created by a workspace user. """ externalUser: ExternalUser """ The unique identifier of the entity. """ id: ID! """ The initiative update that the reaction is associated with. Null if the reaction belongs to a different parent entity type. """ initiativeUpdate: InitiativeUpdate """ The issue that the reaction is associated with. Null if the reaction belongs to a different parent entity type. """ issue: Issue """ The post that the reaction is associated with. Null if the reaction belongs to a different parent entity type. """ post: Post """ The project update that the reaction is associated with. Null if the reaction belongs to a different parent entity type. """ projectUpdate: ProjectUpdate """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The workspace user that created the reaction. Null if the reaction was created by an external user through an integration. """ user: User } """ Reaction filtering options. """ input ReactionCollectionFilter { """ Compound filters, all of which need to be matched by the reaction. """ and: [ReactionCollectionFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the reactions custom emoji. """ customEmojiId: IDComparator """ Comparator for the reactions emoji. """ emoji: StringComparator """ Filters that needs to be matched by all reactions. """ every: ReactionFilter """ Comparator for the identifier. """ id: IDComparator """ Comparator for the collection length. """ length: NumberComparator """ Compound filters, one of which need to be matched by the reaction. """ or: [ReactionCollectionFilter!] """ Filters that needs to be matched by some reactions. """ some: ReactionFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Input for creating a new reaction. """ input ReactionCreateInput { """ The comment to associate the reaction with. """ commentId: String """ The emoji the user reacted with. """ emoji: String! """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The update to associate the reaction with. """ initiativeUpdateId: String """ The issue to associate the reaction with. Can be a UUID or issue identifier (e.g., 'LIN-123'). """ issueId: String """ [Internal] The post to associate the reaction with. """ postId: String """ The project update to associate the reaction with. """ projectUpdateId: String """ [Internal] The pull request comment to associate the reaction with. """ pullRequestCommentId: String """ [Internal] The pull request to associate the reaction with. """ pullRequestId: String } """ Reaction filtering options. """ input ReactionFilter { """ Compound filters, all of which need to be matched by the reaction. """ and: [ReactionFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the reactions custom emoji. """ customEmojiId: IDComparator """ Comparator for the reactions emoji. """ emoji: StringComparator """ Comparator for the identifier. """ id: IDComparator """ Compound filters, one of which need to be matched by the reaction. """ or: [ReactionFilter!] """ Comparator for the updated at date. """ updatedAt: DateComparator } """ The result of a reaction mutation. """ type ReactionPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The reaction that was created. """ reaction: Reaction! """ Whether the operation was successful. """ success: Boolean! } """ Payload for a reaction webhook. """ type ReactionWebhookPayload { """ The time at which the entity was archived. """ archivedAt: String """ The comment the reaction is associated with. """ comment: CommentChildWebhookPayload """ The ID of the comment that the reaction is associated with. """ commentId: String """ The time at which the entity was created. """ createdAt: String! """ Name of the reaction's emoji. """ emoji: String! """ The ID of the external user that created the reaction. """ externalUserId: String """ The ID of the entity. """ id: String! """ The ID of the initiative update that the reaction is associated with. """ initiativeUpdateId: String """ The issue the reaction is associated with. """ issue: IssueChildWebhookPayload """ The ID of the issue that the reaction is associated with. """ issueId: String """ The ID of the post that the reaction is associated with. """ postId: String """ The project update the reaction is associated with. """ projectUpdate: ProjectUpdateChildWebhookPayload """ The ID of the project update that the reaction is associated with. """ projectUpdateId: String """ The time at which the entity was updated. """ updatedAt: String! """ The user that created the reaction. """ user: UserChildWebhookPayload """ The ID of the user that created the reaction. """ userId: String } """ Comparator for relation existence. """ input RelationExistsComparator { """ Equals constraint. """ eq: Boolean """ Not equals constraint. """ neq: Boolean } """ A release that bundles issues together for a software deployment or version. Releases belong to a release pipeline and progress through stages (e.g., planned, started, completed, canceled). Issues are associated with releases via the IssueToRelease join entity, and the release tracks lifecycle timestamps such as when it was started, completed, or canceled. """ type Release implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the release was canceled. Set automatically when the release moves to a canceled stage. Reset to null if the release moves back to a non-canceled stage. """ canceledAt: DateTime """ The Git commit SHA associated with this release. Used for SHA-based idempotency when completing releases and for linking releases to specific points in the repository history. Null if the release was created without a commit reference. """ commitSha: String """ The time at which the release was completed. Set automatically when the release moves to a completed stage. Reset to null if the release moves back to a non-completed stage. """ completedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the release. Null if the release was created by a non-user context such as an access key or automation. """ creator: User """ The current progress summary for the release, including counts of issues by workflow state type (e.g., completed, in progress, unstarted). """ currentProgress: JSONObject! """ The description of the release in plain text or markdown. Null if no description has been set. """ description: String """ Documents associated with the release. """ documents( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned documents. """ filter: DocumentFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): DocumentConnection! """ History entries associated with the release. """ history( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ReleaseHistoryConnection! """ The unique identifier of the entity. """ id: ID! """ Number of issues associated with the release. """ issueCount( """ Include archived issues in the count. """ includeArchived: Boolean = false ): Int! """ Issues associated with the release. """ issues( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issues. """ filter: IssueFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueConnection! """ Links associated with the release. """ links( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): EntityExternalLinkConnection! """ The name of the release. """ name: String! """ The release pipeline that this release belongs to. A release always belongs to exactly one pipeline. """ pipeline: ReleasePipeline! """ The historical progress snapshots for the release, tracking how issue completion has evolved over time. """ progressHistory: JSONObject! """ Release notes for the release. """ releaseNotes: [ReleaseNote!]! """ The release's unique URL slug, used to construct human-readable URLs for the release. """ slugId: String! """ The current stage of the release within its pipeline (e.g., Planned, In Progress, Completed, Canceled). Changing the stage triggers lifecycle timestamp updates and may move non-closed issues to a new release when completing a scheduled pipeline release. """ stage: ReleaseStage! """ The estimated start date of the release. This is a date-only value without a time component. Automatically set to today when the release moves to a started stage if not already set. Null if no start date has been specified. """ startDate: TimelessDate """ The time at which the release first entered a started stage. Null if the release has not yet been started. """ startedAt: DateTime """ The estimated completion date of the release. This is a date-only value without a time component. Null if no target date has been specified. """ targetDate: TimelessDate """ A flag that indicates whether the release is in the trash bin. Trashed releases are archived and will be permanently deleted after a retention period. Null when the release is not trashed. """ trashed: Boolean """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The URL to the release page in the Linear app. """ url: String! """ The version identifier for this release (e.g., 'v1.2.3' or a short commit hash). Must be unique within the pipeline. Null if no version has been assigned. """ version: String } """ A generic payload return from entity archive mutations. """ type ReleaseArchivePayload implements ArchivePayload { """ The archived/unarchived entity. Null if entity was deleted. """ entity: Release """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Features release channel. """ enum ReleaseChannel { beta development internal preRelease privateBeta public } """ Release collection filtering options. """ input ReleaseCollectionFilter { """ Compound filters, all of which need to be matched by the release. """ and: [ReleaseCollectionFilter!] """ Comparator for the release completion date. """ completedAt: NullableDateComparator """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that needs to be matched by all releases. """ every: ReleaseFilter """ Comparator for the identifier. """ id: IDComparator """ Comparator for the collection length. """ length: NumberComparator """ Comparator for the release name. """ name: StringComparator """ Compound filters, one of which need to be matched by the release. """ or: [ReleaseCollectionFilter!] """ Filters that the release's pipeline must satisfy. """ pipeline: ReleasePipelineFilter """ Filters that needs to be matched by some releases. """ some: ReleaseFilter """ Filters that the release's stage must satisfy. """ stage: ReleaseStageFilter """ Comparator for the updated at date. """ updatedAt: DateComparator """ Comparator for the release version. """ version: StringComparator } """ Input for completing a release in a specific pipeline. """ input ReleaseCompleteInput { """ The commit SHA associated with this completion. If a completed release with this SHA already exists, it will be returned instead of completing a new release. """ commitSha: String """ Optional release name to apply when completing the release. """ name: String """ The identifier of the pipeline to mark a release as completed. """ pipelineId: String! """ The version of the release to complete. If not provided, the latest started release will be completed. """ version: String } """ Base input for completing a release. Contains the optional version and commit SHA. The pipeline ID is provided separately or inferred from the access key. """ input ReleaseCompleteInputBase { """ The commit SHA associated with this completion. If a completed release with this SHA already exists, it will be returned instead of completing a new release. """ commitSha: String """ Optional release name to apply when completing the release. """ name: String """ The version of the release to complete. If not provided, the latest started release will be completed. """ version: String } type ReleaseConnection { edges: [ReleaseEdge!]! nodes: [Release!]! pageInfo: PageInfo! } """ The input for creating a release. """ input ReleaseCreateInput { """ The commit SHA associated with this release. """ commitSha: String """ The time at which the release was completed (e.g. if importing from another system). Must be a time in the past and after createdAt. Cannot be provided with an incompatible stage. """ completedAt: DateTime """ The time at which the release was created (e.g. if importing from another system). Must be a time in the past. If none is provided, the backend will generate the time as now. """ createdAt: DateTime """ The description of the release. """ description: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The name of the release. """ name: String! """ The identifier of the pipeline this release belongs to. """ pipelineId: String! """ The current stage of the release. Defaults to the first 'completed' stage for continuous pipelines, or the first 'started' stage for scheduled pipelines. """ stageId: String """ The estimated start date of the release. """ startDate: TimelessDate """ The time at which the release was started (e.g. if importing from another system). Must be a time in the past and after createdAt. """ startedAt: DateTime """ The estimated completion date of the release. """ targetDate: TimelessDate """ The version of the release. """ version: String } """ Diagnostic data captured during release sync, including inspected commits, discovered issue references, and pull request metadata. Stored on the release for debugging release association issues. """ input ReleaseDebugSinkInput { """ List of paths applied during commit scanning. """ includePaths: [String!] """ List of commit SHAs that were inspected. """ inspectedShas: [String!]! """ Map of issue identifiers to their source information. """ issues: JSONObject! """ Pull request debug information. """ pullRequests: [JSONObject!]! """ Map of reverted issue identifiers to their source information. """ revertedIssues: JSONObject } type ReleaseEdge { """ Used in `before` and `after` args """ cursor: String! node: Release! } """ Release filtering options. """ input ReleaseFilter { """ Compound filters, all of which need to be matched by the release. """ and: [ReleaseFilter!] """ Comparator for the release completion date. """ completedAt: NullableDateComparator """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the identifier. """ id: IDComparator """ Comparator for the release name. """ name: StringComparator """ Compound filters, one of which need to be matched by the release. """ or: [ReleaseFilter!] """ Filters that the release's pipeline must satisfy. """ pipeline: ReleasePipelineFilter """ Filters that the release's stage must satisfy. """ stage: ReleaseStageFilter """ Comparator for the updated at date. """ updatedAt: DateComparator """ Comparator for the release version. """ version: StringComparator } """ A release history record containing a batch of chronologically ordered change events for a release. Each record holds up to 30 entries, and new records are created once the current record is full and a time window has elapsed. Tracks changes to name, description, version, stage, dates, pipeline, and archive status. """ type ReleaseHistory implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The events that happened while recording that history. """ entries: JSONObject! """ The unique identifier of the entity. """ id: ID! """ The release that this history record tracks changes for. """ release: Release! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } type ReleaseHistoryConnection { edges: [ReleaseHistoryEdge!]! nodes: [ReleaseHistory!]! pageInfo: PageInfo! } type ReleaseHistoryEdge { """ Used in `before` and `after` args """ cursor: String! node: ReleaseHistory! } """ A release note. The note body is stored in related document content, and the releases it covers are tracked in releaseIds. """ type ReleaseNote implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ Document content backing the release note body. """ documentContent: DocumentContent """ The unique identifier of the entity. """ id: ID! """ The most recent release covered by this note. """ lastRelease: Release """ Releases included in the note. """ releases: [Release!]! """ The release note's unique URL slug, used to construct human-readable URLs for the note. """ slugId: String! """ User-supplied title for the release note. """ title: String """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } type ReleaseNoteConnection { edges: [ReleaseNoteEdge!]! nodes: [ReleaseNote!]! pageInfo: PageInfo! } """ Input for creating a release note. """ input ReleaseNoteCreateInput { """ The release note body as markdown. """ content: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ Identifier of the release pipeline. """ pipelineId: String! """ Oldest release (by createdAt) to include. When paired with rangeToReleaseId, expands to every release in the pipeline within the createdAt window. """ rangeFromReleaseId: String """ Newest release (by createdAt) to include. Paired with rangeFromReleaseId. """ rangeToReleaseId: String """ Explicit release IDs to include. Mutually exclusive with rangeFromReleaseId/rangeToReleaseId — exactly one of the two shapes must be provided. """ releaseIds: [String!] """ Optional user-supplied title. """ title: String } type ReleaseNoteEdge { """ Used in `before` and `after` args """ cursor: String! node: ReleaseNote! } """ The result of a release note mutation. """ type ReleaseNotePayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The release note that was created or updated. """ releaseNote: ReleaseNote! """ Whether the operation was successful. """ success: Boolean! } """ Input for updating a release note. """ input ReleaseNoteUpdateInput { """ The release note body as markdown. """ content: String """ Oldest release (by createdAt) of the new range. Paired with rangeToReleaseId. """ rangeFromReleaseId: String """ Newest release (by createdAt) of the new range. Paired with rangeFromReleaseId. """ rangeToReleaseId: String """ Explicit release IDs to set. Mutually exclusive with rangeFromReleaseId/rangeToReleaseId. """ releaseIds: [String!] """ Optional user-supplied title. """ title: String } """ The result of a release mutation, containing the release that was created or updated and a success indicator. """ type ReleasePayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The release that was created or updated. """ release: Release! """ Whether the operation was successful. """ success: Boolean! } """ A release pipeline that defines a release workflow with ordered stages. Pipelines can be continuous (each sync creates a completed release) or scheduled (issues accumulate in a started release that is explicitly completed). Pipelines are associated with teams and can filter commits by file path patterns. """ type ReleasePipeline implements Node { """ The approximate number of non-archived releases in this pipeline. This is a denormalized count that is updated when releases are created or archived, and may not reflect the exact count at all times. """ approximateReleaseCount: Int! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The unique identifier of the entity. """ id: ID! """ Glob patterns to filter commits by file path. When non-empty, only commits that modify files matching at least one pattern will be included in release syncs. An empty array means all commits are included regardless of file paths. """ includePathPatterns: [String!]! """ Whether this pipeline targets a production environment. Defaults to true. Used to distinguish production pipelines from staging or development pipelines. """ isProduction: Boolean! """ The release note in this pipeline whose covered range ends with the most recent release. """ latestReleaseNote: ReleaseNote """ The name of the pipeline. """ name: String! """ The document template used to define the release notes format for this pipeline. AI-generated release notes follow the structure and tone of this template. Null if no template has been configured. """ releaseNoteTemplate: Template """ Releases associated with this pipeline. """ releases( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy """ Sort returned releases. """ sort: [ReleaseSortInput!] ): ReleaseConnection! """ The pipeline's unique slug identifier, used in URLs and for lookup by human-readable identifier instead of UUID. """ slugId: String! """ Stages associated with this pipeline. """ stages( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ReleaseStageConnection! """ Teams associated with this pipeline. """ teams( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): TeamConnection! """ The type of the pipeline, which determines how releases are created and managed. Continuous pipelines create a completed release per sync, while scheduled pipelines accumulate issues in a started release. """ type: ReleasePipelineType! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The URL to the release pipeline's releases list in the Linear app. """ url: String! } """ A generic payload return from entity archive mutations. """ type ReleasePipelineArchivePayload implements ArchivePayload { """ The archived/unarchived entity. Null if entity was deleted. """ entity: ReleasePipeline """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Certain properties of a release pipeline. """ type ReleasePipelineChildWebhookPayload { """ The ID of the release pipeline. """ id: String! """ The name of the release pipeline. """ name: String! """ The pipeline's unique slug identifier. """ slugId: String! """ The type of the release pipeline. """ type: String! """ The URL of the release pipeline. """ url: String! } """ Release pipeline collection filtering options. """ input ReleasePipelineCollectionFilter { """ Compound filters, all of which need to be matched by the release pipeline. """ and: [ReleasePipelineCollectionFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that needs to be matched by all release pipelines. """ every: ReleasePipelineFilter """ Comparator for the identifier. """ id: IDComparator """ Comparator for the pipeline production flag. """ isProduction: BooleanComparator """ Comparator for the collection length. """ length: NumberComparator """ Comparator for the pipeline name. """ name: StringComparator """ Compound filters, one of which need to be matched by the release pipeline. """ or: [ReleasePipelineCollectionFilter!] """ Filters that needs to be matched by some release pipelines. """ some: ReleasePipelineFilter """ Filters that the release pipeline's teams must satisfy. """ teams: TeamCollectionFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } type ReleasePipelineConnection { edges: [ReleasePipelineEdge!]! nodes: [ReleasePipeline!]! pageInfo: PageInfo! } """ Input for creating a new release pipeline. """ input ReleasePipelineCreateInput { """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ Glob patterns to include commits affecting matching file paths. """ includePathPatterns: [String!] """ Whether this pipeline targets a production environment. Default to true. """ isProduction: Boolean """ The name of the pipeline. """ name: String! """ The pipeline's unique slug identifier. If not provided, it will be auto-generated. """ slugId: String """ The identifiers of the teams this pipeline is associated with. """ teamIds: [String!] """ The type of the pipeline. """ type: ReleasePipelineType } type ReleasePipelineEdge { """ Used in `before` and `after` args """ cursor: String! node: ReleasePipeline! } """ Release pipeline filtering options. """ input ReleasePipelineFilter { """ Compound filters, all of which need to be matched by the pipeline. """ and: [ReleasePipelineFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the identifier. """ id: IDComparator """ Comparator for the pipeline production flag. """ isProduction: BooleanComparator """ Comparator for the pipeline name. """ name: StringComparator """ Compound filters, one of which need to be matched by the pipeline. """ or: [ReleasePipelineFilter!] """ Filters that the release pipeline's teams must satisfy. """ teams: TeamCollectionFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } """ Release pipeline name sorting options. """ input ReleasePipelineNameSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ The result of a release pipeline mutation. """ type ReleasePipelinePayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The release pipeline that was created or updated. """ releasePipeline: ReleasePipeline! """ Whether the operation was successful. """ success: Boolean! } """ Release pipeline sorting options. """ input ReleasePipelineSortInput { """ Sort by release pipeline name. """ name: ReleasePipelineNameSort } """ The type of a release pipeline, which determines how releases are created and managed. Continuous pipelines create a new completed release for each sync. Scheduled pipelines accumulate issues into a started release that is explicitly completed. """ enum ReleasePipelineType { continuous scheduled } """ Input for updating an existing release pipeline. """ input ReleasePipelineUpdateInput { """ Glob patterns to include commits affecting matching file paths. """ includePathPatterns: [String!] """ Whether this pipeline targets a production environment. Default to true. """ isProduction: Boolean """ The name of the pipeline. """ name: String """ The pipeline's unique slug identifier. """ slugId: String """ The identifiers of the teams this pipeline is associated with. """ teamIds: [String!] """ The type of the pipeline. """ type: ReleasePipelineType } """ Issue release sorting options. """ input ReleaseSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Release sorting options. """ input ReleaseSortInput { """ Sort by release stage """ stage: ReleaseStageSort } """ A stage within a release pipeline that represents a phase in the release lifecycle (e.g., Planned, In Progress, Completed, Canceled). Releases progress through stages as they move toward production. Started-type stages can be frozen to prevent new issues from being automatically synced into releases at that stage. """ type ReleaseStage implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The display color of the stage as a HEX string (e.g., '#0f783c'), used for visual representation in the UI. """ color: String! """ The time at which the entity was created. """ createdAt: DateTime! """ Whether this stage is frozen. Only applicable to started-type stages. When a stage is frozen, automated release syncs will not target releases in this stage, and new issues will not be automatically added. At least one started stage in the pipeline must remain non-frozen. """ frozen: Boolean! """ The unique identifier of the entity. """ id: ID! """ The name of the stage. """ name: String! """ The release pipeline that this stage belongs to. A stage always belongs to exactly one pipeline. """ pipeline: ReleasePipeline! """ The position of the stage within its pipeline, used for ordering stages in the UI. Lower values appear first. """ position: Float! """ Releases associated with this stage. """ releases( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ReleaseConnection! """ The lifecycle type of the stage (planned, started, completed, or canceled). The type determines what lifecycle timestamps are set on a release when it enters this stage. """ type: ReleaseStageType! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ A generic payload return from entity archive mutations. """ type ReleaseStageArchivePayload implements ArchivePayload { """ The archived/unarchived entity. Null if entity was deleted. """ entity: ReleaseStage """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Certain properties of a release stage. """ type ReleaseStageChildWebhookPayload { """ The UI color of the stage as a HEX string. """ color: String! """ The ID of the release stage. """ id: String! """ The name of the stage. """ name: String! """ The position of the stage. """ position: Float! """ The type of the stage. """ type: String! } type ReleaseStageConnection { edges: [ReleaseStageEdge!]! nodes: [ReleaseStage!]! pageInfo: PageInfo! } """ Input for creating a new release stage. """ input ReleaseStageCreateInput { """ The UI color of the stage as a HEX string. """ color: String! """ Whether this stage is frozen. Only applicable to started stages. """ frozen: Boolean """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The name of the stage. """ name: String! """ The identifier of the pipeline this stage belongs to. """ pipelineId: String! """ The position of the stage. """ position: Float! """ The type of the stage. """ type: ReleaseStageType! } type ReleaseStageEdge { """ Used in `before` and `after` args """ cursor: String! node: ReleaseStage! } """ Release stage filtering options. """ input ReleaseStageFilter { """ Compound filters, all of which need to be matched by the stage. """ and: [ReleaseStageFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the identifier. """ id: IDComparator """ Comparator for the stage name. """ name: StringComparator """ Compound filters, one of which need to be matched by the stage. """ or: [ReleaseStageFilter!] """ Comparator for the stage type. """ type: ReleaseStageTypeComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ The result of a release stage mutation. """ type ReleaseStagePayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The release stage that was created or updated. """ releaseStage: ReleaseStage! """ Whether the operation was successful. """ success: Boolean! } """ Release stage sorting options. """ input ReleaseStageSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ The type of a release stage, which determines the release's lifecycle state. Types include planned, started, completed, and canceled. Each pipeline must have at least one stage of each type, though only started stages may have multiple instances. """ enum ReleaseStageType { canceled completed planned started } """ Comparator for release stage type. """ input ReleaseStageTypeComparator { """ Equals constraint. """ eq: ReleaseStageType """ In-array constraint. """ in: [ReleaseStageType!] """ Not-equals constraint. """ neq: ReleaseStageType """ Not-in-array constraint. """ nin: [ReleaseStageType!] """ Null constraint. Matches any non-null values if the given value is false, otherwise it matches null values. """ null: Boolean } """ Input for updating an existing release stage. """ input ReleaseStageUpdateInput { """ The UI color of the stage as a HEX string. """ color: String """ Whether this stage is frozen. Only applicable to started stages. """ frozen: Boolean """ The name of the stage. """ name: String """ The position of the stage. """ position: Float } """ Input for syncing release data to a specific pipeline. Extends the base sync input with the target pipeline identifier. """ input ReleaseSyncInput { """ The commit SHA associated with this release. """ commitSha: String! """ Debug information for release creation diagnostics. """ debugSink: ReleaseDebugSinkInput """ Issue references (e.g. ENG-123) to associate with this release. """ issueReferences: [IssueReferenceInput!] """ The name of the release. """ name: String """ The identifier of the pipeline this release belongs to. """ pipelineId: String! """ Pull request references to look up. Issues linked to found PRs will be associated with this release. """ pullRequestReferences: [PullRequestReferenceInput!] """ Information about the source repository. """ repository: RepositoryDataInput """ Issue references that were reverted and should be removed from the release. """ revertedIssueReferences: [IssueReferenceInput!] """ The version of the release. """ version: String } """ Base input for syncing release data, containing the commit SHA, issue references, pull request references, and optional metadata. Does not include the pipeline ID, which is provided separately or inferred from the access key. """ input ReleaseSyncInputBase { """ The commit SHA associated with this release. """ commitSha: String! """ Debug information for release creation diagnostics. """ debugSink: ReleaseDebugSinkInput """ Issue references (e.g. ENG-123) to associate with this release. """ issueReferences: [IssueReferenceInput!] """ The name of the release. """ name: String """ Pull request references to look up. Issues linked to found PRs will be associated with this release. """ pullRequestReferences: [PullRequestReferenceInput!] """ Information about the source repository. """ repository: RepositoryDataInput """ Issue references that were reverted and should be removed from the release. """ revertedIssueReferences: [IssueReferenceInput!] """ The version of the release. """ version: String } """ Input for updating a release by pipeline identifier. Extends the base update input with the target pipeline identifier. """ input ReleaseUpdateByPipelineInput { """ Optional release name to apply when updating the release. """ name: String """ The identifier of the pipeline. """ pipelineId: String! """ The stage name to set. First tries exact match, then falls back to case-insensitive matching with dashes/underscores treated as spaces. """ stage: String """ The version of the release to update. If not provided, the latest started or latest planned release will be updated. """ version: String } """ Base input for updating a release by pipeline. Contains optional version and stage name. The pipeline ID is provided separately or inferred from the access key. """ input ReleaseUpdateByPipelineInputBase { """ Optional release name to apply when updating the release. """ name: String """ The stage name to set. First tries exact match, then falls back to case-insensitive matching with dashes/underscores treated as spaces. """ stage: String """ The version of the release to update. If not provided, the latest started or latest planned release will be updated. """ version: String } """ Input for updating an existing release. """ input ReleaseUpdateInput { """ The commit SHA associated with this release. """ commitSha: String """ The time at which the release was completed. """ completedAt: DateTime """ The description of the release. """ description: String """ The name of the release. """ name: String """ The identifier of the pipeline this release belongs to. """ pipelineId: String """ The current stage of the release. """ stageId: String """ The estimated start date of the release. """ startDate: TimelessDate """ The time at which the release was started. """ startedAt: DateTime """ The estimated completion date of the release. """ targetDate: TimelessDate """ Whether the release has been trashed. """ trashed: Boolean """ The version of the release. """ version: String } """ Payload for a release webhook. """ type ReleaseWebhookPayload { """ The time at which the entity was archived. """ archivedAt: String """ The time at which the release was canceled. """ canceledAt: String """ The commit SHA associated with this release. """ commitSha: String """ The time at which the release was completed. """ completedAt: String """ The time at which the entity was created. """ createdAt: String! """ The ID of the user who created the release. """ creatorId: String """ The release's description. """ description: String """ The ID of the entity. """ id: String! """ The issues associated with the release. """ issues: [IssueChildWebhookPayload!] """ The name of the release. """ name: String! """ The pipeline this release belongs to. """ pipeline: ReleasePipelineChildWebhookPayload """ The ID of the pipeline this release belongs to. """ pipelineId: String! """ The release's unique URL slug. """ slugId: String! """ The current stage of the release. """ stage: ReleaseStageChildWebhookPayload """ The ID of the current stage of the release. """ stageId: String! """ The estimated start date of the release. """ startDate: String """ The time at which the release was started. """ startedAt: String """ The estimated completion date of the release. """ targetDate: String """ Whether the release is in the trash bin. """ trashed: Boolean """ The time at which the entity was updated. """ updatedAt: String! """ The URL of the release. """ url: String! """ The version of the release. """ version: String } """ Metadata about the source code repository from which a release is being synced, including the hosting provider and repository coordinates. """ input RepositoryDataInput { """ The name of the repository. """ name: String! """ The owner of the repository (e.g., organization or user name). """ owner: String! """ The VCS provider hosting the repository (e.g., 'github', 'gitlab', 'bitbucket'). """ provider: String! """ The base URL of the repository on the hosting provider (e.g., 'https://github.com/linear/linear-app'). """ url: String! } """ A suggested code repository that may be relevant for implementing an issue. """ type RepositorySuggestion { """ Confidence score from 0.0 to 1.0. """ confidence: Float! """ Hostname of the Git service (e.g., 'github.com', 'github.company.com'). """ hostname: String """ The full name of the repository in owner/name format (e.g., 'acme/backend'). """ repositoryFullName: String! } """ The result of a repository suggestions query, containing the list of suggested repositories. """ type RepositorySuggestionsPayload { """ The suggested repositories. """ suggestions: [RepositorySuggestion!]! } """ Customer revenue sorting options. """ input RevenueSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ [Deprecated] A roadmap for grouping projects. Use Initiative instead, which supersedes this entity and provides richer hierarchy and tracking capabilities. """ type Roadmap implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The roadmap's color. """ color: String """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the roadmap. """ creator: User! """ The description of the roadmap. """ description: String """ The unique identifier of the entity. """ id: ID! """ The name of the roadmap. """ name: String! """ The workspace of the roadmap. """ organization: Organization! """ The user who owns the roadmap. """ owner: User """ Projects associated with the roadmap. """ projects( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned projects. """ filter: ProjectFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ProjectConnection! """ The roadmap's unique URL slug. """ slugId: String! """ The sort order of the roadmap within the workspace. """ sortOrder: Float! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The canonical url for the roadmap. """ url: String! } """ A generic payload return from entity archive mutations. """ type RoadmapArchivePayload implements ArchivePayload { """ The archived/unarchived entity. Null if entity was deleted. """ entity: Roadmap """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Roadmap collection filtering options. """ input RoadmapCollectionFilter { """ Compound filters, all of which need to be matched by the roadmap. """ and: [RoadmapCollectionFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the roadmap creator must satisfy. """ creator: UserFilter """ Filters that needs to be matched by all roadmaps. """ every: RoadmapFilter """ Comparator for the identifier. """ id: IDComparator """ Comparator for the collection length. """ length: NumberComparator """ Comparator for the roadmap name. """ name: StringComparator """ Compound filters, one of which need to be matched by the roadmap. """ or: [RoadmapCollectionFilter!] """ Comparator for the roadmap slug ID. """ slugId: StringComparator """ Filters that needs to be matched by some roadmaps. """ some: RoadmapFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } type RoadmapConnection { edges: [RoadmapEdge!]! nodes: [Roadmap!]! pageInfo: PageInfo! } """ Input for creating a new roadmap. """ input RoadmapCreateInput { """ The roadmap's color. """ color: String """ The description of the roadmap. """ description: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The name of the roadmap. """ name: String! """ The owner of the roadmap. """ ownerId: String """ The sort order of the roadmap within the workspace. """ sortOrder: Float } type RoadmapEdge { """ Used in `before` and `after` args """ cursor: String! node: Roadmap! } """ Roadmap filtering options. """ input RoadmapFilter { """ Compound filters, all of which need to be matched by the roadmap. """ and: [RoadmapFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that the roadmap creator must satisfy. """ creator: UserFilter """ Comparator for the identifier. """ id: IDComparator """ Comparator for the roadmap name. """ name: StringComparator """ Compound filters, one of which need to be matched by the roadmap. """ or: [RoadmapFilter!] """ Comparator for the roadmap slug ID. """ slugId: StringComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ The result of a roadmap mutation. """ type RoadmapPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The roadmap that was created or updated. """ roadmap: Roadmap! """ Whether the operation was successful. """ success: Boolean! } """ [Deprecated] The join entity linking a project to a roadmap. Use InitiativeToProject instead, which supersedes this entity. """ type RoadmapToProject implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The unique identifier of the entity. """ id: ID! """ The project that the roadmap is associated with. """ project: Project! """ The roadmap that the project is associated with. """ roadmap: Roadmap! """ The sort order of the project within the roadmap. """ sortOrder: String! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } type RoadmapToProjectConnection { edges: [RoadmapToProjectEdge!]! nodes: [RoadmapToProject!]! pageInfo: PageInfo! } """ Input for creating a new roadmap-to-project mapping. """ input RoadmapToProjectCreateInput { """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The identifier of the project. """ projectId: String! """ The identifier of the roadmap. """ roadmapId: String! """ The sort order for the project within its workspace. """ sortOrder: Float } type RoadmapToProjectEdge { """ Used in `before` and `after` args """ cursor: String! node: RoadmapToProject! } """ The result of a roadmap-to-project mutation. """ type RoadmapToProjectPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The roadmapToProject that was created or updated. """ roadmapToProject: RoadmapToProject! """ Whether the operation was successful. """ success: Boolean! } """ Input for updating an existing roadmap-to-project mapping. """ input RoadmapToProjectUpdateInput { """ The sort order for the project within its workspace. """ sortOrder: Float } """ Input for updating an existing roadmap. """ input RoadmapUpdateInput { """ The roadmap's color. """ color: String """ The description of the roadmap. """ description: String """ The name of the roadmap. """ name: String """ The owner of the roadmap. """ ownerId: String """ The sort order of the roadmap within the workspace. """ sortOrder: Float } """ Issue root-issue sorting options. """ input RootIssueSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder """ The sort to apply to the root issues """ sort: IssueSortInput! } """ Which day count to use for SLA calculations. """ enum SLADayCountType { all onlyBusinessDays } """ [INTERNAL] Comparator for Salesforce metadata. """ input SalesforceMetadataIntegrationComparator { """ Salesforce Case metadata filter """ caseMetadata: JSONObject } input SalesforceSettingsInput { """ Whether a ticket should be automatically reopened when its linked Linear issue is canceled. """ automateTicketReopeningOnCancellation: Boolean """ Whether a ticket should be automatically reopened when a comment is posted on its linked Linear issue """ automateTicketReopeningOnComment: Boolean """ Whether a ticket should be automatically reopened when its linked Linear issue is completed. """ automateTicketReopeningOnCompletion: Boolean """ Whether a ticket should be automatically reopened when its linked Linear project is canceled. """ automateTicketReopeningOnProjectCancellation: Boolean """ Whether a ticket should be automatically reopened when its linked Linear project is completed. """ automateTicketReopeningOnProjectCompletion: Boolean """ The Salesforce team to use when a template doesn't specify a team. """ defaultTeam: String """ [ALPHA] Whether customer and customer requests should not be automatically created when conversations are linked to a Linear issue. """ disableCustomerRequestsAutoCreation: Boolean """ Whether Linear Agent should be enabled for this integration. """ enableAiIntake: Boolean """ The Salesforce case status to use to reopen cases. """ reopenCaseStatus: String """ Whether to restrict visibility of the integration to issues that have been either created from Salesforce or linked to Salesforce. """ restrictVisibility: Boolean """ Whether an internal message should be added when someone comments on an issue. """ sendNoteOnComment: Boolean """ Whether an internal message should be added when a Linear issue changes status (for status types except completed or canceled). """ sendNoteOnStatusChange: Boolean """ The Salesforce subdomain. """ subdomain: String """ The Salesforce instance URL. """ url: String } """ Filters for semantic search results. """ input SemanticSearchFilters { """ Filters applied to documents. """ documents: DocumentFilter """ Filters applied to initiatives. """ initiatives: InitiativeFilter """ Filters applied to issues. """ issues: IssueFilter """ Filters applied to projects. """ projects: ProjectFilter } """ The payload returned by the semantic search query, containing the list of matching results. """ type SemanticSearchPayload { """ Whether the semantic search is enabled. """ enabled: Boolean! @deprecated(reason: "Always true.") """ The list of matching search results, ordered by relevance score. """ results: [SemanticSearchResult!]! } """ A reference to an entity returned by semantic search, containing its type and ID. Resolve the specific entity using the type-specific field resolvers (issue, project, initiative, document). """ type SemanticSearchResult implements Node { """ The document entity, if this search result is of type Document. Null for other result types. """ document: Document """ The unique identifier of the entity. """ id: ID! """ The initiative entity, if this search result is of type Initiative. Null for other result types. """ initiative: Initiative """ The issue entity, if this search result is of type Issue. Null for other result types. """ issue: Issue """ The project entity, if this search result is of type Project. Null for other result types. """ project: Project """ The type of the semantic search result. """ type: SemanticSearchResultType! } """ The type of the semantic search result. """ enum SemanticSearchResultType { document initiative issue project } enum SendStrategy { desktop desktopAndPush desktopThenPush push } input SentrySettingsInput { """ The ID of the Sentry organization being connected. """ organizationId: ID! """ The slug of the Sentry organization being connected. """ organizationSlug: String! """ Whether Sentry issues resolving completes Linear issues. """ resolvingCompletesIssues: Boolean! """ Whether Sentry issues unresolving reopens Linear issues. """ unresolvingReopensIssues: Boolean! } """ A verified Amazon SES domain identity that enables sending emails from a custom domain. Organizations configure SES domain identities to send issue notification replies and Asks auto-replies from their own domain instead of the default Linear domain. Full verification requires DKIM signing, a custom MAIL FROM domain, and organization ownership confirmation. Multiple organizations sharing the same domain each have their own SesDomainIdentity record but share the underlying SES identity. """ type SesDomainIdentity implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ Whether the domain is fully verified and can be used for sending emails. """ canSendFromCustomDomain: Boolean! """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the SES domain identity. """ creator: User """ The DNS records for the SES domain identity. """ dnsRecords: [SesDomainIdentityDnsRecord!]! """ The domain of the SES domain identity. """ domain: String! """ The unique identifier of the entity. """ id: ID! """ The workspace of the SES domain identity. """ organization: Organization! """ The AWS region of the SES domain identity. """ region: String! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ A DNS record for a SES domain identity. """ type SesDomainIdentityDnsRecord { """ The content of the DNS record. """ content: String! """ Whether the DNS record is verified in the domain's DNS configuration. """ isVerified: Boolean! """ The name of the DNS record. """ name: String! """ The type of the DNS record. """ type: String! } """ Customer size sorting options. """ input SizeSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ An active SLA rule that can apply to a team. """ type SlaConfiguration { """ The workflow conditions that determine when this SLA rule applies. """ conditions: JSONObject! """ The identifier of the SLA rule. """ id: String! """ The name of the SLA rule. """ name: String! """ Whether the rule removes an SLA instead of setting one. """ removesSla: Boolean! """ The SLA value configured by the rule, expressed in milliseconds or business days depending on the day-count type. """ sla: Float """ The SLA type used when the rule sets an SLA. """ slaType: SLADayCountType } enum SlaStatus { Breached Completed Failed HighRisk LowRisk MediumRisk } """ Comparator for sla status. """ input SlaStatusComparator { """ Equals constraint. """ eq: SlaStatus """ In-array constraint. """ in: [SlaStatus!] """ Not-equals constraint. """ neq: SlaStatus """ Not-in-array constraint. """ nin: [SlaStatus!] """ Null constraint. Matches any non-null values if the given value is false, otherwise it matches null values. """ null: Boolean } """ Issue SLA status sorting options. """ input SlaStatusSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } input SlackAsksSettingsInput { """ The user role type that is allowed to manage Asks settings. """ canAdministrate: UserRoleType! """ Controls who can see and set Customers when creating Asks in Slack. """ customerVisibility: CustomerVisibilityMode """ Whether Linear Agent should be enabled for this Slack Asks integration. """ enableAgent: Boolean """ Whether Linear Agent should be given Org-wide access within Slack workflows. """ enableLinearAgentWorkflowAccess: Boolean """ Enterprise id of the connected Slack enterprise """ enterpriseId: String """ Enterprise name of the connected Slack enterprise """ enterpriseName: String """ Whether to allow external users to perform actions on unfurls """ externalUserActions: Boolean """ Whether to show unfurl previews in Slack """ shouldUnfurl: Boolean """ Whether to show unfurls in the default style instead of Work Objects in Slack """ shouldUseDefaultUnfurl: Boolean """ The mapping of Slack channel ID => Slack channel name for connected channels. """ slackChannelMapping: [SlackChannelNameMappingInput!] """ Slack workspace id """ teamId: String """ Slack workspace name """ teamName: String } """ Configuration for a Linear team within a Slack Asks channel mapping. Controls whether the default Asks template is enabled for the team in a given Slack channel. """ type SlackAsksTeamSettings { """ Whether the default Asks template is enabled in the given channel for this team. """ hasDefaultAsk: Boolean! """ The Linear team ID. """ id: String! } input SlackAsksTeamSettingsInput { """ Whether the default Asks template is enabled in the given channel for this team. """ hasDefaultAsk: Boolean! """ The Linear team ID. """ id: String! } type SlackChannelConnectPayload { """ Whether the bot needs to be manually added to the channel. """ addBot: Boolean! """ The integration that was created or updated. """ integration: Integration """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether it's recommended to connect main Slack integration. """ nudgeToConnectMainSlackIntegration: Boolean """ Whether it's recommended to update main Slack integration. """ nudgeToUpdateMainSlackIntegration: Boolean """ Whether the operation was successful. """ success: Boolean! } """ Configuration for a Slack channel connected to Linear via Slack Asks. Maps the Slack channel ID and name to team assignments and auto-creation settings that control how issues are created from Slack messages in this channel. """ type SlackChannelNameMapping { """ Whether or not to use AI to generate titles for Asks created in this channel. """ aiTitles: Boolean """ Whether or not @-mentioning the bot should automatically create an Ask with the message. """ autoCreateOnBotMention: Boolean """ Whether or not using the :ticket: emoji in this channel should automatically create Asks. """ autoCreateOnEmoji: Boolean """ Whether or not top-level messages in this channel should automatically create Asks. """ autoCreateOnMessage: Boolean """ The optional template ID to use for Asks auto-created in this channel. If not set, auto-created Asks won't use any template. """ autoCreateTemplateId: String """ Whether or not the Linear Asks bot has been added to this Slack channel. """ botAdded: Boolean """ The Slack channel ID. """ id: String! """ Whether or not the Slack channel is private. """ isPrivate: Boolean """ Whether or not the Slack channel is shared with an external org. """ isShared: Boolean """ The Slack channel name. """ name: String! """ Whether or not synced Slack threads should be updated with a message when their Ask is accepted from triage. """ postAcceptedFromTriageUpdates: Boolean """ Whether or not synced Slack threads should be updated with a message and emoji when their Ask is canceled. """ postCancellationUpdates: Boolean """ Whether or not synced Slack threads should be updated with a message and emoji when their Ask is completed. """ postCompletionUpdates: Boolean """ Which teams are connected to the channel and settings for those teams. """ teams: [SlackAsksTeamSettings!]! } input SlackChannelNameMappingInput { """ Whether or not to use AI to generate titles for Asks created in this channel. """ aiTitles: Boolean """ Whether or not @-mentioning the bot should automatically create an Ask with the message. """ autoCreateOnBotMention: Boolean """ Whether or not using the :ticket: emoji in this channel should automatically create Asks. """ autoCreateOnEmoji: Boolean """ Whether or not top-level messages in this channel should automatically create Asks. """ autoCreateOnMessage: Boolean """ The optional template ID to use for Asks auto-created in this channel. If not set, auto-created Asks won't use any template. """ autoCreateTemplateId: String """ Whether or not the Linear Asks bot has been added to this Slack channel. """ botAdded: Boolean """ The Slack channel ID. """ id: String! """ Whether or not the Slack channel is private. """ isPrivate: Boolean """ Whether or not the Slack channel is shared with an external org. """ isShared: Boolean """ The Slack channel name. """ name: String! """ Whether or not synced Slack threads should be updated with a message when their Ask is accepted from triage. """ postAcceptedFromTriageUpdates: Boolean """ Whether or not synced Slack threads should be updated with a message and emoji when their Ask is canceled. """ postCancellationUpdates: Boolean """ Whether or not synced Slack threads should be updated with a message and emoji when their Ask is completed. """ postCompletionUpdates: Boolean """ Which teams are connected to the channel and settings for those teams. """ teams: [SlackAsksTeamSettingsInput!]! } enum SlackChannelType { DirectMessage MultiPersonDirectMessage Private PrivateGroup Public } input SlackPostSettingsInput { """ The name of the Slack channel. """ channel: String! """ The Slack channel ID. """ channelId: String! """ The type of the Slack channel (e.g., public, private, or DM). """ channelType: SlackChannelType """ The URL to the Slack integration configuration page. """ configurationUrl: String! """ The Slack workspace ID. """ teamId: String } input SlackSettingsInput { """ Whether Linear Agent should be enabled for this Slack integration. """ enableAgent: Boolean """ Whether Code Intelligence should be enabled for this Slack integration. """ enableCodeIntelligence: Boolean """ Whether Linear Agent should be given Org-wide access within Slack workflows. """ enableLinearAgentWorkflowAccess: Boolean """ Enterprise id of the connected Slack enterprise """ enterpriseId: String """ Enterprise name of the connected Slack enterprise """ enterpriseName: String """ Whether to allow external users to perform actions on unfurls """ externalUserActions: Boolean """ Whether Linear should automatically respond with issue unfurls when an issue identifier is mentioned in a Slack message. """ linkOnIssueIdMention: Boolean! """ Whether to show unfurl previews in Slack """ shouldUnfurl: Boolean """ Whether to show unfurls in the default style instead of Work Objects in Slack """ shouldUseDefaultUnfurl: Boolean """ Slack workspace id """ teamId: String """ Slack workspace name """ teamName: String } """ Comparator for issue source type. """ input SourceMetadataComparator { """ Null constraint. Matches any non-null values if the given value is false, otherwise it matches null values. """ null: Boolean """ [INTERNAL] Comparator for the salesforce metadata. """ salesforceMetadata: SalesforceMetadataIntegrationComparator """ Comparator for the sub type. """ subType: SubTypeComparator } """ Comparator for `sourceType` field. """ input SourceTypeComparator { """ Contains constraint. Matches any values that contain the given string. """ contains: String """ Contains case insensitive constraint. Matches any values that contain the given string case insensitive. """ containsIgnoreCase: String """ Contains case and accent insensitive constraint. Matches any values that contain the given string case and accent insensitive. """ containsIgnoreCaseAndAccent: String """ Ends with constraint. Matches any values that end with the given string. """ endsWith: String """ Equals constraint. """ eq: String """ Equals case insensitive. Matches any values that matches the given string case insensitive. """ eqIgnoreCase: String """ In-array constraint. """ in: [String!] """ Not-equals constraint. """ neq: String """ Not-equals case insensitive. Matches any values that don't match the given string case insensitive. """ neqIgnoreCase: String """ Not-in-array constraint. """ nin: [String!] """ Doesn't contain constraint. Matches any values that don't contain the given string. """ notContains: String """ Doesn't contain case insensitive constraint. Matches any values that don't contain the given string case insensitive. """ notContainsIgnoreCase: String """ Doesn't end with constraint. Matches any values that don't end with the given string. """ notEndsWith: String """ Doesn't start with constraint. Matches any values that don't start with the given string. """ notStartsWith: String """ Starts with constraint. Matches any values that start with the given string. """ startsWith: String """ Starts with case insensitive constraint. Matches any values that start with the given string. """ startsWithIgnoreCase: String } type SsoUrlFromEmailResponse { """ SAML SSO sign-in URL. """ samlSsoUrl: String! """ Whether the operation was successful. """ success: Boolean! } """ Project start date sorting options. """ input StartDateSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Comparator for strings. """ input StringArrayComparator { """ Compound filters, all of which need to be matched. """ every: StringItemComparator """ Length of the array. Matches any values that have the given length. """ length: NumberComparator """ Compound filters, one of which needs to be matched. """ some: StringItemComparator } """ Comparator for strings. """ input StringComparator { """ Contains constraint. Matches any values that contain the given string. """ contains: String """ Contains case insensitive constraint. Matches any values that contain the given string case insensitive. """ containsIgnoreCase: String """ Contains case and accent insensitive constraint. Matches any values that contain the given string case and accent insensitive. """ containsIgnoreCaseAndAccent: String """ Ends with constraint. Matches any values that end with the given string. """ endsWith: String """ Equals constraint. """ eq: String """ Equals case insensitive. Matches any values that matches the given string case insensitive. """ eqIgnoreCase: String """ In-array constraint. """ in: [String!] """ Not-equals constraint. """ neq: String """ Not-equals case insensitive. Matches any values that don't match the given string case insensitive. """ neqIgnoreCase: String """ Not-in-array constraint. """ nin: [String!] """ Doesn't contain constraint. Matches any values that don't contain the given string. """ notContains: String """ Doesn't contain case insensitive constraint. Matches any values that don't contain the given string case insensitive. """ notContainsIgnoreCase: String """ Doesn't end with constraint. Matches any values that don't end with the given string. """ notEndsWith: String """ Doesn't start with constraint. Matches any values that don't start with the given string. """ notStartsWith: String """ Starts with constraint. Matches any values that start with the given string. """ startsWith: String """ Starts with case insensitive constraint. Matches any values that start with the given string. """ startsWithIgnoreCase: String } """ Comparator for strings in arrays. """ input StringItemComparator { """ Contains constraint. Matches any values that contain the given string. """ contains: String """ Contains case insensitive constraint. Matches any values that contain the given string case insensitive. """ containsIgnoreCase: String """ Contains case and accent insensitive constraint. Matches any values that contain the given string case and accent insensitive. """ containsIgnoreCaseAndAccent: String """ Ends with constraint. Matches any values that end with the given string. """ endsWith: String """ Equals constraint. """ eq: String """ Equals case insensitive. Matches any values that matches the given string case insensitive. """ eqIgnoreCase: String """ In-array constraint. """ in: [String!] """ Not-equals constraint. """ neq: String """ Not-equals case insensitive. Matches any values that don't match the given string case insensitive. """ neqIgnoreCase: String """ Not-in-array constraint. """ nin: [String!] """ Doesn't contain constraint. Matches any values that don't contain the given string. """ notContains: String """ Doesn't contain case insensitive constraint. Matches any values that don't contain the given string case insensitive. """ notContainsIgnoreCase: String """ Doesn't end with constraint. Matches any values that don't end with the given string. """ notEndsWith: String """ Doesn't start with constraint. Matches any values that don't start with the given string. """ notStartsWith: String """ Starts with constraint. Matches any values that start with the given string. """ startsWith: String """ Starts with case insensitive constraint. Matches any values that start with the given string. """ startsWithIgnoreCase: String } """ Comparator for source type. """ input SubTypeComparator { """ Equals constraint. """ eq: String """ In-array constraint. """ in: [String!] """ Not-equals constraint. """ neq: String """ Not-in-array constraint. """ nin: [String!] """ Null constraint. Matches any non-null values if the given value is false, otherwise it matches null values. """ null: Boolean } type Subscription { """ Triggered when an agent activity is created """ agentActivityCreated: AgentActivity! """ Triggered when an agent activity is updated """ agentActivityUpdated: AgentActivity! """ Triggered when an agent session is created """ agentSessionCreated: AgentSession! """ Triggered when an agent session is updated """ agentSessionUpdated: AgentSession! """ Triggered when an ai conversation is updated """ aiConversationUpdated: AiConversation! """ Triggered when an ai prompt progress is created """ aiPromptProgressCreated( """ [Internal] Optional filter for AI prompt progress subscription events. """ filter: AiPromptProgressSubscriptionFilter ): AiPromptProgress! """ Triggered when an ai prompt progress is updated """ aiPromptProgressUpdated( """ [Internal] Optional filter for AI prompt progress subscription events. """ filter: AiPromptProgressSubscriptionFilter ): AiPromptProgress! """ Triggered when a comment is archived """ commentArchived: Comment! """ Triggered when a comment is created """ commentCreated: Comment! """ Triggered when a comment is deleted """ commentDeleted: Comment! """ Triggered when a a comment is unarchived """ commentUnarchived: Comment! """ Triggered when a comment is updated """ commentUpdated: Comment! """ Triggered when a cycle is archived """ cycleArchived: Cycle! """ Triggered when a cycle is created """ cycleCreated: Cycle! """ Triggered when a cycle is updated """ cycleUpdated: Cycle! """ Triggered when a document is archived """ documentArchived: Document! """ Triggered when a document content is created """ documentContentCreated: DocumentContent! """ Triggered when a document content draft is created """ documentContentDraftCreated: DocumentContentDraft! """ Triggered when a document content draft is deleted """ documentContentDraftDeleted: DocumentContentDraft! """ Triggered when a document content draft is updated """ documentContentDraftUpdated: DocumentContentDraft! """ Triggered when a document content is updated """ documentContentUpdated: DocumentContent! """ Triggered when a document is created """ documentCreated: Document! """ Triggered when a a document is unarchived """ documentUnarchived: Document! """ Triggered when a document is updated """ documentUpdated: Document! """ Triggered when a draft is created """ draftCreated: Draft! """ Triggered when a draft is deleted """ draftDeleted: Draft! """ Triggered when a draft is updated """ draftUpdated: Draft! """ Triggered when a favorite is created """ favoriteCreated: Favorite! """ Triggered when a favorite is deleted """ favoriteDeleted: Favorite! """ Triggered when a favorite is updated """ favoriteUpdated: Favorite! """ Triggered when an initiative is created """ initiativeCreated: Initiative! """ Triggered when an initiative is deleted """ initiativeDeleted: Initiative! """ Triggered when an initiative is updated """ initiativeUpdated: Initiative! """ Triggered when an issue is archived """ issueArchived: Issue! """ Triggered when an issue is created """ issueCreated( """ Optional filter for issue subscription events. """ filter: IssueSubscriptionFilter ): Issue! """ Triggered when an issue draft is created """ issueDraftCreated: IssueDraft! """ Triggered when an issue draft is deleted """ issueDraftDeleted: IssueDraft! """ Triggered when an issue draft is updated """ issueDraftUpdated: IssueDraft! """ Triggered when an issue history is created """ issueHistoryCreated: IssueHistory! """ Triggered when an issue history is updated """ issueHistoryUpdated: IssueHistory! """ Triggered when an issue label is created """ issueLabelCreated: IssueLabel! """ Triggered when an issue label is deleted """ issueLabelDeleted: IssueLabel! """ Triggered when an issue label is updated """ issueLabelUpdated: IssueLabel! """ Triggered when an issue relation is created """ issueRelationCreated: IssueRelation! """ Triggered when an issue relation is deleted """ issueRelationDeleted: IssueRelation! """ Triggered when an issue relation is updated """ issueRelationUpdated: IssueRelation! """ Triggered when a an issue is unarchived """ issueUnarchived: Issue! """ Triggered when an issue is updated """ issueUpdated( """ Optional filter for issue subscription events. """ filter: IssueSubscriptionFilter ): Issue! """ Triggered when a notification is archived """ notificationArchived: Notification! """ Triggered when a notification is created """ notificationCreated: Notification! """ Triggered when a notification is deleted """ notificationDeleted: Notification! """ Triggered when a a notification is unarchived """ notificationUnarchived: Notification! """ Triggered when a notification is updated """ notificationUpdated: Notification! """ Triggered when an organization is updated """ organizationUpdated: Organization! """ Triggered when a project is archived """ projectArchived: Project! """ Triggered when a project is created """ projectCreated: Project! """ Triggered when a a project is unarchived """ projectUnarchived: Project! """ Triggered when a project update is archived """ projectUpdateArchived: ProjectUpdate! """ Triggered when a project update is created """ projectUpdateCreated: ProjectUpdate! """ Triggered when a project update is deleted """ projectUpdateDeleted: ProjectUpdate! """ Triggered when a project update is updated """ projectUpdateUpdated: ProjectUpdate! """ Triggered when a project is updated """ projectUpdated: Project! """ Triggered when a roadmap is created """ roadmapCreated: Roadmap! """ Triggered when a roadmap is deleted """ roadmapDeleted: Roadmap! """ Triggered when a roadmap is updated """ roadmapUpdated: Roadmap! """ Triggered when a team is created """ teamCreated: Team! """ Triggered when a team is deleted """ teamDeleted: Team! """ Triggered when a team membership is created """ teamMembershipCreated: TeamMembership! """ Triggered when a team membership is deleted """ teamMembershipDeleted: TeamMembership! """ Triggered when a team membership is updated """ teamMembershipUpdated: TeamMembership! """ Triggered when a team is updated """ teamUpdated: Team! """ Triggered when an user is created """ userCreated: User! """ Triggered when an user is updated """ userUpdated: User! """ Triggered when a workflow state is archived """ workflowStateArchived: WorkflowState! """ Triggered when a workflow state is created """ workflowStateCreated: WorkflowState! """ Triggered when a workflow state is updated """ workflowStateUpdated: WorkflowState! } type SuccessPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ An AI-generated summary of an issue. Each issue can have at most one summary. The summary content is stored as ProseMirror data and tracks its generation status and timing. """ type Summary implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The summary content as a ProseMirror document containing the AI-generated summary text. """ content: JSONObject! """ The time at which the entity was created. """ createdAt: DateTime! """ The evaluation log ID for this summary generation, used for tracking and debugging AI output quality. Null if not available. """ evalLogId: String """ The time at which the summary content was generated or last regenerated. """ generatedAt: DateTime! """ The current generation status of the summary, indicating whether generation is in progress, completed, or failed. """ generationStatus: SummaryGenerationStatus! """ The unique identifier of the entity. """ id: ID! """ The issue that this summary was generated for. """ issue: Issue! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ The generation status of a summary. """ enum SummaryGenerationStatus { completed failed pending } """ A comment thread that is synced with an external source such as Slack, Jira, GitHub, Salesforce, or email. Provides information about the external thread's origin, its current sync status, and whether the user has the necessary personal integration connected to participate in the thread. """ type SyncedExternalThread { """ A human-readable display name for the thread, derived from the external source. For Slack threads this is the channel name, for Jira it's the issue key, for email it's the sender name and count of other participants. """ displayName: String """ The unique identifier of this synced external thread. Auto-generated if not provided. """ id: ID """ Whether this thread is currently syncing comments bidirectionally with the external service. False if the external entity relation has been removed or if the thread was explicitly unsynced. """ isConnected: Boolean! """ Whether the current user has a working personal integration connected for the external service. For example, whether they have connected their personal Jira, GitHub, or Slack account. A connected personal integration may still return false if it has an authentication error. """ isPersonalIntegrationConnected: Boolean! """ Whether a connected personal integration is required to post comments in this synced thread. True for Jira and GitHub threads, where comments must be attributed to a specific user in the external system. False for Slack and other services where the workspace integration can post on behalf of users. """ isPersonalIntegrationRequired: Boolean! """ A human-readable display name for the external source (e.g., 'Slack', 'Jira', 'GitHub'). """ name: String """ The specific integration service for the external source (e.g., 'slack', 'jira', 'github', 'salesforce'). Null if the source type does not have a sub-type. """ subType: String """ The category of the external source (e.g., 'integration' for service integrations, 'email' for email-based threads). """ type: String! """ A URL linking to the thread in the external service. For example, a Slack message permalink, a Jira issue URL, or a GitHub issue URL. """ url: String } """ Project target date sorting options. """ input TargetDateSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ 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) or private (visible only to team members). Teams can also have sub-teams that inherit settings from their parent. """ type Team implements Node { """ Team's currently active cycle. """ activeCycle: Cycle """ Whether to enable AI discussion summaries for issues in this team. """ aiDiscussionSummariesEnabled: Boolean! """ Whether to enable resolved thread AI summaries. """ aiThreadSummariesEnabled: Boolean! """ Whether all members in the workspace can join the team. Only used for public teams. """ allMembersCanJoin: Boolean """ [Internal] The team's ancestor teams, ordered from the root to the immediate parent. """ ancestors: [Team!]! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ Period after which automatically closed, completed, and duplicate issues are automatically archived in months. """ autoArchivePeriod: Float! """ Whether child issues should automatically close when their parent issue is closed """ autoCloseChildIssues: Boolean """ Whether parent issues should automatically close when all child issues are closed """ autoCloseParentIssues: Boolean """ Period after which issues are automatically closed in months. Null/undefined means disabled. """ autoClosePeriod: Float """ The canceled workflow state which auto closed issues will be set to. Defaults to the first canceled state. """ autoCloseStateId: String """ [Internal] The team's sub-teams. """ children: [Team!]! """ The team's color. """ color: String """ The time at which the entity was created. """ createdAt: DateTime! """ [Internal] The current progress of the team. """ currentProgress: JSONObject! """ Calendar feed URL (iCal) for cycles. """ cycleCalenderUrl: String! """ The cooldown time after each cycle in weeks. """ cycleCooldownTime: Float! """ The duration of each cycle in weeks. """ cycleDuration: Float! """ Auto assign completed issues to current cycle. """ cycleIssueAutoAssignCompleted: Boolean! """ Auto assign started issues to current cycle. """ cycleIssueAutoAssignStarted: Boolean! """ Auto assign issues to current cycle if in active status. """ cycleLockToActive: Boolean! """ The day of the week that a new cycle starts (0 = Sunday, 1 = Monday, ..., 6 = Saturday). """ cycleStartDay: Float! """ Cycles associated with the team. """ cycles( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned cycles. """ filter: CycleFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): CycleConnection! """ Whether the team uses cycles for sprint-style issue management. """ cyclesEnabled: Boolean! """ What to use as a default estimate for unestimated issues. """ defaultIssueEstimate: Float! """ The default workflow state into which issues are set when they are opened by team members. """ defaultIssueState: WorkflowState """ The default template to use for new projects created for the team. """ defaultProjectTemplate: Template """ The default template to use for new issues created by members of the team. """ defaultTemplateForMembers: Template """ The id of the default template to use for new issues created by members of the team. """ defaultTemplateForMembersId: String @deprecated(reason: "Use defaultTemplateForMembers instead") """ The default template to use for new issues created by non-members of the team. """ defaultTemplateForNonMembers: Template """ The id of the default template to use for new issues created by non-members of the team. """ defaultTemplateForNonMembersId: String @deprecated(reason: "Use defaultTemplateForNonMembers instead") """ The team's description. """ description: String """ The name of the team including its parent team name if it has one. """ displayName: String! """ The workflow state into which issues are moved when a PR has been opened as draft. """ draftWorkflowState: WorkflowState @deprecated(reason: "Use team.gitAutomationStates instead.") """ [Internal] Facets associated with the team. """ facets: [Facet!]! """ The Git automation states for the team. """ gitAutomationStates( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): GitAutomationStateConnection! """ Whether to group recent issue history entries. """ groupIssueHistory: Boolean! """ The icon of the team. """ icon: String """ The unique identifier of the entity. """ id: ID! """ Whether the team should inherit its estimation settings from its parent. Only applies to sub-teams. """ inheritIssueEstimation: Boolean! """ [Internal] Whether the team should inherit its Slack auto-create project channel setting from its parent. Only applies to sub-teams. """ inheritSlackAutoCreateProjectChannel: Boolean! """ Whether the team should inherit its workflow statuses from its parent. Only applies to sub-teams. """ inheritWorkflowStatuses: Boolean! """ Settings for all integrations associated with that team. """ integrationsSettings: IntegrationsSettings """ [DEPRECATED] Unique hash for the team to be used in invite URLs. """ inviteHash: String! @deprecated(reason: "Not used anymore, simply returning an empty string.") """ The total number of issues in the team. By default excludes archived issues; use the includeArchived argument to include them. """ issueCount( """ Include archived issues in the count. """ includeArchived: Boolean = false ): Int! """ Whether to allow zeros in issues estimates. """ issueEstimationAllowZero: Boolean! """ Whether to add additional points to the estimate scale. """ issueEstimationExtended: Boolean! """ The issue estimation type to use. Must be one of "notUsed", "exponential", "fibonacci", "linear", "tShirt". """ issueEstimationType: String! """ [DEPRECATED] Whether issues without priority should be sorted first. """ issueOrderingNoPriorityFirst: Boolean! @deprecated(reason: "This setting is no longer in use.") """ [DEPRECATED] Whether to move issues to bottom of the column when changing state. """ issueSortOrderDefaultToBottom: Boolean! @deprecated(reason: "Use setIssueSortOrderOnStateChange instead.") """ Issues belonging to the team. Supports filtering and optional inclusion of sub-team issues. """ issues( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issues. """ filter: IssueFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ Include issues from sub-teams. """ includeSubTeams: Boolean = false """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueConnection! """ [Internal] Whether new users should join this team by default. """ joinByDefault: Boolean """ The team's unique key, used as a prefix in issue identifiers (e.g., 'ENG' in 'ENG-123') and in URLs. """ key: String! """ Labels associated with the team. """ labels( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issue labels. """ filter: IssueLabelFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueLabelConnection! """ The workflow state into which issues are moved when they are marked as a duplicate of another issue. Defaults to the first canceled state. """ markedAsDuplicateWorkflowState: WorkflowState """ Users who are members of this team. Supports filtering and pagination. """ members( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned users. """ filter: UserFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ Should query return disabled/suspended users (default: false). """ includeDisabled: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): UserConnection! """ [ALPHA] The membership of the given user in the team. """ membership( """ The user ID. """ userId: String! ): TeamMembership """ Memberships associated with the team. For easier access of the same data, use `members` query. """ memberships( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): TeamMembershipConnection! """ The workflow state into which issues are moved when a PR has been merged. """ mergeWorkflowState: WorkflowState @deprecated(reason: "Use team.gitAutomationStates instead.") """ The workflow state into which issues are moved when a PR is ready to be merged. """ mergeableWorkflowState: WorkflowState @deprecated(reason: "Use team.gitAutomationStates instead.") """ The team's name. """ name: String! """ The workspace that the team belongs to. """ organization: Organization! """ The team's parent team. """ parent: Team """ [Internal] Documents and external links pinned to the team home, optionally grouped under sections. """ pinnedResources: [TeamPinnedResource!]! """ [Internal] Posts associated with the team. """ posts: [Post!]! """ Whether the team is private. Private teams are only visible to their members and require an explicit invitation to join. """ private: Boolean! """ [Internal] The progress history of the team. """ progressHistory: JSONObject! """ Projects associated with the team. """ projects( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned projects. """ filter: ProjectFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ Include projects from sub-teams. """ includeSubTeams: Boolean = false """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy """ [INTERNAL] Sort returned projects. """ sort: [ProjectSortInput!] ): ProjectConnection! """ Release pipelines associated with the team. """ releasePipelines( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned release pipelines. """ filter: ReleasePipelineFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): ReleasePipelineConnection! """ Whether an issue needs to have a priority set before leaving triage. """ requirePriorityToLeaveTriage: Boolean! """ [Internal] Sections shown on the team home that group pinned resources. """ resourceSections: [TeamResourceSection!]! """ The time at which the team was retired. Retired teams no longer accept new issues or members. Null if the team has not been retired. """ retiredAt: DateTime """ The workflow state into which issues are moved when a review has been requested for the PR. """ reviewWorkflowState: WorkflowState @deprecated(reason: "Use team.gitAutomationStates instead.") """ The SCIM group name for the team. """ scimGroupName: String """ Whether the team is managed by a SCIM integration. SCIM-managed teams have their membership controlled by the identity provider. """ scimManaged: Boolean! """ Security settings for the team, including role-based restrictions for issue sharing, label management, member management, template management, and agent skills. """ securitySettings: JSONObject! """ Where to move issues when changing state. """ setIssueSortOrderOnStateChange: String! """ [Internal] Whether to automatically create a Slack channel when a new project is created in this team. """ slackAutoCreateProjectChannel: Boolean """ Whether to send new issue comment notifications to Slack. """ slackIssueComments: Boolean! @deprecated(reason: "No longer in use") """ Whether to send new issue status updates to Slack. """ slackIssueStatuses: Boolean! @deprecated(reason: "No longer in use") """ Whether to send new issue notifications to Slack. """ slackNewIssue: Boolean! @deprecated(reason: "No longer is use") """ The workflow state into which issues are moved when a PR has been opened. """ startWorkflowState: WorkflowState @deprecated(reason: "Use team.gitAutomationStates instead.") """ The states that define the workflow associated with the team. """ states( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned workflow states. """ filter: WorkflowStateFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): WorkflowStateConnection! """ Templates associated with the team. """ templates( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned templates. """ filter: NullableTemplateFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): TemplateConnection! """ The timezone of the team. Defaults to "America/Los_Angeles" """ timezone: String! """ Whether triage mode is enabled for the team. When enabled, issues created by non-members or integrations are routed to a triage state for review before entering the normal workflow. """ triageEnabled: Boolean! """ The workflow state into which issues are set when they are opened by non-team members or integrations if triage is enabled. """ triageIssueState: WorkflowState """ Team's triage responsibility. """ triageResponsibility: TriageResponsibility """ How many upcoming cycles to create. """ upcomingCycleCount: Float! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ Webhooks associated with the team. """ webhooks( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): WebhookConnection! } """ A generic payload return from entity archive mutations. """ type TeamArchivePayload implements ArchivePayload { """ The archived/unarchived entity. Null if entity was deleted. """ entity: Team """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Certain properties of a team. """ type TeamChildWebhookPayload { """ The ID of the team. """ id: String! """ The key of the team. """ key: String! """ The name of the team. """ name: String! } """ Team collection filtering options. """ input TeamCollectionFilter { """ Filters that the team's ancestors must satisfy. """ ancestors: TeamCollectionFilter """ Compound filters, all of which need to be matched by the team. """ and: [TeamCollectionFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Filters that needs to be matched by all teams. """ every: TeamFilter """ Comparator for the identifier. """ id: IDComparator """ Comparator for the collection length. """ length: NumberComparator """ Compound filters, one of which need to be matched by the team. """ or: [TeamCollectionFilter!] """ Filters that the teams parent must satisfy. """ parent: NullableTeamFilter """ Filters that needs to be matched by some teams. """ some: TeamFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } type TeamConnection { edges: [TeamEdge!]! nodes: [Team!]! pageInfo: PageInfo! } input TeamCreateInput { """ Period after which closed (completed, canceled, or duplicate) issues are automatically archived, in months. 0 means disabled. """ autoArchivePeriod: Float """ Period after which issues are automatically closed, in months. """ autoClosePeriod: Float """ The canceled workflow state which auto closed issues will be set to. """ autoCloseStateId: String """ The color of the team. """ color: String """ The cooldown time after each cycle in weeks. """ cycleCooldownTime: Int """ The duration of each cycle in weeks. """ cycleDuration: Int """ Auto assign completed issues to current active cycle setting. """ cycleIssueAutoAssignCompleted: Boolean """ Auto assign started issues to current active cycle setting. """ cycleIssueAutoAssignStarted: Boolean """ Only allow issues issues with cycles in Active Issues. """ cycleLockToActive: Boolean """ The day of the week that a new cycle starts. """ cycleStartDay: Float """ Whether the team uses cycles. """ cyclesEnabled: Boolean """ What to use as an default estimate for unestimated issues. """ defaultIssueEstimate: Float """ The identifier of the default project template of this team. """ defaultProjectTemplateId: String """ The identifier of the default template for members of this team. """ defaultTemplateForMembersId: String """ The identifier of the default template for non-members of this team. """ defaultTemplateForNonMembersId: String """ The description of the team. """ description: String """ Whether to group recent issue history entries. """ groupIssueHistory: Boolean """ The icon of the team. """ icon: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ Whether the team should inherit estimation settings from its parent. Only applies to sub-teams. """ inheritIssueEstimation: Boolean """ [Internal] Whether the team should inherit its product intelligence scope from its parent. Only applies to sub-teams. """ inheritProductIntelligenceScope: Boolean """ [Internal] Whether the team should inherit its Slack auto-create project channel setting from its parent. Only applies to sub-teams. """ inheritSlackAutoCreateProjectChannel: Boolean """ [Internal] Whether the team should inherit workflow statuses from its parent. """ inheritWorkflowStatuses: Boolean """ Whether to allow zeros in issues estimates. """ issueEstimationAllowZero: Boolean """ Whether to add additional points to the estimate scale. """ issueEstimationExtended: Boolean """ The issue estimation type to use. Must be one of "notUsed", "exponential", "fibonacci", "linear", "tShirt". """ issueEstimationType: String """ Whether issue sharing is enabled for this team. """ issueSharingEnabled: Boolean """ The key of the team. If not given, the key will be generated based on the name of the team. """ key: String """ The workflow state into which issues are moved when they are marked as a duplicate of another issue. """ markedAsDuplicateWorkflowStateId: String """ The name of the team. """ name: String! """ The parent team ID. """ parentId: String """ Internal. Whether the team is private or not. """ private: Boolean """ [Internal] The scope of product intelligence suggestion data for the team. """ productIntelligenceScope: ProductIntelligenceScope """ Whether an issue needs to have a priority set before leaving triage. """ requirePriorityToLeaveTriage: Boolean """ Whether to move issues to bottom of the column when changing state. """ setIssueSortOrderOnStateChange: String """ [Internal] Whether to automatically create a Slack channel when a new project is created in this team. """ slackAutoCreateProjectChannel: Boolean """ The timezone of the team. """ timezone: String """ Whether triage mode is enabled for the team. """ triageEnabled: Boolean """ How many upcoming cycles to create. """ upcomingCycleCount: Float } type TeamEdge { """ Used in `before` and `after` args """ cursor: String! node: Team! } """ Team filtering options. """ input TeamFilter { """ Filters that the team's ancestors must satisfy. """ ancestors: TeamCollectionFilter """ Compound filters, all of which need to be matched by the team. """ and: [TeamFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the team description. """ description: NullableStringComparator """ Comparator for the identifier. """ id: IDComparator """ Filters that the teams issues must satisfy. """ issues: IssueCollectionFilter """ Comparator for the team key. """ key: StringComparator """ Comparator for the team name. """ name: StringComparator """ Compound filters, one of which need to be matched by the team. """ or: [TeamFilter!] """ Filters that the teams parent must satisfy. """ parent: NullableTeamFilter """ Comparator for the team privacy. """ private: BooleanComparator """ Filters that the team's release pipelines must satisfy. """ releasePipelines: ReleasePipelineCollectionFilter """ Comparator for the time at which the team was retired. """ retiredAt: NullableDateComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ A join entity that defines a user's membership in a team. Each membership record links a user to a team and tracks whether the user is a team owner. Users can be members of multiple teams, and their memberships determine which teams' issues and resources they can access. """ type TeamMembership implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The unique identifier of the entity. """ id: ID! """ Whether the user is an owner of the team. Team owners have elevated permissions for managing team settings, members, and resources. """ owner: Boolean! """ The sort order of this team in the user's personal team list. Lower values appear first. """ sortOrder: Float! """ The team that the membership is associated with. """ team: Team! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user that the membership is associated with. """ user: User! } type TeamMembershipConnection { edges: [TeamMembershipEdge!]! nodes: [TeamMembership!]! pageInfo: PageInfo! } """ Input for creating a new team membership. """ input TeamMembershipCreateInput { """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ Internal. Whether the user is the owner of the team. """ owner: Boolean """ The position of the item in the users list. """ sortOrder: Float """ The identifier of the team associated with the membership. """ teamId: String! """ The identifier of the user associated with the membership. """ userId: String! } type TeamMembershipEdge { """ Used in `before` and `after` args """ cursor: String! node: TeamMembership! } """ Team membership operation response. """ type TeamMembershipPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! """ The team membership that was created or updated. """ teamMembership: TeamMembership } """ Input for updating an existing team membership. """ input TeamMembershipUpdateInput { """ Internal. Whether the user is the owner of the team. """ owner: Boolean """ The position of the item in the users list. """ sortOrder: Float } """ A notification subscription scoped to a specific team. The subscriber receives notifications for events related to issues and activity in this team. """ type TeamNotificationSubscription implements Entity & Node & NotificationSubscription { """ Whether the subscription is active. When inactive, no notifications are generated from this subscription even though it still exists. """ active: Boolean! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The type of contextual view (e.g., active issues, backlog) that further scopes a team notification subscription. Null if the subscription is not associated with a specific view type. """ contextViewType: ContextViewType """ The time at which the entity was created. """ createdAt: DateTime! """ The custom view that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ customView: CustomView """ The customer that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ customer: Customer """ The cycle that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ cycle: Cycle """ The unique identifier of the entity. """ id: ID! """ The initiative that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ initiative: Initiative """ The issue label that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ label: IssueLabel """ The notification event types that this subscription will deliver to the subscriber. """ notificationSubscriptionTypes: [String!]! """ The project that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ project: Project """ The user who will receive notifications from this subscription. """ subscriber: User! """ The team subscribed to. """ team: Team! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user that this notification subscription is scoped to, for user-specific view subscriptions. Null if the subscription targets a different entity type. """ user: User """ The type of user-specific view that further scopes a user notification subscription. Null if the subscription is not associated with a user view type. """ userContextViewType: UserContextViewType } """ Team origin for guidance rules. """ type TeamOriginWebhookPayload { """ The team that the guidance was defined in. """ team: TeamWithParentWebhookPayload! """ The type of origin, always 'Team'. """ type: String! } """ Team operation response. """ type TeamPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! """ The team that was created or updated. """ team: Team } """ References a document or external link pinned to a team home for quick access. Pinning does not move the underlying resource; the same resource may be pinned on multiple teams. """ type TeamPinnedResource implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the pin. Null if the user was deleted. """ creator: User """ The pinned document, when the pin targets a document. """ document: Document """ The pinned external link, when the pin targets a link. """ entityExternalLink: EntityExternalLink """ The unique identifier of the entity. """ id: ID! """ The section this pin is grouped under on the team home. Null if the pin is not inside a section. """ section: TeamResourceSection """ Sort order of this pin among pins with the same team and section (including pins without a section). """ sortOrder: Float! """ The team home where this pin appears. """ team: Team! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user who last updated the pin. Null if the user was deleted. """ updatedBy: User } """ A titled section on a team home that groups pinned resources (documents and external links). Sections are specific to the team home and do not change where resources live in their source team or project. """ type TeamResourceSection implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the section. Null if the creator was deleted. """ creator: User """ The unique identifier of the entity. """ id: ID! """ Sort order of this section among other sections on the same team home. """ sortOrder: Float! """ The team whose home page owns this section. """ team: Team! """ The section title shown on the team home. """ title: String! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user who last updated the section. Null if the user was deleted. """ updatedBy: User } """ [Internal] How to handle sub-teams when retiring a parent team. """ enum TeamRetirementSubTeamHandling { retire unnest } """ All possible roles within a team in terms of access to team settings and operations. """ enum TeamRoleType { member owner } input TeamSecuritySettingsInput { """ The minimum team role required to manage agent skills in the team. """ agentSkillsManagement: TeamRoleType """ The minimum team role required to share issues with non-team-members. """ issueSharing: TeamRoleType """ The minimum team role required to manage labels in the team. """ labelManagement: TeamRoleType """ The minimum team role required to manage full workspace members (non-guests) in the team. """ memberManagement: TeamRoleType """ The minimum team role required to manage team settings. """ teamManagement: TeamRoleType """ The minimum team role required to manage templates in the team. """ templateManagement: TeamRoleType } """ Issue team sorting options. """ input TeamSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } input TeamUpdateInput { """ Whether to enable AI discussion summaries for issues. """ aiDiscussionSummariesEnabled: Boolean """ Whether to enable resolved thread AI summaries. """ aiThreadSummariesEnabled: Boolean """ Whether all members in the workspace can join the team. Only used for public teams. """ allMembersCanJoin: Boolean """ Period after which closed (completed, canceled, or duplicate) issues are automatically archived, in months. """ autoArchivePeriod: Float """ Whether to automatically close all sub-issues when a parent issue in this team is closed. """ autoCloseChildIssues: Boolean """ Whether to automatically close a parent issue in this team if all its sub-issues are closed. """ autoCloseParentIssues: Boolean """ Period after which issues are automatically closed, in months. """ autoClosePeriod: Float """ The canceled workflow state which auto closed issues will be set to. """ autoCloseStateId: String """ The color of the team. """ color: String """ The cooldown time after each cycle in weeks. """ cycleCooldownTime: Int """ The duration of each cycle in weeks. """ cycleDuration: Int """ The time at which to begin cycles. """ cycleEnabledStartDate: DateTime """ Auto assign completed issues to current active cycle setting. """ cycleIssueAutoAssignCompleted: Boolean """ Auto assign started issues to current active cycle setting. """ cycleIssueAutoAssignStarted: Boolean """ Only allow issues with cycles in Active Issues. """ cycleLockToActive: Boolean """ The day of the week that a new cycle starts. """ cycleStartDay: Float """ Whether the team uses cycles. """ cyclesEnabled: Boolean """ What to use as an default estimate for unestimated issues. """ defaultIssueEstimate: Float """ Default status for newly created issues. """ defaultIssueStateId: String """ The identifier of the default project template of this team. """ defaultProjectTemplateId: String """ The identifier of the default template for members of this team. """ defaultTemplateForMembersId: String """ The identifier of the default template for non-members of this team. """ defaultTemplateForNonMembersId: String """ The description of the team. """ description: String """ Whether to group recent issue history entries. """ groupIssueHistory: Boolean """ [Internal] How to handle sub-teams when retiring. Required if the team has active sub-teams. """ handleSubTeamsOnRetirement: TeamRetirementSubTeamHandling """ The icon of the team. """ icon: String """ Whether the team should inherit estimation settings from its parent. Only applies to sub-teams. """ inheritIssueEstimation: Boolean """ [Internal] Whether the team should inherit its product intelligence scope from its parent. Only applies to sub-teams. """ inheritProductIntelligenceScope: Boolean """ [Internal] Whether the team should inherit its Slack auto-create project channel setting from its parent. Only applies to sub-teams. """ inheritSlackAutoCreateProjectChannel: Boolean """ [Internal] Whether the team should inherit workflow statuses from its parent. """ inheritWorkflowStatuses: Boolean """ Whether to allow zeros in issues estimates. """ issueEstimationAllowZero: Boolean """ Whether to add additional points to the estimate scale. """ issueEstimationExtended: Boolean """ The issue estimation type to use. Must be one of "notUsed", "exponential", "fibonacci", "linear", "tShirt". """ issueEstimationType: String """ Whether issue sharing is enabled for this team. """ issueSharingEnabled: Boolean """ Whether new users should join this team by default. Mutation restricted to workspace admins or owners! """ joinByDefault: Boolean """ The key of the team. """ key: String """ The workflow state into which issues are moved when they are marked as a duplicate of another issue. """ markedAsDuplicateWorkflowStateId: String """ The name of the team. """ name: String """ The parent team ID. """ parentId: String """ Whether the team is private or not. """ private: Boolean """ [Internal] The scope of product intelligence suggestion data for the team. """ productIntelligenceScope: ProductIntelligenceScope """ Whether an issue needs to have a priority set before leaving triage. """ requirePriorityToLeaveTriage: Boolean """ When the team was retired. """ retiredAt: DateTime """ The SCIM group name for the team. """ scimGroupName: String """ Whether the team is managed by SCIM integration. Mutation restricted to workspace admins or owners and only unsetting is allowed! """ scimManaged: Boolean """ The security settings for the team. """ securitySettings: TeamSecuritySettingsInput """ Whether to move issues to bottom of the column when changing state. """ setIssueSortOrderOnStateChange: String """ [Internal] Whether to automatically create a Slack channel when a new project is created in this team. """ slackAutoCreateProjectChannel: Boolean """ Whether to send new issue comment notifications to Slack. """ slackIssueComments: Boolean """ Whether to send issue status update notifications to Slack. """ slackIssueStatuses: Boolean """ Whether to send new issue notifications to Slack. """ slackNewIssue: Boolean """ The timezone of the team. """ timezone: String """ Whether triage mode is enabled for the team. """ triageEnabled: Boolean """ How many upcoming cycles to create. """ upcomingCycleCount: Float } """ Team properties including parent information for guidance rules. """ type TeamWithParentWebhookPayload { """ The team's display name including parent team names if applicable. """ displayName: String! """ The ID of the team. """ id: String! """ The key of the team. """ key: String! """ The name of the team. """ name: String! """ The parent team's unique identifier, if any. """ parentId: String } """ A reusable template for creating issues, projects, or documents. Templates store pre-filled field values and content as JSON data. They can be scoped to a specific team or shared across the entire workspace. Team-scoped templates may be inherited from parent teams. """ type Template implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The hex color of the template icon. Null if no custom color has been set. """ color: String """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the template. Null if the creator's account has been deleted. """ creator: User """ A description of what the template is used for. """ description: String """ [Internal] Whether the template has form fields """ hasFormFields: Boolean! """ The icon of the template, either a decorative icon type or an emoji string. Null if no icon has been set. """ icon: String """ The unique identifier of the entity. """ id: ID! """ The parent team template this template was inherited from. Null for original (non-inherited) templates. """ inheritedFrom: Template """ The date when the template was last applied to create or update an entity. Null if the template has never been applied. """ lastAppliedAt: DateTime """ The user who last updated the template. Null if the user's account has been deleted. """ lastUpdatedBy: User """ The name of the template. """ name: String! """ The workspace that owns this template. """ organization: Organization! """ The release pipeline this template is bound to. Required when the template type is 'releaseNote' and forbidden otherwise. The pipeline owns at most one release note template, which defines the format AI follows when generating release notes. """ pipeline: ReleasePipeline """ The sort order of the template within the templates list. """ sortOrder: Float! """ The team that the template is associated with. If null, the template is global to the workspace. """ team: Team """ The template data as a JSON-encoded string containing the pre-filled attributes for the entity type (e.g., issue fields, project configuration, or document content). """ templateData: JSON! """ The entity type this template is for, such as 'issue', 'project', or 'document'. """ type: String! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } type TemplateConnection { edges: [TemplateEdge!]! nodes: [Template!]! pageInfo: PageInfo! } """ Input for creating a new template. A name, type, and template data are required. If no team is specified, the template is shared across the workspace. """ input TemplateCreateInput { """ The color of the template icon. """ color: String """ The template description. """ description: String """ The icon of the template. """ icon: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The template name. """ name: String! """ The identifier of the release pipeline this template is bound to. Required when the template type is 'releaseNote' and rejected otherwise. Each pipeline can have at most one release note template. """ pipelineId: String """ The sort position of the template in the templates list. """ sortOrder: Float """ The identifier or key of the team associated with the template. If not given, the template will be shared across all teams. """ teamId: String """ The template data as JSON-encoded attributes of the target entity type, such as pre-filled issue fields, project configuration, or document content. """ templateData: JSON! """ The template type, e.g. 'issue', 'project', or 'document'. """ type: String! } type TemplateEdge { """ Used in `before` and `after` args """ cursor: String! node: Template! } """ The result of a template mutation. """ type TemplatePayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! """ The template that was created or updated. """ template: Template! } """ Input for updating an existing template. All fields are optional; only provided fields will be updated. """ input TemplateUpdateInput { """ The color of the template icon. """ color: String """ The template description. """ description: String """ The icon of the template. """ icon: String """ The template name. """ name: String """ The position of the template in the templates list. """ sortOrder: Float """ The identifier or key of the team associated with the template. If set to null, the template will be shared across all teams. """ teamId: String """ The template data as JSON-encoded attributes of the target entity type, such as pre-filled issue fields, project configuration, or document content. """ templateData: JSON } """ Customer tier sorting options. """ input TierSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Issue time in status sorting options. """ input TimeInStatusSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ A time-based schedule defining on-call rotations or availability windows. Schedules contain a series of time entries, each specifying a user and their active period. They can be synced from external services (such as PagerDuty or Opsgenie) via integrations, or created manually. Schedules are used by triage responsibilities to determine who should be assigned or notified when issues enter triage. """ type TimeSchedule implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The schedule entries. """ entries: [TimeScheduleEntry!] """ The identifier of the external schedule. """ externalId: String """ The URL to the external schedule. """ externalUrl: String """ The unique identifier of the entity. """ id: ID! """ The identifier of the Linear integration populating the schedule. """ integration: Integration """ The name of the schedule. """ name: String! """ The workspace of the schedule. """ organization: Organization! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } type TimeScheduleConnection { edges: [TimeScheduleEdge!]! nodes: [TimeSchedule!]! pageInfo: PageInfo! } """ Input for creating a new time schedule. """ input TimeScheduleCreateInput { """ The schedule entries. """ entries: [TimeScheduleEntryInput!]! """ The unique identifier of the external schedule. """ externalId: String """ The URL to the external schedule. """ externalUrl: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The name of the schedule. """ name: String! } type TimeScheduleEdge { """ Used in `before` and `after` args """ cursor: String! node: TimeSchedule! } """ A single entry in a time schedule, defining a time range and the user responsible during that period. """ type TimeScheduleEntry { """ The end time of the schedule entry in ISO 8601 date-time format. """ endsAt: DateTime! """ The start time of the schedule entry in ISO 8601 date-time format. """ startsAt: DateTime! """ The email, name or reference to the user on schedule. This is used in case the external user could not be mapped to a Linear user id. """ userEmail: String """ The Linear user id of the user on schedule. If the user cannot be mapped to a Linear user then `userEmail` can be used as a reference. """ userId: String } input TimeScheduleEntryInput { """ The end time of the schedule entry in ISO 8601 date-time format. """ endsAt: DateTime! """ The start time of the schedule entry in ISO 8601 date-time format. """ startsAt: DateTime! """ The email, name or reference to the user on schedule. This is used in case the external user could not be mapped to a Linear user id. """ userEmail: String """ The Linear user id of the user on schedule. If the user cannot be mapped to a Linear user then `userEmail` can be used as a reference. """ userId: String } """ The result of a time schedule mutation. """ type TimeSchedulePayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! """ The time schedule that was created or updated. """ timeSchedule: TimeSchedule! } """ Input for updating an existing time schedule. """ input TimeScheduleUpdateInput { """ The schedule entries. """ entries: [TimeScheduleEntryInput!] """ The unique identifier of the external schedule. """ externalId: String """ The URL to the external schedule. """ externalUrl: String """ The name of the schedule. """ name: String } """ Represents a date 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) """ scalar TimelessDate """ Represents a date in ISO 8601 format or a duration. Accepts shortcuts like `2021` to represent midnight Fri Jan 01 2021. Also accepts ISO 8601 durations strings (e.g '-P2W1D'), which are not converted to dates. """ scalar TimelessDateOrDuration """ Issue title sorting options. """ input TitleSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } input TokenUserAccountAuthInput { """ Auth code for the client initiating the login sequence. """ clientAuthCode: String """ The email which to login via the magic login code. """ email: String! """ An optional invite link for a workspace. """ inviteLink: String """ The timezone of the user's browser. """ timezone: String! """ The magic login code. """ token: String! } """ A team's triage responsibility configuration that defines how issues entering triage are handled. Each team can have one triage responsibility, which specifies the action to take (notify or assign) and the responsible users, determined either by a manual selection of specific users or by an on-call time schedule. """ type TriageResponsibility implements Node { """ The action to take when an issue is added to triage. """ action: TriageResponsibilityAction! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The user currently responsible for triage. """ currentUser: User """ The unique identifier of the entity. """ id: ID! """ Set of users used for triage responsibility. """ manualSelection: TriageResponsibilityManualSelection """ The team to which the triage responsibility belongs to. """ team: Team! """ The time schedule used for scheduling. """ timeSchedule: TimeSchedule """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ Which action should be taken after an issue is added to triage. """ enum TriageResponsibilityAction { assign notify } type TriageResponsibilityConnection { edges: [TriageResponsibilityEdge!]! nodes: [TriageResponsibility!]! pageInfo: PageInfo! } """ Input for creating a new triage responsibility. """ input TriageResponsibilityCreateInput { """ The action to take when an issue is added to triage. """ action: String! """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The manual selection of users responsible for triage. """ manualSelection: TriageResponsibilityManualSelectionInput """ The identifier of the team associated with the triage responsibility. """ teamId: String! """ The identifier of the time schedule used for scheduling triage responsibility """ timeScheduleId: String } type TriageResponsibilityEdge { """ Used in `before` and `after` args """ cursor: String! node: TriageResponsibility! } """ Manual triage responsibility configuration specifying a set of users to assign triaged issues to, with optional round-robin rotation. """ type TriageResponsibilityManualSelection { """ [Internal] The index of the current userId used for the assign action when having more than one user. """ assignmentIndex: Int """ The set of users responsible for triage. """ userIds: [String!]! } """ Manual triage responsibility using a set of users. """ input TriageResponsibilityManualSelectionInput { """ [Internal] The index of the current userId used for the assign action when having more than one user. """ assignmentIndex: Int """ The set of users responsible for triage. """ userIds: [String!]! } """ The result of a triage responsibility mutation. """ type TriageResponsibilityPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! """ The triage responsibility that was created or updated. """ triageResponsibility: TriageResponsibility! } """ Input for updating an existing triage responsibility. """ input TriageResponsibilityUpdateInput { """ The action to take when an issue is added to triage. """ action: String """ The manual selection of users responsible for triage. """ manualSelection: TriageResponsibilityManualSelectionInput """ The identifier of the time schedule used for scheduling triage responsibility. """ timeScheduleId: String } """ The type of error that occurred during triage rule execution. """ enum TriageRuleErrorType { codingAgentQuotaExceeded cycle default labelGroupConflict } """ A universally unique identifier as specified by RFC 4122. """ scalar UUID """ Issue update date sorting options. """ input UpdatedAtSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Represents a file upload destination with a pre-signed upload URL, asset URL, and required request headers for uploading to cloud storage. """ type UploadFile { """ The permanent asset URL where the file will be accessible after upload. """ assetUrl: String! """ The content type. """ contentType: String! """ The filename. """ filename: String! """ HTTP headers that must be included in the PUT request to the upload URL. """ headers: [UploadFileHeader!]! """ Optional metadata associated with the upload, such as the related issue or comment ID. """ metaData: JSONObject """ The size of the uploaded file. """ size: Int! """ The pre-signed URL to which the file should be uploaded via a PUT request. """ uploadUrl: String! } type UploadFileHeader { """ Upload file header key. """ key: String! """ Upload file header value. """ value: String! } type UploadPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! """ The upload file details including signed URL, asset URL, and required headers. Null if the upload could not be prepared. """ uploadFile: UploadFile } """ 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. """ type User implements Node { """ Whether the user account is active or disabled (suspended). """ active: Boolean! """ Whether the user is a workspace administrator. On Free plans, all members are treated as admins. """ admin: Boolean! """ Whether the user is an app. """ app: Boolean! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ Issues assigned to the user. """ assignedIssues( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issues. """ filter: IssueFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueConnection! """ The background color of the avatar for users without set avatar. """ avatarBackgroundColor: String! """ An URL to the user's avatar image. """ avatarUrl: String """ [DEPRECATED] Hash for the user to be used in calendar URLs. """ calendarHash: String """ Whether this user can access any public team in the workspace. True for non-guest members and app users with public team access. """ canAccessAnyPublicTeam: Boolean! """ The time at which the entity was created. """ createdAt: DateTime! """ Number of issues created. """ createdIssueCount: Int! """ Issues created by the user. """ createdIssues( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issues. """ filter: IssueFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueConnection! """ Issues delegated to this user. """ delegatedIssues( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issues. """ filter: IssueFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueConnection! """ A short description of the user, such as their title or a brief bio. """ description: String """ The reason why the user account is disabled. Null if the user is active. Possible values include admin suspension, downgrade, voluntary departure, or pending invite. """ disableReason: String """ The user's display (nick) name. Must be unique within the workspace. """ displayName: String! """ The user's saved drafts. """ drafts( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): DraftConnection! """ The user's email address. """ email: String! """ [INTERNAL] The user's pinned feeds. """ feedFacets( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): FacetConnection! """ The user's GitHub user ID. """ gitHubUserId: String """ Whether the user is a guest in the workspace and limited to accessing a subset of teams. """ guest: Boolean! """ The unique identifier of the entity. """ id: ID! """ [INTERNAL] Identity provider the user is managed by. """ identityProvider: IdentityProvider """ The initials of the user. """ initials: String! """ [DEPRECATED] Unique hash for the user to be used in invite URLs. """ inviteHash: String! @deprecated(reason: "This hash is not in use anymore, this value will always be empty.") """ Whether the user can be assigned to issues. Regular users are always assignable; app users are assignable only if they have the app:assignable scope. """ isAssignable: Boolean! """ Whether the user is the currently authenticated user. """ isMe: Boolean! """ Whether the user is mentionable. """ isMentionable: Boolean! """ Issue drafts that the user has created but not yet submitted. """ issueDrafts( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueDraftConnection! """ The last time the user was seen online. Updated based on user activity. Null if the user has never been seen. """ lastSeen: DateTime """ The user's full name. """ name: String! """ The workspace that the user belongs to. """ organization: Organization! """ Whether the user is a workspace owner, which is the highest permission level. """ owner: Boolean! """ The emoji representing the user's current status. Null if no status is set. """ statusEmoji: String """ The text label of the user's current status. Null if no status is set. """ statusLabel: String """ The date and time at which the user's current status should be automatically cleared. Null if the status has no expiration. """ statusUntilAt: DateTime """ Whether this agent user supports agent sessions. """ supportsAgentSessions: Boolean! """ Memberships associated with the user. For easier access of the same data, use `teams` query. """ teamMemberships( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): TeamMembershipConnection! """ Teams the user is a member of. Supports filtering by team properties. """ teams( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned teams. """ filter: TeamFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): TeamConnection! """ The local timezone of the user. """ timezone: String """ The user's job title. """ title: String """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ User's profile URL. """ url: String! } """ User actor payload for webhooks. """ type UserActorWebhookPayload { """ The avatar URL of the user. """ avatarUrl: String """ The email of the user. """ email: String! """ The ID of the user. """ id: String! """ The name of the user. """ name: String! """ The type of actor. """ type: String! """ The URL of the user. """ url: String! } """ User admin operation response. """ type UserAdminPayload { """ Whether the operation was successful. """ success: Boolean! } """ Certain properties of a user. """ type UserChildWebhookPayload { """ The avatar URL of the user. """ avatarUrl: String """ The email of the user. """ email: String! """ The ID of the user. """ id: String! """ The name of the user. """ name: String! """ The URL of the user. """ url: String! } """ User filtering options. """ input UserCollectionFilter { """ Comparator for the user's activity status. """ active: BooleanComparator """ Comparator for the user's admin status. """ admin: BooleanComparator """ Compound filters, all of which need to be matched by the user. """ and: [UserCollectionFilter!] """ Comparator for the user's app status. """ app: BooleanComparator """ Filters that the users assigned issues must satisfy. """ assignedIssues: IssueCollectionFilter """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the user's display name. """ displayName: StringComparator """ Comparator for the user's email. """ email: StringComparator """ Filters that needs to be matched by all users. """ every: UserFilter """ Comparator for the identifier. """ id: IDComparator """ Comparator for the user's invited status. """ invited: BooleanComparator """ Comparator for the user's invited status. """ isInvited: BooleanComparator """ Filter based on the currently authenticated user. Set to true to filter for the authenticated user, false for any other user. """ isMe: BooleanComparator """ Comparator for the collection length. """ length: NumberComparator """ Comparator for the user's name. """ name: StringComparator """ Compound filters, one of which need to be matched by the user. """ or: [UserCollectionFilter!] """ Comparator for the user's owner status. """ owner: BooleanComparator """ Filters that needs to be matched by some users. """ some: UserFilter """ Comparator for the updated at date. """ updatedAt: DateComparator } type UserConnection { edges: [UserEdge!]! nodes: [User!]! pageInfo: PageInfo! } enum UserContextViewType { assigned } """ User display name sorting options. """ input UserDisplayNameSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } type UserEdge { """ Used in `before` and `after` args """ cursor: String! node: User! } """ User filtering options. """ input UserFilter { """ Comparator for the user's activity status. """ active: BooleanComparator """ Comparator for the user's admin status. """ admin: BooleanComparator """ Compound filters, all of which need to be matched by the user. """ and: [UserFilter!] """ Comparator for the user's app status. """ app: BooleanComparator """ Filters that the users assigned issues must satisfy. """ assignedIssues: IssueCollectionFilter """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the user's display name. """ displayName: StringComparator """ Comparator for the user's email. """ email: StringComparator """ Comparator for the identifier. """ id: IDComparator """ Comparator for the user's invited status. """ invited: BooleanComparator """ Comparator for the user's invited status. """ isInvited: BooleanComparator """ Filter based on the currently authenticated user. Set to true to filter for the authenticated user, false for any other user. """ isMe: BooleanComparator """ Comparator for the user's name. """ name: StringComparator """ Compound filters, one of which need to be matched by the user. """ or: [UserFilter!] """ Comparator for the user's owner status. """ owner: BooleanComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ The types of flags that the user can have. """ enum UserFlagType { agentExamplesDismissed agentHomeHeadlineSeen agentHomePageNotice all analyticsWelcomeDismissed canPlaySnake canPlayTetris commandMenuClearShortcutTip completedOnboarding cycleWelcomeDismissed desktopDownloadToastDismissed desktopInstalled desktopTabsOnboardingDismissed dueDateShortcutMigration editorSlashCommandUsed emptyActiveIssuesDismissed emptyBacklogDismissed emptyCustomViewsDismissed emptyMyIssuesDismissed emptyParagraphSlashCommandTip figmaPluginBannerDismissed figmaPromptDismissed helpIslandFeatureInsightsDismissed importBannerDismissed initiativesBannerDismissed insightsHelpDismissed insightsWelcomeDismissed issueLabelSuggestionUsed issueMovePromptCompleted joinTeamIntroductionDismissed listSelectionTip migrateThemePreference milestoneOnboardingIsSeenAndDismissed projectBacklogWelcomeDismissed projectBoardOnboardingIsSeenAndDismissed projectUpdatesWelcomeDismissed projectWelcomeDismissed pulseWelcomeDismissed rewindBannerDismissed slackAgentPromoFromCreateNewIssueShown slackBotWelcomeMessageShown slackCommentReactionTipShown teamsBotWelcomeMessageShown teamsPageIntroductionDismissed threadedCommentsNudgeIsSeen triageWelcomeDismissed tryCodexDismissed tryCursorDismissed tryCyclesDismissed tryGithubDismissed tryInvitePeopleDismissed tryRoadmapsDismissed tryTriageDismissed updatedSlackThreadSyncIntegration } """ Operations that can be applied to UserFlagType. """ enum UserFlagUpdateOperation { clear decr incr lock } """ User name sorting options. """ input UserNameSort { """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ A notification subscription scoped to a specific user view. The subscriber receives notifications for events in the context of a particular user's activity view. """ type UserNotificationSubscription implements Entity & Node & NotificationSubscription { """ Whether the subscription is active. When inactive, no notifications are generated from this subscription even though it still exists. """ active: Boolean! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The type of contextual view (e.g., active issues, backlog) that further scopes a team notification subscription. Null if the subscription is not associated with a specific view type. """ contextViewType: ContextViewType """ The time at which the entity was created. """ createdAt: DateTime! """ The custom view that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ customView: CustomView """ The customer that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ customer: Customer """ The cycle that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ cycle: Cycle """ The unique identifier of the entity. """ id: ID! """ The initiative that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ initiative: Initiative """ The issue label that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ label: IssueLabel """ The notification event types that this subscription will deliver to the subscriber. """ notificationSubscriptionTypes: [String!]! """ The project that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ project: Project """ The user who will receive notifications from this subscription. """ subscriber: User! """ The team that this notification subscription is scoped to. Null if the subscription targets a different entity type. """ team: Team """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user subscribed to. """ user: User! """ The type of user-specific view that further scopes a user notification subscription. Null if the subscription is not associated with a user view type. """ userContextViewType: UserContextViewType } """ User operation response. """ type UserPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! """ The user that was created or updated. """ user: User } """ The different permission roles available to users in a workspace. """ enum UserRoleType { admin app guest owner user } """ Per-user settings and preferences for a workspace member. Includes notification delivery preferences, email subscription settings, notification category and channel preferences, theme configuration, and various UI preferences. Each user has exactly one UserSettings record per workspace. """ type UserSettings implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ Whether to auto-assign newly created issues to the current user by default. """ autoAssignToSelf: Boolean! """ A unique hash for the user, used to construct secure calendar subscription URLs. """ calendarHash: String """ The time at which the entity was created. """ createdAt: DateTime! """ The user's last seen time for the pulse feed. """ feedLastSeenTime: DateTime """ The user's preferred schedule for receiving feed summary digests. Null if the user has not set a preference and will use the workspace default. """ feedSummarySchedule: FeedSummarySchedule """ The unique identifier of the entity. """ id: ID! """ The user's notification category preferences, indicating which notification categories are enabled or disabled per notification channel. """ notificationCategoryPreferences: NotificationCategoryPreferences! """ The user's notification channel preferences, indicating which notification delivery channels (email, in-app, mobile push, Slack) are enabled. """ notificationChannelPreferences: NotificationChannelPreferences! """ The notification delivery preferences for the user. Note: notificationDisabled field is deprecated in favor of notificationChannelPreferences. """ notificationDeliveryPreferences: NotificationDeliveryPreferences! """ Whether to show full user names instead of display names. """ showFullUserNames: Boolean! """ Whether this user is subscribed to receive changelog emails about Linear product updates. """ subscribedToChangelog: Boolean! """ Whether this user is subscribed to receive Data Processing Agreement (DPA) related emails. """ subscribedToDPA: Boolean! """ Whether this user is subscribed to receive email notifications when their workspace invitations are accepted. """ subscribedToInviteAccepted: Boolean! """ Whether this user is subscribed to receive emails about privacy policy and legal updates. """ subscribedToPrivacyLegalUpdates: Boolean! """ The user's theme configuration for the specified color mode (light/dark) and device type (desktop/mobile). Returns null if no valid theme preset is configured. """ theme( """ The device type. """ deviceType: UserSettingsThemeDeviceType = desktop """ The theme color mode. """ mode: UserSettingsThemeMode = light ): UserSettingsTheme """ The email types the user has unsubscribed from. """ unsubscribedFrom: [String!]! @deprecated(reason: "Use individual subscription fields instead. This field's value is now outdated.") """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user that these settings belong to. """ user: User! } """ Custom sidebar theme definition with accent, base colors and contrast. """ type UserSettingsCustomSidebarTheme { """ The accent color in LCH format. """ accent: [Float!]! """ The base color in LCH format. """ base: [Float!]! """ The contrast value. """ contrast: Int! } """ Custom theme definition with accent, base colors, contrast, and optional sidebar theme. """ type UserSettingsCustomTheme { """ The accent color in LCH format. """ accent: [Float!]! """ The base color in LCH format. """ base: [Float!]! """ The contrast value. """ contrast: Int! """ Optional sidebar theme colors. """ sidebar: UserSettingsCustomSidebarTheme } """ User settings flag update response. """ type UserSettingsFlagPayload { """ The flag key which was updated. """ flag: String """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! """ The flag value after update. """ value: Int } """ User settings flags reset response. """ type UserSettingsFlagsResetPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ User settings operation response. """ type UserSettingsPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! """ The user's settings. """ userSettings: UserSettings! } """ The user's resolved theme configuration for a specific color mode and device type. """ type UserSettingsTheme { """ The custom theme definition, only present when preset is 'custom'. """ custom: UserSettingsCustomTheme """ The theme preset. """ preset: UserSettingsThemePreset! } """ Device type for theme """ enum UserSettingsThemeDeviceType { desktop mobileWeb } """ Theme color mode """ enum UserSettingsThemeMode { dark light } """ Theme preset options """ enum UserSettingsThemePreset { classicDark custom dark light magicBlue pureLight system } input UserSettingsUpdateInput { """ [Internal] The user's last seen time for the pulse feed. """ feedLastSeenTime: DateTime """ [Internal] How often to generate a feed summary. """ feedSummarySchedule: FeedSummarySchedule """ The user's notification category preferences. """ notificationCategoryPreferences: NotificationCategoryPreferencesInput """ The user's notification channel preferences. """ notificationChannelPreferences: PartialNotificationChannelPreferencesInput """ The user's notification delivery preferences. """ notificationDeliveryPreferences: NotificationDeliveryPreferencesInput """ The user's settings. """ settings: JSONObject """ Whether this user is subscribed to changelog email or not. """ subscribedToChangelog: Boolean """ Whether this user is subscribed to DPA emails or not. """ subscribedToDPA: Boolean """ Whether this user is subscribed to general marketing communications or not. """ subscribedToGeneralMarketingCommunications: Boolean """ Whether this user is subscribed to invite accepted emails or not. """ subscribedToInviteAccepted: Boolean """ Whether this user is subscribed to privacy and legal update emails or not. """ subscribedToPrivacyLegalUpdates: Boolean """ [Internal] The user's usage warning history. """ usageWarningHistory: JSONObject } """ User sorting options. """ input UserSortInput { """ Sort by user display name """ displayName: UserDisplayNameSort """ Sort by user name """ name: UserNameSort } """ Input for updating the authenticated user. """ input UserUpdateInput { """ The avatar image URL of the user. """ avatarUrl: String """ The user description or a short bio. """ description: String """ The display name of the user. """ displayName: String """ The name of the user. """ name: String """ The emoji part of the user status. """ statusEmoji: String """ The label part of the user status. """ statusLabel: String """ When the user status should be cleared. """ statusUntilAt: DateTime """ The local timezone of the user. """ timezone: String """ The user's job title. """ title: String } """ Payload for a user webhook. """ type UserWebhookPayload { """ Whether the user is active. """ active: Boolean! """ Whether the user is an admin. """ admin: Boolean! """ Whether the user is an app. """ app: Boolean! """ The time at which the entity was archived. """ archivedAt: String """ The avatar URL of the user. """ avatarUrl: String """ The time at which the entity was created. """ createdAt: String! """ The description of the user. """ description: String """ The reason the user is disabled. """ disableReason: String """ The display name of the user. """ displayName: String! """ The email of the user. """ email: String! """ Whether the user is a guest. """ guest: Boolean! """ The ID of the entity. """ id: String! """ The name of the user. """ name: String! """ Whether the user is an owner. """ owner: Boolean """ The local timezone of the user. """ timezone: String """ The time at which the entity was updated. """ updatedAt: String! """ The URL of the user. """ url: String! } """ The display preferences for a view, controlling layout mode (list, board, spreadsheet), grouping, sorting, column visibility, and other visual settings. View preferences exist at two levels: organization-wide defaults and per-user overrides. The effective preferences are computed by merging both layers, with user preferences taking priority. """ type ViewPreferences implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The unique identifier of the entity. """ id: ID! """ The view preferences values, containing layout, grouping, sorting, and field visibility settings. """ preferences: ViewPreferencesValues! """ The type of view preferences: "organization" for workspace-wide defaults or "user" for personal overrides. """ type: String! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The type of view these preferences apply to, such as board, cycle, project, customView, myIssues, etc. """ viewType: String! } """ Input for creating view preferences. """ input ViewPreferencesCreateInput { """ The custom view these view preferences are associated with. """ customViewId: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ [Internal] The initiative these view preferences are associated with. """ initiativeId: String """ The default parameters for the insight on that view. """ insights: JSONObject """ The label these view preferences are associated with. """ labelId: String """ View preferences object. """ preferences: JSONObject! """ The project these view preferences are associated with. """ projectId: String """ The project label these view preferences are associated with. """ projectLabelId: String """ The release pipeline these view preferences are associated with. """ releasePipelineId: String """ The team these view preferences are associated with. """ teamId: String """ The type of view preferences (either user or workspace level preferences). """ type: ViewPreferencesType! """ The user profile these view preferences are associated with. """ userId: String """ The view type of the view preferences are associated with. """ viewType: ViewType! } """ A label group column configuration for the initiative list view. """ type ViewPreferencesInitiativeLabelGroupColumn { """ Whether the label group column is active. """ active: Boolean! """ The identifier of the label group. """ id: String! } """ The result of a view preferences mutation. """ type ViewPreferencesPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! """ The view preferences entity being mutated. """ viewPreferences: ViewPreferences! } """ A label group column configuration for the project list view. """ type ViewPreferencesProjectLabelGroupColumn { """ Whether the label group column is active. """ active: Boolean! """ The identifier of the label group. """ id: String! } """ The type of view preferences (either user or workspace level preferences). """ enum ViewPreferencesType { organization user } """ Input for updating view preferences. """ input ViewPreferencesUpdateInput { """ The default parameters for the insight on that view. """ insights: JSONObject """ View preferences. """ preferences: JSONObject } """ The computed view preferences values for a view, containing all display settings such as layout mode, grouping, sorting, field visibility, and other visual configuration. These values represent the merged result of organization defaults and user overrides. """ type ViewPreferencesValues { """ Whether issues in closed columns should be ordered by recency. """ closedIssuesOrderedByRecency: Boolean """ Custom ordering of groups on the board layout. """ columnOrderBoard: [String!] """ Custom ordering of groups on the list layout. """ columnOrderList: [String!] """ Whether to show the release date field for continuous pipeline releases. """ continuousPipelineReleaseFieldReleaseDate: Boolean """ Whether to show the release-note field for continuous pipeline releases. """ continuousPipelineReleaseFieldReleaseNote: Boolean """ Whether to show the version field for continuous pipeline releases. """ continuousPipelineReleaseFieldVersion: Boolean """ The continuous pipeline releases view grouping. """ continuousPipelineReleasesViewGrouping: String """ Whether to show the custom view creation date field. """ customViewFieldDateCreated: Boolean """ Whether to show the custom view updated date field. """ customViewFieldDateUpdated: Boolean """ Whether to show the custom view owner field. """ customViewFieldOwner: Boolean """ Whether to show the custom view visibility field. """ customViewFieldVisibility: Boolean """ The custom views ordering. """ customViewsOrdering: String """ Whether to show the customer domains field. """ customerFieldDomains: Boolean """ Whether to show the customer owner field. """ customerFieldOwner: Boolean """ Whether to show the customer request count field. """ customerFieldRequestCount: Boolean """ Whether to show the customer revenue field. """ customerFieldRevenue: Boolean """ Whether to show the customer size field. """ customerFieldSize: Boolean """ Whether to show the customer source field. """ customerFieldSource: Boolean """ Whether to show the customer status field. """ customerFieldStatus: Boolean """ Whether to show the customer tier field. """ customerFieldTier: Boolean """ Whether to show the issue identifier field in the customer page. """ customerPageNeedsFieldIssueIdentifier: Boolean """ Whether to show the issue priority field in the customer page. """ customerPageNeedsFieldIssuePriority: Boolean """ Whether to show the issue status field in the customer page. """ customerPageNeedsFieldIssueStatus: Boolean """ Whether to show the issue due date field in the customer page. """ customerPageNeedsFieldIssueTargetDueDate: Boolean """ Whether to show completed issues and projects in the customer page. """ customerPageNeedsShowCompletedIssuesAndProjects: String """ Whether to show important customer needs first. """ customerPageNeedsShowImportantFirst: Boolean """ The customer page needs view grouping. """ customerPageNeedsViewGrouping: String """ The customer page needs view ordering. """ customerPageNeedsViewOrdering: String """ The customers view ordering. """ customersViewOrdering: String """ Whether to show the dashboard creation date field. """ dashboardFieldDateCreated: Boolean """ Whether to show the dashboard updated date field. """ dashboardFieldDateUpdated: Boolean """ Whether to show the dashboard owner field. """ dashboardFieldOwner: Boolean """ The dashboards ordering. """ dashboardsOrdering: String """ Whether to show important embedded customer needs first. """ embeddedCustomerNeedsShowImportantFirst: Boolean """ The embedded customer needs view ordering. """ embeddedCustomerNeedsViewOrdering: String """ Whether to show the issue assignee field. """ fieldAssignee: Boolean """ Whether to show the customer request count field. """ fieldCustomerCount: Boolean """ Whether to show the customer revenue field. """ fieldCustomerRevenue: Boolean """ Whether to show the cycle field. """ fieldCycle: Boolean """ Whether to show the issue archived date field. """ fieldDateArchived: Boolean """ Whether to show the issue creation date field. """ fieldDateCreated: Boolean """ Whether to show the issue last activity date field. """ fieldDateMyActivity: Boolean """ Whether to show the issue updated date field. """ fieldDateUpdated: Boolean """ Whether to show the due date field. """ fieldDueDate: Boolean """ Whether to show the issue estimate field. """ fieldEstimate: Boolean """ Whether to show the issue identifier field. """ fieldId: Boolean """ Whether to show the labels field. """ fieldLabels: Boolean """ Whether to show the link count field. """ fieldLinkCount: Boolean """ Whether to show the milestone field. """ fieldMilestone: Boolean """ Whether to show preview links. """ fieldPreviewLinks: Boolean """ Whether to show the issue priority field. """ fieldPriority: Boolean """ Whether to show the project field. """ fieldProject: Boolean """ Whether to show the pull requests field. """ fieldPullRequests: Boolean """ Whether to show the release field. """ fieldRelease: Boolean """ Whether to show the Sentry issues field. """ fieldSentryIssues: Boolean """ Whether to show the SLA field. """ fieldSla: Boolean """ Whether to show the issue status field. """ fieldStatus: Boolean """ Whether to show the time in current status field. """ fieldTimeInCurrentStatus: Boolean """ The focus view grouping. """ focusViewGrouping: String """ The focus view ordering. """ focusViewOrdering: String """ The focus view ordering direction. """ focusViewOrderingDirection: String """ The ordering mode for groups. Supersedes projectGroupOrdering. """ groupOrderingMode: String """ List of column model IDs which should be hidden on a board. """ hiddenColumns: [String!] """ List of group model IDs which should be hidden on a list. """ hiddenGroupsList: [String!] """ List of row model IDs which should be hidden on a board. """ hiddenRows: [String!] """ The inbox view ordering. """ inboxViewOrdering: String """ Whether to show the initiative activity field. """ initiativeFieldActivity: Boolean """ Whether to show the initiative completed date field. """ initiativeFieldDateCompleted: Boolean """ Whether to show the initiative created date field. """ initiativeFieldDateCreated: Boolean """ Whether to show the initiative updated date field. """ initiativeFieldDateUpdated: Boolean """ Whether to show the initiative description field. """ initiativeFieldDescription: Boolean """ Whether to show the initiative active projects health field. """ initiativeFieldHealth: Boolean """ Whether to show the initiative health field. """ initiativeFieldInitiativeHealth: Boolean """ [Internal] Whether to show the initiative labels field. """ initiativeFieldLabels: Boolean """ Whether to show the initiative owner field. """ initiativeFieldOwner: Boolean """ Whether to show the initiative projects field. """ initiativeFieldProjects: Boolean """ Whether to show the initiative start date field. """ initiativeFieldStartDate: Boolean """ Whether to show the initiative status field. """ initiativeFieldStatus: Boolean """ Whether to show the initiative target date field. """ initiativeFieldTargetDate: Boolean """ Whether to show the initiative teams field. """ initiativeFieldTeams: Boolean """ The initiative grouping. """ initiativeGrouping: String """ [Internal] The label group ID used for initiative grouping. """ initiativeGroupingLabelGroupId: String """ [Internal] The initiative label group columns configuration. """ initiativeLabelGroupColumns: [ViewPreferencesInitiativeLabelGroupColumn!] """ The initiative ordering. """ initiativesViewOrdering: String """ The issue grouping. """ issueGrouping: String """ The label group ID used for issue grouping. """ issueGroupingLabelGroupId: String """ How sub-issues should be nested and displayed. """ issueNesting: String """ The issue sub-grouping. """ issueSubGrouping: String """ The label group ID used for issue sub-grouping. """ issueSubGroupingLabelGroupId: String """ The issue layout type. """ layout: String """ Whether to show the member joined date field. """ memberFieldJoined: Boolean """ Whether to show the member status field. """ memberFieldStatus: Boolean """ Whether to show the member teams field. """ memberFieldTeams: Boolean """ Whether to show completed issues last in project customer needs. """ projectCustomerNeedsShowCompletedIssuesLast: Boolean """ Whether to show important project customer needs first. """ projectCustomerNeedsShowImportantFirst: Boolean """ The project customer needs view grouping. """ projectCustomerNeedsViewGrouping: String """ The project customer needs view ordering. """ projectCustomerNeedsViewOrdering: String """ Whether to show the project activity field. """ projectFieldActivity: Boolean """ Whether to show the project customer count field. """ projectFieldCustomerCount: Boolean """ Whether to show the project customer revenue field. """ projectFieldCustomerRevenue: Boolean """ Whether to show the project completion date field. """ projectFieldDateCompleted: Boolean """ Whether to show the project creation date field. """ projectFieldDateCreated: Boolean """ Whether to show the project updated date field. """ projectFieldDateUpdated: Boolean """ Whether to show the project description field. """ projectFieldDescription: Boolean """ Whether to show the project description field on the board. """ projectFieldDescriptionBoard: Boolean """ Whether to show the project health field. """ projectFieldHealth: Boolean """ Whether to show the project health field on the timeline. """ projectFieldHealthTimeline: Boolean """ Whether to show the project initiatives field. """ projectFieldInitiatives: Boolean """ Whether to show the project issue count field. """ projectFieldIssues: Boolean """ Whether to show the project labels field. """ projectFieldLabels: Boolean """ Whether to show the project lead field. """ projectFieldLead: Boolean """ Whether to show the project lead field on the timeline. """ projectFieldLeadTimeline: Boolean """ Whether to show the project members field. """ projectFieldMembers: Boolean """ Whether to show the project members field on the board. """ projectFieldMembersBoard: Boolean """ Whether to show the project members field on the list. """ projectFieldMembersList: Boolean """ Whether to show the project members field on the timeline. """ projectFieldMembersTimeline: Boolean """ Whether to show the project milestone field. """ projectFieldMilestone: Boolean """ Whether to show the project milestone field on the timeline. """ projectFieldMilestoneTimeline: Boolean """ Whether to show the project predictions field. """ projectFieldPredictions: Boolean """ Whether to show the project predictions field on the timeline. """ projectFieldPredictionsTimeline: Boolean """ Whether to show the project priority field. """ projectFieldPriority: Boolean """ Whether to show the project relations field. """ projectFieldRelations: Boolean """ Whether to show the project relations field on the timeline. """ projectFieldRelationsTimeline: Boolean """ Whether to show the project roadmaps field. """ projectFieldRoadmaps: Boolean """ Whether to show the project roadmaps field on the board. """ projectFieldRoadmapsBoard: Boolean """ Whether to show the project roadmaps field on the list. """ projectFieldRoadmapsList: Boolean """ Whether to show the project roadmaps field on the timeline. """ projectFieldRoadmapsTimeline: Boolean """ Whether to show the project rollout stage field. """ projectFieldRolloutStage: Boolean """ Whether to show the project start date field. """ projectFieldStartDate: Boolean """ Whether to show the project status field. """ projectFieldStatus: Boolean """ Whether to show the project status field on the timeline. """ projectFieldStatusTimeline: Boolean """ Whether to show the project target date field. """ projectFieldTargetDate: Boolean """ Whether to show the project teams field. """ projectFieldTeams: Boolean """ Whether to show the project teams field on the board. """ projectFieldTeamsBoard: Boolean """ Whether to show the project teams field on the list. """ projectFieldTeamsList: Boolean """ Whether to show the project teams field on the timeline. """ projectFieldTeamsTimeline: Boolean """ The ordering of project groups. """ projectGroupOrdering: String @deprecated(reason: "Use groupOrderingMode instead.") """ The project grouping. """ projectGrouping: String """ The date resolution when grouping projects by date. """ projectGroupingDateResolution: String """ The label group ID used for project grouping. """ projectGroupingLabelGroupId: String """ The project label group columns configuration. """ projectLabelGroupColumns: [ViewPreferencesProjectLabelGroupColumn!] """ The project layout type. """ projectLayout: String """ How to show empty project groups. """ projectShowEmptyGroups: String """ How to show empty project groups on the board layout. """ projectShowEmptyGroupsBoard: String """ How to show empty project groups on the list layout. """ projectShowEmptyGroupsList: String """ How to show empty project groups on the timeline layout. """ projectShowEmptyGroupsTimeline: String """ How to show empty project sub-groups. """ projectShowEmptySubGroups: String """ How to show empty project sub-groups on the board layout. """ projectShowEmptySubGroupsBoard: String """ How to show empty project sub-groups on the list layout. """ projectShowEmptySubGroupsList: String """ How to show empty project sub-groups on the timeline layout. """ projectShowEmptySubGroupsTimeline: String """ The project sub-grouping. """ projectSubGrouping: String """ The label group ID used for project sub-grouping. """ projectSubGroupingLabelGroupId: String """ The project ordering. """ projectViewOrdering: String """ The zoom level for the timeline view. """ projectZoomLevel: String @deprecated(reason: "Use timelineZoomScale instead.") """ Whether to show the latest release field for release pipelines. """ releasePipelineFieldLatestRelease: Boolean """ Whether to show the releases field for release pipelines. """ releasePipelineFieldReleases: Boolean """ Whether to show the teams field for release pipelines. """ releasePipelineFieldTeams: Boolean """ Whether to show the type field for release pipelines. """ releasePipelineFieldType: Boolean """ The release pipeline grouping. """ releasePipelineGrouping: String """ The release pipelines view ordering. """ releasePipelinesViewOrdering: String """ Whether to show the review avatar field. """ reviewFieldAvatar: Boolean """ Whether to show the review checks field. """ reviewFieldChecks: Boolean """ Whether to show the review identifier field. """ reviewFieldIdentifier: Boolean """ Whether to show the review preview links field. """ reviewFieldPreviewLinks: Boolean """ Whether to show the review repository field. """ reviewFieldRepository: Boolean """ The review grouping. """ reviewGrouping: String """ The review view ordering. """ reviewViewOrdering: String """ Whether to show the completion field for scheduled pipeline releases. """ scheduledPipelineReleaseFieldCompletion: Boolean """ Whether to show the description field for scheduled pipeline releases. """ scheduledPipelineReleaseFieldDescription: Boolean """ Whether to show the release date field for scheduled pipeline releases. """ scheduledPipelineReleaseFieldReleaseDate: Boolean """ Whether to show the release-note field for scheduled pipeline releases. """ scheduledPipelineReleaseFieldReleaseNote: Boolean """ Whether to show the version field for scheduled pipeline releases. """ scheduledPipelineReleaseFieldVersion: Boolean """ The scheduled pipeline releases view grouping. """ scheduledPipelineReleasesViewGrouping: String """ The scheduled pipeline releases view ordering. """ scheduledPipelineReleasesViewOrdering: String """ The search result type filter. """ searchResultType: String """ The search view ordering. """ searchViewOrdering: String """ Whether to show archived items. """ showArchivedItems: Boolean """ Whether completed agent sessions are shown and for how long. """ showCompletedAgentSessions: String """ Whether completed issues are shown and for how long. """ showCompletedIssues: String """ Whether completed projects are shown and for how long. """ showCompletedProjects: String """ Whether completed reviews are shown and for how long. """ showCompletedReviews: String """ Whether to show draft reviews. """ showDraftReviews: Boolean """ Whether to show empty groups. """ showEmptyGroups: Boolean """ Whether to show empty groups on the board layout. """ showEmptyGroupsBoard: Boolean """ Whether to show empty groups on the list layout. """ showEmptyGroupsList: Boolean """ Whether to show empty sub-groups. """ showEmptySubGroups: Boolean """ Whether to show empty sub-groups on the board layout. """ showEmptySubGroupsBoard: Boolean """ Whether to show empty sub-groups on the list layout. """ showEmptySubGroupsList: Boolean """ Whether to show sub-initiatives nested. """ showNestedInitiatives: Boolean """ Whether to show only snoozed items. """ showOnlySnoozedItems: Boolean """ Whether to show parent issues for sub-issues. """ showParents: Boolean """ Whether to show read items. """ showReadItems: Boolean """ Whether to show snoozed items. """ showSnoozedItems: Boolean """ Whether to show sub-initiative projects. """ showSubInitiativeProjects: Boolean """ Whether to show sub-issues. """ showSubIssues: Boolean """ Whether to show sub-team issues. """ showSubTeamIssues: Boolean """ Whether to show sub-team projects. """ showSubTeamProjects: Boolean """ Whether to show supervised issues. """ showSupervisedIssues: Boolean """ Whether to show triage issues. """ showTriageIssues: Boolean """ Whether to show unread items first. """ showUnreadItemsFirst: Boolean """ Whether to show the team cycle field. """ teamFieldCycle: Boolean """ Whether to show the team creation date field. """ teamFieldDateCreated: Boolean """ Whether to show the team updated date field. """ teamFieldDateUpdated: Boolean """ Whether to show the team identifier field. """ teamFieldIdentifier: Boolean """ Whether to show the team members field. """ teamFieldMembers: Boolean """ Whether to show the team membership field. """ teamFieldMembership: Boolean """ Whether to show the team owner field. """ teamFieldOwner: Boolean """ Whether to show the team projects field. """ teamFieldProjects: Boolean """ The team view ordering. """ teamViewOrdering: String """ Selected team IDs to show cycles for in timeline chronology bar. """ timelineChronologyShowCycleTeamIds: [String!] """ Whether to show week numbers in timeline chronology bar. """ timelineChronologyShowWeekNumbers: Boolean """ The zoom scale for the timeline view. """ timelineZoomScale: Float """ The triage view ordering. """ triageViewOrdering: String """ The issue ordering. """ viewOrdering: String """ The direction of the issue ordering. """ viewOrderingDirection: String """ The workspace members view ordering. """ workspaceMembersViewOrdering: String } """ The client view this custom view is targeting. """ enum ViewType { activeIssues agents allIssues archive backlog board completedCycle continuousPipelineReleases createdReviews customView customViews customer customers cycle dashboards embeddedCustomerNeeds feedAll feedCreated feedFollowing feedPopular focus inbox initiative initiativeOverview initiativeOverviewSubInitiatives initiatives initiativesCompleted initiativesPlanned issueIdentifiers label myIssues myIssuesActivity myIssuesCreatedByMe myIssuesSharedWithMe myIssuesSubscribedTo myReviews project projectCustomerNeeds projectDocuments projectLabel projects projectsAll projectsBacklog projectsClosed quickView release releaseOverviewIssues releasePipelines reviews roadmap roadmapAll roadmapBacklog roadmapClosed roadmaps scheduledPipelineReleases search splitSearch subIssues teams triage userProfile userProfileCreatedByUser workspaceMembers } """ A webhook subscription that sends HTTP POST callbacks to an external URL when events occur in Linear. Webhooks can be scoped to a specific team, multiple teams, or all public teams in the organization. They support filtering by resource type (e.g., Issue, Comment, Project) and can be created either manually by users or automatically by OAuth applications. Each webhook has a signing secret for verifying payload authenticity on the recipient side. """ type Webhook implements Node { """ Whether the webhook receives events from all public (non-private) teams in the organization, including teams created after the webhook was set up. When true, the webhook automatically covers new public teams without requiring reconfiguration. """ allPublicTeams: Boolean! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the webhook. """ creator: User """ Whether the webhook is enabled. When disabled, no payloads will be delivered even if matching events occur. """ enabled: Boolean! """ [INTERNAL] Webhook failure events associated with the webhook (last 50). """ failures: [WebhookFailureEvent!]! """ The unique identifier of the entity. """ id: ID! """ A human-readable label for the webhook, used for identification in the UI. Null if no label has been set. """ label: String """ The resource types this webhook is subscribed to (e.g., 'Issue', 'Comment', 'Project', 'Cycle'). The webhook will only receive payloads for events affecting these resource types. """ resourceTypes: [String!]! """ A secret token used to sign webhook payloads with HMAC-SHA256, allowing the recipient to verify that the payload originated from Linear and was not tampered with. Automatically generated if not provided during creation. """ secret: String """ The single team that the webhook is scoped to. When null, the webhook either targets all public teams (if allPublicTeams is true), multiple specific teams (if teamIds is set), or organization-wide events. """ team: Team """ [INTERNAL] An array of team IDs that the webhook is subscribed to. Used to represent a webhook that targets multiple specific teams, potentially in addition to all public teams (when allPublicTeams is also true). Null when the webhook targets a single team via teamId or all public teams only. """ teamIds: [String!] """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The destination URL where webhook payloads will be sent via HTTP POST. Null for OAuth application webhooks, which use the webhook URL configured on the OAuth client instead. """ url: String } type WebhookConnection { edges: [WebhookEdge!]! nodes: [Webhook!]! pageInfo: PageInfo! } """ Input for creating a new webhook. """ input WebhookCreateInput { """ Whether this webhook is enabled for all public teams. """ allPublicTeams: Boolean """ Whether this webhook is enabled. """ enabled: Boolean = true """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ Label for the webhook. """ label: String """ List of resources the webhook should subscribe to. """ resourceTypes: [String!]! """ A secret token used to sign the webhook payload. """ secret: String """ The identifier or key of the team associated with the Webhook. """ teamId: String """ The URL that will be called on data changes. """ url: String! } type WebhookEdge { """ Used in `before` and `after` args """ cursor: String! node: Webhook! } """ A record of a failed webhook delivery attempt. Created when a webhook payload could not be successfully delivered to the destination URL, either due to an HTTP error response or a network failure. Each failure event captures the HTTP status code (if available), the response body or error message, and a stable execution ID that is shared across retries of the same delivery. """ type WebhookFailureEvent { """ The time at which the entity was created. """ createdAt: DateTime! """ A stable identifier for the webhook delivery attempt. This ID remains the same across retries of the same payload, making it useful for correlating multiple failure events that belong to the same logical delivery. """ executionId: String! """ The HTTP status code returned by the webhook recipient. Null if the request failed before receiving a response (e.g., DNS resolution failure, connection timeout). """ httpStatus: Float """ The unique identifier of the entity. """ id: ID! """ The HTTP response body returned by the recipient, or the error message if the request failed before receiving a response. Truncated to 1000 characters. """ responseOrError: String """ The URL that the webhook was trying to push to. """ url: String! """ The webhook that this failure event is associated with. """ webhook: Webhook! } """ The result of a webhook mutation. """ type WebhookPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! """ The webhook entity being mutated. """ webhook: Webhook! } """ The result of a webhook secret rotation mutation. """ type WebhookRotateSecretPayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ The new webhook signing secret. """ secret: String! """ Whether the operation was successful. """ success: Boolean! } """ Input for updating an existing webhook. """ input WebhookUpdateInput { """ Whether this webhook is enabled. """ enabled: Boolean """ Label for the webhook. """ label: String """ List of resources the webhook should subscribe to. """ resourceTypes: [String!] """ A secret token used to sign the webhook payload. """ secret: String """ The URL that will be called on data changes. """ url: String } """ A welcome message configuration for the workspace. When enabled, new users joining the workspace receive a notification with this message in their inbox. Each workspace has at most one welcome message. The message body is stored in a related DocumentContent entity. """ type WelcomeMessage implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ Whether the welcome message is enabled and should be sent to new users joining the workspace. """ enabled: Boolean! """ The unique identifier of the entity. """ id: ID! """ The title of the welcome message notification. Null defaults to 'Welcome to {workspace name}'. """ title: String """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The user who last updated the welcome message configuration. Null if the user's account has been deleted. """ updatedBy: User } """ A notification containing a workspace welcome message, sent to newly joined users. """ type WelcomeMessageNotification implements Entity & Node & Notification { """ The user that caused the notification. Null if the notification was triggered by a non-user actor such as an integration, external user, or system event. """ actor: User """ [Internal] Notification actor initials if avatar is not available. """ actorAvatarColor: String! """ [Internal] Notification avatar URL. """ actorAvatarUrl: String """ [Internal] Notification actor initials if avatar is not available. """ actorInitials: String """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The bot that caused the notification. """ botActor: ActorBot """ The category of the notification. """ category: NotificationCategory! """ The time at which the entity was created. """ createdAt: DateTime! """ The time at which an email reminder for this notification was sent to the user. Null if no email reminder has been sent. """ emailedAt: DateTime """ The external user that caused the notification. Populated when the notification was triggered by an external user (e.g., a commenter from a connected integration like Slack or GitHub) rather than a Linear workspace member. """ externalUserActor: ExternalUser """ [Internal] Notifications with the same grouping key will be grouped together in the UI. """ groupingKey: String! """ [Internal] Priority of the notification with the same grouping key. Higher number means higher priority. If priority is the same, notifications should be sorted by `createdAt`. """ groupingPriority: Float! """ The unique identifier of the entity. """ id: ID! """ [Internal] Inbox URL for the notification. """ inboxUrl: String! """ [Internal] Initiative update health for new updates. """ initiativeUpdateHealth: String """ [Internal] If notification actor was Linear. """ isLinearActor: Boolean! """ [Internal] Issue's status type for issue notifications. """ issueStatusType: String """ [Internal] Project update health for new updates. """ projectUpdateHealth: String """ The time at which the user marked the notification as read. Null if the notification is unread. """ readAt: DateTime """ The time until which a notification is snoozed. After this time, the notification reappears in the user's inbox. Null if the notification is not currently snoozed. """ snoozedUntilAt: DateTime """ [Internal] Notification subtitle. """ subtitle: String! """ [Internal] Notification title. """ title: String! """ Notification type. Determines the kind of event that triggered this notification and which associated entity fields will be populated. """ type: String! """ The time at which a notification was unsnoozed. Null if the notification has not been unsnoozed. """ unsnoozedAt: DateTime """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ [Internal] URL to the target of the notification. """ url: String! """ The recipient user of this notification. """ user: User! """ Related welcome message. """ welcomeMessageId: String! } """ A time-triggered automation workflow definition that executes on a recurring schedule. Cron job definitions are scoped to a team and contain a set of activities (actions) that run automatically according to the configured cron schedule, such as periodically assigning issues or sending notifications. """ type WorkflowCronJobDefinition implements Node { """ An array of activities that will be executed as part of the workflow cron job. """ activities: JSONObject! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the workflow cron job. """ creator: User! """ The description of the workflow cron job. """ description: String """ Whether the workflow cron job is enabled and will execute on its schedule. """ enabled: Boolean! """ The unique identifier of the entity. """ id: ID! """ The name of the workflow cron job. """ name: String! """ Recurring schedule which is used to execute the workflow cron job. """ schedule: JSONObject! """ The sort order of the workflow cron job definition within its siblings. """ sortOrder: String! """ The team associated with the workflow cron job. """ team: Team! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ An automation workflow definition that executes a set of activities when triggered by specific events. Workflows can be scoped to a team, project, cycle, label, custom view, initiative, or user context. They are triggered by entity changes (e.g., issue status change, new comment) and can include conditions that filter which events actually execute the workflow. Activities define the actions taken, such as updating issue properties, sending notifications, or posting to Slack. """ type WorkflowDefinition implements Node { """ The ordered list of activities (actions) that are executed when the workflow triggers, such as updating issue properties, sending notifications, or calling webhooks. """ activities: JSONObject! """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The filter conditions that must match for the workflow to execute. When null, the workflow triggers on all matching events. """ conditions: JSONObject """ The type of view to which this workflow's context is associated with. """ contextViewType: ContextViewType """ The time at which the entity was created. """ createdAt: DateTime! """ The user who created the workflow. """ creator: User! """ The context custom view associated with the workflow. """ customView: CustomView """ The contextual cycle view associated with the workflow. """ cycle: Cycle """ The description of the workflow. """ description: String """ Whether the workflow is enabled and will execute when its trigger conditions are met. """ enabled: Boolean! """ The name of the group that the workflow belongs to. """ groupName: String """ The unique identifier of the entity. """ id: ID! """ The contextual initiative view associated with the workflow. """ initiative: Initiative """ The contextual label view associated with the workflow. """ label: IssueLabel """ The date and time when the workflow was last triggered and executed. Null if the workflow has never been executed. """ lastExecutedAt: DateTime """ The user who last updated the workflow. """ lastUpdatedBy: User """ The name of the workflow. """ name: String! """ The contextual project view associated with the workflow. """ project: Project """ The workflow definition's unique URL slug. """ slugId: String! """ The sort order of the workflow definition within its siblings. """ sortOrder: String! """ The team associated with the workflow. If not set, the workflow is associated with the entire workspace. """ team: Team """ The event that triggers the workflow, such as entity creation, update, or a specific state change. """ trigger: WorkflowTrigger! """ The entity type that triggers this workflow, such as Issue, Project, or Release. """ triggerType: WorkflowTriggerType! """ The type of the workflow, such as custom automation, SLA, or auto-close. """ type: WorkflowType! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! """ The contextual user view associated with the workflow. """ user: User """ The type of user view to which this workflow's context is associated with. """ userContextViewType: UserContextViewType } """ 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. """ type WorkflowState implements Node { """ The time at which the entity was archived. Null if the entity has not been archived. """ archivedAt: DateTime """ The state's UI color as a HEX string. """ color: String! """ The time at which the entity was created. """ createdAt: DateTime! """ Description of the state. """ description: String """ The unique identifier of the entity. """ id: ID! """ The parent team's workflow state that this state was inherited from. Null if the state is not inherited from a parent team. """ inheritedFrom: WorkflowState """ Issues that currently have this workflow state. Returns a paginated and filterable list of issues. """ issues( """ A cursor to be used with first for forward pagination """ after: String """ A cursor to be used with last for backward pagination. """ before: String """ Filter returned issues. """ filter: IssueFilter """ The number of items to forward paginate (used with after). Defaults to 50. """ first: Int """ Should archived resources be included (default: false) """ includeArchived: Boolean """ The number of items to backward paginate (used with before). Defaults to 50. """ last: Int """ By which field should the pagination order by. Available options are createdAt (default) and updatedAt. """ orderBy: PaginationOrderBy ): IssueConnection! """ The state's human-readable name (e.g., 'In Progress', 'Done', 'Backlog'). """ name: String! """ The position of the state in the team's workflow. States are displayed in ascending order of position within their type group. """ position: Float! """ The team that this workflow state belongs to. Each team has its own set of workflow states. """ team: Team! """ The type of the state. One of "triage", "backlog", "unstarted", "started", "completed", "canceled", "duplicate". """ type: String! """ The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn't been updated after creation. """ updatedAt: DateTime! } """ A generic payload return from entity archive mutations. """ type WorkflowStateArchivePayload implements ArchivePayload { """ The archived/unarchived entity. Null if entity was deleted. """ entity: WorkflowState """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! } """ Certain properties of a workflow state. """ type WorkflowStateChildWebhookPayload { """ The color of the workflow state. """ color: String! """ The ID of the workflow state. """ id: String! """ The name of the workflow state. """ name: String! """ The type of the workflow state. """ type: String! } type WorkflowStateConnection { edges: [WorkflowStateEdge!]! nodes: [WorkflowState!]! pageInfo: PageInfo! } """ Input for creating a new workflow state (issue status) in a team. The name, type, color, and team are required. """ input WorkflowStateCreateInput { """ The color of the state. """ color: String! """ The description of the state. """ description: String """ The identifier in UUID v4 format. If none is provided, the backend will generate one. """ id: String """ The name of the state. """ name: String! """ The position of the state. """ position: Float """ The team associated with the state. """ teamId: String! """ The workflow state type, which categorizes the state. Valid values: backlog, unstarted, started, completed, canceled. The type determines how the state is treated in workflow progression and reporting. """ type: String! } type WorkflowStateEdge { """ Used in `before` and `after` args """ cursor: String! node: WorkflowState! } """ Workflow state filtering options. """ input WorkflowStateFilter { """ Compound filters, all of which need to be matched by the workflow state. """ and: [WorkflowStateFilter!] """ Comparator for the created at date. """ createdAt: DateComparator """ Comparator for the workflow state description. """ description: StringComparator """ Comparator for the identifier. """ id: IDComparator """ Filters that the workflow states issues must satisfy. """ issues: IssueCollectionFilter """ Comparator for the workflow state name. """ name: StringComparator """ Compound filters, one of which need to be matched by the workflow state. """ or: [WorkflowStateFilter!] """ Comparator for the workflow state position. """ position: NumberComparator """ Filters that the workflow states team must satisfy. """ team: TeamFilter """ Comparator for the workflow state type. Possible values are "triage", "backlog", "unstarted", "started", "completed", "canceled", "duplicate". """ type: StringComparator """ Comparator for the updated at date. """ updatedAt: DateComparator } """ The result of a workflow state mutation, containing the created or updated state and a success indicator. """ type WorkflowStatePayload { """ The identifier of the last sync operation. """ lastSyncId: Float! """ Whether the operation was successful. """ success: Boolean! """ The state that was created or updated. """ workflowState: WorkflowState! } """ Issue workflow state sorting options. """ input WorkflowStateSort { """ Whether to sort closed issues by recency """ closedIssuesOrderedByRecency: Boolean = false """ Whether nulls should be sorted first or last """ nulls: PaginationNulls = last """ The order for the individual sort """ order: PaginationSortOrder } """ Input for updating an existing workflow state. All fields are optional; only provided fields will be updated. The state type cannot be changed after creation. """ input WorkflowStateUpdateInput { """ The color of the state. """ color: String """ The description of the state. """ description: String """ The name of the state. """ name: String """ The position of the state. """ position: Float } enum WorkflowTrigger { entityCreated entityCreatedOrUpdated entityRemoved entityUnarchived entityUpdated } enum WorkflowTriggerType { issue project release schedule } enum WorkflowType { automation release sla triage triageAutomation viewSubscription } input ZendeskSettingsInput { """ Whether a ticket should be automatically reopened when its linked Linear issue is canceled. """ automateTicketReopeningOnCancellation: Boolean """ Whether a ticket should be automatically reopened when a comment is posted on its linked Linear issue """ automateTicketReopeningOnComment: Boolean """ Whether a ticket should be automatically reopened when its linked Linear issue is completed. """ automateTicketReopeningOnCompletion: Boolean """ Whether a ticket should be automatically reopened when its linked Linear project is canceled. """ automateTicketReopeningOnProjectCancellation: Boolean """ Whether a ticket should be automatically reopened when its linked Linear project is completed. """ automateTicketReopeningOnProjectCompletion: Boolean """ The ID of the Linear bot user. """ botUserId: String """ [INTERNAL] Temporary flag indicating if the integration has the necessary scopes for Customers """ canReadCustomers: Boolean """ [ALPHA] Whether customer and customer requests should not be automatically created when conversations are linked to a Linear issue. """ disableCustomerRequestsAutoCreation: Boolean """ Whether Linear Agent should be enabled for this integration. """ enableAiIntake: Boolean """ The host mappings from Zendesk brands. """ hostMappings: [String!] """ Whether an internal message should be added when someone comments on an issue. """ sendNoteOnComment: Boolean """ Whether an internal message should be added when a Linear issue changes status (for status types except completed or canceled). """ sendNoteOnStatusChange: Boolean """ The subdomain of the Zendesk organization being connected. """ subdomain: String! """ [INTERNAL] Flag indicating if the integration supports OAuth refresh tokens """ supportsOAuthRefresh: Boolean """ The URL of the connected Zendesk organization. """ url: String! }