"""A customer notification subscription."""
type CustomerNotificationSubscription implements NotificationSubscription & Entity & Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The user that subscribed to receive notifications."""
subscriber: User!
"""The customer subscribed to."""
customer: Customer!
"""
The contextual custom view associated with the notification subscription.
"""
customView: CustomView
"""
The contextual cycle view associated with the notification subscription.
"""
cycle: Cycle
"""
The contextual label view associated with the notification subscription.
"""
label: IssueLabel
"""
The contextual project view associated with the notification subscription.
"""
project: Project
"""
The contextual initiative view associated with the notification subscription.
"""
initiative: Initiative
"""The team associated with the notification subscription."""
team: Team
"""The user view associated with the notification subscription."""
user: User
"""
The type of view to which the notification subscription context is associated with.
"""
contextViewType: ContextViewType
"""
The type of user view to which the notification subscription context is associated with.
"""
userContextViewType: UserContextViewType
"""Whether the subscription is active or not."""
active: Boolean!
"""The type of subscription."""
notificationSubscriptionTypes: [String!]!
}
"""Notification subscriptions for models."""
interface NotificationSubscription implements Entity & Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The user that subscribed to receive notifications."""
subscriber: User!
"""The customer associated with the notification subscription."""
customer: Customer
"""
The contextual custom view associated with the notification subscription.
"""
customView: CustomView
"""
The contextual cycle view associated with the notification subscription.
"""
cycle: Cycle
"""
The contextual label view associated with the notification subscription.
"""
label: IssueLabel
"""
The contextual project view associated with the notification subscription.
"""
project: Project
"""
The contextual initiative view associated with the notification subscription.
"""
initiative: Initiative
"""The team associated with the notification subscription."""
team: Team
"""The user view associated with the notification subscription."""
user: User
"""
The type of view to which the notification subscription context is associated with.
"""
contextViewType: ContextViewType
"""
The type of user view to which the notification subscription context is associated with.
"""
userContextViewType: UserContextViewType
"""Whether the subscription is active or not."""
active: Boolean!
}
"""A basic entity."""
interface Entity implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
}
interface Node {
"""The unique identifier of the entity."""
id: ID!
}
"""
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
"""A user that has access to the the resources of an organization."""
type User implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The user's full name."""
name: String!
"""The user's display (nick) name. Unique within each organization."""
displayName: String!
"""The user's email address."""
email: String!
"""An URL to the user's avatar image."""
avatarUrl: String
"""Reason why is the account disabled."""
disableReason: String
"""[DEPRECATED] Hash for the user to be used in calendar URLs."""
calendarHash: String
"""A short description of the user, either its title or bio."""
description: String
"""The emoji to represent the user current status."""
statusEmoji: String
"""The label of the user current status."""
statusLabel: String
"""A date at which the user current status should be cleared."""
statusUntilAt: DateTime
"""The local timezone of the user."""
timezone: String
"""Organization the user belongs to."""
organization: Organization!
"""The last time the user was seen online."""
lastSeen: DateTime
"""[INTERNAL] Identity provider the user is managed by."""
identityProvider: IdentityProvider
"""The initials of the user."""
initials: String!
"""The background color of the avatar for users without set avatar."""
avatarBackgroundColor: String!
"""
Whether the user is a guest in the workspace and limited to accessing a subset of teams.
"""
guest: Boolean!
"""Whether the user is an app."""
app: Boolean!
"""Whether the user is mentionable."""
isMentionable: Boolean!
"""Whether the user account is active or disabled (suspended)."""
active: Boolean!
"""The user's issue drafts"""
issueDrafts(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueDraftConnection!
"""The user's drafts"""
drafts(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): DraftConnection!
"""User's profile URL."""
url: String!
"""Issues assigned to the user."""
assignedIssues(
"""Filter returned issues."""
filter: IssueFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueConnection!
"""Issues delegated to this user."""
delegatedIssues(
"""Filter returned issues."""
filter: IssueFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueConnection!
"""Issues created by the user."""
createdIssues(
"""Filter returned issues."""
filter: IssueFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueConnection!
"""Number of issues created."""
createdIssueCount: Int!
"""Teams the user is part of."""
teams(
"""Filter returned teams."""
filter: TeamFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): TeamConnection!
"""
Memberships associated with the user. For easier access of the same data, use `teams` query.
"""
teamMemberships(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): TeamMembershipConnection!
"""[INTERNAL] The user's pinned feeds."""
feedFacets(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): FacetConnection!
"""Whether this user can access any public team in the organization."""
canAccessAnyPublicTeam: Boolean!
"""Whether the user is the currently authenticated user."""
isMe: Boolean!
"""Whether the user is an organization administrator."""
admin: Boolean!
"""Whether the user is an organization owner."""
owner: Boolean!
"""Whether the user is assignable."""
isAssignable: Boolean!
"""Whether this agent user supports agent sessions."""
supportsAgentSessions: Boolean!
"""[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.")
"""The user's GitHub user ID."""
gitHubUserId: String
}
"""
An organization. Organizations are root-level objects that contain user accounts and teams.
"""
type Organization implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The organization's name."""
name: String!
"""The organization's unique URL key."""
urlKey: String!
"""The organization's logo URL."""
logoUrl: String
"""Rolling 30-day total upload volume for the organization, in megabytes."""
periodUploadVolume: Float!
"""[Internal] Facets associated with the organization."""
facets: [Facet!]!
"""
How git branches are formatted. If null, default formatting will be used.
"""
gitBranchFormat: String
"""
Whether the Git integration linkback messages should be sent to private repositories.
"""
gitLinkbackMessagesEnabled: Boolean!
"""
Whether the Git integration linkback messages should be sent to public repositories.
"""
gitPublicLinkbackMessagesEnabled: Boolean!
"""
Whether issue descriptions should be included in Git integration linkback messages.
"""
gitLinkbackDescriptionsEnabled: Boolean!
"""Whether the organization is using a roadmap."""
roadmapEnabled: Boolean!
"""
The n-weekly frequency at which to prompt for project updates. When not set, reminders are off.
"""
projectUpdateReminderFrequencyInWeeks: Float
"""The day at which to prompt for project updates."""
projectUpdateRemindersDay: Day!
"""The hour at which to prompt for project updates."""
projectUpdateRemindersHour: Float!
"""
The n-weekly frequency at which to prompt for initiative updates. When not set, reminders are off.
"""
initiativeUpdateReminderFrequencyInWeeks: Float
"""The day at which to prompt for initiative updates."""
initiativeUpdateRemindersDay: Day!
"""The hour at which to prompt for initiative updates."""
initiativeUpdateRemindersHour: Float!
"""The month at which the fiscal year starts. Defaults to January (0)."""
fiscalYearStartMonth: Float!
"""[Internal] The list of working days. Sunday is 0, Monday is 1, etc."""
workingDays: [Float!]!
"""Whether SAML authentication is enabled for organization."""
samlEnabled: Boolean!
"""[INTERNAL] SAML settings."""
samlSettings: JSONObject
"""Whether SCIM provisioning is enabled for organization."""
scimEnabled: Boolean!
"""[INTERNAL] SCIM settings."""
scimSettings: JSONObject
"""Security settings for the organization."""
securitySettings: JSONObject!
"""Authentication settings for the organization."""
authSettings: JSONObject!
"""Allowed authentication providers, empty array means all are allowed."""
allowedAuthServices: [String!]! @deprecated(reason: "Use authSettings.allowedAuthServices instead.")
"""Allowed file upload content types"""
allowedFileUploadContentTypes: [String!]
"""IP restriction configurations."""
ipRestrictions: [OrganizationIpRestriction!]
"""The time at which deletion of the organization was requested."""
deletionRequestedAt: DateTime
"""The time at which the trial will end."""
trialEndsAt: DateTime
"""The time at which the trial started."""
trialStartsAt: DateTime
"""
Previously used URL keys for the organization (last 3 are kept and redirected).
"""
previousUrlKeys: [String!]!
"""
[Internal] Whether agent invocation is restricted to full workspace members.
"""
restrictAgentInvocationToMembers: Boolean
"""Whether HIPAA compliance is enabled for organization."""
hipaaComplianceEnabled: Boolean!
"""[ALPHA] Theme settings for the organization."""
themeSettings: JSONObject
"""The feature release channel the organization belongs to."""
releaseChannel: ReleaseChannel!
"""Configuration settings for the Customers feature."""
customersConfiguration: JSONObject!
"""[INTERNAL] Whether code intelligence is enabled for the organization."""
codeIntelligenceEnabled: Boolean!
"""
[INTERNAL] GitHub repository in owner/repo format for code intelligence.
"""
codeIntelligenceRepository: String
"""Default schedule for how often feed summaries are generated."""
defaultFeedSummarySchedule: FeedSummarySchedule
"""Whether the organization has enabled the feed feature."""
feedEnabled: 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.")
"""
[INTERNAL] Whether the organization has enabled the AI add-on (which at this point only includes triage suggestions).
"""
aiAddonEnabled: Boolean!
"""[INTERNAL] Whether the organization has enabled agent automation."""
agentAutomationEnabled: Boolean!
"""[INTERNAL] Whether the organization has enabled generated updates."""
generatedUpdatesEnabled: Boolean!
"""Whether the organization has enabled resolved thread AI summaries."""
aiThreadSummariesEnabled: Boolean!
"""
Whether the organization has enabled AI discussion summaries for issues.
"""
aiDiscussionSummariesEnabled: Boolean!
"""
[INTERNAL] Configure per-modality AI host providers and model families.
"""
aiProviderConfiguration: JSONObject
"""[Internal] Whether the organization has enabled Linear Agent."""
linearAgentEnabled: Boolean!
"""[Internal] Settings for Linear Agent features."""
linearAgentSettings: JSONObject!
"""[INTERNAL] Whether the organization has enabled the Coding Agent."""
codingAgentEnabled: Boolean!
"""[DEPRECATED] Which day count to use for SLA calculations."""
slaDayCount: SLADayCountType! @deprecated(reason: "No longer in use")
"""[DEPRECATED] The frequency at which to prompt for project updates."""
projectUpdatesReminderFrequency: ProjectUpdateReminderFrequency! @deprecated(reason: "Use organization.projectUpdatesReminderFrequencyInWeeks instead")
"""[INTERNAL] Permitted AI providers."""
allowedAiProviders: [String!]! @deprecated(reason: "Use aiProviderConfiguration instead.")
"""Users associated with the organization."""
users(
"""Should query return disabled/suspended users (default: false)."""
includeDisabled: Boolean
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): UserConnection!
"""Teams associated with the organization."""
teams(
"""Filter returned teams."""
filter: TeamFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): TeamConnection!
"""The organization's project statuses."""
projectStatuses: [ProjectStatus!]!
"""Integrations associated with the organization."""
integrations(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IntegrationConnection!
"""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 organization.
"""
slackProjectChannelsEnabled: Boolean!
"""
[Internal] Whether to automatically create a Slack channel when a new project is created.
"""
slackAutoCreateProjectChannel: Boolean!
"""The organization's subscription to a paid plan."""
subscription: PaidSubscription
"""Number of active users in the organization."""
userCount: Int!
"""
Aproximate number of issues in the organization, including archived ones.
"""
createdIssueCount: Int!
"""Templates associated with the organization."""
templates(
"""Filter returned templates."""
filter: NullableTemplateFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): TemplateConnection!
"""Labels associated with the organization."""
labels(
"""Filter returned issue labels."""
filter: IssueLabelFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueLabelConnection!
"""Project labels associated with the organization."""
projectLabels(
"""Filter returned project labels."""
filter: ProjectLabelFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ProjectLabelConnection!
"""Number of customers in the organization."""
customerCount: Int!
"""Whether the organization is using Customers."""
customersEnabled: Boolean!
"""[Internal] Whether release management is enabled for the organization."""
releasesEnabled: Boolean!
"""[DEPRECATED] Whether member users are allowed to send invites."""
allowMembersToInvite: Boolean @deprecated(reason: "Use `securitySettings.invitationsRole` instead.")
"""[DEPRECATED] Whether team creation is restricted to admins."""
restrictTeamCreationToAdmins: Boolean @deprecated(reason: "Use `securitySettings.teamCreationRole` instead.")
"""
[DEPRECATED] Whether workspace label creation, update, and deletion is restricted to admins.
"""
restrictLabelManagementToAdmins: Boolean @deprecated(reason: "Use `securitySettings.labelManagementRole` instead.")
}
"""
A facet. Facets are joins between entities. A facet can tie a custom view to a project, or a a project to a roadmap for example.
"""
type Facet implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The sort order of the facet."""
sortOrder: Float!
"""The owning organization."""
sourceOrganization: Organization
"""The owning team."""
sourceTeam: Team
"""The owning project."""
sourceProject: Project
"""The owning initiative."""
sourceInitiative: Initiative
"""The owning feed user."""
sourceFeedUser: User
"""The owning page."""
sourcePage: FacetPageSource
"""The targeted custom view."""
targetCustomView: CustomView
}
"""An organizational unit that contains issues."""
type Team implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The team's name."""
name: String!
"""The team's unique key. The key is used in URLs."""
key: String!
"""The team's description."""
description: String
"""The icon of the team."""
icon: String
"""The team's color."""
color: String
"""
The time at which the team was retired. Null if the team has not been retired.
"""
retiredAt: DateTime
"""The organization that the team is associated with."""
organization: Organization!
"""The team's parent team."""
parent: Team
"""[Internal] The team's sub-teams."""
children: [Team!]!
"""Whether the team uses cycles."""
cyclesEnabled: Boolean!
"""The day of the week that a new cycle starts."""
cycleStartDay: Float!
"""The duration of a cycle in weeks."""
cycleDuration: Float!
"""The cooldown time after each cycle in weeks."""
cycleCooldownTime: Float!
"""Auto assign started issues to current cycle."""
cycleIssueAutoAssignStarted: Boolean!
"""Auto assign completed issues to current cycle."""
cycleIssueAutoAssignCompleted: Boolean!
"""Auto assign issues to current cycle if in active status."""
cycleLockToActive: Boolean!
"""How many upcoming cycles to create."""
upcomingCycleCount: Float!
"""
The timezone of the team. Defaults to "America/Los_Angeles"
"""
timezone: String!
"""
Whether the team should inherit its workflow statuses from its parent. Only applies to sub-teams.
"""
inheritWorkflowStatuses: Boolean!
"""
Whether the team should inherit its estimation settings from its parent. Only applies to sub-teams.
"""
inheritIssueEstimation: 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.")
"""Whether to allow zeros in issues estimates."""
issueEstimationAllowZero: Boolean!
"""Where to move issues when changing state."""
setIssueSortOrderOnStateChange: String!
"""Whether to add additional points to the estimate scale."""
issueEstimationExtended: Boolean!
"""What to use as a default estimate for unestimated issues."""
defaultIssueEstimate: Float!
"""Whether triage mode is enabled for the team or not."""
triageEnabled: Boolean!
"""Whether an issue needs to have a priority set before leaving triage."""
requirePriorityToLeaveTriage: Boolean!
"""
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 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 default template to use for new projects created for the team."""
defaultProjectTemplate: Template
"""
The workflow state into which issues are set when they are opened by non-team members or integrations if triage is enabled.
"""
triageIssueState: WorkflowState
"""Whether the team is private or not."""
private: Boolean!
"""
Whether all members in the workspace can join the team. Only used for public teams.
"""
allMembersCanJoin: Boolean
"""Security settings for the team."""
securitySettings: JSONObject!
"""[Internal] Facets associated with the team."""
facets: [Facet!]!
"""[Internal] Posts associated with the team."""
posts: [Post!]!
"""Whether the team is managed by SCIM integration."""
scimManaged: Boolean!
"""The SCIM group name for the team."""
scimGroupName: String
"""[Internal] The progress history of the team."""
progressHistory: JSONObject!
"""[Internal] The current progress of the team."""
currentProgress: JSONObject!
"""
The workflow state into which issues are moved when a PR has been opened as draft.
"""
draftWorkflowState: WorkflowState @deprecated(reason: "Use team.gitAutomationStates instead.")
"""
The workflow state into which issues are moved when a PR has been opened.
"""
startWorkflowState: WorkflowState @deprecated(reason: "Use team.gitAutomationStates instead.")
"""
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 workflow state into which issues are moved when a PR is ready to be merged.
"""
mergeableWorkflowState: WorkflowState @deprecated(reason: "Use team.gitAutomationStates instead.")
"""
The workflow state into which issues are moved when a PR has been merged.
"""
mergeWorkflowState: WorkflowState @deprecated(reason: "Use team.gitAutomationStates instead.")
"""Whether to group recent issue history entries."""
groupIssueHistory: Boolean!
"""Whether to enable resolved thread AI summaries."""
aiThreadSummariesEnabled: Boolean!
"""Whether to enable AI discussion summaries for issues in this team."""
aiDiscussionSummariesEnabled: Boolean!
"""Whether to send new issue notifications to Slack."""
slackNewIssue: Boolean! @deprecated(reason: "No longer is use")
"""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")
"""
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
"""
Period after which automatically closed and completed issues are automatically archived in months.
"""
autoArchivePeriod: Float!
"""
Whether parent issues should automatically close when all child issues are closed
"""
autoCloseParentIssues: Boolean
"""
Whether child issues should automatically close when their parent issue is closed
"""
autoCloseChildIssues: Boolean
"""
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
"""[Internal] Whether new users should join this team by default."""
joinByDefault: 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 to automatically create a Slack channel when a new project is created in this team.
"""
slackAutoCreateProjectChannel: Boolean
"""Calendar feed URL (iCal) for cycles."""
cycleCalenderUrl: String!
"""The name of the team including its parent team name if it has one."""
displayName: String!
"""Issues associated with the team."""
issues(
"""Include issues from sub-teams."""
includeSubTeams: Boolean = false
"""Filter returned issues."""
filter: IssueFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueConnection!
"""Number of issues in the team."""
issueCount(
"""Include archived issues in the count."""
includeArchived: Boolean = false
): Int!
"""Cycles associated with the team."""
cycles(
"""Filter returned cycles."""
filter: CycleFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): CycleConnection!
"""Team's currently active cycle."""
activeCycle: Cycle
"""Team's triage responsibility."""
triageResponsibility: TriageResponsibility
"""Users who are members of this team."""
members(
"""Filter returned users."""
filter: UserFilter
"""Should query return disabled/suspended users (default: false)."""
includeDisabled: Boolean
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
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 last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): TeamMembershipConnection!
"""Projects associated with the team."""
projects(
"""Include projects from sub-teams."""
includeSubTeams: Boolean = false
"""Filter returned projects."""
filter: ProjectFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
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 states that define the workflow associated with the team."""
states(
"""Filter returned workflow states."""
filter: WorkflowStateFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): WorkflowStateConnection!
"""The Git automation states for the team."""
gitAutomationStates(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): GitAutomationStateConnection!
"""Templates associated with the team."""
templates(
"""Filter returned templates."""
filter: NullableTemplateFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): TemplateConnection!
"""Labels associated with the team."""
labels(
"""Filter returned issue labels."""
filter: IssueLabelFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueLabelConnection!
"""Webhooks associated with the team."""
webhooks(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): WebhookConnection!
"""Settings for all integrations associated with that team."""
integrationsSettings: IntegrationsSettings
"""
[DEPRECATED] Whether to move issues to bottom of the column when changing state.
"""
issueSortOrderDefaultToBottom: Boolean! @deprecated(reason: "Use setIssueSortOrderOnStateChange instead.")
"""[DEPRECATED] Unique hash for the team to be used in invite URLs."""
inviteHash: String! @deprecated(reason: "Not used anymore, simply returning an empty string.")
}
"""A state in a team workflow."""
type WorkflowState implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The state's name."""
name: String!
"""The state's UI color as a HEX string."""
color: String!
"""Description of the state."""
description: String
"""The position of the state in the team flow."""
position: Float!
"""
The type of the state. One of "triage", "backlog", "unstarted", "started", "completed", "canceled", "duplicate".
"""
type: String!
"""The team to which this state belongs to."""
team: Team!
"""The state inherited from"""
inheritedFrom: WorkflowState
"""Issues belonging in this state."""
issues(
"""Filter returned issues."""
filter: IssueFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueConnection!
}
type IssueConnection {
edges: [IssueEdge!]!
nodes: [Issue!]!
pageInfo: PageInfo!
}
type IssueEdge {
node: Issue!
"""Used in `before` and `after` args"""
cursor: String!
}
"""An issue."""
type Issue implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The issue's unique number."""
number: Float!
"""The issue's title."""
title: String!
"""
The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low.
"""
priority: Float!
"""The estimate of the complexity of the issue.."""
estimate: Float
"""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 order of the item in relation to other items in the organization."""
sortOrder: Float!
"""
The order of the item in relation to other items in the organization, when ordered by priority.
"""
prioritySortOrder: Float!
"""The time at which the issue was moved into started state."""
startedAt: DateTime
"""The time at which the issue was moved into completed state."""
completedAt: DateTime
"""The time at which the issue entered triage."""
startedTriageAt: DateTime
"""The time at which the issue left triage."""
triagedAt: DateTime
"""The time at which the issue was moved into canceled state."""
canceledAt: DateTime
"""
The time at which the issue was automatically closed by the auto pruning process.
"""
autoClosedAt: DateTime
"""
The time at which the issue was automatically archived by the auto pruning process.
"""
autoArchivedAt: DateTime
"""The date at which the issue is due."""
dueDate: TimelessDate
"""The time at which the issue's SLA began."""
slaStartedAt: DateTime
"""The time at which the issue's SLA will enter medium risk state."""
slaMediumRiskAt: 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 breach."""
slaBreachesAt: DateTime
"""The type of SLA set on the issue. Calendar days or business days."""
slaType: String
"""The time at which the issue was added to a project."""
addedToProjectAt: DateTime
"""The time at which the issue was added to a cycle."""
addedToCycleAt: DateTime
"""The time at which the issue was added to a team."""
addedToTeamAt: DateTime
"""A flag that indicates whether the issue is in the trash bin."""
trashed: Boolean
"""The time until an issue will be snoozed in Triage view."""
snoozedUntilAt: DateTime
"""
[Internal] The time at which the most recent suggestions for this issue were generated.
"""
suggestionsGeneratedAt: DateTime
"""[Internal] The activity summary information for this issue."""
activitySummary: JSONObject
"""[Internal] AI-generated activity summary for this issue."""
summary: Summary
"""Id of the labels associated with this issue."""
labelIds: [String!]!
"""The team that the issue is associated with."""
team: Team!
"""The cycle that the issue is associated with."""
cycle: Cycle
"""The project that the issue is associated with."""
project: Project
"""The projectMilestone that the issue is associated with."""
projectMilestone: ProjectMilestone
"""The last template that was applied to this issue."""
lastAppliedTemplate: Template
"""The recurring issue template that created this issue."""
recurringIssueTemplate: Template
"""Previous identifiers of the issue if it has been moved between teams."""
previousIdentifiers: [String!]!
"""The user who created the issue."""
creator: User
"""The external user who created the issue."""
externalUserCreator: ExternalUser
"""The user to whom the issue is assigned to."""
assignee: User
"""The agent user that is delegated to work on this issue."""
delegate: User
"""The user who snoozed the issue."""
snoozedBy: User
"""The workflow state that the issue is associated with."""
state: WorkflowState!
"""
The order of the item in the sub-issue list. Only set if the issue has a parent.
"""
subIssueSortOrder: Float
"""Emoji reaction summary, grouped by emoji type."""
reactionData: JSONObject!
"""Label for the priority."""
priorityLabel: String!
"""The comment that this issue was created from."""
sourceComment: Comment
"""Integration type that created this issue, if applicable."""
integrationSourceType: IntegrationService
"""Whether this issue inherits shared access from its parent issue."""
inheritsSharedAccess: Boolean!
"""Documents associated with the issue."""
documents(
"""Filter returned documents."""
filter: DocumentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): DocumentConnection!
"""The bot that created the issue, if applicable."""
botActor: ActorBot
"""The users favorite associated with this issue."""
favorite: Favorite
"""Issue's human readable identifier (e.g. ENG-123)."""
identifier: String!
"""Issue URL."""
url: String!
"""Suggested branch name for the issue."""
branchName: String!
"""Shared access metadata for this issue."""
sharedAccess: IssueSharedAccess!
"""
Returns the number of Attachment resources which are created by customer support ticketing systems (e.g. Zendesk).
"""
customerTicketCount: Int!
"""Users who are subscribed to the issue."""
subscribers(
"""Filter returned subscribers."""
filter: UserFilter
"""Should query return disabled/suspended users (default: false)."""
includeDisabled: Boolean
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): UserConnection!
"""The parent of the issue."""
parent: Issue
"""Children of the issue."""
children(
"""Filter returned issues."""
filter: IssueFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueConnection!
"""Comments associated with the issue."""
comments(
"""Filter returned comments."""
filter: CommentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): CommentConnection!
"""History entries associated with the issue."""
history(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueHistoryConnection!
"""Labels associated with this issue."""
labels(
"""Filter returned issue labels."""
filter: IssueLabelFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueLabelConnection!
"""Relations associated with this issue."""
relations(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueRelationConnection!
"""Inverse relations associated with this issue."""
inverseRelations(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueRelationConnection!
"""Attachments associated with the issue."""
attachments(
"""Filter returned attachments."""
filter: AttachmentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): AttachmentConnection!
"""
Attachments previously associated with the issue before being moved to another issue.
"""
formerAttachments(
"""Filter returned attachments."""
filter: AttachmentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): AttachmentConnection!
"""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
"""Reactions associated with the issue."""
reactions: [Reaction!]!
"""Customer needs associated with the issue."""
needs(
"""Filter returned needs."""
filter: CustomerNeedFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): CustomerNeedConnection!
"""
Customer needs previously associated with the issue before being moved to another issue.
"""
formerNeeds(
"""Filter returned needs."""
filter: CustomerNeedFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): CustomerNeedConnection!
"""The external services the issue is synced with."""
syncedWith: [ExternalEntityInfo!]
"""[Internal] Product Intelligence suggestions for the issue."""
suggestions(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueSuggestionConnection!
"""
[Internal] Incoming product intelligence relation suggestions for the issue.
"""
incomingSuggestions(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueSuggestionConnection!
"""
The internal user who requested creation of the Asks issue on behalf of the creator.
"""
asksRequester: User
"""
The external user who requested creation of the Asks issue on behalf of the creator.
"""
asksExternalUserRequester: ExternalUser
"""The issue's workflow states over time."""
stateHistory(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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!
}
"""
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
"""
The `JSONObject` scalar type represents arbitrary values as *embedded* JSON
"""
scalar JSONObject
"""An AI-generated summary."""
type Summary implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The issue this summary belongs to."""
issue: Issue!
"""The summary content as a Prosemirror document."""
content: JSONObject!
"""The evaluation log id for this summary generation."""
evalLogId: String
"""The generation status of the summary."""
generationStatus: SummaryGenerationStatus!
"""The time at which the summary was generated."""
generatedAt: DateTime!
}
"""The generation status of a summary."""
enum SummaryGenerationStatus {
pending
completed
failed
}
"""A set of issues to be resolved in a specified amount of time."""
type Cycle implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The number of the cycle."""
number: Float!
"""The custom name of the cycle."""
name: String
"""The cycle's description."""
description: String
"""The start time of the cycle."""
startsAt: DateTime!
"""The end time of the cycle."""
endsAt: DateTime!
"""
The completion time of the cycle. If null, the cycle hasn't been completed.
"""
completedAt: DateTime
"""
The time at which the cycle was automatically archived by the auto pruning process.
"""
autoArchivedAt: DateTime
"""The total number of issues in the cycle after each day."""
issueCountHistory: [Float!]!
"""The number of completed issues in the cycle after each day."""
completedIssueCountHistory: [Float!]!
"""The total number of estimation points after each day."""
scopeHistory: [Float!]!
"""The number of completed estimation points after each day."""
completedScopeHistory: [Float!]!
"""The number of in progress estimation points after each day."""
inProgressScopeHistory: [Float!]!
"""The team that the cycle is associated with."""
team: Team!
"""[Internal] The progress history of the cycle."""
progressHistory: JSONObject!
"""[Internal] The current progress of the cycle."""
currentProgress: JSONObject!
"""The cycle inherited from."""
inheritedFrom: Cycle
"""Whether the cycle is currently active."""
isActive: Boolean!
"""Whether the cycle is in the future."""
isFuture: Boolean!
"""Whether the cycle is in the past."""
isPast: Boolean!
"""Issues associated with the cycle."""
issues(
"""Filter returned issues."""
filter: IssueFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueConnection!
"""Issues that weren't completed when the cycle was closed."""
uncompletedIssuesUponClose(
"""Filter returned issues."""
filter: IssueFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueConnection!
"""
The overall progress of the cycle. This is the (completed estimate points + 0.25 * in progress estimate points) / total estimate points.
"""
progress: Float!
"""Whether the cycle is the next cycle for the team."""
isNext: Boolean!
"""Whether the cycle is the previous cycle for the team."""
isPrevious: Boolean!
"""[Internal] Documents associated with the cycle."""
documents(
"""Filter returned documents."""
filter: DocumentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): DocumentConnection!
"""[Internal] Links associated with the cycle."""
links(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): EntityExternalLinkConnection!
}
"""Issue filtering options."""
input IssueFilter {
"""Comparator for the identifier."""
id: IssueIDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the issues number."""
number: NumberComparator
"""Comparator for the issues title."""
title: StringComparator
"""Comparator for the issues description."""
description: NullableStringComparator
"""
Comparator for the issues priority. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low.
"""
priority: NullableNumberComparator
"""Comparator for the issues estimate."""
estimate: EstimateComparator
"""Comparator for the issues started at date."""
startedAt: NullableDateComparator
"""Comparator for the issues triaged at date."""
triagedAt: NullableDateComparator
"""Comparator for the issues completed at date."""
completedAt: NullableDateComparator
"""Comparator for the issues canceled at date."""
canceledAt: NullableDateComparator
"""Comparator for the issues archived at date."""
archivedAt: NullableDateComparator
"""Comparator for the issues auto closed at date."""
autoClosedAt: NullableDateComparator
"""Comparator for the issues auto archived at date."""
autoArchivedAt: NullableDateComparator
"""Comparator for the issues added to cycle at date."""
addedToCycleAt: NullableDateComparator
"""Comparator for the period when issue was added to a cycle."""
addedToCyclePeriod: CyclePeriodComparator
"""Comparator for the issues due date."""
dueDate: NullableTimelessDateComparator
"""[Internal] Comparator for the issue's accumulatedStateUpdatedAt date."""
accumulatedStateUpdatedAt: NullableDateComparator
"""Comparator for the issues snoozed until date."""
snoozedUntilAt: NullableDateComparator
"""Filters that the issues assignee must satisfy."""
assignee: NullableUserFilter
"""Filters that the issue's delegated agent must satisfy."""
delegate: NullableUserFilter
"""Filters that the last applied template must satisfy."""
lastAppliedTemplate: NullableTemplateFilter
"""[ALPHA] Filters that the recurring issue template must satisfy."""
recurringIssueTemplate: NullableTemplateFilter
"""Filters that the source must satisfy."""
sourceMetadata: SourceMetadataComparator
"""Filters that the issues creator must satisfy."""
creator: NullableUserFilter
"""Filters that the issue parent must satisfy."""
parent: NullableIssueFilter
"""Filters that the issues snoozer must satisfy."""
snoozedBy: NullableUserFilter
"""Filters that issue labels must satisfy."""
labels: IssueLabelCollectionFilter
"""Filters that issue subscribers must satisfy."""
subscribers: UserCollectionFilter
"""
Comparator for filtering issues which have been shared with users outside of the team.
"""
hasSharedUsers: RelationExistsComparator
"""Filters that users the issue has been shared with must satisfy."""
sharedWith: UserCollectionFilter
"""Filters that the issues team must satisfy."""
team: TeamFilter
"""Filters that the issues project milestone must satisfy."""
projectMilestone: NullableProjectMilestoneFilter
"""Filters that the issues comments must satisfy."""
comments: CommentCollectionFilter
"""Filters that the issue's activities must satisfy."""
activity: ActivityCollectionFilter
"""[Internal] Filters that the issue's suggestions must satisfy."""
suggestions: IssueSuggestionCollectionFilter
"""Filters that the issues cycle must satisfy."""
cycle: NullableCycleFilter
"""Filters that the issues project must satisfy."""
project: NullableProjectFilter
"""Filters that the issues state must satisfy."""
state: WorkflowStateFilter
"""Filters that the child issues must satisfy."""
children: IssueCollectionFilter
"""Filters that the issues attachments must satisfy."""
attachments: AttachmentCollectionFilter
"""[Internal] Comparator for the issues content."""
searchableContent: ContentComparator
"""Comparator for filtering issues with relations."""
hasRelatedRelations: RelationExistsComparator
"""Comparator for filtering issues which are duplicates."""
hasDuplicateRelations: RelationExistsComparator
"""Comparator for filtering issues which are blocked."""
hasBlockedByRelations: RelationExistsComparator
"""Comparator for filtering issues which are blocking."""
hasBlockingRelations: 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 assignees.
"""
hasSuggestedAssignees: RelationExistsComparator
"""
[Internal] Comparator for filtering issues which have suggested projects.
"""
hasSuggestedProjects: RelationExistsComparator
"""
[Internal] Comparator for filtering issues which have suggested labels.
"""
hasSuggestedLabels: RelationExistsComparator
"""[Internal] Comparator for filtering issues which have suggested teams."""
hasSuggestedTeams: RelationExistsComparator
"""Comparator for the issues sla status."""
slaStatus: SlaStatusComparator
"""Filters that the issues reactions must satisfy."""
reactions: ReactionCollectionFilter
"""Filters that the issue's customer needs must satisfy."""
needs: CustomerNeedCollectionFilter
"""[ALPHA] Filters that the issue's releases must satisfy."""
releases: ReleaseCollectionFilter
"""Count of customers"""
customerCount: NumberComparator
"""Count of important customers"""
customerImportantCount: NumberComparator
"""[Internal] Lead time (created -> completed) comparator."""
leadTime: NullableDurationComparator
"""[Internal] Cycle time (started -> completed) comparator."""
cycleTime: NullableDurationComparator
"""
[Internal] Age (created -> now) comparator, defined if the issue is still open.
"""
ageTime: NullableDurationComparator
"""[Internal] Triage time (entered triaged -> triaged) comparator."""
triageTime: NullableDurationComparator
"""Compound filters, all of which need to be matched by the issue."""
and: [IssueFilter!]
"""Compound filters, one of which need to be matched by the issue."""
or: [IssueFilter!]
}
"""Comparator for issue identifiers."""
input IssueIDComparator {
"""Equals constraint."""
eq: ID
"""Not-equals constraint."""
neq: ID
"""In-array constraint."""
in: [ID!]
"""Not-in-array constraint."""
nin: [ID!]
}
"""Comparator for dates."""
input DateComparator {
"""Equals constraint."""
eq: DateTimeOrDuration
"""Not-equals constraint."""
neq: DateTimeOrDuration
"""In-array constraint."""
in: [DateTimeOrDuration!]
"""Not-in-array constraint."""
nin: [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
"""
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
}
"""
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
"""Comparator for numbers."""
input NumberComparator {
"""Equals constraint."""
eq: Float
"""Not-equals constraint."""
neq: Float
"""In-array constraint."""
in: [Float!]
"""Not-in-array constraint."""
nin: [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
"""
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
}
"""Comparator for strings."""
input StringComparator {
"""Equals constraint."""
eq: String
"""Not-equals constraint."""
neq: String
"""In-array constraint."""
in: [String!]
"""Not-in-array constraint."""
nin: [String!]
"""
Equals case insensitive. Matches any values that matches the given string case insensitive.
"""
eqIgnoreCase: String
"""
Not-equals case insensitive. Matches any values that don't match the given string case insensitive.
"""
neqIgnoreCase: 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
"""
Doesn't start with constraint. Matches any values that don't start with the given string.
"""
notStartsWith: String
"""
Ends with constraint. Matches any values that end with the given string.
"""
endsWith: String
"""
Doesn't end with constraint. Matches any values that don't end with the given string.
"""
notEndsWith: String
"""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
"""
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
"""
Contains case and accent insensitive constraint. Matches any values that contain the given string case and accent insensitive.
"""
containsIgnoreCaseAndAccent: String
}
"""Comparator for optional strings."""
input NullableStringComparator {
"""Equals constraint."""
eq: String
"""Not-equals constraint."""
neq: String
"""In-array constraint."""
in: [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
"""
Equals case insensitive. Matches any values that matches the given string case insensitive.
"""
eqIgnoreCase: String
"""
Not-equals case insensitive. Matches any values that don't match the given string case insensitive.
"""
neqIgnoreCase: 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
"""
Doesn't start with constraint. Matches any values that don't start with the given string.
"""
notStartsWith: String
"""
Ends with constraint. Matches any values that end with the given string.
"""
endsWith: String
"""
Doesn't end with constraint. Matches any values that don't end with the given string.
"""
notEndsWith: String
"""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
"""
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
"""
Contains case and accent insensitive constraint. Matches any values that contain the given string case and accent insensitive.
"""
containsIgnoreCaseAndAccent: String
}
"""Comparator for optional numbers."""
input NullableNumberComparator {
"""Equals constraint."""
eq: Float
"""Not-equals constraint."""
neq: Float
"""In-array constraint."""
in: [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
"""
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
"""
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
}
"""Comparator for estimates."""
input EstimateComparator {
"""Equals constraint."""
eq: Float
"""Not-equals constraint."""
neq: Float
"""In-array constraint."""
in: [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
"""
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
"""
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
"""Compound filters, all of which need to be matched by the estimate."""
or: [NullableNumberComparator!]
"""Compound filters, one of which need to be matched by the estimate."""
and: [NullableNumberComparator!]
}
"""Comparator for optional dates."""
input NullableDateComparator {
"""Equals constraint."""
eq: DateTimeOrDuration
"""Not-equals constraint."""
neq: DateTimeOrDuration
"""In-array constraint."""
in: [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
"""
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
"""
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
}
"""Comparator for period when issue was added to a cycle."""
input CyclePeriodComparator {
"""Equals constraint."""
eq: CyclePeriod
"""Not-equals constraint."""
neq: CyclePeriod
"""In-array constraint."""
in: [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
}
enum CyclePeriod {
before
during
after
}
"""Comparator for optional timeless dates."""
input NullableTimelessDateComparator {
"""Equals constraint."""
eq: TimelessDateOrDuration
"""Not-equals constraint."""
neq: TimelessDateOrDuration
"""In-array constraint."""
in: [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
"""
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
"""
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
}
"""
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
"""User filtering options."""
input NullableUserFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the user's name."""
name: StringComparator
"""Comparator for the user's display name."""
displayName: StringComparator
"""Comparator for the user's email."""
email: StringComparator
"""Comparator for the user's activity status."""
active: BooleanComparator
"""Filters that the users assigned issues must satisfy."""
assignedIssues: IssueCollectionFilter
"""Comparator for the user's admin status."""
admin: BooleanComparator
"""Comparator for the user's owner status."""
owner: BooleanComparator
"""Comparator for the user's invited status."""
invited: BooleanComparator
"""Comparator for the user's invited status."""
isInvited: BooleanComparator
"""Comparator for the user's app status."""
app: BooleanComparator
"""
Filter based on the currently authenticated user. Set to true to filter for the authenticated user, false for any other user.
"""
isMe: BooleanComparator
"""Filter based on the existence of the relation."""
null: Boolean
"""Compound filters, all of which need to be matched by the user."""
and: [NullableUserFilter!]
"""Compound filters, one of which need to be matched by the user."""
or: [NullableUserFilter!]
}
"""Comparator for identifiers."""
input IDComparator {
"""Equals constraint."""
eq: ID
"""Not-equals constraint."""
neq: ID
"""In-array constraint."""
in: [ID!]
"""Not-in-array constraint."""
nin: [ID!]
}
"""Comparator for booleans."""
input BooleanComparator {
"""Equals constraint."""
eq: Boolean
"""Not equals constraint."""
neq: Boolean
}
"""Issue filtering options."""
input IssueCollectionFilter {
"""Comparator for the identifier."""
id: IssueIDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the issues number."""
number: NumberComparator
"""Comparator for the issues title."""
title: StringComparator
"""Comparator for the issues description."""
description: NullableStringComparator
"""
Comparator for the issues priority. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low.
"""
priority: NullableNumberComparator
"""Comparator for the issues estimate."""
estimate: EstimateComparator
"""Comparator for the issues started at date."""
startedAt: NullableDateComparator
"""Comparator for the issues triaged at date."""
triagedAt: NullableDateComparator
"""Comparator for the issues completed at date."""
completedAt: NullableDateComparator
"""Comparator for the issues canceled at date."""
canceledAt: NullableDateComparator
"""Comparator for the issues archived at date."""
archivedAt: NullableDateComparator
"""Comparator for the issues auto closed at date."""
autoClosedAt: NullableDateComparator
"""Comparator for the issues auto archived at date."""
autoArchivedAt: NullableDateComparator
"""Comparator for the issues added to cycle at date."""
addedToCycleAt: NullableDateComparator
"""Comparator for the period when issue was added to a cycle."""
addedToCyclePeriod: CyclePeriodComparator
"""Comparator for the issues due date."""
dueDate: NullableTimelessDateComparator
"""[Internal] Comparator for the issue's accumulatedStateUpdatedAt date."""
accumulatedStateUpdatedAt: NullableDateComparator
"""Comparator for the issues snoozed until date."""
snoozedUntilAt: NullableDateComparator
"""Filters that the issues assignee must satisfy."""
assignee: NullableUserFilter
"""Filters that the issue's delegated agent must satisfy."""
delegate: NullableUserFilter
"""Filters that the last applied template must satisfy."""
lastAppliedTemplate: NullableTemplateFilter
"""[ALPHA] Filters that the recurring issue template must satisfy."""
recurringIssueTemplate: NullableTemplateFilter
"""Filters that the source must satisfy."""
sourceMetadata: SourceMetadataComparator
"""Filters that the issues creator must satisfy."""
creator: NullableUserFilter
"""Filters that the issue parent must satisfy."""
parent: NullableIssueFilter
"""Filters that the issues snoozer must satisfy."""
snoozedBy: NullableUserFilter
"""Filters that issue labels must satisfy."""
labels: IssueLabelCollectionFilter
"""Filters that issue subscribers must satisfy."""
subscribers: UserCollectionFilter
"""
Comparator for filtering issues which have been shared with users outside of the team.
"""
hasSharedUsers: RelationExistsComparator
"""Filters that users the issue has been shared with must satisfy."""
sharedWith: UserCollectionFilter
"""Filters that the issues team must satisfy."""
team: TeamFilter
"""Filters that the issues project milestone must satisfy."""
projectMilestone: NullableProjectMilestoneFilter
"""Filters that the issues comments must satisfy."""
comments: CommentCollectionFilter
"""Filters that the issue's activities must satisfy."""
activity: ActivityCollectionFilter
"""[Internal] Filters that the issue's suggestions must satisfy."""
suggestions: IssueSuggestionCollectionFilter
"""Filters that the issues cycle must satisfy."""
cycle: NullableCycleFilter
"""Filters that the issues project must satisfy."""
project: NullableProjectFilter
"""Filters that the issues state must satisfy."""
state: WorkflowStateFilter
"""Filters that the child issues must satisfy."""
children: IssueCollectionFilter
"""Filters that the issues attachments must satisfy."""
attachments: AttachmentCollectionFilter
"""[Internal] Comparator for the issues content."""
searchableContent: ContentComparator
"""Comparator for filtering issues with relations."""
hasRelatedRelations: RelationExistsComparator
"""Comparator for filtering issues which are duplicates."""
hasDuplicateRelations: RelationExistsComparator
"""Comparator for filtering issues which are blocked."""
hasBlockedByRelations: RelationExistsComparator
"""Comparator for filtering issues which are blocking."""
hasBlockingRelations: 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 assignees.
"""
hasSuggestedAssignees: RelationExistsComparator
"""
[Internal] Comparator for filtering issues which have suggested projects.
"""
hasSuggestedProjects: RelationExistsComparator
"""
[Internal] Comparator for filtering issues which have suggested labels.
"""
hasSuggestedLabels: RelationExistsComparator
"""[Internal] Comparator for filtering issues which have suggested teams."""
hasSuggestedTeams: RelationExistsComparator
"""Comparator for the issues sla status."""
slaStatus: SlaStatusComparator
"""Filters that the issues reactions must satisfy."""
reactions: ReactionCollectionFilter
"""Filters that the issue's customer needs must satisfy."""
needs: CustomerNeedCollectionFilter
"""[ALPHA] Filters that the issue's releases must satisfy."""
releases: ReleaseCollectionFilter
"""Count of customers"""
customerCount: NumberComparator
"""Count of important customers"""
customerImportantCount: NumberComparator
"""[Internal] Lead time (created -> completed) comparator."""
leadTime: NullableDurationComparator
"""[Internal] Cycle time (started -> completed) comparator."""
cycleTime: NullableDurationComparator
"""
[Internal] Age (created -> now) comparator, defined if the issue is still open.
"""
ageTime: NullableDurationComparator
"""[Internal] Triage time (entered triaged -> triaged) comparator."""
triageTime: NullableDurationComparator
"""Compound filters, all of which need to be matched by the issue."""
and: [IssueCollectionFilter!]
"""Compound filters, one of which need to be matched by the issue."""
or: [IssueCollectionFilter!]
"""Filters that needs to be matched by some issues."""
some: IssueFilter
"""Filters that needs to be matched by all issues."""
every: IssueFilter
"""Comparator for the collection length."""
length: NumberComparator
}
"""Template filtering options."""
input NullableTemplateFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the template's name."""
name: StringComparator
"""Comparator for the template's type."""
type: StringComparator
"""Comparator for the inherited template's ID."""
inheritedFromId: IDComparator
"""Filter based on the existence of the relation."""
null: Boolean
"""Compound filters, all of which need to be matched by the template."""
and: [NullableTemplateFilter!]
"""Compound filters, one of which need to be matched by the template."""
or: [NullableTemplateFilter!]
}
"""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
"""Comparator for the sub type."""
subType: SubTypeComparator
"""[INTERNAL] Comparator for the salesforce metadata."""
salesforceMetadata: SalesforceMetadataIntegrationComparator
}
"""Comparator for source type."""
input SubTypeComparator {
"""Equals constraint."""
eq: String
"""Not-equals constraint."""
neq: String
"""In-array constraint."""
in: [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
}
"""[INTERNAL] Comparator for Salesforce metadata."""
input SalesforceMetadataIntegrationComparator {
"""Salesforce Case metadata filter"""
caseMetadata: JSONObject
}
"""Issue filtering options."""
input NullableIssueFilter {
"""Comparator for the identifier."""
id: IssueIDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the issues number."""
number: NumberComparator
"""Comparator for the issues title."""
title: StringComparator
"""Comparator for the issues description."""
description: NullableStringComparator
"""
Comparator for the issues priority. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low.
"""
priority: NullableNumberComparator
"""Comparator for the issues estimate."""
estimate: EstimateComparator
"""Comparator for the issues started at date."""
startedAt: NullableDateComparator
"""Comparator for the issues triaged at date."""
triagedAt: NullableDateComparator
"""Comparator for the issues completed at date."""
completedAt: NullableDateComparator
"""Comparator for the issues canceled at date."""
canceledAt: NullableDateComparator
"""Comparator for the issues archived at date."""
archivedAt: NullableDateComparator
"""Comparator for the issues auto closed at date."""
autoClosedAt: NullableDateComparator
"""Comparator for the issues auto archived at date."""
autoArchivedAt: NullableDateComparator
"""Comparator for the issues added to cycle at date."""
addedToCycleAt: NullableDateComparator
"""Comparator for the period when issue was added to a cycle."""
addedToCyclePeriod: CyclePeriodComparator
"""Comparator for the issues due date."""
dueDate: NullableTimelessDateComparator
"""[Internal] Comparator for the issue's accumulatedStateUpdatedAt date."""
accumulatedStateUpdatedAt: NullableDateComparator
"""Comparator for the issues snoozed until date."""
snoozedUntilAt: NullableDateComparator
"""Filters that the issues assignee must satisfy."""
assignee: NullableUserFilter
"""Filters that the issue's delegated agent must satisfy."""
delegate: NullableUserFilter
"""Filters that the last applied template must satisfy."""
lastAppliedTemplate: NullableTemplateFilter
"""[ALPHA] Filters that the recurring issue template must satisfy."""
recurringIssueTemplate: NullableTemplateFilter
"""Filters that the source must satisfy."""
sourceMetadata: SourceMetadataComparator
"""Filters that the issues creator must satisfy."""
creator: NullableUserFilter
"""Filters that the issue parent must satisfy."""
parent: NullableIssueFilter
"""Filters that the issues snoozer must satisfy."""
snoozedBy: NullableUserFilter
"""Filters that issue labels must satisfy."""
labels: IssueLabelCollectionFilter
"""Filters that issue subscribers must satisfy."""
subscribers: UserCollectionFilter
"""
Comparator for filtering issues which have been shared with users outside of the team.
"""
hasSharedUsers: RelationExistsComparator
"""Filters that users the issue has been shared with must satisfy."""
sharedWith: UserCollectionFilter
"""Filters that the issues team must satisfy."""
team: TeamFilter
"""Filters that the issues project milestone must satisfy."""
projectMilestone: NullableProjectMilestoneFilter
"""Filters that the issues comments must satisfy."""
comments: CommentCollectionFilter
"""Filters that the issue's activities must satisfy."""
activity: ActivityCollectionFilter
"""[Internal] Filters that the issue's suggestions must satisfy."""
suggestions: IssueSuggestionCollectionFilter
"""Filters that the issues cycle must satisfy."""
cycle: NullableCycleFilter
"""Filters that the issues project must satisfy."""
project: NullableProjectFilter
"""Filters that the issues state must satisfy."""
state: WorkflowStateFilter
"""Filters that the child issues must satisfy."""
children: IssueCollectionFilter
"""Filters that the issues attachments must satisfy."""
attachments: AttachmentCollectionFilter
"""[Internal] Comparator for the issues content."""
searchableContent: ContentComparator
"""Comparator for filtering issues with relations."""
hasRelatedRelations: RelationExistsComparator
"""Comparator for filtering issues which are duplicates."""
hasDuplicateRelations: RelationExistsComparator
"""Comparator for filtering issues which are blocked."""
hasBlockedByRelations: RelationExistsComparator
"""Comparator for filtering issues which are blocking."""
hasBlockingRelations: 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 assignees.
"""
hasSuggestedAssignees: RelationExistsComparator
"""
[Internal] Comparator for filtering issues which have suggested projects.
"""
hasSuggestedProjects: RelationExistsComparator
"""
[Internal] Comparator for filtering issues which have suggested labels.
"""
hasSuggestedLabels: RelationExistsComparator
"""[Internal] Comparator for filtering issues which have suggested teams."""
hasSuggestedTeams: RelationExistsComparator
"""Comparator for the issues sla status."""
slaStatus: SlaStatusComparator
"""Filters that the issues reactions must satisfy."""
reactions: ReactionCollectionFilter
"""Filters that the issue's customer needs must satisfy."""
needs: CustomerNeedCollectionFilter
"""[ALPHA] Filters that the issue's releases must satisfy."""
releases: ReleaseCollectionFilter
"""Count of customers"""
customerCount: NumberComparator
"""Count of important customers"""
customerImportantCount: NumberComparator
"""[Internal] Lead time (created -> completed) comparator."""
leadTime: NullableDurationComparator
"""[Internal] Cycle time (started -> completed) comparator."""
cycleTime: NullableDurationComparator
"""
[Internal] Age (created -> now) comparator, defined if the issue is still open.
"""
ageTime: NullableDurationComparator
"""[Internal] Triage time (entered triaged -> triaged) comparator."""
triageTime: NullableDurationComparator
"""Filter based on the existence of the relation."""
null: Boolean
"""Compound filters, all of which need to be matched by the issue."""
and: [NullableIssueFilter!]
"""Compound filters, one of which need to be matched by the issue."""
or: [NullableIssueFilter!]
}
"""Issue label filtering options."""
input IssueLabelCollectionFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the name."""
name: StringComparator
"""Comparator for whether the label is a group label."""
isGroup: BooleanComparator
"""Filters that the issue labels creator must satisfy."""
creator: NullableUserFilter
"""Filters that the issue labels team must satisfy."""
team: NullableTeamFilter
"""Filters that the issue label's parent label must satisfy."""
parent: IssueLabelFilter
"""Filter based on the existence of the relation."""
null: Boolean
"""Compound filters, all of which need to be matched by the label."""
and: [IssueLabelCollectionFilter!]
"""Compound filters, one of which need to be matched by the label."""
or: [IssueLabelCollectionFilter!]
"""Filters that needs to be matched by some issue labels."""
some: IssueLabelFilter
"""Filters that needs to be matched by all issue labels."""
every: IssueLabelFilter
"""Comparator for the collection length."""
length: NumberComparator
}
"""Team filtering options."""
input NullableTeamFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the team name."""
name: StringComparator
"""Comparator for the team key."""
key: StringComparator
"""Comparator for the team description."""
description: NullableStringComparator
"""Comparator for the team privacy."""
private: BooleanComparator
"""Comparator for the time at which the team was retired."""
retiredAt: NullableDateComparator
"""Filters that the teams issues must satisfy."""
issues: IssueCollectionFilter
"""Filters that the teams parent must satisfy."""
parent: NullableTeamFilter
"""Filters that the team's ancestors must satisfy."""
ancestors: TeamCollectionFilter
"""Filter based on the existence of the relation."""
null: Boolean
"""Compound filters, all of which need to be matched by the team."""
and: [NullableTeamFilter!]
"""Compound filters, one of which need to be matched by the team."""
or: [NullableTeamFilter!]
}
"""Team collection filtering options."""
input TeamCollectionFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Compound filters, all of which need to be matched by the team."""
and: [TeamCollectionFilter!]
"""Compound filters, one of which need to be matched by the team."""
or: [TeamCollectionFilter!]
"""Filters that needs to be matched by some teams."""
some: TeamFilter
"""Filters that needs to be matched by all teams."""
every: TeamFilter
"""Comparator for the collection length."""
length: NumberComparator
"""Filters that the teams parent must satisfy."""
parent: NullableTeamFilter
"""Filters that the team's ancestors must satisfy."""
ancestors: TeamCollectionFilter
}
"""Team filtering options."""
input TeamFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the team name."""
name: StringComparator
"""Comparator for the team key."""
key: StringComparator
"""Comparator for the team description."""
description: NullableStringComparator
"""Comparator for the team privacy."""
private: BooleanComparator
"""Comparator for the time at which the team was retired."""
retiredAt: NullableDateComparator
"""Filters that the teams issues must satisfy."""
issues: IssueCollectionFilter
"""Filters that the teams parent must satisfy."""
parent: NullableTeamFilter
"""Filters that the team's ancestors must satisfy."""
ancestors: TeamCollectionFilter
"""Compound filters, all of which need to be matched by the team."""
and: [TeamFilter!]
"""Compound filters, one of which need to be matched by the team."""
or: [TeamFilter!]
}
"""Issue label filtering options."""
input IssueLabelFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the name."""
name: StringComparator
"""Comparator for whether the label is a group label."""
isGroup: BooleanComparator
"""Filters that the issue labels creator must satisfy."""
creator: NullableUserFilter
"""Filters that the issue labels team must satisfy."""
team: NullableTeamFilter
"""Filters that the issue label's parent label must satisfy."""
parent: IssueLabelFilter
"""Compound filters, all of which need to be matched by the label."""
and: [IssueLabelFilter!]
"""Compound filters, one of which need to be matched by the label."""
or: [IssueLabelFilter!]
}
"""User filtering options."""
input UserCollectionFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the user's name."""
name: StringComparator
"""Comparator for the user's display name."""
displayName: StringComparator
"""Comparator for the user's email."""
email: StringComparator
"""Comparator for the user's activity status."""
active: BooleanComparator
"""Filters that the users assigned issues must satisfy."""
assignedIssues: IssueCollectionFilter
"""Comparator for the user's admin status."""
admin: BooleanComparator
"""Comparator for the user's owner status."""
owner: BooleanComparator
"""Comparator for the user's invited status."""
invited: BooleanComparator
"""Comparator for the user's invited status."""
isInvited: BooleanComparator
"""Comparator for the user's app status."""
app: BooleanComparator
"""
Filter based on the currently authenticated user. Set to true to filter for the authenticated user, false for any other user.
"""
isMe: BooleanComparator
"""Compound filters, all of which need to be matched by the user."""
and: [UserCollectionFilter!]
"""Compound filters, one of which need to be matched by the user."""
or: [UserCollectionFilter!]
"""Filters that needs to be matched by some users."""
some: UserFilter
"""Filters that needs to be matched by all users."""
every: UserFilter
"""Comparator for the collection length."""
length: NumberComparator
}
"""User filtering options."""
input UserFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the user's name."""
name: StringComparator
"""Comparator for the user's display name."""
displayName: StringComparator
"""Comparator for the user's email."""
email: StringComparator
"""Comparator for the user's activity status."""
active: BooleanComparator
"""Filters that the users assigned issues must satisfy."""
assignedIssues: IssueCollectionFilter
"""Comparator for the user's admin status."""
admin: BooleanComparator
"""Comparator for the user's owner status."""
owner: BooleanComparator
"""Comparator for the user's invited status."""
invited: BooleanComparator
"""Comparator for the user's invited status."""
isInvited: BooleanComparator
"""Comparator for the user's app status."""
app: BooleanComparator
"""
Filter based on the currently authenticated user. Set to true to filter for the authenticated user, false for any other user.
"""
isMe: BooleanComparator
"""Compound filters, all of which need to be matched by the user."""
and: [UserFilter!]
"""Compound filters, one of which need to be matched by the user."""
or: [UserFilter!]
}
"""Comparator for relation existence."""
input RelationExistsComparator {
"""Equals constraint."""
eq: Boolean
"""Not equals constraint."""
neq: Boolean
}
"""Project milestone filtering options."""
input NullableProjectMilestoneFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the project milestone name."""
name: NullableStringComparator
"""Comparator for the project milestone target date."""
targetDate: NullableDateComparator
"""Filters that the project milestone's project must satisfy."""
project: NullableProjectFilter
"""Filter based on the existence of the relation."""
null: Boolean
"""
Compound filters, all of which need to be matched by the project milestone.
"""
and: [NullableProjectMilestoneFilter!]
"""
Compound filters, one of which need to be matched by the project milestone.
"""
or: [NullableProjectMilestoneFilter!]
}
"""Project filtering options."""
input NullableProjectFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the project name."""
name: StringComparator
"""Comparator for the project slug ID."""
slugId: StringComparator
"""[DEPRECATED] Comparator for the project state."""
state: StringComparator
"""Filters that the project's status must satisfy."""
status: ProjectStatusFilter
"""Comparator for the projects priority."""
priority: NullableNumberComparator
"""Filters that project labels must satisfy."""
labels: ProjectLabelCollectionFilter
"""[Internal] Comparator for the project's content."""
searchableContent: ContentComparator
"""
Comparator for the project started date (when it was moved to an "In Progress" status).
"""
startedAt: NullableDateComparator
"""Comparator for the project completion date."""
completedAt: NullableDateComparator
"""Comparator for the project cancelation date."""
canceledAt: NullableDateComparator
"""Comparator for the project start date."""
startDate: NullableDateComparator
"""Comparator for the project target date."""
targetDate: NullableDateComparator
"""Comparator for the project health: onTrack, atRisk, offTrack"""
health: StringComparator
"""
Comparator for the project health (with age): onTrack, atRisk, offTrack, outdated, noUpdate
"""
healthWithAge: StringComparator
"""
[ALPHA] Comparator for the project activity type: buzzin, active, some, none
"""
activityType: StringComparator
"""Comparator for filtering projects with relations."""
hasRelatedRelations: 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 which are blocked."""
hasBlockedByRelations: RelationExistsComparator
"""Comparator for filtering projects which are blocking."""
hasBlockingRelations: RelationExistsComparator
"""Comparator for filtering projects with violated dependencies."""
hasViolatedRelations: RelationExistsComparator
"""Comparator for the project updates."""
projectUpdates: ProjectUpdatesCollectionFilter
"""Filters that the projects creator must satisfy."""
creator: UserFilter
"""Filters that the projects lead must satisfy."""
lead: NullableUserFilter
"""Filters that the projects members must satisfy."""
members: UserCollectionFilter
"""Filters that the projects issues must satisfy."""
issues: IssueCollectionFilter
"""Filters that the projects roadmaps must satisfy."""
roadmaps: RoadmapCollectionFilter
"""Filters that the projects initiatives must satisfy."""
initiatives: InitiativeCollectionFilter
"""Filters that the project's milestones must satisfy."""
projectMilestones: ProjectMilestoneCollectionFilter
"""Filters that the project's completed milestones must satisfy."""
completedProjectMilestones: ProjectMilestoneCollectionFilter
"""Filters that the project's next milestone must satisfy."""
nextProjectMilestone: ProjectMilestoneFilter
"""Filters that the project's team must satisfy."""
accessibleTeams: TeamCollectionFilter
"""Filters that the last applied template must satisfy."""
lastAppliedTemplate: NullableTemplateFilter
"""Filters that the project's customer needs must satisfy."""
needs: CustomerNeedCollectionFilter
"""Count of customers"""
customerCount: NumberComparator
"""Count of important customers"""
customerImportantCount: NumberComparator
"""Filter based on the existence of the relation."""
null: Boolean
"""Compound filters, all of which need to be matched by the project."""
and: [NullableProjectFilter!]
"""Compound filters, one of which need to be matched by the project."""
or: [NullableProjectFilter!]
}
"""Project status filtering options."""
input ProjectStatusFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the project status name."""
name: StringComparator
"""Comparator for the project status description."""
description: StringComparator
"""Comparator for the project status position."""
position: NumberComparator
"""Comparator for the project status type."""
type: StringComparator
"""Filters that the project status projects must satisfy."""
projects: ProjectCollectionFilter
"""
Compound filters, all of which need to be matched by the project status.
"""
and: [ProjectStatusFilter!]
"""
Compound filters, one of which needs to be matched by the project status.
"""
or: [ProjectStatusFilter!]
}
"""Project filtering options."""
input ProjectCollectionFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the project name."""
name: StringComparator
"""Comparator for the project slug ID."""
slugId: StringComparator
"""[DEPRECATED] Comparator for the project state."""
state: StringComparator
"""Filters that the project's status must satisfy."""
status: ProjectStatusFilter
"""Comparator for the projects priority."""
priority: NullableNumberComparator
"""Filters that project labels must satisfy."""
labels: ProjectLabelCollectionFilter
"""[Internal] Comparator for the project's content."""
searchableContent: ContentComparator
"""
Comparator for the project started date (when it was moved to an "In Progress" status).
"""
startedAt: NullableDateComparator
"""Comparator for the project completion date."""
completedAt: NullableDateComparator
"""Comparator for the project cancelation date."""
canceledAt: NullableDateComparator
"""Comparator for the project start date."""
startDate: NullableDateComparator
"""Comparator for the project target date."""
targetDate: NullableDateComparator
"""Comparator for the project health: onTrack, atRisk, offTrack"""
health: StringComparator
"""
Comparator for the project health (with age): onTrack, atRisk, offTrack, outdated, noUpdate
"""
healthWithAge: StringComparator
"""
[ALPHA] Comparator for the project activity type: buzzin, active, some, none
"""
activityType: StringComparator
"""Comparator for filtering projects with relations."""
hasRelatedRelations: 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 which are blocked."""
hasBlockedByRelations: RelationExistsComparator
"""Comparator for filtering projects which are blocking."""
hasBlockingRelations: RelationExistsComparator
"""Comparator for filtering projects with violated dependencies."""
hasViolatedRelations: RelationExistsComparator
"""Comparator for the project updates."""
projectUpdates: ProjectUpdatesCollectionFilter
"""Filters that the projects creator must satisfy."""
creator: UserFilter
"""Filters that the projects lead must satisfy."""
lead: NullableUserFilter
"""Filters that the projects members must satisfy."""
members: UserCollectionFilter
"""Filters that the projects issues must satisfy."""
issues: IssueCollectionFilter
"""Filters that the projects roadmaps must satisfy."""
roadmaps: RoadmapCollectionFilter
"""Filters that the projects initiatives must satisfy."""
initiatives: InitiativeCollectionFilter
"""Filters that the project's milestones must satisfy."""
projectMilestones: ProjectMilestoneCollectionFilter
"""Filters that the project's completed milestones must satisfy."""
completedProjectMilestones: ProjectMilestoneCollectionFilter
"""Filters that the project's next milestone must satisfy."""
nextProjectMilestone: ProjectMilestoneFilter
"""Filters that the project's team must satisfy."""
accessibleTeams: TeamCollectionFilter
"""Filters that the last applied template must satisfy."""
lastAppliedTemplate: NullableTemplateFilter
"""Filters that the project's customer needs must satisfy."""
needs: CustomerNeedCollectionFilter
"""Count of customers"""
customerCount: NumberComparator
"""Count of important customers"""
customerImportantCount: NumberComparator
"""Compound filters, all of which need to be matched by the project."""
and: [ProjectCollectionFilter!]
"""Compound filters, one of which need to be matched by the project."""
or: [ProjectCollectionFilter!]
"""Filters that needs to be matched by some projects."""
some: ProjectFilter
"""Filters that needs to be matched by all projects."""
every: ProjectFilter
"""Comparator for the collection length."""
length: NumberComparator
}
"""Project label filtering options."""
input ProjectLabelCollectionFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the name."""
name: StringComparator
"""Comparator for whether the label is a group label."""
isGroup: BooleanComparator
"""Filters that the project labels creator must satisfy."""
creator: NullableUserFilter
"""Filters that the project label's parent label must satisfy."""
parent: ProjectLabelFilter
"""Filter based on the existence of the relation."""
null: Boolean
"""Compound filters, all of which need to be matched by the label."""
and: [ProjectLabelCollectionFilter!]
"""Compound filters, one of which need to be matched by the label."""
or: [ProjectLabelCollectionFilter!]
"""Filters that needs to be matched by some project labels."""
some: ProjectLabelCollectionFilter
"""Filters that needs to be matched by all project labels."""
every: ProjectLabelFilter
"""Comparator for the collection length."""
length: NumberComparator
}
"""Project label filtering options."""
input ProjectLabelFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the name."""
name: StringComparator
"""Comparator for whether the label is a group label."""
isGroup: BooleanComparator
"""Filters that the project labels creator must satisfy."""
creator: NullableUserFilter
"""Filters that the project label's parent label must satisfy."""
parent: ProjectLabelFilter
"""Compound filters, all of which need to be matched by the label."""
and: [ProjectLabelFilter!]
"""Compound filters, one of which need to be matched by the label."""
or: [ProjectLabelFilter!]
}
"""[Internal] Comparator for content."""
input ContentComparator {
"""[Internal] Contains constraint."""
contains: String
"""[Internal] Not-contains constraint."""
notContains: String
}
"""
Collection filtering options for filtering projects by project updates.
"""
input ProjectUpdatesCollectionFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the project update health."""
health: StringComparator
"""
Compound filters, all of which need to be matched by the project update.
"""
and: [ProjectUpdatesCollectionFilter!]
"""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
"""Filters that needs to be matched by all updates."""
every: ProjectUpdatesFilter
"""Comparator for the collection length."""
length: NumberComparator
}
"""Options for filtering projects by project updates."""
input ProjectUpdatesFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the project update health."""
health: StringComparator
"""
Compound filters, all of which need to be matched by the project updates.
"""
and: [ProjectUpdatesFilter!]
"""
Compound filters, one of which need to be matched by the project updates.
"""
or: [ProjectUpdatesFilter!]
}
"""Roadmap collection filtering options."""
input RoadmapCollectionFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the roadmap name."""
name: StringComparator
"""Comparator for the roadmap slug ID."""
slugId: StringComparator
"""Filters that the roadmap creator must satisfy."""
creator: UserFilter
"""Compound filters, all of which need to be matched by the roadmap."""
and: [RoadmapCollectionFilter!]
"""Compound filters, one of which need to be matched by the roadmap."""
or: [RoadmapCollectionFilter!]
"""Filters that needs to be matched by some roadmaps."""
some: RoadmapFilter
"""Filters that needs to be matched by all roadmaps."""
every: RoadmapFilter
"""Comparator for the collection length."""
length: NumberComparator
}
"""Roadmap filtering options."""
input RoadmapFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the roadmap name."""
name: StringComparator
"""Comparator for the roadmap slug ID."""
slugId: StringComparator
"""Filters that the roadmap creator must satisfy."""
creator: UserFilter
"""Compound filters, all of which need to be matched by the roadmap."""
and: [RoadmapFilter!]
"""Compound filters, one of which need to be matched by the roadmap."""
or: [RoadmapFilter!]
}
"""Initiative collection filtering options."""
input InitiativeCollectionFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the initiative name."""
name: StringComparator
"""Comparator for the initiative slug ID."""
slugId: StringComparator
"""Filters that the initiative creator must satisfy."""
creator: NullableUserFilter
"""Comparator for the initiative status: Planned, Active, Completed"""
status: StringComparator
"""Filters that the initiative teams must satisfy."""
teams: TeamCollectionFilter
"""Filters that the initiative owner must satisfy."""
owner: NullableUserFilter
"""Comparator for the initiative target date."""
targetDate: NullableDateComparator
"""Comparator for the initiative started at date."""
startedAt: NullableDateComparator
"""Comparator for the initiative completed at date."""
completedAt: NullableDateComparator
"""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 initiative activity type."""
activityType: StringComparator
"""Filters that the initiative must be an ancestor of."""
ancestors: InitiativeCollectionFilter
"""Filters that the initiative updates must satisfy."""
initiativeUpdates: InitiativeUpdatesCollectionFilter
"""Compound filters, all of which need to be matched by the initiative."""
and: [InitiativeCollectionFilter!]
"""Compound filters, one of which need to be matched by the initiative."""
or: [InitiativeCollectionFilter!]
"""Filters that needs to be matched by some initiatives."""
some: InitiativeFilter
"""Filters that needs to be matched by all initiatives."""
every: InitiativeFilter
"""Comparator for the collection length."""
length: NumberComparator
}
"""
Collection filtering options for filtering initiatives by initiative updates.
"""
input InitiativeUpdatesCollectionFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""
Compound filters, all of which need to be matched by the initiative update.
"""
and: [InitiativeUpdatesCollectionFilter!]
"""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
"""Filters that needs to be matched by all initiative updates."""
every: InitiativeUpdatesFilter
"""Comparator for the collection length."""
length: NumberComparator
}
"""Options for filtering initiatives by initiative updates."""
input InitiativeUpdatesFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""
Compound filters, all of which need to be matched by the initiative updates.
"""
and: [InitiativeUpdatesFilter!]
"""
Compound filters, one of which need to be matched by the initiative updates.
"""
or: [InitiativeUpdatesFilter!]
}
"""Initiative filtering options."""
input InitiativeFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the initiative name."""
name: StringComparator
"""Comparator for the initiative slug ID."""
slugId: StringComparator
"""Filters that the initiative creator must satisfy."""
creator: NullableUserFilter
"""Comparator for the initiative status: Planned, Active, Completed"""
status: StringComparator
"""Filters that the initiative teams must satisfy."""
teams: TeamCollectionFilter
"""Filters that the initiative owner must satisfy."""
owner: NullableUserFilter
"""Comparator for the initiative target date."""
targetDate: NullableDateComparator
"""Comparator for the initiative started at date."""
startedAt: NullableDateComparator
"""Comparator for the initiative completed at date."""
completedAt: NullableDateComparator
"""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 initiative activity type."""
activityType: StringComparator
"""Filters that the initiative must be an ancestor of."""
ancestors: InitiativeCollectionFilter
"""Filters that the initiative updates must satisfy."""
initiativeUpdates: InitiativeUpdatesCollectionFilter
"""Compound filters, all of which need to be matched by the initiative."""
and: [InitiativeFilter!]
"""Compound filters, one of which need to be matched by the initiative."""
or: [InitiativeFilter!]
}
"""Milestone collection filtering options."""
input ProjectMilestoneCollectionFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the project milestone name."""
name: NullableStringComparator
"""Comparator for the project milestone target date."""
targetDate: NullableDateComparator
"""Filters that the project milestone's project must satisfy."""
project: NullableProjectFilter
"""Compound filters, all of which need to be matched by the milestone."""
and: [ProjectMilestoneCollectionFilter!]
"""Compound filters, one of which need to be matched by the milestone."""
or: [ProjectMilestoneCollectionFilter!]
"""Filters that needs to be matched by some milestones."""
some: ProjectMilestoneFilter
"""Filters that needs to be matched by all milestones."""
every: ProjectMilestoneFilter
"""Comparator for the collection length."""
length: NumberComparator
}
"""Project milestone filtering options."""
input ProjectMilestoneFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the project milestone name."""
name: NullableStringComparator
"""Comparator for the project milestone target date."""
targetDate: NullableDateComparator
"""Filters that the project milestone's project must satisfy."""
project: NullableProjectFilter
"""
Compound filters, all of which need to be matched by the project milestone.
"""
and: [ProjectMilestoneFilter!]
"""
Compound filters, one of which need to be matched by the project milestone.
"""
or: [ProjectMilestoneFilter!]
}
"""Customer needs filtering options."""
input CustomerNeedCollectionFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the customer need priority."""
priority: NumberComparator
"""Filters that the need's project must satisfy."""
project: NullableProjectFilter
"""Filters that the need's issue must satisfy."""
issue: NullableIssueFilter
"""Filters that the need's comment must satisfy."""
comment: NullableCommentFilter
"""Filters that the need's customer must satisfy."""
customer: NullableCustomerFilter
"""
Compound filters, all of which need to be matched by the customer needs.
"""
and: [CustomerNeedCollectionFilter!]
"""
Compound filters, one of which need to be matched by the customer needs.
"""
or: [CustomerNeedCollectionFilter!]
"""Filters that needs to be matched by some customer needs."""
some: CustomerNeedFilter
"""Filters that needs to be matched by all customer needs."""
every: CustomerNeedFilter
"""Comparator for the collection length."""
length: NumberComparator
}
"""Comment filtering options."""
input NullableCommentFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the comment's body."""
body: StringComparator
"""Filters that the comment's creator must satisfy."""
user: UserFilter
"""Filters that the comment's issue must satisfy."""
issue: NullableIssueFilter
"""Filters that the comment's project update must satisfy."""
projectUpdate: NullableProjectUpdateFilter
"""Filters that the comment parent must satisfy."""
parent: NullableCommentFilter
"""Filters that the comment's document content must satisfy."""
documentContent: NullableDocumentContentFilter
"""[Internal] Filters that the comment's project must satisfy."""
project: NullableProjectFilter
"""[Internal] Filters that the comment's initiative must satisfy."""
initiative: NullableInitiativeFilter
"""Filters that the comment's reactions must satisfy."""
reactions: ReactionCollectionFilter
"""Filters that the comment's customer needs must satisfy."""
needs: CustomerNeedCollectionFilter
"""Filter based on the existence of the relation."""
null: Boolean
"""Compound filters, all of which need to be matched by the comment."""
and: [NullableCommentFilter!]
"""Compound filters, one of which need to be matched by the comment."""
or: [NullableCommentFilter!]
}
"""Nullable project update filtering options."""
input NullableProjectUpdateFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Filters that the project update creator must satisfy."""
user: UserFilter
"""Filters that the project update project must satisfy."""
project: ProjectFilter
"""Filters that the project updates reactions must satisfy."""
reactions: ReactionCollectionFilter
"""Filter based on the existence of the relation."""
null: Boolean
"""
Compound filters, all of which need to be matched by the project update.
"""
and: [NullableProjectUpdateFilter!]
"""
Compound filters, one of which need to be matched by the project update.
"""
or: [NullableProjectUpdateFilter!]
}
"""Project filtering options."""
input ProjectFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the project name."""
name: StringComparator
"""Comparator for the project slug ID."""
slugId: StringComparator
"""[DEPRECATED] Comparator for the project state."""
state: StringComparator
"""Filters that the project's status must satisfy."""
status: ProjectStatusFilter
"""Comparator for the projects priority."""
priority: NullableNumberComparator
"""Filters that project labels must satisfy."""
labels: ProjectLabelCollectionFilter
"""[Internal] Comparator for the project's content."""
searchableContent: ContentComparator
"""
Comparator for the project started date (when it was moved to an "In Progress" status).
"""
startedAt: NullableDateComparator
"""Comparator for the project completion date."""
completedAt: NullableDateComparator
"""Comparator for the project cancelation date."""
canceledAt: NullableDateComparator
"""Comparator for the project start date."""
startDate: NullableDateComparator
"""Comparator for the project target date."""
targetDate: NullableDateComparator
"""Comparator for the project health: onTrack, atRisk, offTrack"""
health: StringComparator
"""
Comparator for the project health (with age): onTrack, atRisk, offTrack, outdated, noUpdate
"""
healthWithAge: StringComparator
"""
[ALPHA] Comparator for the project activity type: buzzin, active, some, none
"""
activityType: StringComparator
"""Comparator for filtering projects with relations."""
hasRelatedRelations: 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 which are blocked."""
hasBlockedByRelations: RelationExistsComparator
"""Comparator for filtering projects which are blocking."""
hasBlockingRelations: RelationExistsComparator
"""Comparator for filtering projects with violated dependencies."""
hasViolatedRelations: RelationExistsComparator
"""Comparator for the project updates."""
projectUpdates: ProjectUpdatesCollectionFilter
"""Filters that the projects creator must satisfy."""
creator: UserFilter
"""Filters that the projects lead must satisfy."""
lead: NullableUserFilter
"""Filters that the projects members must satisfy."""
members: UserCollectionFilter
"""Filters that the projects issues must satisfy."""
issues: IssueCollectionFilter
"""Filters that the projects roadmaps must satisfy."""
roadmaps: RoadmapCollectionFilter
"""Filters that the projects initiatives must satisfy."""
initiatives: InitiativeCollectionFilter
"""Filters that the project's milestones must satisfy."""
projectMilestones: ProjectMilestoneCollectionFilter
"""Filters that the project's completed milestones must satisfy."""
completedProjectMilestones: ProjectMilestoneCollectionFilter
"""Filters that the project's next milestone must satisfy."""
nextProjectMilestone: ProjectMilestoneFilter
"""Filters that the project's team must satisfy."""
accessibleTeams: TeamCollectionFilter
"""Filters that the last applied template must satisfy."""
lastAppliedTemplate: NullableTemplateFilter
"""Filters that the project's customer needs must satisfy."""
needs: CustomerNeedCollectionFilter
"""Count of customers"""
customerCount: NumberComparator
"""Count of important customers"""
customerImportantCount: NumberComparator
"""Compound filters, all of which need to be matched by the project."""
and: [ProjectFilter!]
"""Compound filters, one of which need to be matched by the project."""
or: [ProjectFilter!]
}
"""Reaction filtering options."""
input ReactionCollectionFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the reactions emoji."""
emoji: StringComparator
"""Comparator for the reactions custom emoji."""
customEmojiId: IDComparator
"""Compound filters, all of which need to be matched by the reaction."""
and: [ReactionCollectionFilter!]
"""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
"""Filters that needs to be matched by all reactions."""
every: ReactionFilter
"""Comparator for the collection length."""
length: NumberComparator
}
"""Reaction filtering options."""
input ReactionFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the reactions emoji."""
emoji: StringComparator
"""Comparator for the reactions custom emoji."""
customEmojiId: IDComparator
"""Compound filters, all of which need to be matched by the reaction."""
and: [ReactionFilter!]
"""Compound filters, one of which need to be matched by the reaction."""
or: [ReactionFilter!]
}
"""Document content filtering options."""
input NullableDocumentContentFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the document content."""
content: NullableStringComparator
"""Filters that the document content project must satisfy."""
project: ProjectFilter
"""Filters that the document content document must satisfy."""
document: DocumentFilter
"""Filter based on the existence of the relation."""
null: Boolean
"""Compound filters, all of which need to be matched by the user."""
and: [NullableDocumentContentFilter!]
"""Compound filters, one of which need to be matched by the user."""
or: [NullableDocumentContentFilter!]
}
"""Document filtering options."""
input DocumentFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the document title."""
title: StringComparator
"""Comparator for the document slug ID."""
slugId: StringComparator
"""Filters that the document's creator must satisfy."""
creator: UserFilter
"""Filters that the document's project must satisfy."""
project: ProjectFilter
"""Filters that the document's issue must satisfy."""
issue: IssueFilter
"""Filters that the document's initiative must satisfy."""
initiative: InitiativeFilter
"""Filters that the document's cycle must satisfy."""
cycle: CycleFilter
"""Filters that the document's release must satisfy."""
release: ReleaseFilter
"""Compound filters, all of which need to be matched by the document."""
and: [DocumentFilter!]
"""Compound filters, one of which need to be matched by the document."""
or: [DocumentFilter!]
}
"""Cycle filtering options."""
input CycleFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the cycle number."""
number: NumberComparator
"""Comparator for the cycle name."""
name: StringComparator
"""Comparator for the cycle start date."""
startsAt: DateComparator
"""Comparator for the cycle ends at date."""
endsAt: DateComparator
"""Comparator for the cycle completed at date."""
completedAt: DateComparator
"""Comparator for the filtering active cycle."""
isActive: 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 previous cycle."""
isPrevious: BooleanComparator
"""Comparator for the filtering future cycles."""
isFuture: BooleanComparator
"""Comparator for the filtering past cycles."""
isPast: BooleanComparator
"""Filters that the cycles team must satisfy."""
team: TeamFilter
"""Filters that the cycles issues must satisfy."""
issues: IssueCollectionFilter
"""Comparator for the inherited cycle ID."""
inheritedFromId: IDComparator
"""Compound filters, all of which need to be matched by the cycle."""
and: [CycleFilter!]
"""Compound filters, one of which need to be matched by the cycle."""
or: [CycleFilter!]
}
"""[ALPHA] Release filtering options."""
input ReleaseFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the release name."""
name: StringComparator
"""Comparator for the release version."""
version: StringComparator
"""Filters that the release's pipeline must satisfy."""
pipeline: ReleasePipelineFilter
"""Filters that the release's stage must satisfy."""
stage: ReleaseStageFilter
"""Compound filters, all of which need to be matched by the release."""
and: [ReleaseFilter!]
"""Compound filters, one of which need to be matched by the release."""
or: [ReleaseFilter!]
}
"""[ALPHA] Release pipeline filtering options."""
input ReleasePipelineFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the pipeline name."""
name: StringComparator
"""Compound filters, all of which need to be matched by the pipeline."""
and: [ReleasePipelineFilter!]
"""Compound filters, one of which need to be matched by the pipeline."""
or: [ReleasePipelineFilter!]
}
"""[ALPHA] Release stage filtering options."""
input ReleaseStageFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the stage type."""
type: ReleaseStageTypeComparator
"""Comparator for the stage name."""
name: StringComparator
"""Compound filters, all of which need to be matched by the stage."""
and: [ReleaseStageFilter!]
"""Compound filters, one of which need to be matched by the stage."""
or: [ReleaseStageFilter!]
}
"""[ALPHA] Comparator for release stage type."""
input ReleaseStageTypeComparator {
"""Equals constraint."""
eq: ReleaseStageType
"""Not-equals constraint."""
neq: ReleaseStageType
"""In-array constraint."""
in: [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
}
"""A type of release stage."""
enum ReleaseStageType {
planned
started
completed
canceled
}
"""Initiative filtering options."""
input NullableInitiativeFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the initiative name."""
name: StringComparator
"""Comparator for the initiative slug ID."""
slugId: StringComparator
"""Filters that the initiative creator must satisfy."""
creator: NullableUserFilter
"""Comparator for the initiative status: Planned, Active, Completed"""
status: StringComparator
"""Filters that the initiative teams must satisfy."""
teams: TeamCollectionFilter
"""Filters that the initiative owner must satisfy."""
owner: NullableUserFilter
"""Comparator for the initiative target date."""
targetDate: NullableDateComparator
"""Comparator for the initiative started at date."""
startedAt: NullableDateComparator
"""Comparator for the initiative completed at date."""
completedAt: NullableDateComparator
"""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 initiative activity type."""
activityType: StringComparator
"""Filters that the initiative must be an ancestor of."""
ancestors: InitiativeCollectionFilter
"""Filters that the initiative updates must satisfy."""
initiativeUpdates: InitiativeUpdatesCollectionFilter
"""Filter based on the existence of the relation."""
null: Boolean
"""Compound filters, all of which need to be matched by the initiative."""
and: [NullableInitiativeFilter!]
"""Compound filters, one of which need to be matched by the initiative."""
or: [NullableInitiativeFilter!]
}
"""Customer filtering options."""
input NullableCustomerFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the customer name."""
name: StringComparator
"""Comparator for the customer slack channel ID."""
slackChannelId: StringComparator
"""Comparator for the customer's domains."""
domains: StringArrayComparator
"""Comparator for the customer's external IDs."""
externalIds: StringArrayComparator
"""Filters that the customer owner must satisfy."""
owner: NullableUserFilter
"""Filters that the customer's needs must satisfy."""
needs: CustomerNeedCollectionFilter
"""Comparator for the customer generated revenue."""
revenue: NumberComparator
"""Comparator for the customer size."""
size: NumberComparator
"""Filters that the customer's status must satisfy."""
status: CustomerStatusFilter
"""Filters that the customer's tier must satisfy."""
tier: CustomerTierFilter
"""Filter based on the existence of the relation."""
null: Boolean
"""Compound filters, all of which need to be matched by the customer."""
and: [NullableCustomerFilter!]
"""Compound filters, one of which need to be matched by the customer."""
or: [NullableCustomerFilter!]
}
"""Comparator for strings."""
input StringArrayComparator {
"""Length of the array. Matches any values that have the given length."""
length: NumberComparator
"""Compound filters, all of which need to be matched."""
every: StringItemComparator
"""Compound filters, one of which needs to be matched."""
some: StringItemComparator
}
"""Comparator for strings in arrays."""
input StringItemComparator {
"""Equals constraint."""
eq: String
"""Not-equals constraint."""
neq: String
"""In-array constraint."""
in: [String!]
"""Not-in-array constraint."""
nin: [String!]
"""
Equals case insensitive. Matches any values that matches the given string case insensitive.
"""
eqIgnoreCase: String
"""
Not-equals case insensitive. Matches any values that don't match the given string case insensitive.
"""
neqIgnoreCase: 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
"""
Doesn't start with constraint. Matches any values that don't start with the given string.
"""
notStartsWith: String
"""
Ends with constraint. Matches any values that end with the given string.
"""
endsWith: String
"""
Doesn't end with constraint. Matches any values that don't end with the given string.
"""
notEndsWith: String
"""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
"""
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
"""
Contains case and accent insensitive constraint. Matches any values that contain the given string case and accent insensitive.
"""
containsIgnoreCaseAndAccent: String
}
"""Customer status filtering options."""
input CustomerStatusFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the customer status name."""
name: StringComparator
"""Comparator for the customer status description."""
description: StringComparator
"""Comparator for the customer status position."""
position: NumberComparator
"""Comparator for the customer status type."""
type: StringComparator
"""Comparator for the customer status color."""
color: StringComparator
"""
Compound filters, all of which need to be matched by the customer status.
"""
and: [CustomerStatusFilter!]
"""
Compound filters, one of which needs to be matched by the customer status.
"""
or: [CustomerStatusFilter!]
}
"""Customer tier filtering options."""
input CustomerTierFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the customer tier display name."""
displayName: StringComparator
"""Comparator for the customer tier description."""
description: StringComparator
"""Comparator for the customer tier position."""
position: NumberComparator
"""Comparator for the customer tier color."""
color: StringComparator
"""
Compound filters, all of which need to be matched by the customer tier.
"""
and: [CustomerTierFilter!]
"""
Compound filters, one of which needs to be matched by the customer tier.
"""
or: [CustomerTierFilter!]
}
"""Customer filtering options."""
input CustomerNeedFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the customer need priority."""
priority: NumberComparator
"""Filters that the need's project must satisfy."""
project: NullableProjectFilter
"""Filters that the need's issue must satisfy."""
issue: NullableIssueFilter
"""Filters that the need's comment must satisfy."""
comment: NullableCommentFilter
"""Filters that the need's customer must satisfy."""
customer: NullableCustomerFilter
"""
Compound filters, all of which need to be matched by the customer need.
"""
and: [CustomerNeedFilter!]
"""
Compound filters, one of which need to be matched by the customer need.
"""
or: [CustomerNeedFilter!]
}
"""Comment filtering options."""
input CommentCollectionFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the comment's body."""
body: StringComparator
"""Filters that the comment's creator must satisfy."""
user: UserFilter
"""Filters that the comment's issue must satisfy."""
issue: NullableIssueFilter
"""Filters that the comment's project update must satisfy."""
projectUpdate: NullableProjectUpdateFilter
"""Filters that the comment parent must satisfy."""
parent: NullableCommentFilter
"""Filters that the comment's document content must satisfy."""
documentContent: NullableDocumentContentFilter
"""[Internal] Filters that the comment's project must satisfy."""
project: NullableProjectFilter
"""[Internal] Filters that the comment's initiative must satisfy."""
initiative: NullableInitiativeFilter
"""Filters that the comment's reactions must satisfy."""
reactions: ReactionCollectionFilter
"""Filters that the comment's customer needs must satisfy."""
needs: CustomerNeedCollectionFilter
"""Compound filters, all of which need to be matched by the comment."""
and: [CommentCollectionFilter!]
"""Compound filters, one of which need to be matched by the comment."""
or: [CommentCollectionFilter!]
"""Filters that needs to be matched by some comments."""
some: CommentFilter
"""Filters that needs to be matched by all comments."""
every: CommentFilter
"""Comparator for the collection length."""
length: NumberComparator
}
"""Comment filtering options."""
input CommentFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the comment's body."""
body: StringComparator
"""Filters that the comment's creator must satisfy."""
user: UserFilter
"""Filters that the comment's issue must satisfy."""
issue: NullableIssueFilter
"""Filters that the comment's project update must satisfy."""
projectUpdate: NullableProjectUpdateFilter
"""Filters that the comment parent must satisfy."""
parent: NullableCommentFilter
"""Filters that the comment's document content must satisfy."""
documentContent: NullableDocumentContentFilter
"""[Internal] Filters that the comment's project must satisfy."""
project: NullableProjectFilter
"""[Internal] Filters that the comment's initiative must satisfy."""
initiative: NullableInitiativeFilter
"""Filters that the comment's reactions must satisfy."""
reactions: ReactionCollectionFilter
"""Filters that the comment's customer needs must satisfy."""
needs: CustomerNeedCollectionFilter
"""Compound filters, all of which need to be matched by the comment."""
and: [CommentFilter!]
"""Compound filters, one of which need to be matched by the comment."""
or: [CommentFilter!]
}
"""Activity collection filtering options."""
input ActivityCollectionFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Filters that the activity's user must satisfy."""
user: UserFilter
"""Compound filters, all of which need to be matched by the activity."""
and: [ActivityCollectionFilter!]
"""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
"""Filters that needs to be matched by all activities."""
every: ActivityFilter
"""Comparator for the collection length."""
length: NumberComparator
}
"""Activity filtering options."""
input ActivityFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Filters that the activity's user must satisfy."""
user: UserFilter
"""Compound filters, all of which need to be matched by the activity."""
and: [ActivityFilter!]
"""Compound filters, one of which need to be matched by the activity."""
or: [ActivityFilter!]
}
"""IssueSuggestion collection filtering options."""
input IssueSuggestionCollectionFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the suggestion type."""
type: StringComparator
"""Comparator for the suggestion state."""
state: StringComparator
"""Filters that the suggested user must satisfy."""
suggestedUser: NullableUserFilter
"""Filters that the suggested project must satisfy."""
suggestedProject: NullableProjectFilter
"""Filters that the suggested team must satisfy."""
suggestedTeam: NullableTeamFilter
"""Filters that the suggested label must satisfy."""
suggestedLabel: IssueLabelFilter
"""Compound filters, all of which need to be matched by the suggestion."""
and: [IssueSuggestionCollectionFilter!]
"""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
"""Filters that needs to be matched by all suggestions."""
every: IssueSuggestionFilter
"""Comparator for the collection length."""
length: NumberComparator
}
"""IssueSuggestion filtering options."""
input IssueSuggestionFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the suggestion type."""
type: StringComparator
"""Comparator for the suggestion state."""
state: StringComparator
"""Filters that the suggested user must satisfy."""
suggestedUser: NullableUserFilter
"""Filters that the suggested project must satisfy."""
suggestedProject: NullableProjectFilter
"""Filters that the suggested team must satisfy."""
suggestedTeam: NullableTeamFilter
"""Filters that the suggested label must satisfy."""
suggestedLabel: IssueLabelFilter
"""Compound filters, all of which need to be matched by the suggestion."""
and: [IssueSuggestionFilter!]
"""Compound filters, one of which need to be matched by the suggestion."""
or: [IssueSuggestionFilter!]
}
"""Cycle filtering options."""
input NullableCycleFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the cycle number."""
number: NumberComparator
"""Comparator for the cycle name."""
name: StringComparator
"""Comparator for the cycle start date."""
startsAt: DateComparator
"""Comparator for the cycle ends at date."""
endsAt: DateComparator
"""Comparator for the cycle completed at date."""
completedAt: DateComparator
"""Comparator for the filtering active cycle."""
isActive: 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 previous cycle."""
isPrevious: BooleanComparator
"""Comparator for the filtering future cycles."""
isFuture: BooleanComparator
"""Comparator for the filtering past cycles."""
isPast: BooleanComparator
"""Filters that the cycles team must satisfy."""
team: TeamFilter
"""Filters that the cycles issues must satisfy."""
issues: IssueCollectionFilter
"""Comparator for the inherited cycle ID."""
inheritedFromId: IDComparator
"""Filter based on the existence of the relation."""
null: Boolean
"""Compound filters, all of which need to be matched by the cycle."""
and: [NullableCycleFilter!]
"""Compound filters, one of which need to be matched by the cycle."""
or: [NullableCycleFilter!]
}
"""Workflow state filtering options."""
input WorkflowStateFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the workflow state name."""
name: StringComparator
"""Comparator for the workflow state description."""
description: StringComparator
"""Comparator for the workflow state position."""
position: NumberComparator
"""
Comparator for the workflow state type. Possible values are "triage", "backlog", "unstarted", "started", "completed", "canceled", "duplicate".
"""
type: StringComparator
"""Filters that the workflow states team must satisfy."""
team: TeamFilter
"""Filters that the workflow states issues must satisfy."""
issues: IssueCollectionFilter
"""
Compound filters, all of which need to be matched by the workflow state.
"""
and: [WorkflowStateFilter!]
"""
Compound filters, one of which need to be matched by the workflow state.
"""
or: [WorkflowStateFilter!]
}
"""Attachment collection filtering options."""
input AttachmentCollectionFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the title."""
title: StringComparator
"""Comparator for the subtitle."""
subtitle: NullableStringComparator
"""Comparator for the url."""
url: StringComparator
"""Filters that the attachments creator must satisfy."""
creator: NullableUserFilter
"""Comparator for the source type."""
sourceType: SourceTypeComparator
"""Compound filters, all of which need to be matched by the attachment."""
and: [AttachmentCollectionFilter!]
"""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
"""Filters that needs to be matched by all attachments."""
every: AttachmentFilter
"""Comparator for the collection length."""
length: NumberComparator
}
"""Comparator for `sourceType` field."""
input SourceTypeComparator {
"""Equals constraint."""
eq: String
"""Not-equals constraint."""
neq: String
"""In-array constraint."""
in: [String!]
"""Not-in-array constraint."""
nin: [String!]
"""
Equals case insensitive. Matches any values that matches the given string case insensitive.
"""
eqIgnoreCase: String
"""
Not-equals case insensitive. Matches any values that don't match the given string case insensitive.
"""
neqIgnoreCase: 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
"""
Doesn't start with constraint. Matches any values that don't start with the given string.
"""
notStartsWith: String
"""
Ends with constraint. Matches any values that end with the given string.
"""
endsWith: String
"""
Doesn't end with constraint. Matches any values that don't end with the given string.
"""
notEndsWith: String
"""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
"""
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
"""
Contains case and accent insensitive constraint. Matches any values that contain the given string case and accent insensitive.
"""
containsIgnoreCaseAndAccent: String
}
"""Attachment filtering options."""
input AttachmentFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the title."""
title: StringComparator
"""Comparator for the subtitle."""
subtitle: NullableStringComparator
"""Comparator for the url."""
url: StringComparator
"""Filters that the attachments creator must satisfy."""
creator: NullableUserFilter
"""Comparator for the source type."""
sourceType: SourceTypeComparator
"""Compound filters, all of which need to be matched by the attachment."""
and: [AttachmentFilter!]
"""Compound filters, one of which need to be matched by the attachment."""
or: [AttachmentFilter!]
}
"""Comparator for sla status."""
input SlaStatusComparator {
"""Equals constraint."""
eq: SlaStatus
"""Not-equals constraint."""
neq: SlaStatus
"""In-array constraint."""
in: [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
}
enum SlaStatus {
Breached
HighRisk
MediumRisk
LowRisk
Completed
Failed
}
"""[ALPHA] Release collection filtering options."""
input ReleaseCollectionFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the release name."""
name: StringComparator
"""Comparator for the release version."""
version: StringComparator
"""Filters that the release's pipeline must satisfy."""
pipeline: ReleasePipelineFilter
"""Filters that the release's stage must satisfy."""
stage: ReleaseStageFilter
"""Compound filters, all of which need to be matched by the release."""
and: [ReleaseCollectionFilter!]
"""Compound filters, one of which need to be matched by the release."""
or: [ReleaseCollectionFilter!]
"""Filters that needs to be matched by some releases."""
some: ReleaseFilter
"""Filters that needs to be matched by all releases."""
every: ReleaseFilter
"""Comparator for the collection length."""
length: NumberComparator
}
"""Nullable comparator for optional durations."""
input NullableDurationComparator {
"""Equals constraint."""
eq: Duration
"""Not-equals constraint."""
neq: Duration
"""In-array constraint."""
in: [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
"""
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
"""
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
}
"""
Represents a duration in ISO 8601 format. Accepts ISO 8601 duration strings or integers in milliseconds.
"""
scalar Duration
"""By which field should the pagination order by"""
enum PaginationOrderBy {
createdAt
updatedAt
}
type DocumentConnection {
edges: [DocumentEdge!]!
nodes: [Document!]!
pageInfo: PageInfo!
}
type DocumentEdge {
node: Document!
"""Used in `before` and `after` args"""
cursor: String!
}
"""A document that can be attached to different entities."""
type Document implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The document title."""
title: String!
"""
[Internal] A one-sentence AI-generated summary of the document content.
"""
summary: String
"""The icon of the document."""
icon: String
"""The color of the icon."""
color: String
"""The user who created the document."""
creator: User
"""The user who last updated the document."""
updatedBy: User
"""The project that the document is associated with."""
project: Project
"""The initiative that the document is associated with."""
initiative: Initiative
"""[Internal] The team that the document is associated with."""
team: Team
"""The issue that the document is associated with."""
issue: Issue
"""[Internal] The release that the document is associated with."""
release: Release
"""[Internal] The cycle that the document is associated with."""
cycle: Cycle
"""The document's unique URL slug."""
slugId: String!
"""The last template that was applied to this document."""
lastAppliedTemplate: Template
"""
The time at which the document was hidden. Null if the entity has not been hidden.
"""
hiddenAt: DateTime
"""A flag that indicates whether the document is in the trash bin."""
trashed: Boolean
"""The order of the item in the resources list."""
sortOrder: Float!
"""Comments associated with the document."""
comments(
"""Filter returned comments."""
filter: CommentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): CommentConnection!
"""The documents content in markdown format."""
content: String
"""[Internal] The documents content as YJS state."""
contentState: String
"""The ID of the document content associated with the document."""
documentContentId: String
"""The canonical url for the document."""
url: String!
}
"""A project."""
type Project implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""
The n-weekly frequency at which to prompt for updates. When not set, reminders are inherited from workspace.
"""
updateReminderFrequencyInWeeks: Float
"""
The frequency at which to prompt for updates. When not set, reminders are inherited from workspace.
"""
updateReminderFrequency: Float
"""The resolution of the reminder frequency."""
frequencyResolution: FrequencyResolutionType!
"""The day at which to prompt for updates."""
updateRemindersDay: Day
"""The hour at which to prompt for updates."""
updateRemindersHour: Float
"""The project's name."""
name: String!
"""The project's description."""
description: String!
"""The project's unique URL slug."""
slugId: String!
"""The icon of the project."""
icon: String
"""The project's color."""
color: String!
"""The status that the project is associated with."""
status: ProjectStatus!
"""The user who created the project."""
creator: User
"""The project lead."""
lead: User
"""[Internal] Facets associated with the project."""
facets: [Facet!]!
"""The time until which project update reminders are paused."""
projectUpdateRemindersPausedUntilAt: DateTime
"""The estimated start date of the project."""
startDate: TimelessDate
"""The resolution of the project's start date."""
startDateResolution: DateResolutionType
"""The estimated completion date of the project."""
targetDate: TimelessDate
"""The resolution of the project's estimated completion date."""
targetDateResolution: DateResolutionType
"""The time at which the project was moved into started state."""
startedAt: DateTime
"""The time at which the project was moved into completed state."""
completedAt: DateTime
"""The time at which the project was moved into canceled state."""
canceledAt: DateTime
"""
The time at which the project was automatically archived by the auto pruning process.
"""
autoArchivedAt: DateTime
"""A flag that indicates whether the project is in the trash bin."""
trashed: Boolean
"""The sort order for the project within the organization."""
sortOrder: Float!
"""
The sort order for the project within the organization, when ordered by priority.
"""
prioritySortOrder: Float!
"""The project was created based on this issue."""
convertedFromIssue: Issue
"""The last template that was applied to this project."""
lastAppliedTemplate: Template
"""
The priority of the project. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low.
"""
priority: Int!
"""The last project update posted for this project."""
lastUpdate: ProjectUpdate
"""The health of the project."""
health: ProjectUpdateHealthType
"""The time at which the project health was updated."""
healthUpdatedAt: DateTime
"""The total number of issues in the project after each week."""
issueCountHistory: [Float!]!
"""The number of completed issues in the project after each week."""
completedIssueCountHistory: [Float!]!
"""The total number of estimation points after each week."""
scopeHistory: [Float!]!
"""The number of completed estimation points after each week."""
completedScopeHistory: [Float!]!
"""The number of in progress estimation points after each week."""
inProgressScopeHistory: [Float!]!
"""[INTERNAL] The progress history of the project."""
progressHistory: JSONObject!
"""[INTERNAL] The current progress of the project."""
currentProgress: JSONObject!
"""Whether to send new issue notifications to Slack."""
slackNewIssue: Boolean! @deprecated(reason: "No longer in use")
"""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")
"""Id of the labels associated with this project."""
labelIds: [String!]!
"""The user's favorite associated with this project."""
favorite: Favorite
"""Project URL."""
url: String!
"""Initiatives that this project belongs to."""
initiatives(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): InitiativeConnection!
"""Associations of this project to parent initiatives."""
initiativeToProjects(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): InitiativeToProjectConnection!
"""Teams associated with this project."""
teams(
"""Filter returned teams."""
filter: TeamFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): TeamConnection!
"""Users that are members of the project."""
members(
"""Filter returned users."""
filter: UserFilter
"""Should query return disabled/suspended users (default: false)."""
includeDisabled: Boolean
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): UserConnection!
"""Project updates associated with the project."""
projectUpdates(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ProjectUpdateConnection!
"""Documents associated with the project."""
documents(
"""Filter returned documents."""
filter: DocumentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): DocumentConnection!
"""Milestones associated with the project."""
projectMilestones(
"""Filter returned milestones."""
filter: ProjectMilestoneFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ProjectMilestoneConnection!
"""Issues associated with the project."""
issues(
"""Filter returned issues."""
filter: IssueFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueConnection!
"""External links associated with the project."""
externalLinks(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): EntityExternalLinkConnection!
"""Attachments associated with the project."""
attachments(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ProjectAttachmentConnection!
"""History entries associated with the project."""
history(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ProjectHistoryConnection!
"""Labels associated with this project."""
labels(
"""Filter returned project labels."""
filter: ProjectLabelFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ProjectLabelConnection!
"""
The overall progress of the project. This is the (completed estimate points + 0.25 * in progress estimate points) / total estimate points.
"""
progress: Float!
"""The overall scope (total estimate points) of the project."""
scope: Float!
"""Settings for all integrations associated with that project."""
integrationsSettings: IntegrationsSettings
"""The project's content in markdown format."""
content: String
"""[Internal] The project's content as YJS state."""
contentState: String
"""The content of the project description."""
documentContent: DocumentContent
"""Comments associated with the project overview."""
comments(
"""Filter returned comments."""
filter: CommentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): CommentConnection!
"""Relations associated with this project."""
relations(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ProjectRelationConnection!
"""Inverse relations associated with this project."""
inverseRelations(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ProjectRelationConnection!
"""Customer needs associated with the project."""
needs(
"""Filter returned needs."""
filter: CustomerNeedFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): CustomerNeedConnection!
"""[DEPRECATED] The type of the state."""
state: String! @deprecated(reason: "Use project.status instead")
"""The priority of the project as a label."""
priorityLabel: String!
"""The external services the project is synced with."""
syncedWith: [ExternalEntityInfo!]
}
"""By which resolution is frequency defined."""
enum FrequencyResolutionType {
daily
weekly
}
"""The day of the week."""
enum Day {
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
}
"""A project status."""
type ProjectStatus implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The name of the status."""
name: String!
"""The UI color of the status as a HEX string."""
color: String!
"""Description of the status."""
description: String
"""The position of the status in the workspace's project flow."""
position: Float!
"""The type of the project status."""
type: ProjectStatusType!
"""Whether or not a project can be in this status indefinitely."""
indefinite: Boolean!
}
"""A type of project status."""
enum ProjectStatusType {
backlog
planned
started
paused
completed
canceled
}
"""By which resolution is a date defined."""
enum DateResolutionType {
month
quarter
halfYear
year
}
"""A template object used for creating entities faster."""
type Template implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The entity type this template is for."""
type: String!
"""The name of the template."""
name: String!
"""Template description."""
description: String
"""The icon of the template."""
icon: String
"""The color of the template icon."""
color: String
"""Template data."""
templateData: JSON!
"""The sort order of the template."""
sortOrder: Float!
"""The date when the template was last applied."""
lastAppliedAt: DateTime
"""
The organization that the template is associated with. If null, the template is associated with a particular team.
"""
organization: Organization!
"""
The team that the template is associated with. If null, the template is global to the workspace.
"""
team: Team
"""The user who created the template."""
creator: User
"""The user who last updated the template."""
lastUpdatedBy: User
"""The original template inherited from."""
inheritedFrom: Template
"""[Internal] Whether the template has form fields"""
hasFormFields: Boolean!
}
"""
The `JSON` scalar type represents arbitrary values as *stringified* JSON
"""
scalar JSON
"""An update associated with a project."""
type ProjectUpdate implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 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!
"""The time the update was edited."""
editedAt: DateTime
"""Emoji reaction summary, grouped by emoji type."""
reactionData: JSONObject!
"""[Internal] The content of the update as a Prosemirror document."""
bodyData: String!
"""The update's unique URL slug."""
slugId: String!
"""The project that the update is associated with."""
project: Project!
"""The health of the project at the time of the update."""
health: ProjectUpdateHealthType!
"""The user who wrote the update."""
user: User!
"""
[Internal] Serialized JSON representing current state of the project properties when posting the project update.
"""
infoSnapshot: JSONObject
"""Whether project update diff should be hidden."""
isDiffHidden: Boolean!
"""The URL to the project update."""
url: String!
"""Whether the project update is stale."""
isStale: Boolean!
"""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
"""Reactions associated with the project update."""
reactions: [Reaction!]!
"""Comments associated with the project update."""
comments(
"""Filter returned comments."""
filter: CommentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): CommentConnection!
"""Number of comments associated with the project update."""
commentCount: Int!
}
"""The health type when the project update is created."""
enum ProjectUpdateHealthType {
onTrack
atRisk
offTrack
}
"""A reaction associated with a comment or a project update."""
type Reaction implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""Name of the reaction's emoji."""
emoji: String!
"""The issue that the reaction is associated with."""
issue: Issue
"""The comment that the reaction is associated with."""
comment: Comment
"""The project update that the reaction is associated with."""
projectUpdate: ProjectUpdate
"""The initiative update that the reaction is associated with."""
initiativeUpdate: InitiativeUpdate
"""The post that the reaction is associated with."""
post: Post
"""The user that created the reaction."""
user: User
"""The external user that created the reaction."""
externalUser: ExternalUser
}
"""A comment associated with an entity."""
type Comment implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The comment content in markdown format."""
body: String!
"""The issue that the comment is associated with."""
issue: Issue
"""The ID of the issue that the comment is associated with."""
issueId: String
"""The document content that the comment is associated with."""
documentContent: DocumentContent
"""The ID of the document content that the comment is associated with."""
documentContentId: String
"""The project update that the comment is associated with."""
projectUpdate: ProjectUpdate
"""The ID of the project update that the comment is associated with."""
projectUpdateId: String
"""The initiative update that the comment is associated with."""
initiativeUpdate: InitiativeUpdate
"""The ID of the initiative update that the comment is associated with."""
initiativeUpdateId: String
"""The post that the comment is associated with."""
post: Post
"""[Internal] The project that the comment is associated with."""
project: Project
"""[Internal] The ID of the project that the comment is associated with."""
projectId: String
"""[Internal] The initiative that the comment is associated with."""
initiative: Initiative
"""
[Internal] The ID of the initiative that the comment is associated with.
"""
initiativeId: String
"""The parent comment under which the current comment is nested."""
parent: Comment
"""
The ID of the parent comment under which the current comment is nested.
"""
parentId: String
"""The user that resolved the thread."""
resolvingUser: User
"""The time the resolvingUser resolved the thread."""
resolvedAt: DateTime
"""The comment that resolved the thread."""
resolvingComment: Comment
"""The ID of the comment that resolved the thread."""
resolvingCommentId: String
"""The user who wrote the comment."""
user: User
"""The external user who wrote the comment."""
externalUser: ExternalUser
"""The time user edited the comment."""
editedAt: DateTime
"""[Internal] The comment content as a Prosemirror document."""
bodyData: String!
"""
The text that this comment references. Only defined for inline comments.
"""
quotedText: String
"""Emoji reaction summary, grouped by emoji type."""
reactionData: JSONObject!
"""[Internal] A generated summary of the comment thread."""
threadSummary: JSONObject
"""
[Internal] Whether the comment is an artificial placeholder for an agent session thread created without a comment mention.
"""
isArtificialAgentSessionRoot: Boolean!
"""Comment's URL."""
url: String!
"""The children of the comment."""
children(
"""Filter returned comments."""
filter: CommentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): CommentConnection!
"""Agent session associated with this comment."""
agentSession: AgentSession
"""[Internal] Agent sessions associated with this comment."""
agentSessions(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): AgentSessionConnection!
"""[Internal] Agent sessions spawned from this comment."""
spawnedAgentSessions(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
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(
"""Filter returned AI prompt progresses."""
filter: AiPromptProgressFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): AiPromptProgressConnection!
"""Issues created from this comment."""
createdIssues(
"""Filter returned issues."""
filter: IssueFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueConnection!
"""The bot that created the comment."""
botActor: ActorBot
"""
[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 external thread that the comment is synced with."""
externalThread: SyncedExternalThread
"""
[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!
"""Reactions associated with the comment."""
reactions: [Reaction!]!
"""The external services the comment is synced with."""
syncedWith: [ExternalEntityInfo!]
}
"""A document content for a project."""
type DocumentContent implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The document content in markdown format."""
content: String
"""The document content state as a base64 encoded string."""
contentState: String
"""The issue that the content is associated with."""
issue: Issue
"""[Internal] The pull request that the content is associated with."""
pullRequest: PullRequest
"""The project that the content is associated with."""
project: Project
"""The initiative that the content is associated with."""
initiative: Initiative
"""The project milestone that the content is associated with."""
projectMilestone: ProjectMilestone
"""The document that the content is associated with."""
document: Document
"""The AI prompt rules that the content is associated with."""
aiPromptRules: AiPromptRules
"""The welcome message that the content is associated with."""
welcomeMessage: WelcomeMessage
"""
The time at which the document content was restored from a previous version.
"""
restoredAt: DateTime
}
"""[Internal] A pull request in a version control system."""
type PullRequest implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The pull request's unique URL slug."""
slugId: String!
"""The title of the pull request."""
title: String!
"""The number of the pull request in the version control system."""
number: Float!
"""The source branch of the pull request."""
sourceBranch: String!
"""The target branch of the pull request."""
targetBranch: String!
"""The head SHA of the pull request."""
headSha: String
"""The base SHA of the pull request."""
baseSha: String
"""The URL of the pull request in the version control system."""
url: String!
"""The status of the pull request."""
status: PullRequestStatus!
"""Merge settings for this pull request."""
mergeSettings: PullRequestMergeSettings
"""The merge commit created when the PR was merged."""
mergeCommit: PullRequestCommit
"""[Internal] The checks associated with the pull request."""
checks: [PullRequestCheck!]!
"""[ALPHA] The commits associated with the pull request."""
commits: [PullRequestCommit!]!
"""[Internal] The user who created the pull request."""
creator: User
}
"""The status of a pull request."""
enum PullRequestStatus {
draft
open
inReview
approved
merged
closed
}
"""[Internal] Merge settings for a pull request"""
type PullRequestMergeSettings {
"""Whether merge queue is enabled for this repository."""
isMergeQueueEnabled: Boolean!
"""Whether squash merge is allowed for this pull request's repository."""
squashMergeAllowed: Boolean!
"""Whether auto-merge is allowed for the PR's repository."""
autoMergeAllowed: Boolean!
"""Whether rebase merge is allowed for pull requests PR's repository."""
rebaseMergeAllowed: Boolean!
"""Whether merge commits are allowed for pull requests PR's repository."""
mergeCommitAllowed: Boolean!
"""Whether the branch will be deleted when the pull request is merged."""
deleteBranchOnMerge: Boolean!
"""The method used to merge a pull request."""
mergeQueueMergeMethod: PullRequestMergeMethod
}
"""The method used to merge a pull request."""
enum PullRequestMergeMethod {
MERGE
REBASE
SQUASH
}
"""[ALPHA] A pull request commit."""
type PullRequestCommit {
"""The Git commit SHA."""
sha: String!
"""The full commit message."""
message: String!
"""The timestamp when the commit was committed (ISO 8601 string)."""
committedAt: String!
"""Number of additions in this commit."""
additions: Float!
"""Number of deletions in this commit."""
deletions: Float!
"""The number of changed files if available."""
changedFiles: Float
"""Whether this commit has multiple parents."""
isMergeCommit: Boolean
"""Linear user IDs for commit authors (includes co-authors)."""
authorUserIds: [String!]!
"""External user IDs for commit authors (includes co-authors)."""
authorExternalUserIds: [String!]!
}
"""[ALPHA] A pull request check."""
type PullRequestCheck {
"""The name of the check."""
name: String!
"""The name of the workflow that triggered the check."""
workflowName: String
"""The status of the check."""
status: String!
"""The URL of the check."""
url: String
"""Whether the check is required."""
isRequired: Boolean
"""How the check should be opened in the client."""
presentation: PullRequestCheckPresentation
"""The date/time at which when the check was started."""
startedAt: DateTime
"""The date/time at which when the check was completed."""
completedAt: DateTime
}
"""[ALPHA] How a pull request check should be opened in the client."""
enum PullRequestCheckPresentation {
jobLogs
runLogs
markdown
externalOnly
}
"""An initiative to group projects."""
type Initiative implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""
The n-weekly frequency at which to prompt for updates. When not set, reminders are inherited from workspace.
"""
updateReminderFrequencyInWeeks: Float
"""
The frequency at which to prompt for updates. When not set, reminders are inherited from workspace.
"""
updateReminderFrequency: Float
"""The resolution of the reminder frequency."""
frequencyResolution: FrequencyResolutionType!
"""The day at which to prompt for updates."""
updateRemindersDay: Day
"""The hour at which to prompt for updates."""
updateRemindersHour: Float
"""The name of the initiative."""
name: String!
"""The description of the initiative."""
description: String
"""The organization of the initiative."""
organization: Organization!
"""The user who created the initiative."""
creator: User
"""The user who owns the initiative."""
owner: User
"""The initiative's unique URL slug."""
slugId: String!
"""The sort order of the initiative within the organization."""
sortOrder: Float!
"""The initiative's color."""
color: String
"""The icon of the initiative."""
icon: String
"""A flag that indicates whether the initiative is in the trash bin."""
trashed: Boolean
"""[Internal] Facets associated with the initiative."""
facets: [Facet!]!
"""The estimated completion date of the initiative."""
targetDate: TimelessDate
"""The resolution of the initiative's estimated completion date."""
targetDateResolution: DateResolutionType
"""The status of the initiative. One of Planned, Active, Completed"""
status: InitiativeStatus!
"""The last initiative update posted for this initiative."""
lastUpdate: InitiativeUpdate
"""The health of the initiative."""
health: InitiativeUpdateHealthType
"""The time at which the initiative health was updated."""
healthUpdatedAt: DateTime
"""The time at which the initiative was moved into active status."""
startedAt: DateTime
"""The time at which the initiative was moved into completed status."""
completedAt: DateTime
"""Initiative URL."""
url: String!
"""Projects associated with the initiative."""
projects(
"""Whether to include projects from sub-initiatives. Defaults to true."""
includeSubInitiatives: Boolean
"""Filter returned projects."""
filter: ProjectFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
"""[INTERNAL] Sort returned projects."""
sort: [ProjectSortInput!]
): ProjectConnection!
"""Links associated with the initiative."""
links(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): EntityExternalLinkConnection!
"""Settings for all integrations associated with that initiative."""
integrationsSettings: IntegrationsSettings
"""History entries associated with the initiative."""
history(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): InitiativeHistoryConnection!
"""Initiative updates associated with the initiative."""
initiativeUpdates(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): InitiativeUpdateConnection!
"""Sub-initiatives associated with the initiative."""
subInitiatives(
"""Filter returned sub-initiatives."""
filter: InitiativeFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
"""[INTERNAL] Sort returned initiatives."""
sort: [InitiativeSortInput!]
): InitiativeConnection!
"""Parent initiative associated with the initiative."""
parentInitiative: Initiative
"""[Internal] Parent initiatives associated with the initiative."""
parentInitiatives(
"""Filter returned parent initiatives."""
filter: InitiativeFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
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 initiative's content in markdown format."""
content: String
"""The content of the initiative description."""
documentContent: DocumentContent
"""Documents associated with the initiative."""
documents(
"""Filter returned documents."""
filter: DocumentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): DocumentConnection!
}
enum InitiativeStatus {
Planned
Active
Completed
}
"""An initiative update."""
type InitiativeUpdate implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 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!
"""The time the update was edited."""
editedAt: DateTime
"""Emoji reaction summary, grouped by emoji type."""
reactionData: JSONObject!
"""[Internal] The content of the update as a Prosemirror document."""
bodyData: String!
"""The update's unique URL slug."""
slugId: String!
"""The initiative that the update is associated with."""
initiative: Initiative!
"""The user who wrote the update."""
user: User!
"""The health at the time of the update."""
health: InitiativeUpdateHealthType!
"""
[Internal] Serialized JSON representing current state of the initiative properties when posting the initiative update.
"""
infoSnapshot: JSONObject
"""Whether initiative update diff should be hidden."""
isDiffHidden: Boolean!
"""The URL to the initiative update."""
url: String!
"""Whether the initiative update is stale."""
isStale: Boolean!
"""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
"""Reactions associated with the initiative update."""
reactions: [Reaction!]!
"""Comments associated with the initiative update."""
comments(
"""Filter returned comments."""
filter: CommentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): CommentConnection!
"""Number of comments associated with the initiative update."""
commentCount: Int!
}
"""The health type when the update is created."""
enum InitiativeUpdateHealthType {
onTrack
atRisk
offTrack
}
type CommentConnection {
edges: [CommentEdge!]!
nodes: [Comment!]!
pageInfo: PageInfo!
}
type CommentEdge {
node: Comment!
"""Used in `before` and `after` args"""
cursor: String!
}
type PageInfo {
"""Indicates if there are more results when paginating backward."""
hasPreviousPage: Boolean!
"""Indicates if there are more results when paginating forward."""
hasNextPage: Boolean!
"""Cursor representing the first result in the paginated results."""
startCursor: String
"""Cursor representing the last result in the paginated results."""
endCursor: String
}
type ProjectConnection {
edges: [ProjectEdge!]!
nodes: [Project!]!
pageInfo: PageInfo!
}
type ProjectEdge {
node: Project!
"""Used in `before` and `after` args"""
cursor: String!
}
"""Project sorting options."""
input ProjectSortInput {
"""Sort by project name"""
name: ProjectNameSort
"""Sort by project status"""
status: ProjectStatusSort
"""Sort by project priority"""
priority: ProjectPrioritySort
"""Sort by manual order"""
manual: ProjectManualSort
"""Sort by project target date"""
targetDate: TargetDateSort
"""Sort by project start date"""
startDate: StartDateSort
"""Sort by project creation date"""
createdAt: ProjectCreatedAtSort
"""Sort by project update date"""
updatedAt: ProjectUpdatedAtSort
"""Sort by project health status."""
health: ProjectHealthSort
"""Sort by project lead name."""
lead: ProjectLeadSort
}
"""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
}
"""How to treat NULL values, whether they should appear first or last"""
enum PaginationNulls {
first
last
}
"""Whether to sort in ascending or descending order"""
enum PaginationSortOrder {
Ascending
Descending
}
"""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
}
"""Project priority sorting options."""
input ProjectPrioritySort {
"""Whether nulls should be sorted first or last"""
nulls: PaginationNulls = last
"""The order for the individual sort"""
order: PaginationSortOrder
"""Whether to consider no priority as the highest or lowest priority"""
noPriorityFirst: Boolean = false
}
"""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
}
"""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
}
"""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
}
"""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
}
"""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
}
"""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
}
"""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
}
type EntityExternalLinkConnection {
edges: [EntityExternalLinkEdge!]!
nodes: [EntityExternalLink!]!
pageInfo: PageInfo!
}
type EntityExternalLinkEdge {
node: EntityExternalLink!
"""Used in `before` and `after` args"""
cursor: String!
}
"""An external link for an entity like initiative, etc..."""
type EntityExternalLink implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The link's URL."""
url: String!
"""The link's label."""
label: String!
"""The order of the item in the resources list."""
sortOrder: Float!
"""The user who created the link."""
creator: User!
"""The initiative that the link is associated with."""
initiative: Initiative
}
"""The configuration of all integrations for different entities."""
type IntegrationsSettings implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 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
"""
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 any of the project or team's issues change to completed or cancelled.
"""
slackIssueStatusChangedDone: 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 any of the project or team's issues has a change in status.
"""
slackIssueStatusChangedAll: 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
"""Whether to send a Slack message when a initiate 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 SLA is at high risk."""
slackIssueSlaHighRisk: Boolean
"""Whether to send a Slack message when an SLA is breached."""
slackIssueSlaBreached: Boolean
"""Team which those settings apply to."""
team: Team
"""Project which those settings apply to."""
project: Project
"""Initiative which those settings apply to."""
initiative: Initiative
}
enum ContextViewType {
activeIssues
activeCycle
upcomingCycle
backlog
triage
}
type InitiativeHistoryConnection {
edges: [InitiativeHistoryEdge!]!
nodes: [InitiativeHistory!]!
pageInfo: PageInfo!
}
type InitiativeHistoryEdge {
node: InitiativeHistory!
"""Used in `before` and `after` args"""
cursor: String!
}
"""A initiative history containing relevant change events."""
type InitiativeHistory implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The events that happened while recording that history."""
entries: JSONObject!
"""The initiative that the history is associated with."""
initiative: Initiative!
}
type InitiativeUpdateConnection {
edges: [InitiativeUpdateEdge!]!
nodes: [InitiativeUpdate!]!
pageInfo: PageInfo!
}
type InitiativeUpdateEdge {
node: InitiativeUpdate!
"""Used in `before` and `after` args"""
cursor: String!
}
type InitiativeConnection {
edges: [InitiativeEdge!]!
nodes: [Initiative!]!
pageInfo: PageInfo!
}
type InitiativeEdge {
node: Initiative!
"""Used in `before` and `after` args"""
cursor: String!
}
"""Initiative sorting options."""
input InitiativeSortInput {
"""Sort by initiative name."""
name: InitiativeNameSort
"""Sort by manual order."""
manual: InitiativeManualSort
"""Sort by initiative update date."""
updatedAt: InitiativeUpdatedAtSort
"""Sort by initiative creation date."""
createdAt: InitiativeCreatedAtSort
"""Sort by initiative target date."""
targetDate: InitiativeTargetDateSort
"""Sort by initiative health status."""
health: InitiativeHealthSort
"""Sort by initiative health update date."""
healthUpdatedAt: InitiativeHealthUpdatedAtSort
"""Sort by initiative owner name."""
owner: InitiativeOwnerSort
}
"""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
}
"""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 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
}
"""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
}
"""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
}
"""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
}
"""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
}
"""A milestone for a project."""
type ProjectMilestone implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The name of the project milestone."""
name: String!
"""The content of the project milestone description."""
documentContent: DocumentContent
"""The planned completion date of the milestone."""
targetDate: TimelessDate
"""The project of the milestone."""
project: Project!
"""[Internal] The progress history of the project milestone."""
progressHistory: JSONObject!
"""[Internal] The current progress of the project milestone."""
currentProgress: JSONObject!
"""
The order of the milestone in relation to other milestones within a project.
"""
sortOrder: Float!
"""The project milestone's description in markdown format."""
description: String
"""The status of the project milestone."""
status: ProjectMilestoneStatus!
"""The progress % of the project milestone."""
progress: Float!
"""[Internal] The project milestone's description as YJS state."""
descriptionState: String
"""Issues associated with the project milestone."""
issues(
"""Filter returned issues."""
filter: IssueFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueConnection!
}
"""The status of a project milestone."""
enum ProjectMilestoneStatus {
unstarted
next
overdue
done
}
"""AI prompt rules for a team."""
type AiPromptRules implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The user who last updated the AI prompt rules."""
updatedBy: User
}
"""A welcome message for new users joining the workspace."""
type WelcomeMessage implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The title of the welcome message notification."""
title: String
"""Whether the welcome message is enabled."""
enabled: Boolean!
"""The user who last updated the welcome message."""
updatedBy: User
}
"""[Internal] A generic post."""
type Post implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 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 post as a Prosemirror document."""
bodyData: String!
"""[Internal] The written update data used to compose the written post."""
writtenSummaryData: JSONObject
"""The update content summarized for audio consumption."""
audioSummary: String
"""The post's title."""
title: String
"""The post's unique URL slug."""
slugId: String!
"""The user who wrote the post."""
creator: User
"""The time the post was edited."""
editedAt: DateTime
"""Emoji reaction summary, grouped by emoji type."""
reactionData: JSONObject!
"""A URL of the TTL (text-to-language) for the body."""
ttlUrl: String
"""The user that the post is associated with."""
user: User
"""The team that the post is associated with."""
team: Team
"""The type of the post."""
type: PostType
"""The log id of the ai response."""
evalLogId: String
"""Schedule used to create a post summary."""
feedSummaryScheduleAtCreate: FeedSummarySchedule
}
"""Type of Post"""
enum PostType {
summary
update
}
"""Cadence to generate feed summary"""
enum FeedSummarySchedule {
daily
weekly
never
}
"""
An external authenticated (e.g., through Slack) user which doesn't have a Linear account, but can create and update entities in Linear from the external system that authenticated them.
"""
type ExternalUser implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The external user's full name."""
name: String!
"""
The external user's display name. Unique within each organization. Can match the display name of an actual user.
"""
displayName: String!
"""The external user's email address."""
email: String
"""An URL to the external user's avatar image."""
avatarUrl: String
"""Organization the external user belongs to."""
organization: Organization!
"""The last time the external user was seen interacting with Linear."""
lastSeen: DateTime
}
"""A session for agent activities and state management."""
type AgentSession implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: 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 agent user that is associated with this agent session."""
appUser: User!
"""The comment this agent session is associated with."""
comment: Comment
"""
The comment that this agent session was spawned from, if from a different thread.
"""
sourceComment: Comment
"""The issue this agent session is associated with."""
issue: Issue
"""The current status of the agent session."""
status: AgentSessionStatus!
"""The time the agent session started."""
startedAt: DateTime
"""The time the agent session ended."""
endedAt: DateTime
"""The time the agent session was dismissed."""
dismissedAt: DateTime
"""The user who dismissed the agent session."""
dismissedBy: User
"""Activities associated with this agent session."""
activities(
"""Filter returned agent activities."""
filter: AgentActivityFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): AgentActivityConnection!
"""The URL of an external agent-hosted page associated with this session."""
externalLink: String @deprecated(reason: "Use externalUrls instead.")
"""A summary of the activities in this session."""
summary: String
"""Metadata about the external source that created this agent session."""
sourceMetadata: JSON
"""A dynamically updated list of the agent's execution strategy."""
plan: JSON
"""
Serialized JSON representing the contexts this session is related to, for direct chat sessions.
"""
context: JSON!
"""[DEPRECATED] The type of the agent session."""
type: AgentSessionType @deprecated(reason: "This field is slated for removal.")
"""Agent session URL."""
url: String
"""[Internal] Pull requests associated with this agent session."""
pullRequests(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): AgentSessionToPullRequestConnection!
"""External links associated with this session."""
externalLinks: [AgentSessionExternalLink!]!
"""URLs of external resources associated with this session."""
externalUrls: JSON! @deprecated(reason: "Use externalLinks instead.")
}
"""The status of an agent session."""
enum AgentSessionStatus {
pending
active
complete
awaitingInput
error
stale
}
type AgentActivityConnection {
edges: [AgentActivityEdge!]!
nodes: [AgentActivity!]!
pageInfo: PageInfo!
}
type AgentActivityEdge {
node: AgentActivity!
"""Used in `before` and `after` args"""
cursor: String!
}
"""An activity within an agent context."""
type AgentActivity implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The agent session this activity belongs to."""
agentSession: AgentSession!
"""The content of the activity"""
content: AgentActivityContent!
"""The comment this activity is linked to."""
sourceComment: Comment
"""The user who created this agent activity."""
user: User!
"""Metadata about the external source that created this agent activity."""
sourceMetadata: JSON
"""
An optional modifier that provides additional instructions on how the activity should be interpreted.
"""
signal: AgentActivitySignal
"""
Whether the activity is ephemeral, and should disappear after the next agent activity.
"""
ephemeral: Boolean!
"""
[Internal] Metadata about user-provided contextual information for this agent activity.
"""
contextualMetadata: JSON
"""Metadata about this agent activity's signal."""
signalMetadata: JSON
}
"""Content for different types of agent activities."""
union AgentActivityContent = AgentActivityThoughtContent | AgentActivityActionContent | AgentActivityResponseContent | AgentActivityPromptContent | AgentActivityErrorContent | AgentActivityElicitationContent
"""Content for a thought activity."""
type AgentActivityThoughtContent {
"""The type of activity."""
type: AgentActivityType!
"""The thought content in Markdown format."""
body: String!
"""[Internal] The thought content as ProseMirror document."""
bodyData: JSONObject!
}
"""The type of an agent activity."""
enum AgentActivityType {
thought
action
response
elicitation
error
prompt
}
"""Content for an action activity (tool call or action)."""
type AgentActivityActionContent {
"""The type of activity."""
type: AgentActivityType!
"""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
}
"""Content for a response activity."""
type AgentActivityResponseContent {
"""The type of activity."""
type: AgentActivityType!
"""The response content in Markdown format."""
body: String!
"""[Internal] The response content as ProseMirror document."""
bodyData: JSONObject!
}
"""Content for a prompt activity."""
type AgentActivityPromptContent {
"""The type of activity."""
type: AgentActivityType!
"""A message requesting additional information or action from user."""
body: String!
"""[Internal] The prompt content as ProseMirror document."""
bodyData: JSONObject!
}
"""Content for an error activity."""
type AgentActivityErrorContent {
"""The type of activity."""
type: AgentActivityType!
"""The error message in Markdown format."""
body: String!
"""[Internal] The error content as ProseMirror document."""
bodyData: JSONObject!
}
"""Content for an elicitation activity."""
type AgentActivityElicitationContent {
"""The type of activity."""
type: AgentActivityType!
"""The elicitation message in Markdown format."""
body: String!
"""[Internal] The elicitation content as ProseMirror document."""
bodyData: JSONObject!
}
"""
A modifier that provides additional instructions on how the activity should be interpreted.
"""
enum AgentActivitySignal {
stop
continue
auth
select
}
"""Agent activity filtering options."""
input AgentActivityFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the agent session ID."""
agentSessionId: StringComparator
"""Comparator for the agent activity's content type."""
type: StringComparator
"""Filters that the source comment must satisfy."""
sourceComment: NullableCommentFilter
"""
Compound filters, all of which need to be matched by the agent activity.
"""
and: [AgentActivityFilter!]
"""
Compound filters, one of which need to be matched by the agent activity.
"""
or: [AgentActivityFilter!]
}
"""[DEPRECATED] The type of an agent session."""
enum AgentSessionType {
commentThread
}
type AgentSessionToPullRequestConnection {
edges: [AgentSessionToPullRequestEdge!]!
nodes: [AgentSessionToPullRequest!]!
pageInfo: PageInfo!
}
type AgentSessionToPullRequestEdge {
node: AgentSessionToPullRequest!
"""Used in `before` and `after` args"""
cursor: String!
}
"""Join table between agent sessions and pull requests."""
type AgentSessionToPullRequest implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The pull request that the agent session is associated with."""
pullRequest: PullRequest!
"""The agent session that the pull request is associated with."""
agentSession: AgentSession!
}
"""An external link associated with an agent session."""
type AgentSessionExternalLink {
"""The URL of the external resource."""
url: String!
"""Label for the link."""
label: String!
}
type AgentSessionConnection {
edges: [AgentSessionEdge!]!
nodes: [AgentSession!]!
pageInfo: PageInfo!
}
type AgentSessionEdge {
node: AgentSession!
"""Used in `before` and `after` args"""
cursor: String!
}
type AiPromptProgressConnection {
edges: [AiPromptProgressEdge!]!
nodes: [AiPromptProgress!]!
pageInfo: PageInfo!
}
type AiPromptProgressEdge {
node: AiPromptProgress!
"""Used in `before` and `after` args"""
cursor: String!
}
"""[Internal] A prompt workflow progress."""
type AiPromptProgress implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""[Internal] The type of AI prompt workflow."""
type: AiPromptType!
"""[Internal] The status of the prompt workflow."""
status: AiPromptProgressStatus!
"""[Internal] The metadata for the prompt workflow."""
metadata: JSONObject!
"""[Internal] The log ID for the prompt workflow, if available."""
logId: String
}
"""The type of AI prompt workflow."""
enum AiPromptType {
productIntelligence
internalResearch
projectUpdates
initiativeUpdates
agentGuidance
triageAgent
codeIntelligence
aiConversation
slackIssueIntake
intercomIssueIntake
gongIssueIntake
zendeskIssueIntake
microsoftTeamsIssueIntake
}
"""[Internal] The status of a prompt workflow."""
enum AiPromptProgressStatus {
created
inProgress
finished
failed
canceled
}
"""[Internal] AI prompt progress filtering options."""
input AiPromptProgressFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""[Internal] Comparator for the AI prompt workflow type."""
type: AiPromptTypeComparator
"""[Internal] Comparator for the AI prompt workflow status."""
status: AiPromptProgressStatusComparator
"""
[Internal] Compound filters, all of which need to be matched by the AI prompt progress.
"""
and: [AiPromptProgressFilter!]
"""
[Internal] Compound filters, one of which need to be matched by the AI prompt progress.
"""
or: [AiPromptProgressFilter!]
}
"""[Internal] Comparator for the AI prompt workflow type."""
input AiPromptTypeComparator {
"""Equals constraint."""
eq: AiPromptType
"""Not-equals constraint."""
neq: AiPromptType
"""In-array constraint."""
in: [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
}
"""[Internal] Comparator for the AI prompt workflow status."""
input AiPromptProgressStatusComparator {
"""Equals constraint."""
eq: AiPromptProgressStatus
"""Not-equals constraint."""
neq: AiPromptProgressStatus
"""In-array constraint."""
in: [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
}
"""
A bot actor is an actor that is not a user, but an application or integration.
"""
type ActorBot {
id: ID
"""The type of bot."""
type: String!
"""The sub type of the bot."""
subType: String
"""The display name of the bot."""
name: String
"""
The display name of the external user on behalf of which the bot acted.
"""
userDisplayName: String
"""A url pointing to the avatar representing this bot."""
avatarUrl: String
}
"""A comment thread that is synced with an external source."""
type SyncedExternalThread {
id: ID
"""The type of the external source."""
type: String!
"""The sub type of the external source."""
subType: String
"""The display name of the source."""
name: String
"""The display name of the thread."""
displayName: String
"""The external url of the thread."""
url: String
"""Whether this thread is syncing with the external service."""
isConnected: Boolean!
"""
Whether the current user has the corresponding personal integration connected for the external service.
"""
isPersonalIntegrationConnected: Boolean!
"""
Whether a connected personal integration is required to comment in this thread.
"""
isPersonalIntegrationRequired: Boolean!
}
"""Information about an external entity."""
type ExternalEntityInfo {
"""The id of the external entity."""
id: String!
"""The name of the service this entity is synced with."""
service: ExternalSyncService!
"""Metadata about the external entity."""
metadata: ExternalEntityInfoMetadata
}
"""The service that syncs an external entity to Linear."""
enum ExternalSyncService {
jira
github
slack
}
union ExternalEntityInfoMetadata = ExternalEntityInfoGithubMetadata | ExternalEntityInfoJiraMetadata | ExternalEntitySlackMetadata
"""Metadata about the external GitHub entity."""
type ExternalEntityInfoGithubMetadata {
"""The repository name."""
repo: String
"""The owner of the repository."""
owner: String
"""The number of the issue."""
number: Float
}
"""Metadata about the external Jira entity."""
type ExternalEntityInfoJiraMetadata {
"""The key of the Jira issue."""
issueKey: String
"""The id of the Jira project."""
projectId: String
"""The id of the Jira issue type."""
issueTypeId: String
}
"""Metadata about the external Slack entity."""
type ExternalEntitySlackMetadata {
"""Whether the entity originated from Slack (not Linear)."""
isFromSlack: Boolean!
"""The id of the Slack channel."""
channelId: String
"""The name of the Slack channel."""
channelName: String
"""The URL of the Slack message."""
messageUrl: String
}
"""User favorites presented in the sidebar."""
type Favorite implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The type of the favorite."""
type: String!
"""The parent folder of the favorite."""
parent: Favorite
"""The name of the folder. Only applies to favorites of type folder."""
folderName: String
"""The targeted tab of the project."""
projectTab: ProjectTab
"""The type of favorited predefined view."""
predefinedViewType: String
"""The targeted tab of the initiative."""
initiativeTab: InitiativeTab
"""The owner of the favorite."""
owner: User!
"""The order of the item in the favorites list."""
sortOrder: Float!
"""Children of the favorite. Only applies to favorites of type folder."""
children(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): FavoriteConnection!
"""The favorited issue."""
issue: Issue
"""The favorited project."""
project: Project
"""[INTERNAL] The favorited facet."""
facet: Facet
"""[DEPRECATED] The favorited team of the project."""
projectTeam: Team
"""The favorited cycle."""
cycle: Cycle
"""The favorited custom view."""
customView: CustomView
"""The team of the favorited predefined view."""
predefinedViewTeam: Team
"""The favorited document."""
document: Document
"""The favorited initiative."""
initiative: Initiative
"""The favorited label."""
label: IssueLabel
"""The favorited project label."""
projectLabel: ProjectLabel
"""The favorited user."""
user: User
"""The favorited customer."""
customer: Customer
"""The favorited dashboard."""
dashboard: Dashboard
"""The favorited pull request."""
pullRequest: PullRequest
"""[ALPHA] The favorited release."""
release: Release
"""[ALPHA] The favorited release pipeline."""
releasePipeline: ReleasePipeline
"""URL of the favorited entity. Folders return 'null' value."""
url: String
"""
[Internal] Favorite's title text (name of the favorite'd object or folder).
"""
title: String!
"""
[Internal] Detail text for favorite's `title` (e.g. team's name for a project).
"""
detail: String
"""
[Internal] Returns the color of the favorite's icon. Unavailable for avatars and views with fixed icons (e.g. cycle).
"""
color: String
"""
[Internal] Name of the favorite's icon. Unavailable for standard views, issues, and avatars
"""
icon: String
}
"""Different tabs available inside a project."""
enum ProjectTab {
customers
documents
issues
updates
}
"""Different tabs available inside an initiative."""
enum InitiativeTab {
overview
projects
updates
}
type FavoriteConnection {
edges: [FavoriteEdge!]!
nodes: [Favorite!]!
pageInfo: PageInfo!
}
type FavoriteEdge {
node: Favorite!
"""Used in `before` and `after` args"""
cursor: String!
}
"""A custom view that has been saved by a user."""
type CustomView implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The name of the custom view."""
name: String!
"""The description of the custom view."""
description: String
"""The icon of the custom view."""
icon: String
"""The color of the icon of the custom view."""
color: String
"""The organization of the custom view."""
organization: Organization!
"""The user who created the custom view."""
creator: User!
"""The user who owns the custom view."""
owner: User!
"""The user who last updated the custom view."""
updatedBy: User
"""The filters applied to issues in the custom view."""
filters: JSONObject! @deprecated(reason: "Will be replaced by `filterData` in a future update")
"""The filter applied to issues in the custom view."""
filterData: JSONObject!
"""The filter applied to projects in the custom view."""
projectFilterData: JSONObject
"""The filter applied to initiatives in the custom view."""
initiativeFilterData: JSONObject
"""The filter applied to feed items in the custom view."""
feedItemFilterData: JSONObject
"""Whether the custom view is shared with everyone in the organization."""
shared: Boolean!
"""The custom view's unique URL slug."""
slugId: String!
"""The model name of the custom view."""
modelName: String!
"""[INTERNAL] The facet associated with the custom view."""
facet: Facet
"""The team associated with the custom view."""
team: Team
"""Projects associated with the custom view."""
projects(
"""
Include projects from sub-teams when the custom view is associated with a team.
"""
includeSubTeams: Boolean = true
"""Filter returned projects."""
filter: ProjectFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
"""[INTERNAL] Sort returned projects."""
sort: [ProjectSortInput!]
): ProjectConnection!
"""Issues associated with the custom view."""
issues(
"""
Include issues from sub-teams when the custom view is associated with a team.
"""
includeSubTeams: Boolean = false
"""Filter returned issues."""
filter: IssueFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
"""[INTERNAL] Sort returned issues."""
sort: [IssueSortInput!]
): IssueConnection!
"""Feed items associated with the custom view."""
updates(
"""
Include updates from sub-teams when the custom view is associated with a team.
"""
includeSubTeams: Boolean = false
"""Filter returned feed items."""
filter: FeedItemFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): FeedItemConnection!
"""The current users view preferences for this custom view."""
userViewPreferences: ViewPreferences
"""The organizations default view preferences for this custom view."""
organizationViewPreferences: ViewPreferences
"""The calculated view preferences values for this custom view."""
viewPreferencesValues: ViewPreferencesValues
"""Initiatives associated with the custom view."""
initiatives(
"""Filter returned initiatives."""
filter: InitiativeFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): InitiativeConnection!
}
"""Issue sorting options."""
input IssueSortInput {
"""Sort by priority"""
priority: PrioritySort
"""Sort by estimate"""
estimate: EstimateSort
"""Sort by issue title"""
title: TitleSort
"""Sort by label"""
label: LabelSort
"""Sort by label group"""
labelGroup: LabelGroupSort
"""Sort by SLA status"""
slaStatus: SlaStatusSort
"""Sort by issue creation date"""
createdAt: CreatedAtSort
"""Sort by issue update date"""
updatedAt: UpdatedAtSort
"""Sort by issue completion date"""
completedAt: CompletedAtSort
"""Sort by issue due date"""
dueDate: DueDateSort
"""[Internal] Sort by the accumulated time in the current workflow state"""
accumulatedStateUpdatedAt: TimeInStatusSort
"""Sort by Cycle start date"""
cycle: CycleSort
"""Sort by Project Milestone target date"""
milestone: MilestoneSort
"""Sort by assignee name"""
assignee: AssigneeSort
"""Sort by delegate name"""
delegate: DelegateSort
"""Sort by Project name"""
project: ProjectSort
"""Sort by Team name"""
team: TeamSort
"""Sort by manual order"""
manual: ManualSort
"""Sort by workflow state type"""
workflowState: WorkflowStateSort
"""Sort by customer name"""
customer: CustomerSort
"""Sort by customer revenue"""
customerRevenue: CustomerRevenueSort
"""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 the root issue"""
rootIssue: RootIssueSort
"""[ALPHA] Sort by number of links associated with the issue"""
linkCount: LinkCountSort
"""[ALPHA] Sort by most recent release date"""
release: ReleaseSort
}
"""Issue priority sorting options."""
input PrioritySort {
"""Whether nulls should be sorted first or last"""
nulls: PaginationNulls = last
"""The order for the individual sort"""
order: PaginationSortOrder
"""Whether to consider no priority as the highest or lowest priority"""
noPriorityFirst: Boolean = false
}
"""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
}
"""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
}
"""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
}
"""Issue label-group sorting options."""
input LabelGroupSort {
"""Whether nulls should be sorted first or last"""
nulls: PaginationNulls = last
"""The order for the individual sort"""
order: PaginationSortOrder
"""The label-group id to sort by"""
labelGroupId: String!
}
"""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
}
"""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
}
"""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
}
"""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
}
"""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
}
"""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
}
"""Issue cycle sorting options."""
input CycleSort {
"""Whether nulls should be sorted first or last"""
nulls: PaginationNulls = last
"""The order for the individual sort"""
order: PaginationSortOrder
"""
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
}
"""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
}
"""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
}
"""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
}
"""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
}
"""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
}
"""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
}
"""Issue workflow state sorting options."""
input WorkflowStateSort {
"""Whether nulls should be sorted first or last"""
nulls: PaginationNulls = last
"""The order for the individual sort"""
order: PaginationSortOrder
"""Whether to sort closed issues by recency"""
closedIssuesOrderedByRecency: Boolean = false
}
"""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
}
"""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 count sorting options."""
input CustomerCountSort {
"""Whether nulls should be sorted first or last"""
nulls: PaginationNulls = last
"""The order for the individual sort"""
order: PaginationSortOrder
}
"""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
}
"""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!
}
"""[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
}
"""[Internal] 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
}
type FeedItemConnection {
edges: [FeedItemEdge!]!
nodes: [FeedItem!]!
pageInfo: PageInfo!
}
type FeedItemEdge {
node: FeedItem!
"""Used in `before` and `after` args"""
cursor: String!
}
"""[Internal] An item in a users feed."""
type FeedItem implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The organization that will see this feed item."""
organization: Organization!
"""The user that will see this feed item."""
user: User
"""The team that will see this feed item."""
team: Team
"""The project update that is in the feed."""
projectUpdate: ProjectUpdate
"""The initiative update that is in the feed."""
initiativeUpdate: InitiativeUpdate
"""The post that is in the feed."""
post: Post
}
"""Feed item filtering options"""
input FeedItemFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Filters that the feed item author must satisfy."""
author: UserFilter
"""Comparator for the update type: initiative, project, team"""
updateType: StringComparator
"""
Comparator for the project or initiative update health: onTrack, atRisk, offTrack
"""
updateHealth: StringComparator
"""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
"""Compound filters, all of which need to be matched by the feed item."""
and: [FeedItemFilter!]
"""Compound filters, one of which need to be matched by the feed item."""
or: [FeedItemFilter!]
}
"""Options for filtering project updates."""
input ProjectUpdateFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Filters that the project update creator must satisfy."""
user: UserFilter
"""Filters that the project update project must satisfy."""
project: ProjectFilter
"""Filters that the project updates reactions must satisfy."""
reactions: ReactionCollectionFilter
"""
Compound filters, all of which need to be matched by the ProjectUpdate.
"""
and: [ProjectUpdateFilter!]
"""
Compound filters, one of which need to be matched by the ProjectUpdate.
"""
or: [ProjectUpdateFilter!]
}
"""View preferences."""
type ViewPreferences implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The view preference type."""
type: String!
"""The view type."""
viewType: String!
"""The view preferences"""
preferences: ViewPreferencesValues!
}
type ViewPreferencesValues {
"""The issue layout type."""
layout: String
"""The issue ordering."""
viewOrdering: String
"""The direction of the issue ordering."""
viewOrderingDirection: String
"""The issue grouping."""
issueGrouping: String
"""The issue sub-grouping."""
issueSubGrouping: String
"""How sub-issues should be nested and displayed."""
issueNesting: String
"""Whether completed issues are shown and for how long."""
showCompletedIssues: String
"""Whether to show parent issues for sub-issues."""
showParents: Boolean
"""Whether to show sub-issues."""
showSubIssues: Boolean
"""Whether to show sub-team issues."""
showSubTeamIssues: Boolean
"""Whether to show supervised issues."""
showSupervisedIssues: Boolean
"""Whether to show triage issues."""
showTriageIssues: Boolean
"""Whether to show snoozed items."""
showSnoozedItems: Boolean
"""Whether to show only snoozed items."""
showOnlySnoozedItems: Boolean
"""Whether to show archived items."""
showArchivedItems: Boolean
"""Whether to show read items."""
showReadItems: Boolean
"""Whether to show unread items first."""
showUnreadItemsFirst: Boolean
"""Whether issues in closed columns should be ordered by recency."""
closedIssuesOrderedByRecency: 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
"""The label group ID used for issue grouping."""
issueGroupingLabelGroupId: String
"""The label group ID used for issue sub-grouping."""
issueSubGroupingLabelGroupId: String
"""Whether to show the issue identifier field."""
fieldId: Boolean
"""Whether to show the issue status field."""
fieldStatus: Boolean
"""Whether to show the issue priority field."""
fieldPriority: Boolean
"""Whether to show the issue creation date field."""
fieldDateCreated: Boolean
"""Whether to show the issue updated date field."""
fieldDateUpdated: Boolean
"""Whether to show the issue archived date field."""
fieldDateArchived: Boolean
"""Whether to show the issue last activity date field."""
fieldDateMyActivity: Boolean
"""Whether to show the issue assignee field."""
fieldAssignee: Boolean
"""Whether to show the issue estimate field."""
fieldEstimate: Boolean
"""Whether to show the pull requests field."""
fieldPullRequests: Boolean
"""Whether to show preview links."""
fieldPreviewLinks: Boolean
"""Whether to show the Sentry issues field."""
fieldSentryIssues: Boolean
"""Whether to show the due date field."""
fieldDueDate: Boolean
"""Whether to show the link count field."""
fieldLinkCount: Boolean
"""Whether to show the customer request count field."""
fieldCustomerCount: Boolean
"""Whether to show the customer revenue field."""
fieldCustomerRevenue: Boolean
"""Whether to show the SLA field."""
fieldSla: Boolean
"""Whether to show the labels field."""
fieldLabels: Boolean
"""Whether to show the project field."""
fieldProject: Boolean
"""Whether to show the cycle field."""
fieldCycle: Boolean
"""Whether to show the milestone field."""
fieldMilestone: Boolean
"""Whether to show the release field."""
fieldRelease: Boolean
"""Whether to show the time in current status field."""
fieldTimeInCurrentStatus: Boolean
"""List of column model IDs which should be hidden on a board."""
hiddenColumns: [String!]
"""List of row model IDs which should be hidden on a board."""
hiddenRows: [String!]
"""The project layout type."""
projectLayout: String
"""The project ordering."""
projectViewOrdering: String
"""The project grouping."""
projectGrouping: String
"""The project sub-grouping."""
projectSubGrouping: String
"""The ordering of project groups."""
projectGroupOrdering: String
"""The date resolution when grouping projects by date."""
projectGroupingDateResolution: String
"""Whether completed projects are shown and for how long."""
showCompletedProjects: String
"""The label group ID used for project grouping."""
projectGroupingLabelGroupId: String
"""The label group ID used for project sub-grouping."""
projectSubGroupingLabelGroupId: String
"""The project label group columns configuration."""
projectLabelGroupColumns: [ViewPreferencesProjectLabelGroupColumn!]
"""Whether to show sub-team projects."""
showSubTeamProjects: Boolean
"""Whether to show sub-initiative projects."""
showSubInitiativeProjects: Boolean
"""How to show empty project groups."""
projectShowEmptyGroups: 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 groups on the board layout."""
projectShowEmptyGroupsBoard: String
"""How to show empty project sub-groups."""
projectShowEmptySubGroups: 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
"""How to show empty project sub-groups on the board layout."""
projectShowEmptySubGroupsBoard: String
"""Whether to show the project status field."""
projectFieldStatus: Boolean
"""Whether to show the project priority field."""
projectFieldPriority: Boolean
"""Whether to show the project lead field."""
projectFieldLead: Boolean
"""Whether to show the project health field."""
projectFieldHealth: Boolean
"""Whether to show the project members field."""
projectFieldMembers: Boolean
"""Whether to show the project start date field."""
projectFieldStartDate: 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 roadmaps field."""
projectFieldRoadmaps: Boolean
"""Whether to show the project initiatives field."""
projectFieldInitiatives: Boolean
"""Whether to show the project milestone field."""
projectFieldMilestone: Boolean
"""Whether to show the project description field."""
projectFieldDescription: Boolean
"""Whether to show the project predictions field."""
projectFieldPredictions: Boolean
"""Whether to show the project relations field."""
projectFieldRelations: Boolean
"""Whether to show the project rollout stage field."""
projectFieldRolloutStage: Boolean
"""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 labels field."""
projectFieldLabels: 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 completion date field."""
projectFieldDateCompleted: Boolean
"""Whether to show the project status field on the timeline."""
projectFieldStatusTimeline: Boolean
"""Whether to show the project lead field on the timeline."""
projectFieldLeadTimeline: Boolean
"""Whether to show the project health field on the timeline."""
projectFieldHealthTimeline: Boolean
"""Whether to show the project milestone field on the timeline."""
projectFieldMilestoneTimeline: Boolean
"""Whether to show the project predictions field on the timeline."""
projectFieldPredictionsTimeline: Boolean
"""Whether to show the project relations field on the timeline."""
projectFieldRelationsTimeline: Boolean
"""Whether to show the project description field on the board."""
projectFieldDescriptionBoard: 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 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 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 zoom level for the timeline view."""
projectZoomLevel: String @deprecated(reason: "Use timelineZoomScale instead.")
"""The zoom scale for the timeline view."""
timelineZoomScale: Float
"""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 initiative grouping."""
initiativeGrouping: String
"""The initiative ordering."""
initiativesViewOrdering: String
"""Whether to show the initiative projects field."""
initiativeFieldProjects: Boolean
"""Whether to show the initiative teams field."""
initiativeFieldTeams: Boolean
"""Whether to show the initiative description field."""
initiativeFieldDescription: Boolean
"""Whether to show the initiative owner field."""
initiativeFieldOwner: Boolean
"""Whether to show the initiative start date field."""
initiativeFieldStartDate: Boolean
"""Whether to show the initiative target date field."""
initiativeFieldTargetDate: Boolean
"""Whether to show the initiative completed date field."""
initiativeFieldDateCompleted: Boolean
"""Whether to show the initiative updated date field."""
initiativeFieldDateUpdated: Boolean
"""Whether to show the initiative created date field."""
initiativeFieldDateCreated: Boolean
"""Whether to show the initiative activity field."""
initiativeFieldActivity: Boolean
"""Whether to show the initiative health field."""
initiativeFieldInitiativeHealth: Boolean
"""Whether to show the initiative active projects health field."""
initiativeFieldHealth: Boolean
"""Whether to show sub-initiatives nested."""
showNestedInitiatives: Boolean
"""The customers view ordering."""
customersViewOrdering: String
"""Whether to show the customer request count field."""
customerFieldRequestCount: Boolean
"""Whether to show the customer domains field."""
customerFieldDomains: Boolean
"""Whether to show the customer owner field."""
customerFieldOwner: 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
"""The customer page needs view grouping."""
customerPageNeedsViewGrouping: String
"""The customer page needs view ordering."""
customerPageNeedsViewOrdering: String
"""Whether to show important customer needs first."""
customerPageNeedsShowImportantFirst: Boolean
"""Whether to show completed issues and projects in the customer page."""
customerPageNeedsShowCompletedIssuesAndProjects: String
"""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
"""The embedded customer needs view ordering."""
embeddedCustomerNeedsViewOrdering: String
"""Whether to show important embedded customer needs first."""
embeddedCustomerNeedsShowImportantFirst: Boolean
"""The project customer needs view grouping."""
projectCustomerNeedsViewGrouping: String
"""The project customer needs view ordering."""
projectCustomerNeedsViewOrdering: String
"""Whether to show important project customer needs first."""
projectCustomerNeedsShowImportantFirst: Boolean
"""Whether to show completed issues last in project customer needs."""
projectCustomerNeedsShowCompletedIssuesLast: Boolean
"""The team view ordering."""
teamViewOrdering: String
"""Whether to show the team identifier field."""
teamFieldIdentifier: Boolean
"""Whether to show the team membership field."""
teamFieldMembership: Boolean
"""Whether to show the team owner field."""
teamFieldOwner: Boolean
"""Whether to show the team members field."""
teamFieldMembers: Boolean
"""Whether to show the team projects field."""
teamFieldProjects: 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
"""The custom views ordering."""
customViewsOrdering: String
"""Whether to show the custom view owner field."""
customViewFieldOwner: Boolean
"""Whether to show the custom view visibility field."""
customViewFieldVisibility: Boolean
"""Whether to show the custom view creation date field."""
customViewFieldDateCreated: Boolean
"""Whether to show the custom view updated date field."""
customViewFieldDateUpdated: Boolean
"""The dashboards ordering."""
dashboardsOrdering: String
"""Whether to show the dashboard owner field."""
dashboardFieldOwner: Boolean
"""Whether to show the dashboard creation date field."""
dashboardFieldDateCreated: Boolean
"""Whether to show the dashboard updated date field."""
dashboardFieldDateUpdated: Boolean
"""The workspace members view ordering."""
workspaceMembersViewOrdering: String
"""Whether to show the member status field."""
memberFieldStatus: Boolean
"""Whether to show the member joined date field."""
memberFieldJoined: Boolean
"""Whether to show the member teams field."""
memberFieldTeams: Boolean
"""The release pipeline grouping."""
releasePipelineGrouping: String
"""The release pipelines view ordering."""
releasePipelinesViewOrdering: String
"""Whether to show the type field for release pipelines."""
releasePipelineFieldType: Boolean
"""Whether to show the teams field for release pipelines."""
releasePipelineFieldTeams: Boolean
"""Whether to show the releases field for release pipelines."""
releasePipelineFieldReleases: Boolean
"""Whether to show the latest release field for release pipelines."""
releasePipelineFieldLatestRelease: Boolean
"""The scheduled pipeline releases view ordering."""
scheduledPipelineReleasesViewOrdering: String
"""The scheduled pipeline releases view grouping."""
scheduledPipelineReleasesViewGrouping: String
"""Whether to show the version field for scheduled pipeline releases."""
scheduledPipelineReleaseFieldVersion: Boolean
"""
Whether to show the release date field for scheduled pipeline releases.
"""
scheduledPipelineReleaseFieldReleaseDate: Boolean
"""Whether to show the completion field for scheduled pipeline releases."""
scheduledPipelineReleaseFieldCompletion: Boolean
"""Whether to show the description field for scheduled pipeline releases."""
scheduledPipelineReleaseFieldDescription: Boolean
"""The search view ordering."""
searchViewOrdering: String
"""The search result type filter."""
searchResultType: String
"""The inbox view ordering."""
inboxViewOrdering: String
"""The triage view ordering."""
triageViewOrdering: String
"""The focus view grouping."""
focusViewGrouping: String
"""The focus view ordering."""
focusViewOrdering: String
"""The focus view ordering direction."""
focusViewOrderingDirection: String
"""The review grouping."""
reviewGrouping: String
"""The review view ordering."""
reviewViewOrdering: String
"""Whether completed reviews are shown and for how long."""
showCompletedReviews: String
"""Whether to show draft reviews."""
showDraftReviews: Boolean
"""Whether to show the review avatar field."""
reviewFieldAvatar: Boolean
"""Whether to show the review preview links field."""
reviewFieldPreviewLinks: Boolean
"""Whether to show the review repository field."""
reviewFieldRepository: Boolean
"""Whether to show the review identifier field."""
reviewFieldIdentifier: Boolean
"""Whether to show the review checks field."""
reviewFieldChecks: Boolean
"""Whether completed agent sessions are shown and for how long."""
showCompletedAgentSessions: String
}
"""A label group column configuration for the project list view."""
type ViewPreferencesProjectLabelGroupColumn {
"""The identifier of the label group."""
id: String!
"""Whether the label group column is active."""
active: Boolean!
}
"""Labels that can be associated with issues."""
type IssueLabel implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The label's name."""
name: String!
"""The label's description."""
description: String
"""The label's color as a HEX string."""
color: String!
"""Whether the label is a group."""
isGroup: Boolean!
"""The date when the label was last applied to an issue or project."""
lastAppliedAt: DateTime
"""[Internal] When the label was retired."""
retiredAt: DateTime
organization: Organization! @deprecated(reason: "Workspace labels are identified by their team being null.")
"""
The team that the label is associated with. If null, the label is associated with the global workspace.
"""
team: Team
"""The user who created the label."""
creator: User
"""The user who retired the label."""
retiredBy: User
"""The parent label."""
parent: IssueLabel
"""The original label inherited from."""
inheritedFrom: IssueLabel
"""Issues associated with the label."""
issues(
"""Filter returned issues."""
filter: IssueFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueConnection!
"""Children of the label."""
children(
"""Filter returned issue labels."""
filter: IssueLabelFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueLabelConnection!
}
type IssueLabelConnection {
edges: [IssueLabelEdge!]!
nodes: [IssueLabel!]!
pageInfo: PageInfo!
}
type IssueLabelEdge {
node: IssueLabel!
"""Used in `before` and `after` args"""
cursor: String!
}
"""Labels that can be associated with projects."""
type ProjectLabel implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The label's name."""
name: String!
"""The label's description."""
description: String
"""The label's color as a HEX string."""
color: String!
"""Whether the label is a group."""
isGroup: Boolean!
"""The date when the label was last applied to an issue or project."""
lastAppliedAt: DateTime
"""[Internal] When the label was retired."""
retiredAt: DateTime
organization: Organization!
"""The user who created the label."""
creator: User
"""The user who retired the label."""
retiredBy: User
"""The parent label."""
parent: ProjectLabel
"""Projects associated with the label."""
projects(
"""Filter returned projects."""
filter: ProjectFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
"""[INTERNAL] Sort returned projects."""
sort: [ProjectSortInput!]
): ProjectConnection!
"""Children of the label."""
children(
"""Filter returned project labels."""
filter: ProjectLabelFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ProjectLabelConnection!
}
type ProjectLabelConnection {
edges: [ProjectLabelEdge!]!
nodes: [ProjectLabel!]!
pageInfo: PageInfo!
}
type ProjectLabelEdge {
node: ProjectLabel!
"""Used in `before` and `after` args"""
cursor: String!
}
"""A customer whose needs will be tied to issues or projects."""
type Customer implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The customer's name."""
name: String!
"""The customer's logo URL."""
logoUrl: String
"""The domains associated with this customer."""
domains: [String!]!
"""The ids of the customers in external systems."""
externalIds: [String!]!
"""The ID of the Slack channel used to interact with the customer."""
slackChannelId: String
"""The user who owns the customer."""
owner: User
"""The current status of the customer."""
status: CustomerStatus!
"""The annual revenue generated by the customer."""
revenue: Int
"""The size of the customer."""
size: Float
"""The tier of the customer."""
tier: CustomerTier
"""The approximate number of needs of the customer."""
approximateNeedCount: Float!
"""The customer's unique URL slug."""
slugId: String!
"""
The ID of the main source, when a customer has multiple sources. Must be one of externalIds.
"""
mainSourceId: String
"""Customer needs associated with this customer."""
needs: [CustomerNeed!]!
"""The integration that manages the Customer."""
integration: Integration
"""URL of the customer in Linear."""
url: String!
}
"""A customer status."""
type CustomerStatus implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The name of the status."""
name: String!
"""The UI color of the status as a HEX string."""
color: String!
"""Description of the status."""
description: String
"""The position of the status in the workspace's customers flow."""
position: Float!
"""The display name of the status."""
displayName: String!
"""The type of the customer status."""
type: CustomerStatusType @deprecated(reason: "Customer statuses are no longer grouped by type.")
}
"""[DEPRECATED] A type of customer status."""
enum CustomerStatusType {
active
inactive
}
"""A customer tier."""
type CustomerTier implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The name of the tier."""
name: String!
"""The UI color of the tier as a HEX string."""
color: String!
"""Description of the tier."""
description: String
"""The position of the tier in the workspace's customers flow."""
position: Float!
"""The display name of the tier."""
displayName: String!
}
"""
A customer need, expressed through a reference to an issue, project, or comment.
"""
type CustomerNeed implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The customer that this need is attached to."""
customer: Customer
"""The issue this need is referencing."""
issue: Issue
"""The project this need is referencing."""
project: Project
"""The comment this need is referencing."""
comment: Comment
"""The attachment this need is referencing."""
attachment: Attachment
"""The project attachment this need is referencing."""
projectAttachment: ProjectAttachment
"""
Whether the customer need is important or not. 0 = Not important, 1 = Important.
"""
priority: Float!
"""The need content in markdown format."""
body: String
"""[Internal] The content of the need as a Prosemirror document."""
bodyData: String
"""The creator of the customer need."""
creator: User
"""
The issue this customer need was originally created on. Will be undefined if the customer need hasn't been moved.
"""
originalIssue: Issue
"""The URL of the underlying attachment, if any"""
url: String
}
"""Issue attachment (e.g. support ticket, pull request)."""
type Attachment implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""Content for the title line in the Linear attachment widget."""
title: String!
"""Content for the subtitle line in the Linear attachment widget."""
subtitle: String
"""Location of the attachment which is also used as an identifier."""
url: String!
"""The creator of the attachment."""
creator: User
"""The non-Linear user who created the attachment."""
externalUserCreator: ExternalUser
"""Custom metadata related to the attachment."""
metadata: JSONObject!
"""Information about the source which created the attachment."""
source: JSONObject
"""
An accessor helper to source.type, defines the source type of the attachment.
"""
sourceType: String
"""
Indicates if attachments for the same source application should be grouped in the Linear UI.
"""
groupBySource: Boolean!
"""
The issue this attachment was originally created on. Will be undefined if the attachment hasn't been moved.
"""
originalIssue: Issue
"""The issue this attachment belongs to."""
issue: Issue!
"""The body data of the attachment, if any."""
bodyData: String
}
"""Project attachment"""
type ProjectAttachment implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""Title of the attachment."""
title: String!
"""Optional subtitle of the attachment"""
subtitle: String
"""URL of the attachment."""
url: String!
"""The creator of the attachment."""
creator: User
"""Custom metadata related to the attachment."""
metadata: JSONObject!
"""Information about the external source which created the attachment."""
source: JSONObject
"""
An accessor helper to source.type, defines the source type of the attachment.
"""
sourceType: String
}
"""An integration with an external service."""
type Integration implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The integration's type."""
service: String!
"""The organization that the integration is associated with."""
organization: Organization!
"""The team that the integration is associated with."""
team: Team
"""The user that added the integration."""
creator: User!
}
"""
[Internal] A dashboard, usually a collection of widgets to display several insights at once.
"""
type Dashboard implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The dashboard's unique URL slug."""
slugId: String!
"""The name of the dashboard."""
name: String!
"""The description of the dashboard."""
description: String
"""The icon of the dashboard."""
icon: String
"""The color of the icon of the dashboard."""
color: String
"""The sort order of the dashboard within the organization or its team."""
sortOrder: Float!
"""Whether the dashboard is shared with everyone in the organization."""
shared: Boolean!
"""The organization of the dashboard."""
organization: Organization!
"""The user who created the dashboard."""
creator: User
"""The user who last updated the dashboard."""
updatedBy: User
"""The owner of the dashboard."""
owner: User
"""The filter applied to all dashboard widgets showing issues data."""
issueFilter: JSONObject
"""The filter applied to all dashboard widgets showing projects data."""
projectFilter: JSONObject
"""The widgets on the dashboard."""
widgets: JSONObject!
}
"""[Internal] A release."""
type Release implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The name of the release."""
name: String!
"""The release's description."""
description: String
"""The version of the release."""
version: String
"""The commit SHA associated with this release."""
commitSha: String
"""The pipeline this release belongs to."""
pipeline: ReleasePipeline!
"""The current stage of the release."""
stage: ReleaseStage!
"""The user who created the release."""
creator: User
"""The release's unique URL slug."""
slugId: String!
"""The estimated start date of the release."""
startDate: TimelessDate
"""The estimated completion date of the release."""
targetDate: TimelessDate
"""The time at which the release was started."""
startedAt: DateTime
"""The time at which the release was completed."""
completedAt: DateTime
"""The time at which the release was canceled."""
canceledAt: DateTime
"""A flag that indicates whether the release is in the trash bin."""
trashed: Boolean
"""[Internal] The progress history of the release."""
progressHistory: JSONObject!
"""[Internal] The current progress of the release."""
currentProgress: JSONObject!
"""[Internal] History entries associated with the release."""
history(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ReleaseHistoryConnection!
"""Release URL."""
url: String!
"""[Internal] Documents associated with the release."""
documents(
"""Filter returned documents."""
filter: DocumentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): DocumentConnection!
"""[ALPHA] Issues associated with the release."""
issues(
"""Filter returned issues."""
filter: IssueFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueConnection!
"""[ALPHA] Number of issues associated with the release."""
issueCount(
"""Include archived issues in the count."""
includeArchived: Boolean = false
): Int!
"""[Internal] Links associated with the release."""
links(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): EntityExternalLinkConnection!
}
"""[Internal] A release pipeline."""
type ReleasePipeline implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The name of the pipeline."""
name: String!
"""The pipeline's unique slug identifier."""
slugId: String!
"""The type of the pipeline."""
type: ReleasePipelineType!
"""
[ALPHA] Whether this pipeline targets a production environment. Default to true.
"""
isProduction: Boolean!
"""Glob patterns to include commits affecting matching file paths."""
includePathPatterns: [String!]!
"""[ALPHA] The number of non-archived releases in this pipeline."""
approximateReleaseCount: Int!
"""[Internal] Release pipeline URL."""
url: String!
"""[ALPHA] Teams associated with this pipeline."""
teams(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): TeamConnection!
"""[ALPHA] Stages associated with this pipeline."""
stages(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ReleaseStageConnection!
"""[ALPHA] Releases associated with this pipeline."""
releases(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
"""[ALPHA] Sort returned releases."""
sort: [ReleaseSortInput!]
): ReleaseConnection!
}
"""A type of release pipeline."""
enum ReleasePipelineType {
continuous
scheduled
}
type TeamConnection {
edges: [TeamEdge!]!
nodes: [Team!]!
pageInfo: PageInfo!
}
type TeamEdge {
node: Team!
"""Used in `before` and `after` args"""
cursor: String!
}
type ReleaseStageConnection {
edges: [ReleaseStageEdge!]!
nodes: [ReleaseStage!]!
pageInfo: PageInfo!
}
type ReleaseStageEdge {
node: ReleaseStage!
"""Used in `before` and `after` args"""
cursor: String!
}
"""[Internal] A release stage."""
type ReleaseStage implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The name of the stage."""
name: String!
"""The UI color of the stage as a HEX string."""
color: String!
"""The type of the stage."""
type: ReleaseStageType!
"""The position of the stage."""
position: Float!
"""Whether this stage is frozen. Only applicable to started type stages."""
frozen: Boolean!
"""The pipeline this stage belongs to."""
pipeline: ReleasePipeline!
"""[ALPHA] Releases associated with this stage."""
releases(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ReleaseConnection!
}
type ReleaseConnection {
edges: [ReleaseEdge!]!
nodes: [Release!]!
pageInfo: PageInfo!
}
type ReleaseEdge {
node: Release!
"""Used in `before` and `after` args"""
cursor: String!
}
"""Release sorting options."""
input ReleaseSortInput {
"""Sort by release stage"""
stage: ReleaseStageSort
}
"""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
}
type ReleaseHistoryConnection {
edges: [ReleaseHistoryEdge!]!
nodes: [ReleaseHistory!]!
pageInfo: PageInfo!
}
type ReleaseHistoryEdge {
node: ReleaseHistory!
"""Used in `before` and `after` args"""
cursor: String!
}
"""[Internal] A release history containing relevant change events."""
type ReleaseHistory implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The events that happened while recording that history."""
entries: JSONObject!
"""The release that the history is associated with."""
release: Release!
}
type InitiativeToProjectConnection {
edges: [InitiativeToProjectEdge!]!
nodes: [InitiativeToProject!]!
pageInfo: PageInfo!
}
type InitiativeToProjectEdge {
node: InitiativeToProject!
"""Used in `before` and `after` args"""
cursor: String!
}
"""Join table between projects and initiatives."""
type InitiativeToProject implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The project that the initiative is associated with."""
project: Project!
"""The initiative that the project is associated with."""
initiative: Initiative!
"""The sort order of the project within the initiative."""
sortOrder: String!
}
type UserConnection {
edges: [UserEdge!]!
nodes: [User!]!
pageInfo: PageInfo!
}
type UserEdge {
node: User!
"""Used in `before` and `after` args"""
cursor: String!
}
type ProjectUpdateConnection {
edges: [ProjectUpdateEdge!]!
nodes: [ProjectUpdate!]!
pageInfo: PageInfo!
}
type ProjectUpdateEdge {
node: ProjectUpdate!
"""Used in `before` and `after` args"""
cursor: String!
}
type ProjectMilestoneConnection {
edges: [ProjectMilestoneEdge!]!
nodes: [ProjectMilestone!]!
pageInfo: PageInfo!
}
type ProjectMilestoneEdge {
node: ProjectMilestone!
"""Used in `before` and `after` args"""
cursor: String!
}
type ProjectAttachmentConnection {
edges: [ProjectAttachmentEdge!]!
nodes: [ProjectAttachment!]!
pageInfo: PageInfo!
}
type ProjectAttachmentEdge {
node: ProjectAttachment!
"""Used in `before` and `after` args"""
cursor: String!
}
type ProjectHistoryConnection {
edges: [ProjectHistoryEdge!]!
nodes: [ProjectHistory!]!
pageInfo: PageInfo!
}
type ProjectHistoryEdge {
node: ProjectHistory!
"""Used in `before` and `after` args"""
cursor: String!
}
"""An history associated with a project."""
type ProjectHistory implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The events that happened while recording that history."""
entries: JSONObject!
"""The project that the history is associated with."""
project: Project!
}
type ProjectRelationConnection {
edges: [ProjectRelationEdge!]!
nodes: [ProjectRelation!]!
pageInfo: PageInfo!
}
type ProjectRelationEdge {
node: ProjectRelation!
"""Used in `before` and `after` args"""
cursor: String!
}
"""A relation between two projects."""
type ProjectRelation implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The relationship of the project with the related project."""
type: String!
"""The project whose relationship is being described."""
project: Project!
"""
The milestone within the project whose relationship is being described.
"""
projectMilestone: ProjectMilestone
"""The type of anchor on the project end of the relation."""
anchorType: String!
"""The related project."""
relatedProject: Project!
"""
The milestone within the related project whose relationship is being described.
"""
relatedProjectMilestone: ProjectMilestone
"""The type of anchor on the relatedProject end of the relation."""
relatedAnchorType: String!
"""The last user who created or modified the relation."""
user: User
}
type CustomerNeedConnection {
edges: [CustomerNeedEdge!]!
nodes: [CustomerNeed!]!
pageInfo: PageInfo!
}
type CustomerNeedEdge {
node: CustomerNeed!
"""Used in `before` and `after` args"""
cursor: String!
}
"""Linear supported integration services."""
enum IntegrationService {
airbyte
discord
figma
figmaPlugin
front
github
gong
githubEnterpriseServer
githubCommit
githubImport
githubPersonal
githubCodeAccessPersonal
gitlab
googleCalendarPersonal
googleSheets
intercom
jira
jiraPersonal
launchDarkly
launchDarklyPersonal
loom
notion
opsgenie
pagerDuty
salesforce
slack
slackAsks
asksWeb
slackCustomViewNotifications
slackOrgProjectUpdatesPost
slackOrgInitiativeUpdatesPost
slackPersonal
slackPost
slackProjectPost
slackProjectUpdatesPost
slackInitiativePost
sentry
zendesk
email
mcpServerPersonal
mcpServer
microsoftTeams
microsoftPersonal
}
type IssueSharedAccess {
"""Whether this issue has been shared with users outside the team."""
isShared: Boolean!
"""Whether the viewer can access this issue only through issue sharing."""
viewerHasOnlySharedAccess: Boolean!
"""The number of users this issue is shared with."""
sharedWithCount: Int!
"""Users this issue is shared with."""
sharedWithUsers: [User!]!
"""
Issue update fields the viewer cannot modify due to shared-only access.
"""
disallowedIssueFields: [IssueSharedAccessDisallowedField!]!
}
"""
Issue update fields that are disallowed for users with only shared access.
"""
enum IssueSharedAccessDisallowedField {
projectId
teamId
cycleId
projectMilestoneId
}
type IssueHistoryConnection {
edges: [IssueHistoryEdge!]!
nodes: [IssueHistory!]!
pageInfo: PageInfo!
}
type IssueHistoryEdge {
node: IssueHistory!
"""Used in `before` and `after` args"""
cursor: String!
}
"""A record of changes to an issue."""
type IssueHistory implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The issue that was changed."""
issue: Issue!
"""
The id of user who made these changes. If null, possibly means that the change made by an integration.
"""
actorId: String
"""Whether the issue's description was updated."""
updatedDescription: Boolean
"""What the title was changed from."""
fromTitle: String
"""What the title was changed to."""
toTitle: String
"""The id of user from whom the issue was re-assigned from."""
fromAssigneeId: String
"""The id of user to whom the issue was assigned to."""
toAssigneeId: String
"""What the priority was changed from."""
fromPriority: Float
"""What the priority was changed to."""
toPriority: Float
"""The id of team from which the issue was moved from."""
fromTeamId: String
"""The id of team to which the issue was moved to."""
toTeamId: String
"""The id of previous parent of the issue."""
fromParentId: String
"""The id of new parent of the issue."""
toParentId: String
"""The id of previous workflow state of the issue."""
fromStateId: String
"""The id of new workflow state of the issue."""
toStateId: String
"""The id of previous cycle of the issue."""
fromCycleId: String
"""The id of new cycle of the issue."""
toCycleId: String
"""The id of new project created from the issue."""
toConvertedProjectId: String
"""The id of previous project of the issue."""
fromProjectId: String
"""The id of new project of the issue."""
toProjectId: String
"""What the estimate was changed from."""
fromEstimate: Float
"""What the estimate was changed to."""
toEstimate: Float
"""Whether the issue is archived at the time of this history entry."""
archived: Boolean
"""Whether the issue was trashed or un-trashed."""
trashed: Boolean
"""The id of linked attachment."""
attachmentId: String
"""ID's of labels that were added."""
addedLabelIds: [String!]
"""ID's of labels that were removed."""
removedLabelIds: [String!]
"""[ALPHA] ID's of releases that the issue was added to."""
addedToReleaseIds: [String!]
"""[ALPHA] ID's of releases that the issue was removed from."""
removedFromReleaseIds: [String!]
"""Changed issue relationships."""
relationChanges: [IssueRelationHistoryPayload!]
"""Whether the issue was auto-closed."""
autoClosed: Boolean
"""Whether the issue was auto-archived."""
autoArchived: Boolean
"""What the due date was changed from."""
fromDueDate: TimelessDate
"""What the due date was changed to."""
toDueDate: TimelessDate
"""The id of linked customer need."""
customerNeedId: String
"""
[Internal] Serialized JSON representing changes for certain non-relational properties.
"""
changes: JSONObject
"""
The actor that performed the actions. This field may be empty in the case of integrations or automations.
"""
actor: User
"""
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.")
"""The actors that edited the description of the issue, if any."""
descriptionUpdatedBy: [User!]
"""The user that was unassigned from the issue."""
fromAssignee: User
"""The user that was assigned to the issue."""
toAssignee: User
"""The cycle that the issue was moved from."""
fromCycle: Cycle
"""The cycle that the issue was moved to."""
toCycle: Cycle
"""The new project created from the issue."""
toConvertedProject: Project
"""The app user from whom the issue delegation was transferred."""
fromDelegate: User
"""The app user to whom the issue delegation was transferred."""
toDelegate: User
"""The project that the issue was moved from."""
fromProject: Project
"""The project that the issue was moved to."""
toProject: Project
"""The state that the issue was moved from."""
fromState: WorkflowState
"""The state that the issue was moved to."""
toState: WorkflowState
"""The team that the issue was moved from."""
fromTeam: Team
"""The team that the issue was moved to."""
toTeam: Team
"""The parent issue that the issue was moved from."""
fromParent: Issue
"""The parent issue that the issue was moved to."""
toParent: Issue
"""The linked attachment."""
attachment: Attachment
"""The import record."""
issueImport: IssueImport
"""The users that were notified of the issue."""
triageResponsibilityNotifiedUsers: [User!]
"""
Boolean indicating if the issue was auto-assigned using the triage responsibility feature.
"""
triageResponsibilityAutoAssigned: Boolean
"""The team that triggered the triage responsibility action."""
triageResponsibilityTeam: Team
"""The project milestone that the issue was moved from."""
fromProjectMilestone: ProjectMilestone
"""The project milestone that the issue was moved to."""
toProjectMilestone: ProjectMilestone
"""The time at which the issue's SLA was previously started."""
fromSlaStartedAt: DateTime
"""The time at which the issue's SLA is now started."""
toSlaStartedAt: DateTime
"""The SLA breach time that was previously set on the issue."""
fromSlaBreachesAt: DateTime
"""The SLA breach time that is now set on the issue."""
toSlaBreachesAt: DateTime
"""Whether the issue had previously breached its SLA."""
fromSlaBreached: Boolean
"""Whether the issue has now breached its SLA."""
toSlaBreached: Boolean
"""The type of SLA that was previously set on the issue."""
fromSlaType: String
"""The type of SLA that is now set on the issue."""
toSlaType: String
"""The bot that performed the action."""
botActor: ActorBot
"""The labels that were added to the issue."""
addedLabels: [IssueLabel!]
"""The labels that were removed from the issue."""
removedLabels: [IssueLabel!]
"""The releases that the issue was added to."""
addedToReleases: [Release!]
"""The releases that the issue was removed from."""
removedFromReleases: [Release!]
"""
[INTERNAL] Metadata about the triage rule that made changes to the issue.
"""
triageRuleMetadata: IssueHistoryTriageRuleMetadata @deprecated(reason: "Use `workflowMetadata` instead.")
"""[INTERNAL] Metadata about the workflow that made changes to the issue."""
workflowMetadata: IssueHistoryWorkflowMetadata
}
"""Issue relation history's payload."""
type IssueRelationHistoryPayload {
"""The identifier of the related issue."""
identifier: String!
"""The type of the change."""
type: String!
}
"""An import job for data from an external service."""
type IssueImport implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""New team's name in cases when teamId not set."""
teamName: String
"""The id for the user that started the job."""
creatorId: String
"""The service from which data will be imported."""
service: String!
"""The status for the import job."""
status: String!
"""The data mapping configuration for the import job."""
mapping: JSONObject
"""User readable error message, if one has occurred during the import."""
error: String
"""Current step progress in % (0-100)."""
progress: Float
"""File URL for the uploaded CSV for the import, if there is one."""
csvFileUrl: String
"""Error code and metadata, if one has occurred during the import."""
errorMetadata: JSONObject
"""Metadata related to import service."""
serviceMetadata: JSONObject
"""The display name of the import service."""
displayName: String!
}
"""Metadata about a triage rule that made changes to an issue."""
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.")
}
"""An error that occurred during triage rule execution."""
type IssueHistoryTriageRuleError {
"""The type of error that occurred."""
type: TriageRuleErrorType!
"""The property that caused the error."""
property: String
"""Whether the conflict was for the same child label."""
conflictForSameChildLabel: Boolean
"""The team the issue was being moved from."""
fromTeam: Team
"""The team the issue was being moved to."""
toTeam: Team
"""The conflicting labels."""
conflictingLabels: [IssueLabel!]
}
"""The type of error that occurred during triage rule execution."""
enum TriageRuleErrorType {
cycle
default
labelGroupConflict
}
type WorkflowDefinition implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The name of the workflow."""
name: String!
"""The name of the group that the workflow belongs to."""
groupName: String
"""The description of the workflow."""
description: String
"""The type of the workflow."""
type: WorkflowType!
"""The type of the event that triggers off the workflow."""
trigger: WorkflowTrigger!
"""The object type (e.g. Issue) that triggers this workflow."""
triggerType: WorkflowTriggerType!
"""The conditions that need to be match for the workflow to be triggered."""
conditions: JSONObject
enabled: Boolean!
"""
The team associated with the workflow. If not set, the workflow is associated with the entire organization.
"""
team: Team
"""The user who created the workflow."""
creator: User!
"""An array of activities that will be executed as part of the workflow."""
activities: JSONObject!
"""The sort order of the workflow definition within its siblings."""
sortOrder: String!
"""The date when the workflow was last executed."""
lastExecutedAt: DateTime
"""The user who last updated the workflow."""
lastUpdatedBy: User
"""The contextual label view associated with the workflow."""
label: IssueLabel
"""The contextual cycle view associated with the workflow."""
cycle: Cycle
"""The contextual user view associated with the workflow."""
user: User
"""The contextual project view associated with the workflow."""
project: Project
"""The contextual initiative view associated with the workflow."""
initiative: Initiative
"""The context custom view associated with the workflow."""
customView: CustomView
"""The type of view to which this workflow's context is associated with."""
contextViewType: ContextViewType
"""
The type of user view to which this workflow's context is associated with.
"""
userContextViewType: UserContextViewType
"""The workflow definition's unique URL slug."""
slugId: String!
}
enum WorkflowType {
sla
automation
viewSubscription
triage
triageAutomation
}
enum WorkflowTrigger {
entityCreated
entityUpdated
entityCreatedOrUpdated
entityRemoved
entityUnarchived
}
enum WorkflowTriggerType {
issue
project
release
}
enum UserContextViewType {
assigned
}
"""Metadata about a workflow that made changes to an issue."""
type IssueHistoryWorkflowMetadata {
"""The workflow definition that triggered the issue update."""
workflowDefinition: WorkflowDefinition
"""The AI conversation associated with the workflow."""
aiConversation: AiConversation
}
"""[Internal] A conversation between a user and an LLM."""
type AiConversation implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The user who the conversation belongs to."""
user: User
"""
Serialized JSON representing the contexts this conversation is related to.
"""
context: JSONObject!
"""A summary of the conversation."""
summary: String
"""[Internal] The workflow definition that created this conversation."""
workflowDefinition: WorkflowDefinition
"""The initial source of the conversation."""
initialSource: AiConversationInitialSource!
"""The status of the conversation."""
status: AiConversationStatus!
"""
The time at when the user marked the conversation as read. Null, if the user hasn't read the conversation.
"""
readAt: DateTime
"""The parts of the conversation."""
parts: [AiConversationPart!]
"""The iteration ID of the conversation in agentic workflow."""
iterationId: String
"""[Internal] The log ID of the AI response."""
evalLogId: String
}
"""The initial source of an AI conversation."""
enum AiConversationInitialSource {
slack
microsoftTeams
directChat
comment
pullRequestComment
workflow
}
"""The status of an AI conversation."""
enum AiConversationStatus {
active
complete
awaitingInput
error
pending
}
"""A part in an AI conversation."""
union AiConversationPart = AiConversationPromptPart | AiConversationTextPart | AiConversationReasoningPart | AiConversationToolCallPart | AiConversationWidgetPart
"""A prompt part in an AI conversation."""
type AiConversationPromptPart implements AiConversationBasePart {
"""The ID of the part."""
id: String!
"""The type of the part."""
type: AiConversationPartType!
"""The metadata of the part."""
metadata: AiConversationPartMetadata!
"""The data of the prompt part."""
bodyData: JSONObject!
"""The Markdown body of the prompt part."""
body: String!
"""The user who created the prompt part."""
user: User
}
"""A base part in an AI conversation."""
interface AiConversationBasePart {
"""The ID of the part."""
id: String!
"""The type of the part."""
type: AiConversationPartType!
"""The metadata of the part."""
metadata: AiConversationPartMetadata!
}
"""The type of a part in an AI conversation."""
enum AiConversationPartType {
prompt
toolCall
reasoning
text
widget
widgetPlaceholder
}
"""Metadata about a part in an AI conversation."""
type AiConversationPartMetadata {
"""The turn ID of the part."""
turnId: String!
"""The eval log ID of the part."""
evalLogId: String
"""The started timestamp of the part."""
startedAt: String
"""The ended timestamp of the part."""
endedAt: String
"""The phase during which the part was generated."""
phase: AiConversationPartPhase
"""AI feedback state for this part."""
feedback: JSONObject
}
"""The phase during which a conversation part was generated."""
enum AiConversationPartPhase {
commentary
answer
}
"""A text part in an AI conversation."""
type AiConversationTextPart implements AiConversationBasePart {
"""The ID of the part."""
id: String!
"""The type of the part."""
type: AiConversationPartType!
"""The metadata of the part."""
metadata: AiConversationPartMetadata!
"""The data of the text part."""
bodyData: JSONObject!
"""The Markdown body of the text part."""
body: String!
}
"""A reasoning part in an AI conversation."""
type AiConversationReasoningPart implements AiConversationBasePart {
"""The ID of the part."""
id: String!
"""The type of the part."""
type: AiConversationPartType!
"""The metadata of the part."""
metadata: AiConversationPartMetadata!
"""The title of the reasoning part."""
title: String
"""The data of the reasoning part."""
bodyData: JSONObject!
"""The Markdown body of the reasoning part."""
body: String!
}
"""A tool call part in an AI conversation."""
type AiConversationToolCallPart implements AiConversationBasePart {
"""The ID of the part."""
id: String!
"""The type of the part."""
type: AiConversationPartType!
"""The metadata of the part."""
metadata: AiConversationPartMetadata!
"""The tool call part."""
toolCall: AiConversationToolCall!
}
"""The tool call."""
union AiConversationToolCall = AiConversationSearchEntitiesToolCall | AiConversationRetrieveEntitiesToolCall | AiConversationQueryViewToolCall | AiConversationQueryActivityToolCall | AiConversationQueryUpdatesToolCall | AiConversationSuggestValuesToolCall | AiConversationCreateEntityToolCall | AiConversationUpdateEntityToolCall | AiConversationDeleteEntityToolCall | AiConversationRestoreEntityToolCall | AiConversationResearchToolCall | AiConversationCodeIntelligenceToolCall | AiConversationGetPullRequestDiffToolCall | AiConversationGetPullRequestFileToolCall | AiConversationTranscribeVideoToolCall | AiConversationTranscribeMediaToolCall | AiConversationSearchDocumentationToolCall | AiConversationWebSearchToolCall | AiConversationGetSlackConversationHistoryToolCall | AiConversationGetMicrosoftTeamsConversationHistoryToolCall | AiConversationInvokeMcpToolToolCall
type AiConversationSearchEntitiesToolCall implements AiConversationBaseToolCall {
"""The name of the tool that was called."""
name: AiConversationTool!
displayInfo: AiConversationToolDisplayInfo!
"""The arguments of the tool call."""
rawArgs: JSON
"""The result of the tool call."""
rawResult: JSON
"""The arguments to the tool call."""
args: AiConversationSearchEntitiesToolCallArgs
"""The result of the tool call."""
result: AiConversationSearchEntitiesToolCallResult
}
interface AiConversationBaseToolCall {
"""The name of the tool that was called."""
name: AiConversationTool!
displayInfo: AiConversationToolDisplayInfo!
"""The arguments of the tool call."""
rawArgs: JSON
"""The result of the tool call."""
rawResult: JSON
}
"""The name of a tool that was called in an AI conversation."""
enum AiConversationTool {
SearchEntities
RetrieveEntities
QueryView
QueryActivity
QueryUpdates
SuggestValues
CreateEntity
UpdateEntity
DeleteEntity
RestoreEntity
Research
CodeIntelligence
GetPullRequestDiff
GetPullRequestFile
TranscribeVideo
TranscribeMedia
SearchDocumentation
WebSearch
GetSlackConversationHistory
GetMicrosoftTeamsConversationHistory
InvokeMcpTool
}
type AiConversationToolDisplayInfo {
icon: String!
activeLabel: String!
inactiveLabel: String!
detail: String
result: String
}
type AiConversationSearchEntitiesToolCallArgs {
type: String
queries: [String!]!
}
type AiConversationSearchEntitiesToolCallResult {
entities: [AiConversationSearchEntitiesToolCallResultEntities!]!
}
type AiConversationSearchEntitiesToolCallResultEntities {
type: String!
id: String!
}
type AiConversationRetrieveEntitiesToolCall implements AiConversationBaseToolCall {
"""The name of the tool that was called."""
name: AiConversationTool!
displayInfo: AiConversationToolDisplayInfo!
"""The arguments of the tool call."""
rawArgs: JSON
"""The result of the tool call."""
rawResult: JSON
"""The arguments to the tool call."""
args: AiConversationRetrieveEntitiesToolCallArgs
}
type AiConversationRetrieveEntitiesToolCallArgs {
entities: [AiConversationSearchEntitiesToolCallResultEntities!]!
}
type AiConversationQueryViewToolCall implements AiConversationBaseToolCall {
"""The name of the tool that was called."""
name: AiConversationTool!
displayInfo: AiConversationToolDisplayInfo!
"""The arguments of the tool call."""
rawArgs: JSON
"""The result of the tool call."""
rawResult: JSON
"""The arguments to the tool call."""
args: AiConversationQueryViewToolCallArgs
}
type AiConversationQueryViewToolCallArgs {
view: AiConversationQueryViewToolCallArgsView!
mode: AiConversationQueryViewToolCallArgsMode!
filter: String
}
type AiConversationQueryViewToolCallArgsView {
type: String!
group: AiConversationSearchEntitiesToolCallResultEntities
predefinedView: String
}
enum AiConversationQueryViewToolCallArgsMode {
list
insight
}
type AiConversationQueryActivityToolCall implements AiConversationBaseToolCall {
"""The name of the tool that was called."""
name: AiConversationTool!
displayInfo: AiConversationToolDisplayInfo!
"""The arguments of the tool call."""
rawArgs: JSON
"""The result of the tool call."""
rawResult: JSON
"""The arguments to the tool call."""
args: AiConversationQueryActivityToolCallArgs
}
type AiConversationQueryActivityToolCallArgs {
entities: [AiConversationSearchEntitiesToolCallResultEntities!]
}
type AiConversationQueryUpdatesToolCall implements AiConversationBaseToolCall {
"""The name of the tool that was called."""
name: AiConversationTool!
displayInfo: AiConversationToolDisplayInfo!
"""The arguments of the tool call."""
rawArgs: JSON
"""The result of the tool call."""
rawResult: JSON
"""The arguments to the tool call."""
args: AiConversationQueryUpdatesToolCallArgs
}
type AiConversationQueryUpdatesToolCallArgs {
updateType: AiConversationQueryUpdatesToolCallArgsUpdateType!
entity: AiConversationSearchEntitiesToolCallResultEntities
}
enum AiConversationQueryUpdatesToolCallArgsUpdateType {
ProjectUpdate
InitiativeUpdate
}
type AiConversationSuggestValuesToolCall implements AiConversationBaseToolCall {
"""The name of the tool that was called."""
name: AiConversationTool!
displayInfo: AiConversationToolDisplayInfo!
"""The arguments of the tool call."""
rawArgs: JSON
"""The result of the tool call."""
rawResult: JSON
"""The arguments to the tool call."""
args: AiConversationSuggestValuesToolCallArgs
}
type AiConversationSuggestValuesToolCallArgs {
field: String!
query: String
}
type AiConversationCreateEntityToolCall implements AiConversationBaseToolCall {
"""The name of the tool that was called."""
name: AiConversationTool!
displayInfo: AiConversationToolDisplayInfo!
"""The arguments of the tool call."""
rawArgs: JSON
"""The result of the tool call."""
rawResult: JSON
"""The arguments to the tool call."""
args: AiConversationCreateEntityToolCallArgs
}
type AiConversationCreateEntityToolCallArgs {
type: String!
count: Float
}
type AiConversationUpdateEntityToolCall implements AiConversationBaseToolCall {
"""The name of the tool that was called."""
name: AiConversationTool!
displayInfo: AiConversationToolDisplayInfo!
"""The arguments of the tool call."""
rawArgs: JSON
"""The result of the tool call."""
rawResult: JSON
"""The arguments to the tool call."""
args: AiConversationUpdateEntityToolCallArgs
}
type AiConversationUpdateEntityToolCallArgs {
entity: AiConversationSearchEntitiesToolCallResultEntities
entities: [AiConversationSearchEntitiesToolCallResultEntities!]
}
type AiConversationDeleteEntityToolCall implements AiConversationBaseToolCall {
"""The name of the tool that was called."""
name: AiConversationTool!
displayInfo: AiConversationToolDisplayInfo!
"""The arguments of the tool call."""
rawArgs: JSON
"""The result of the tool call."""
rawResult: JSON
"""The arguments to the tool call."""
args: AiConversationDeleteEntityToolCallArgs
}
type AiConversationDeleteEntityToolCallArgs {
entity: AiConversationSearchEntitiesToolCallResultEntities!
}
type AiConversationRestoreEntityToolCall implements AiConversationBaseToolCall {
"""The name of the tool that was called."""
name: AiConversationTool!
displayInfo: AiConversationToolDisplayInfo!
"""The arguments of the tool call."""
rawArgs: JSON
"""The result of the tool call."""
rawResult: JSON
"""The arguments to the tool call."""
args: AiConversationRestoreEntityToolCallArgs
}
type AiConversationRestoreEntityToolCallArgs {
entity: AiConversationSearchEntitiesToolCallResultEntities!
}
type AiConversationResearchToolCall implements AiConversationBaseToolCall {
"""The name of the tool that was called."""
name: AiConversationTool!
displayInfo: AiConversationToolDisplayInfo!
"""The arguments of the tool call."""
rawArgs: JSON
"""The result of the tool call."""
rawResult: JSON
"""The arguments to the tool call."""
args: AiConversationResearchToolCallArgs
"""The result of the tool call."""
result: AiConversationResearchToolCallResult
}
type AiConversationResearchToolCallArgs {
context: String!
query: String!
subjects: [AiConversationSearchEntitiesToolCallResultEntities!]
}
type AiConversationResearchToolCallResult {
progressId: String
}
type AiConversationCodeIntelligenceToolCall implements AiConversationBaseToolCall {
"""The name of the tool that was called."""
name: AiConversationTool!
displayInfo: AiConversationToolDisplayInfo!
"""The arguments of the tool call."""
rawArgs: JSON
"""The result of the tool call."""
rawResult: JSON
"""The arguments to the tool call."""
args: AiConversationCodeIntelligenceToolCallArgs
}
type AiConversationCodeIntelligenceToolCallArgs {
question: String!
}
type AiConversationGetPullRequestDiffToolCall implements AiConversationBaseToolCall {
"""The name of the tool that was called."""
name: AiConversationTool!
displayInfo: AiConversationToolDisplayInfo!
"""The arguments of the tool call."""
rawArgs: JSON
"""The result of the tool call."""
rawResult: JSON
"""The arguments to the tool call."""
args: AiConversationGetPullRequestDiffToolCallArgs
}
type AiConversationGetPullRequestDiffToolCallArgs {
entity: AiConversationSearchEntitiesToolCallResultEntities!
}
type AiConversationGetPullRequestFileToolCall implements AiConversationBaseToolCall {
"""The name of the tool that was called."""
name: AiConversationTool!
displayInfo: AiConversationToolDisplayInfo!
"""The arguments of the tool call."""
rawArgs: JSON
"""The result of the tool call."""
rawResult: JSON
"""The arguments to the tool call."""
args: AiConversationGetPullRequestFileToolCallArgs
}
type AiConversationGetPullRequestFileToolCallArgs {
entity: AiConversationSearchEntitiesToolCallResultEntities!
path: String!
}
type AiConversationTranscribeVideoToolCall implements AiConversationBaseToolCall {
"""The name of the tool that was called."""
name: AiConversationTool!
displayInfo: AiConversationToolDisplayInfo!
"""The arguments of the tool call."""
rawArgs: JSON
"""The result of the tool call."""
rawResult: JSON
}
type AiConversationTranscribeMediaToolCall implements AiConversationBaseToolCall {
"""The name of the tool that was called."""
name: AiConversationTool!
displayInfo: AiConversationToolDisplayInfo!
"""The arguments of the tool call."""
rawArgs: JSON
"""The result of the tool call."""
rawResult: JSON
}
type AiConversationSearchDocumentationToolCall implements AiConversationBaseToolCall {
"""The name of the tool that was called."""
name: AiConversationTool!
displayInfo: AiConversationToolDisplayInfo!
"""The arguments of the tool call."""
rawArgs: JSON
"""The result of the tool call."""
rawResult: JSON
}
type AiConversationWebSearchToolCall implements AiConversationBaseToolCall {
"""The name of the tool that was called."""
name: AiConversationTool!
displayInfo: AiConversationToolDisplayInfo!
"""The arguments of the tool call."""
rawArgs: JSON
"""The result of the tool call."""
rawResult: JSON
"""The arguments to the tool call."""
args: AiConversationWebSearchToolCallArgs
}
type AiConversationWebSearchToolCallArgs {
query: String
url: String
}
type AiConversationGetSlackConversationHistoryToolCall implements AiConversationBaseToolCall {
"""The name of the tool that was called."""
name: AiConversationTool!
displayInfo: AiConversationToolDisplayInfo!
"""The arguments of the tool call."""
rawArgs: JSON
"""The result of the tool call."""
rawResult: JSON
}
type AiConversationGetMicrosoftTeamsConversationHistoryToolCall implements AiConversationBaseToolCall {
"""The name of the tool that was called."""
name: AiConversationTool!
displayInfo: AiConversationToolDisplayInfo!
"""The arguments of the tool call."""
rawArgs: JSON
"""The result of the tool call."""
rawResult: JSON
}
type AiConversationInvokeMcpToolToolCall implements AiConversationBaseToolCall {
"""The name of the tool that was called."""
name: AiConversationTool!
displayInfo: AiConversationToolDisplayInfo!
"""The arguments of the tool call."""
rawArgs: JSON
"""The result of the tool call."""
rawResult: JSON
"""The arguments to the tool call."""
args: AiConversationInvokeMcpToolToolCallArgs
}
type AiConversationInvokeMcpToolToolCallArgs {
server: AiConversationInvokeMcpToolToolCallArgsServer!
tool: AiConversationInvokeMcpToolToolCallArgsTool!
}
type AiConversationInvokeMcpToolToolCallArgsServer {
integrationId: String!
name: String!
title: String
}
type AiConversationInvokeMcpToolToolCallArgsTool {
name: String!
title: String
}
"""A widget part in an AI conversation."""
type AiConversationWidgetPart implements AiConversationBasePart {
"""The ID of the part."""
id: String!
"""The type of the part."""
type: AiConversationPartType!
"""The metadata of the part."""
metadata: AiConversationPartMetadata!
"""The widget."""
widget: AiConversationWidget!
}
"""The widget."""
union AiConversationWidget = AiConversationEntityCardWidget | AiConversationEntityListWidget
type AiConversationEntityCardWidget implements AiConversationBaseWidget {
"""The name of the widget."""
name: AiConversationWidgetName!
"""The arguments of the widget."""
rawArgs: JSON
"""
Display information for the widget, including ProseMirror and Markdown representations.
"""
displayInfo: AiConversationWidgetDisplayInfo
"""The arguments to the widget."""
args: AiConversationEntityCardWidgetArgs
}
interface AiConversationBaseWidget {
"""The name of the widget."""
name: AiConversationWidgetName!
"""The arguments of the widget."""
rawArgs: JSON
"""
Display information for the widget, including ProseMirror and Markdown representations.
"""
displayInfo: AiConversationWidgetDisplayInfo
}
"""The name of a widget in an AI conversation."""
enum AiConversationWidgetName {
EntityCard
EntityList
}
type AiConversationWidgetDisplayInfo {
"""The ProseMirror data representation of the widget content."""
bodyData: JSONObject!
"""The Markdown representation of the widget content."""
body: String!
}
type AiConversationEntityCardWidgetArgs {
"""[Internal] The entity type"""
type: AiConversationEntityCardWidgetArgsType!
"""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")
"""The action performed on the entity (leave empty if just found)"""
action: AiConversationEntityCardWidgetArgsAction
}
"""[Internal] The entity type"""
enum AiConversationEntityCardWidgetArgsType {
Issue
Project
Initiative
InitiativeUpdate
ProjectUpdate
Team
Template
Customer
CustomerNeed
Document
CustomView
PullRequest
Release
ReleasePipeline
AiPrompt
}
"""The action performed on the entity (leave empty if just found)"""
enum AiConversationEntityCardWidgetArgsAction {
created
updated
}
type AiConversationEntityListWidget implements AiConversationBaseWidget {
"""The name of the widget."""
name: AiConversationWidgetName!
"""The arguments of the widget."""
rawArgs: JSON
"""
Display information for the widget, including ProseMirror and Markdown representations.
"""
displayInfo: AiConversationWidgetDisplayInfo
"""The arguments to the widget."""
args: AiConversationEntityListWidgetArgs
}
type AiConversationEntityListWidgetArgs {
"""Total number of entities in the list"""
count: Float
entities: [AiConversationEntityListWidgetArgsEntities!]!
"""The action performed on the entities (leave empty if just found)"""
action: AiConversationEntityListWidgetArgsAction
}
type AiConversationEntityListWidgetArgsEntities {
"""[Internal] The entity type"""
type: AiConversationEntityListWidgetArgsEntitiesType!
"""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"""
enum AiConversationEntityListWidgetArgsEntitiesType {
Issue
Project
Initiative
InitiativeUpdate
ProjectUpdate
Team
Template
Customer
CustomerNeed
Document
CustomView
PullRequest
Release
ReleasePipeline
AiPrompt
}
"""The action performed on the entities (leave empty if just found)"""
enum AiConversationEntityListWidgetArgsAction {
created
updated
}
type IssueRelationConnection {
edges: [IssueRelationEdge!]!
nodes: [IssueRelation!]!
pageInfo: PageInfo!
}
type IssueRelationEdge {
node: IssueRelation!
"""Used in `before` and `after` args"""
cursor: String!
}
"""A relation between two issues."""
type IssueRelation implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The relationship of the issue with the related issue."""
type: String!
"""The issue whose relationship is being described."""
issue: Issue!
"""The related issue."""
relatedIssue: Issue!
}
type AttachmentConnection {
edges: [AttachmentEdge!]!
nodes: [Attachment!]!
pageInfo: PageInfo!
}
type AttachmentEdge {
node: Attachment!
"""Used in `before` and `after` args"""
cursor: String!
}
type IssueSuggestionConnection {
edges: [IssueSuggestionEdge!]!
nodes: [IssueSuggestion!]!
pageInfo: PageInfo!
}
type IssueSuggestionEdge {
node: IssueSuggestion!
"""Used in `before` and `after` args"""
cursor: String!
}
type IssueSuggestion implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
issue: Issue!
issueId: String!
type: IssueSuggestionType!
state: IssueSuggestionState!
stateChangedAt: DateTime!
dismissalReason: String
metadata: IssueSuggestionMetadata
suggestedIssue: Issue
suggestedIssueId: String
suggestedTeam: Team
suggestedProject: Project
suggestedUser: User
suggestedUserId: String
suggestedLabel: IssueLabel
suggestedLabelId: String
}
enum IssueSuggestionType {
team
project
assignee
label
similarIssue
relatedIssue
}
enum IssueSuggestionState {
active
stale
accepted
dismissed
}
type IssueSuggestionMetadata {
score: Float
classification: String
reasons: [String!]
evalLogId: String
rank: Float
variant: String
appliedAutomationRuleId: String
}
type IssueStateSpanConnection {
edges: [IssueStateSpanEdge!]!
nodes: [IssueStateSpan!]!
pageInfo: PageInfo!
}
type IssueStateSpanEdge {
node: IssueStateSpan!
"""Used in `before` and `after` args"""
cursor: String!
}
"""
A continuous period of time during which an issue remained in a specific workflow state.
"""
type IssueStateSpan {
"""The unique identifier of the state span."""
id: ID!
"""The workflow state identifier for this span."""
stateId: ID!
"""The timestamp when the issue entered this state."""
startedAt: DateTime!
"""
The timestamp when the issue left this state. Null if the issue is currently in this state.
"""
endedAt: DateTime
"""The workflow state for this span."""
state: WorkflowState
}
type CycleConnection {
edges: [CycleEdge!]!
nodes: [Cycle!]!
pageInfo: PageInfo!
}
type CycleEdge {
node: Cycle!
"""Used in `before` and `after` args"""
cursor: String!
}
"""A team's triage responsibility."""
type TriageResponsibility implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The action to take when an issue is added to triage."""
action: TriageResponsibilityAction!
"""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 user currently responsible for triage."""
currentUser: User
}
"""Which action should be taken after an issue is added to triage."""
enum TriageResponsibilityAction {
assign
notify
}
type TriageResponsibilityManualSelection {
"""The set of users responsible for triage."""
userIds: [String!]!
"""
[Internal] The index of the current userId used for the assign action when having more than one user.
"""
assignmentIndex: Int
}
"""A time schedule."""
type TimeSchedule implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The name of the schedule."""
name: String!
"""The schedule entries."""
entries: [TimeScheduleEntry!]
"""The identifier of the external schedule."""
externalId: String
"""The URL to the external schedule."""
externalUrl: String
"""The organization of the schedule."""
organization: Organization!
"""The identifier of the Linear integration populating the schedule."""
integration: Integration
}
type TimeScheduleEntry {
"""The start date of the schedule in ISO 8601 date-time format."""
startsAt: DateTime!
"""The end date of the schedule in ISO 8601 date-time format."""
endsAt: DateTime!
"""
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 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
}
"""Defines the membership of a user to a team."""
type TeamMembership implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The user that the membership is associated with."""
user: User!
"""The team that the membership is associated with."""
team: Team!
"""Whether the user is an owner of the team."""
owner: Boolean!
"""The order of the item in the users team list."""
sortOrder: Float!
}
type TeamMembershipConnection {
edges: [TeamMembershipEdge!]!
nodes: [TeamMembership!]!
pageInfo: PageInfo!
}
type TeamMembershipEdge {
node: TeamMembership!
"""Used in `before` and `after` args"""
cursor: String!
}
type WorkflowStateConnection {
edges: [WorkflowStateEdge!]!
nodes: [WorkflowState!]!
pageInfo: PageInfo!
}
type WorkflowStateEdge {
node: WorkflowState!
"""Used in `before` and `after` args"""
cursor: String!
}
type GitAutomationStateConnection {
edges: [GitAutomationStateEdge!]!
nodes: [GitAutomationState!]!
pageInfo: PageInfo!
}
type GitAutomationStateEdge {
node: GitAutomationState!
"""Used in `before` and `after` args"""
cursor: String!
}
"""A trigger that updates the issue status according to Git automations."""
type GitAutomationState implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The associated workflow state."""
state: WorkflowState
"""The team to which this automation state belongs."""
team: Team!
"""The target branch associated to this automation state."""
targetBranch: GitAutomationTargetBranch
"""The event that triggers the automation."""
event: GitAutomationStates!
"""
[DEPRECATED] The target branch, if null, the automation will be triggered on any branch.
"""
branchPattern: String @deprecated(reason: "Use targetBranch instead.")
}
"""
A Git target branch for which there are automations (GitAutomationState).
"""
type GitAutomationTargetBranch implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The team to which this Git target branch automation belongs."""
team: Team!
"""The target branch pattern."""
branchPattern: String!
"""Whether the branch pattern is a regular expression."""
isRegex: Boolean!
"""Automation states associated with the target branch."""
automationStates(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): GitAutomationStateConnection!
}
"""The various states of a pull/merge request."""
enum GitAutomationStates {
draft
start
review
mergeable
merge
}
type TemplateConnection {
edges: [TemplateEdge!]!
nodes: [Template!]!
pageInfo: PageInfo!
}
type TemplateEdge {
node: Template!
"""Used in `before` and `after` args"""
cursor: String!
}
type WebhookConnection {
edges: [WebhookEdge!]!
nodes: [Webhook!]!
pageInfo: PageInfo!
}
type WebhookEdge {
node: Webhook!
"""Used in `before` and `after` args"""
cursor: String!
}
"""A webhook used to send HTTP notifications over data updates."""
type Webhook implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""Webhook label."""
label: String
"""Webhook URL."""
url: String
"""Whether the Webhook is enabled."""
enabled: Boolean!
"""
The team that the webhook is associated with. If null, the webhook is associated with all public teams of the organization or multiple teams.
"""
team: Team
"""
[INTERNAL] The teams that the webhook is associated with. Used to represent a webhook that targets multiple teams, potentially in addition to all public teams of the organization.
"""
teamIds: [String!]
"""
Whether the Webhook is enabled for all public teams, including teams created after the webhook was created.
"""
allPublicTeams: Boolean!
"""The user who created the webhook."""
creator: User
"""Secret token for verifying the origin on the recipient side."""
secret: String
"""The resource types this webhook is subscribed to."""
resourceTypes: [String!]!
"""
[INTERNAL] Webhook failure events associated with the webhook (last 50).
"""
failures: [WebhookFailureEvent!]!
}
"""Entity representing a webhook execution failure."""
type WebhookFailureEvent {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: DateTime!
"""The webhook that this failure event is associated with."""
webhook: Webhook!
"""The URL that the webhook was trying to push to."""
url: String!
"""The HTTP status code returned by the recipient."""
httpStatus: Float
"""The HTTP response body returned by the recipient or error occured."""
responseOrError: String
"""
The unique execution ID of the webhook push. This is retained between retries of the same push.
"""
executionId: String!
}
enum FacetPageSource {
projects
teamIssues
feed
}
type OrganizationIpRestriction {
"""IP range in CIDR format."""
range: String!
"""Restriction type."""
type: String!
"""Optional restriction description."""
description: String
"""Whether the restriction is enabled."""
enabled: Boolean!
}
"""Features release channel."""
enum ReleaseChannel {
development
internal
privateBeta
beta
preRelease
public
}
"""Which day count to use for SLA calculations."""
enum SLADayCountType {
all
onlyBusinessDays
}
"""The frequency at which to send project update reminders."""
enum ProjectUpdateReminderFrequency {
week
twoWeeks
month
never
}
type IntegrationConnection {
edges: [IntegrationEdge!]!
nodes: [Integration!]!
pageInfo: PageInfo!
}
type IntegrationEdge {
node: Integration!
"""Used in `before` and `after` args"""
cursor: String!
}
"""The paid subscription of an organization."""
type PaidSubscription implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The subscription type."""
type: String!
"""The number of seats in the subscription."""
seats: Float!
"""The minimum number of seats that will be billed in the subscription."""
seatsMinimum: Float
"""The maximum number of seats that will be billed in the subscription."""
seatsMaximum: Float
"""The creator of the subscription."""
creator: User
"""The organization that the subscription is associated with."""
organization: Organization!
"""
The collection method for this subscription, either automatically charged or invoiced.
"""
collectionMethod: String!
"""The date the subscription was canceled, if any."""
canceledAt: DateTime
"""The date the subscription is scheduled to be canceled, if any."""
cancelAt: DateTime
"""The subscription type of a pending change. Null if no change pending."""
pendingChangeType: String
"""The date the subscription will be billed next."""
nextBillingAt: DateTime
}
"""An identity provider."""
type IdentityProvider implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""
Whether the identity provider is the default identity provider migrated from organization level settings.
"""
defaultMigrated: Boolean!
"""The type of identity provider."""
type: IdentityProviderType!
"""Whether SAML authentication is enabled for organization."""
samlEnabled: Boolean!
"""Sign in endpoint URL for the identity provider."""
ssoEndpoint: String
"""
Binding method for authentication call. Can be either `post` (default) or `redirect`.
"""
ssoBinding: 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 issuer's custom entity ID."""
issuerEntityId: String
"""
The service provider (Linear) custom entity ID. Defaults to https://auth.linear.app/sso
"""
spEntityId: 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 SCIM provisioning is enabled for organization."""
scimEnabled: Boolean!
"""[INTERNAL] SCIM owners group push settings."""
ownersGroupPush: JSONObject
"""[INTERNAL] SCIM admins group push settings."""
adminsGroupPush: JSONObject
"""[INTERNAL] SCIM guests group push settings."""
guestsGroupPush: JSONObject
"""
Whether users are allowed to change their name and display name even if SCIM is enabled.
"""
allowNameChange: Boolean!
}
"""The type of identity provider."""
enum IdentityProviderType {
general
webForms
}
type IssueDraftConnection {
edges: [IssueDraftEdge!]!
nodes: [IssueDraft!]!
pageInfo: PageInfo!
}
type IssueDraftEdge {
node: IssueDraft!
"""Used in `before` and `after` args"""
cursor: String!
}
"""[Internal] A draft issue."""
type IssueDraft implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The draft's title."""
title: String!
"""The draft's description in markdown format."""
description: String
"""The priority of the draft."""
priority: Float!
"""The estimate of the complexity of the draft."""
estimate: Float
"""The date at which the issue would be due."""
dueDate: TimelessDate
"""The IDs of labels added to the draft."""
labelIds: [String!]!
"""The team associated with the draft."""
teamId: String!
"""The cycle associated with the draft."""
cycleId: String
"""The project associated with the draft."""
projectId: String
"""The project milestone associated with the draft."""
projectMilestoneId: String
"""The user who created the draft."""
creator: User!
"""The user assigned to the draft."""
assigneeId: String
"""The agent user delegated to work on the issue being drafted."""
delegateId: String
"""The workflow state associated with the draft."""
stateId: String!
"""The parent draft of the draft."""
parent: IssueDraft
"""The ID of the parent issue draft, if any."""
parentId: String
"""The ID of the comment that the draft was created from."""
sourceCommentId: String
"""The parent issue of the draft."""
parentIssue: Issue
"""The ID of the parent issue, if any."""
parentIssueId: String
"""
The order of items in the sub-draft list. Only set if the draft has `parent` set.
"""
subIssueSortOrder: Float
"""Label for the priority."""
priorityLabel: String!
"""[Internal] The draft's description as a Prosemirror document."""
descriptionData: JSON
"""Serialized array of JSONs representing attachments."""
attachments: JSONObject
"""Serialized array of JSONs representing customer needs."""
needs: JSONObject
"""The IDs of releases associated with the draft."""
releaseIds: [String!]!
"""Serialized array of JSONs representing the recurring issue's schedule."""
schedule: JSONObject
}
type DraftConnection {
edges: [DraftEdge!]!
nodes: [Draft!]!
pageInfo: PageInfo!
}
type DraftEdge {
node: Draft!
"""Used in `before` and `after` args"""
cursor: String!
}
"""A general purpose draft. Used for comments, project updates, etc."""
type Draft implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The text content as a Prosemirror document."""
bodyData: JSON!
"""Additional properties for the draft."""
data: JSONObject
"""Whether the draft was autogenerated for the user."""
isAutogenerated: Boolean! @deprecated(reason: "Use 'data.generationMetadata' instead")
"""[INTERNAL] Whether the draft was ported from a local draft."""
wasLocalDraft: Boolean!
"""The user who created the draft."""
user: User!
"""The issue for which this is a draft comment."""
issue: Issue
"""The project for which this is a draft comment or project update."""
project: Project
"""The project update for which this is a draft comment."""
projectUpdate: ProjectUpdate
"""The initiative for which this is a draft comment or initiative update."""
initiative: Initiative
"""The initiative update for which this is a draft comment."""
initiativeUpdate: InitiativeUpdate
"""The post for which this is a draft comment."""
post: Post
"""The comment for which this is a draft comment reply."""
parentComment: Comment
"""The customer need that this draft is referencing."""
customerNeed: CustomerNeed
"""
[INTERNAL] Allows for multiple drafts per entity (currently constrained to Pull Requests).
"""
anchor: String
"""The team for which this is a draft post."""
team: Team
}
type FacetConnection {
edges: [FacetEdge!]!
nodes: [Facet!]!
pageInfo: PageInfo!
}
type FacetEdge {
node: Facet!
"""Used in `before` and `after` args"""
cursor: String!
}
"""A custom view notification subscription."""
type CustomViewNotificationSubscription implements NotificationSubscription & Entity & Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The user that subscribed to receive notifications."""
subscriber: User!
"""The customer associated with the notification subscription."""
customer: Customer
"""The custom view subscribed to."""
customView: CustomView!
"""
The contextual cycle view associated with the notification subscription.
"""
cycle: Cycle
"""
The contextual label view associated with the notification subscription.
"""
label: IssueLabel
"""
The contextual project view associated with the notification subscription.
"""
project: Project
"""
The contextual initiative view associated with the notification subscription.
"""
initiative: Initiative
"""The team associated with the notification subscription."""
team: Team
"""The user view associated with the notification subscription."""
user: User
"""
The type of view to which the notification subscription context is associated with.
"""
contextViewType: ContextViewType
"""
The type of user view to which the notification subscription context is associated with.
"""
userContextViewType: UserContextViewType
"""Whether the subscription is active or not."""
active: Boolean!
"""The type of subscription."""
notificationSubscriptionTypes: [String!]!
}
"""A cycle notification subscription."""
type CycleNotificationSubscription implements NotificationSubscription & Entity & Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The user that subscribed to receive notifications."""
subscriber: User!
"""The customer associated with the notification subscription."""
customer: Customer
"""
The contextual custom view associated with the notification subscription.
"""
customView: CustomView
"""The cycle subscribed to."""
cycle: Cycle!
"""
The contextual label view associated with the notification subscription.
"""
label: IssueLabel
"""
The contextual project view associated with the notification subscription.
"""
project: Project
"""
The contextual initiative view associated with the notification subscription.
"""
initiative: Initiative
"""The team associated with the notification subscription."""
team: Team
"""The user view associated with the notification subscription."""
user: User
"""
The type of view to which the notification subscription context is associated with.
"""
contextViewType: ContextViewType
"""
The type of user view to which the notification subscription context is associated with.
"""
userContextViewType: UserContextViewType
"""Whether the subscription is active or not."""
active: Boolean!
"""The type of subscription."""
notificationSubscriptionTypes: [String!]!
}
"""A label notification subscription."""
type LabelNotificationSubscription implements NotificationSubscription & Entity & Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The user that subscribed to receive notifications."""
subscriber: User!
"""The customer associated with the notification subscription."""
customer: Customer
"""
The contextual custom view associated with the notification subscription.
"""
customView: CustomView
"""
The contextual cycle view associated with the notification subscription.
"""
cycle: Cycle
"""The label subscribed to."""
label: IssueLabel!
"""
The contextual project view associated with the notification subscription.
"""
project: Project
"""
The contextual initiative view associated with the notification subscription.
"""
initiative: Initiative
"""The team associated with the notification subscription."""
team: Team
"""The user view associated with the notification subscription."""
user: User
"""
The type of view to which the notification subscription context is associated with.
"""
contextViewType: ContextViewType
"""
The type of user view to which the notification subscription context is associated with.
"""
userContextViewType: UserContextViewType
"""Whether the subscription is active or not."""
active: Boolean!
"""The type of subscription."""
notificationSubscriptionTypes: [String!]!
}
"""A project notification subscription."""
type ProjectNotificationSubscription implements NotificationSubscription & Entity & Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The user that subscribed to receive notifications."""
subscriber: User!
"""The customer associated with the notification subscription."""
customer: Customer
"""
The contextual custom view associated with the notification subscription.
"""
customView: CustomView
"""
The contextual cycle view associated with the notification subscription.
"""
cycle: Cycle
"""
The contextual label view associated with the notification subscription.
"""
label: IssueLabel
"""The project subscribed to."""
project: Project!
"""
The contextual initiative view associated with the notification subscription.
"""
initiative: Initiative
"""The team associated with the notification subscription."""
team: Team
"""The user view associated with the notification subscription."""
user: User
"""
The type of view to which the notification subscription context is associated with.
"""
contextViewType: ContextViewType
"""
The type of user view to which the notification subscription context is associated with.
"""
userContextViewType: UserContextViewType
"""Whether the subscription is active or not."""
active: Boolean!
"""The type of subscription."""
notificationSubscriptionTypes: [String!]!
}
"""An initiative notification subscription."""
type InitiativeNotificationSubscription implements NotificationSubscription & Entity & Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The user that subscribed to receive notifications."""
subscriber: User!
"""The customer associated with the notification subscription."""
customer: Customer
"""
The contextual custom view associated with the notification subscription.
"""
customView: CustomView
"""
The contextual cycle view associated with the notification subscription.
"""
cycle: Cycle
"""
The contextual label view associated with the notification subscription.
"""
label: IssueLabel
"""
The contextual project view associated with the notification subscription.
"""
project: Project
"""The initiative subscribed to."""
initiative: Initiative!
"""The team associated with the notification subscription."""
team: Team
"""The user view associated with the notification subscription."""
user: User
"""
The type of view to which the notification subscription context is associated with.
"""
contextViewType: ContextViewType
"""
The type of user view to which the notification subscription context is associated with.
"""
userContextViewType: UserContextViewType
"""Whether the subscription is active or not."""
active: Boolean!
"""The type of subscription."""
notificationSubscriptionTypes: [String!]!
}
"""A team notification subscription."""
type TeamNotificationSubscription implements NotificationSubscription & Entity & Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The user that subscribed to receive notifications."""
subscriber: User!
"""The customer associated with the notification subscription."""
customer: Customer
"""
The contextual custom view associated with the notification subscription.
"""
customView: CustomView
"""
The contextual cycle view associated with the notification subscription.
"""
cycle: Cycle
"""
The contextual label view associated with the notification subscription.
"""
label: IssueLabel
"""
The contextual project view associated with the notification subscription.
"""
project: Project
"""
The contextual initiative view associated with the notification subscription.
"""
initiative: Initiative
"""The team subscribed to."""
team: Team!
"""The user view associated with the notification subscription."""
user: User
"""
The type of view to which the notification subscription context is associated with.
"""
contextViewType: ContextViewType
"""
The type of user view to which the notification subscription context is associated with.
"""
userContextViewType: UserContextViewType
"""Whether the subscription is active or not."""
active: Boolean!
"""The type of subscription."""
notificationSubscriptionTypes: [String!]!
}
"""A user notification subscription."""
type UserNotificationSubscription implements NotificationSubscription & Entity & Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The user that subscribed to receive notifications."""
subscriber: User!
"""The customer associated with the notification subscription."""
customer: Customer
"""
The contextual custom view associated with the notification subscription.
"""
customView: CustomView
"""
The contextual cycle view associated with the notification subscription.
"""
cycle: Cycle
"""
The contextual label view associated with the notification subscription.
"""
label: IssueLabel
"""
The contextual project view associated with the notification subscription.
"""
project: Project
"""
The contextual initiative view associated with the notification subscription.
"""
initiative: Initiative
"""The team associated with the notification subscription."""
team: Team
"""The user subscribed to."""
user: User!
"""
The type of view to which the notification subscription context is associated with.
"""
contextViewType: ContextViewType
"""
The type of user view to which the notification subscription context is associated with.
"""
userContextViewType: UserContextViewType
"""Whether the subscription is active or not."""
active: Boolean!
"""The type of subscription."""
notificationSubscriptionTypes: [String!]!
}
"""An issue related notification."""
type IssueNotification implements Notification & Entity & Node {
"""
Related comment ID. Null if the notification is not related to a comment.
"""
commentId: String
"""
Related parent comment ID. Null if the notification is not related to a comment.
"""
parentCommentId: String
"""Name of the reaction emoji related to the notification."""
reactionEmoji: String
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""Notification type."""
type: String!
"""The user that caused the notification."""
actor: User
"""The external user that caused the notification."""
externalUserActor: ExternalUser
"""The user that received the notification."""
user: User!
"""
The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
"""
readAt: DateTime
"""
The time at when an email reminder for this notification was sent to the user. Null, if no email
reminder has been sent.
"""
emailedAt: DateTime
"""
The time until a notification will be snoozed. After that it will appear in the inbox again.
"""
snoozedUntilAt: DateTime
"""The time at which a notification was unsnoozed.."""
unsnoozedAt: DateTime
"""The category of the notification."""
category: NotificationCategory!
"""[Internal] URL to the target of the notification."""
url: String!
"""[Internal] Inbox URL for the notification."""
inboxUrl: String!
"""[Internal] Notification title."""
title: String!
"""[Internal] Notification subtitle."""
subtitle: String!
"""[Internal] If notification actor was Linear."""
isLinearActor: Boolean!
"""[Internal] Notification avatar URL."""
actorAvatarUrl: String
"""[Internal] Notification actor initials if avatar is not available."""
actorInitials: String
"""[Internal] Notification actor initials if avatar is not available."""
actorAvatarColor: String!
"""[Internal] Issue's status type for issue notifications."""
issueStatusType: String
"""[Internal] Project update health for new updates."""
projectUpdateHealth: String
"""[Internal] Initiative update health for new updates."""
initiativeUpdateHealth: String
"""
[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 bot that caused the notification."""
botActor: ActorBot
"""Related issue ID."""
issueId: String!
"""The issue related to the notification."""
issue: Issue!
"""The comment related to the notification."""
comment: Comment
"""
The parent comment related to the notification, if a notification is a reply comment notification.
"""
parentComment: Comment
"""The team related to the issue notification."""
team: Team!
"""The subscriptions related to the notification."""
subscriptions: [NotificationSubscription!]
}
"""A notification sent to a user."""
interface Notification implements Entity & Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""Notification type."""
type: String!
"""The user that caused the notification."""
actor: User
"""The external user that caused the notification."""
externalUserActor: ExternalUser
"""The user that received the notification."""
user: User!
"""
The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
"""
readAt: DateTime
"""
The time at when an email reminder for this notification was sent to the user. Null, if no email
reminder has been sent.
"""
emailedAt: DateTime
"""
The time until a notification will be snoozed. After that it will appear in the inbox again.
"""
snoozedUntilAt: DateTime
"""The time at which a notification was unsnoozed.."""
unsnoozedAt: DateTime
"""The category of the notification."""
category: NotificationCategory!
"""[Internal] URL to the target of the notification."""
url: String!
"""[Internal] Inbox URL for the notification."""
inboxUrl: String!
"""[Internal] Notification title."""
title: String!
"""[Internal] Notification subtitle."""
subtitle: String!
"""[Internal] If notification actor was Linear."""
isLinearActor: Boolean!
"""[Internal] Notification avatar URL."""
actorAvatarUrl: String
"""[Internal] Notification actor initials if avatar is not available."""
actorInitials: String
"""[Internal] Notification actor initials if avatar is not available."""
actorAvatarColor: String!
"""[Internal] Issue's status type for issue notifications."""
issueStatusType: String
"""[Internal] Project update health for new updates."""
projectUpdateHealth: String
"""[Internal] Initiative update health for new updates."""
initiativeUpdateHealth: String
"""
[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 bot that caused the notification."""
botActor: ActorBot
}
"""The categories of notifications a user can subscribe to."""
enum NotificationCategory {
assignments
statusChanges
commentsAndReplies
mentions
reactions
subscriptions
documentChanges
postsAndUpdates
reminders
reviews
appsAndIntegrations
triage
customers
feed
system
}
"""A project related notification."""
type ProjectNotification implements Notification & Entity & Node {
"""
Related comment ID. Null if the notification is not related to a comment.
"""
commentId: String
"""
Related parent comment ID. Null if the notification is not related to a comment.
"""
parentCommentId: String
"""Name of the reaction emoji related to the notification."""
reactionEmoji: String
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""Notification type."""
type: String!
"""The user that caused the notification."""
actor: User
"""The external user that caused the notification."""
externalUserActor: ExternalUser
"""The user that received the notification."""
user: User!
"""
The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
"""
readAt: DateTime
"""
The time at when an email reminder for this notification was sent to the user. Null, if no email
reminder has been sent.
"""
emailedAt: DateTime
"""
The time until a notification will be snoozed. After that it will appear in the inbox again.
"""
snoozedUntilAt: DateTime
"""The time at which a notification was unsnoozed.."""
unsnoozedAt: DateTime
"""The category of the notification."""
category: NotificationCategory!
"""[Internal] URL to the target of the notification."""
url: String!
"""[Internal] Inbox URL for the notification."""
inboxUrl: String!
"""[Internal] Notification title."""
title: String!
"""[Internal] Notification subtitle."""
subtitle: String!
"""[Internal] If notification actor was Linear."""
isLinearActor: Boolean!
"""[Internal] Notification avatar URL."""
actorAvatarUrl: String
"""[Internal] Notification actor initials if avatar is not available."""
actorInitials: String
"""[Internal] Notification actor initials if avatar is not available."""
actorAvatarColor: String!
"""[Internal] Issue's status type for issue notifications."""
issueStatusType: String
"""[Internal] Project update health for new updates."""
projectUpdateHealth: String
"""[Internal] Initiative update health for new updates."""
initiativeUpdateHealth: String
"""
[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 bot that caused the notification."""
botActor: ActorBot
"""Related project ID."""
projectId: String!
"""Related project milestone ID."""
projectMilestoneId: String
"""Related project update ID."""
projectUpdateId: String
"""The project related to the notification."""
project: Project!
"""The document related to the notification."""
document: Document
"""The project update related to the notification."""
projectUpdate: ProjectUpdate
"""The comment related to the notification."""
comment: Comment
"""
The parent comment related to the notification, if a notification is a reply comment notification.
"""
parentComment: Comment
}
"""An initiative related notification."""
type InitiativeNotification implements Notification & Entity & Node {
"""
Related comment ID. Null if the notification is not related to a comment.
"""
commentId: String
"""
Related parent comment ID. Null if the notification is not related to a comment.
"""
parentCommentId: String
"""Name of the reaction emoji related to the notification."""
reactionEmoji: String
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""Notification type."""
type: String!
"""The user that caused the notification."""
actor: User
"""The external user that caused the notification."""
externalUserActor: ExternalUser
"""The user that received the notification."""
user: User!
"""
The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
"""
readAt: DateTime
"""
The time at when an email reminder for this notification was sent to the user. Null, if no email
reminder has been sent.
"""
emailedAt: DateTime
"""
The time until a notification will be snoozed. After that it will appear in the inbox again.
"""
snoozedUntilAt: DateTime
"""The time at which a notification was unsnoozed.."""
unsnoozedAt: DateTime
"""The category of the notification."""
category: NotificationCategory!
"""[Internal] URL to the target of the notification."""
url: String!
"""[Internal] Inbox URL for the notification."""
inboxUrl: String!
"""[Internal] Notification title."""
title: String!
"""[Internal] Notification subtitle."""
subtitle: String!
"""[Internal] If notification actor was Linear."""
isLinearActor: Boolean!
"""[Internal] Notification avatar URL."""
actorAvatarUrl: String
"""[Internal] Notification actor initials if avatar is not available."""
actorInitials: String
"""[Internal] Notification actor initials if avatar is not available."""
actorAvatarColor: String!
"""[Internal] Issue's status type for issue notifications."""
issueStatusType: String
"""[Internal] Project update health for new updates."""
projectUpdateHealth: String
"""[Internal] Initiative update health for new updates."""
initiativeUpdateHealth: String
"""
[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 bot that caused the notification."""
botActor: ActorBot
"""Related initiative ID."""
initiativeId: String!
"""Related initiative update ID."""
initiativeUpdateId: String
"""The initiative related to the notification."""
initiative: Initiative
"""The document related to the notification."""
document: Document
"""The initiative update related to the notification."""
initiativeUpdate: InitiativeUpdate
"""The comment related to the notification."""
comment: Comment
"""
The parent comment related to the notification, if a notification is a reply comment notification.
"""
parentComment: Comment
}
"""An oauth client approval related notification."""
type OauthClientApprovalNotification implements Notification & Entity & Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""Notification type."""
type: String!
"""The user that caused the notification."""
actor: User
"""The external user that caused the notification."""
externalUserActor: ExternalUser
"""The user that received the notification."""
user: User!
"""
The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
"""
readAt: DateTime
"""
The time at when an email reminder for this notification was sent to the user. Null, if no email
reminder has been sent.
"""
emailedAt: DateTime
"""
The time until a notification will be snoozed. After that it will appear in the inbox again.
"""
snoozedUntilAt: DateTime
"""The time at which a notification was unsnoozed.."""
unsnoozedAt: DateTime
"""The category of the notification."""
category: NotificationCategory!
"""[Internal] URL to the target of the notification."""
url: String!
"""[Internal] Inbox URL for the notification."""
inboxUrl: String!
"""[Internal] Notification title."""
title: String!
"""[Internal] Notification subtitle."""
subtitle: String!
"""[Internal] If notification actor was Linear."""
isLinearActor: Boolean!
"""[Internal] Notification avatar URL."""
actorAvatarUrl: String
"""[Internal] Notification actor initials if avatar is not available."""
actorInitials: String
"""[Internal] Notification actor initials if avatar is not available."""
actorAvatarColor: String!
"""[Internal] Issue's status type for issue notifications."""
issueStatusType: String
"""[Internal] Project update health for new updates."""
projectUpdateHealth: String
"""[Internal] Initiative update health for new updates."""
initiativeUpdateHealth: String
"""
[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 bot that caused the notification."""
botActor: ActorBot
"""Related OAuth client approval request ID."""
oauthClientApprovalId: String!
"""The OAuth client approval request related to the notification."""
oauthClientApproval: OauthClientApproval!
}
"""
Request to install OAuth clients on organizations and the response to the request.
"""
type OauthClientApproval implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The uuid of the OAuth client being requested for installation."""
oauthClientId: String!
"""The person who requested installing the OAuth client."""
requesterId: String!
"""The person who responded to the request to install the OAuth client."""
responderId: String
"""The status for the OAuth client approval request."""
status: OAuthClientApprovalStatus!
"""The scopes the app has been approved for."""
scopes: [String!]!
"""The reason the person wants to install this OAuth client."""
requestReason: String
"""The reason the request for the OAuth client approval was denied."""
denyReason: String
"""New scopes that were requested for approval after the initial request."""
newlyRequestedScopes: [String!]
}
"""
The different requests statuses possible for an OAuth client approval request.
"""
enum OAuthClientApprovalStatus {
requested
approved
denied
}
"""A document related notification."""
type DocumentNotification implements Notification & Entity & Node {
"""
Related comment ID. Null if the notification is not related to a comment.
"""
commentId: String
"""
Related parent comment ID. Null if the notification is not related to a comment.
"""
parentCommentId: String
"""Name of the reaction emoji related to the notification."""
reactionEmoji: String
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""Notification type."""
type: String!
"""The user that caused the notification."""
actor: User
"""The external user that caused the notification."""
externalUserActor: ExternalUser
"""The user that received the notification."""
user: User!
"""
The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
"""
readAt: DateTime
"""
The time at when an email reminder for this notification was sent to the user. Null, if no email
reminder has been sent.
"""
emailedAt: DateTime
"""
The time until a notification will be snoozed. After that it will appear in the inbox again.
"""
snoozedUntilAt: DateTime
"""The time at which a notification was unsnoozed.."""
unsnoozedAt: DateTime
"""The category of the notification."""
category: NotificationCategory!
"""[Internal] URL to the target of the notification."""
url: String!
"""[Internal] Inbox URL for the notification."""
inboxUrl: String!
"""[Internal] Notification title."""
title: String!
"""[Internal] Notification subtitle."""
subtitle: String!
"""[Internal] If notification actor was Linear."""
isLinearActor: Boolean!
"""[Internal] Notification avatar URL."""
actorAvatarUrl: String
"""[Internal] Notification actor initials if avatar is not available."""
actorInitials: String
"""[Internal] Notification actor initials if avatar is not available."""
actorAvatarColor: String!
"""[Internal] Issue's status type for issue notifications."""
issueStatusType: String
"""[Internal] Project update health for new updates."""
projectUpdateHealth: String
"""[Internal] Initiative update health for new updates."""
initiativeUpdateHealth: String
"""
[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 bot that caused the notification."""
botActor: ActorBot
"""Related document ID."""
documentId: String!
}
"""A post related notification."""
type PostNotification implements Notification & Entity & Node {
"""
Related comment ID. Null if the notification is not related to a comment.
"""
commentId: String
"""
Related parent comment ID. Null if the notification is not related to a comment.
"""
parentCommentId: String
"""Name of the reaction emoji related to the notification."""
reactionEmoji: String
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""Notification type."""
type: String!
"""The user that caused the notification."""
actor: User
"""The external user that caused the notification."""
externalUserActor: ExternalUser
"""The user that received the notification."""
user: User!
"""
The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
"""
readAt: DateTime
"""
The time at when an email reminder for this notification was sent to the user. Null, if no email
reminder has been sent.
"""
emailedAt: DateTime
"""
The time until a notification will be snoozed. After that it will appear in the inbox again.
"""
snoozedUntilAt: DateTime
"""The time at which a notification was unsnoozed.."""
unsnoozedAt: DateTime
"""The category of the notification."""
category: NotificationCategory!
"""[Internal] URL to the target of the notification."""
url: String!
"""[Internal] Inbox URL for the notification."""
inboxUrl: String!
"""[Internal] Notification title."""
title: String!
"""[Internal] Notification subtitle."""
subtitle: String!
"""[Internal] If notification actor was Linear."""
isLinearActor: Boolean!
"""[Internal] Notification avatar URL."""
actorAvatarUrl: String
"""[Internal] Notification actor initials if avatar is not available."""
actorInitials: String
"""[Internal] Notification actor initials if avatar is not available."""
actorAvatarColor: String!
"""[Internal] Issue's status type for issue notifications."""
issueStatusType: String
"""[Internal] Project update health for new updates."""
projectUpdateHealth: String
"""[Internal] Initiative update health for new updates."""
initiativeUpdateHealth: String
"""
[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 bot that caused the notification."""
botActor: ActorBot
"""Related post ID."""
postId: String!
}
"""A customer need related notification."""
type CustomerNeedNotification implements Notification & Entity & Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""Notification type."""
type: String!
"""The user that caused the notification."""
actor: User
"""The external user that caused the notification."""
externalUserActor: ExternalUser
"""The user that received the notification."""
user: User!
"""
The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
"""
readAt: DateTime
"""
The time at when an email reminder for this notification was sent to the user. Null, if no email
reminder has been sent.
"""
emailedAt: DateTime
"""
The time until a notification will be snoozed. After that it will appear in the inbox again.
"""
snoozedUntilAt: DateTime
"""The time at which a notification was unsnoozed.."""
unsnoozedAt: DateTime
"""The category of the notification."""
category: NotificationCategory!
"""[Internal] URL to the target of the notification."""
url: String!
"""[Internal] Inbox URL for the notification."""
inboxUrl: String!
"""[Internal] Notification title."""
title: String!
"""[Internal] Notification subtitle."""
subtitle: String!
"""[Internal] If notification actor was Linear."""
isLinearActor: Boolean!
"""[Internal] Notification avatar URL."""
actorAvatarUrl: String
"""[Internal] Notification actor initials if avatar is not available."""
actorInitials: String
"""[Internal] Notification actor initials if avatar is not available."""
actorAvatarColor: String!
"""[Internal] Issue's status type for issue notifications."""
issueStatusType: String
"""[Internal] Project update health for new updates."""
projectUpdateHealth: String
"""[Internal] Initiative update health for new updates."""
initiativeUpdateHealth: String
"""
[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 bot that caused the notification."""
botActor: ActorBot
"""Related customer need."""
customerNeedId: String!
"""The issue related to the notification."""
relatedIssue: Issue
"""The project related to the notification."""
relatedProject: Project
"""The customer need related to the notification."""
customerNeed: CustomerNeed!
}
"""A customer related notification."""
type CustomerNotification implements Notification & Entity & Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""Notification type."""
type: String!
"""The user that caused the notification."""
actor: User
"""The external user that caused the notification."""
externalUserActor: ExternalUser
"""The user that received the notification."""
user: User!
"""
The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
"""
readAt: DateTime
"""
The time at when an email reminder for this notification was sent to the user. Null, if no email
reminder has been sent.
"""
emailedAt: DateTime
"""
The time until a notification will be snoozed. After that it will appear in the inbox again.
"""
snoozedUntilAt: DateTime
"""The time at which a notification was unsnoozed.."""
unsnoozedAt: DateTime
"""The category of the notification."""
category: NotificationCategory!
"""[Internal] URL to the target of the notification."""
url: String!
"""[Internal] Inbox URL for the notification."""
inboxUrl: String!
"""[Internal] Notification title."""
title: String!
"""[Internal] Notification subtitle."""
subtitle: String!
"""[Internal] If notification actor was Linear."""
isLinearActor: Boolean!
"""[Internal] Notification avatar URL."""
actorAvatarUrl: String
"""[Internal] Notification actor initials if avatar is not available."""
actorInitials: String
"""[Internal] Notification actor initials if avatar is not available."""
actorAvatarColor: String!
"""[Internal] Issue's status type for issue notifications."""
issueStatusType: String
"""[Internal] Project update health for new updates."""
projectUpdateHealth: String
"""[Internal] Initiative update health for new updates."""
initiativeUpdateHealth: String
"""
[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 bot that caused the notification."""
botActor: ActorBot
"""Related customer."""
customerId: String!
"""The customer related to the notification."""
customer: Customer!
}
"""A pull request related notification."""
type PullRequestNotification implements Notification & Entity & Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""Notification type."""
type: String!
"""The user that caused the notification."""
actor: User
"""The external user that caused the notification."""
externalUserActor: ExternalUser
"""The user that received the notification."""
user: User!
"""
The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
"""
readAt: DateTime
"""
The time at when an email reminder for this notification was sent to the user. Null, if no email
reminder has been sent.
"""
emailedAt: DateTime
"""
The time until a notification will be snoozed. After that it will appear in the inbox again.
"""
snoozedUntilAt: DateTime
"""The time at which a notification was unsnoozed.."""
unsnoozedAt: DateTime
"""The category of the notification."""
category: NotificationCategory!
"""[Internal] URL to the target of the notification."""
url: String!
"""[Internal] Inbox URL for the notification."""
inboxUrl: String!
"""[Internal] Notification title."""
title: String!
"""[Internal] Notification subtitle."""
subtitle: String!
"""[Internal] If notification actor was Linear."""
isLinearActor: Boolean!
"""[Internal] Notification avatar URL."""
actorAvatarUrl: String
"""[Internal] Notification actor initials if avatar is not available."""
actorInitials: String
"""[Internal] Notification actor initials if avatar is not available."""
actorAvatarColor: String!
"""[Internal] Issue's status type for issue notifications."""
issueStatusType: String
"""[Internal] Project update health for new updates."""
projectUpdateHealth: String
"""[Internal] Initiative update health for new updates."""
initiativeUpdateHealth: String
"""
[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 bot that caused the notification."""
botActor: ActorBot
"""Related pull request."""
pullRequestId: String!
"""
Related pull request comment ID. Null if the notification is not related to a pull request comment.
"""
pullRequestCommentId: String
"""The pull request related to the notification."""
pullRequest: PullRequest!
}
"""A welcome message related notification."""
type WelcomeMessageNotification implements Notification & Entity & Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""Notification type."""
type: String!
"""The user that caused the notification."""
actor: User
"""The external user that caused the notification."""
externalUserActor: ExternalUser
"""The user that received the notification."""
user: User!
"""
The time at when the user marked the notification as read. Null, if the the user hasn't read the notification
"""
readAt: DateTime
"""
The time at when an email reminder for this notification was sent to the user. Null, if no email
reminder has been sent.
"""
emailedAt: DateTime
"""
The time until a notification will be snoozed. After that it will appear in the inbox again.
"""
snoozedUntilAt: DateTime
"""The time at which a notification was unsnoozed.."""
unsnoozedAt: DateTime
"""The category of the notification."""
category: NotificationCategory!
"""[Internal] URL to the target of the notification."""
url: String!
"""[Internal] Inbox URL for the notification."""
inboxUrl: String!
"""[Internal] Notification title."""
title: String!
"""[Internal] Notification subtitle."""
subtitle: String!
"""[Internal] If notification actor was Linear."""
isLinearActor: Boolean!
"""[Internal] Notification avatar URL."""
actorAvatarUrl: String
"""[Internal] Notification actor initials if avatar is not available."""
actorInitials: String
"""[Internal] Notification actor initials if avatar is not available."""
actorAvatarColor: String!
"""[Internal] Issue's status type for issue notifications."""
issueStatusType: String
"""[Internal] Project update health for new updates."""
projectUpdateHealth: String
"""[Internal] Initiative update health for new updates."""
initiativeUpdateHealth: String
"""
[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 bot that caused the notification."""
botActor: ActorBot
"""Related welcome message."""
welcomeMessageId: String!
}
type Query {
"""All issue workflow states."""
workflowStates(
"""Filter returned workflow states."""
filter: WorkflowStateFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): WorkflowStateConnection!
"""One specific state."""
workflowState(id: String!): WorkflowState!
"""All webhooks."""
webhooks(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): WebhookConnection!
"""A specific webhook."""
webhook(
"""The identifier of the webhook to retrieve."""
id: String!
): Webhook!
"""
[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!]!
"""The user's settings."""
userSettings: UserSettings!
"""All users for the organization."""
users(
"""Filter returned users."""
filter: UserFilter
"""Should query return disabled/suspended users (default: false)."""
includeDisabled: Boolean
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
"""[INTERNAL] Sort returned users."""
sort: [UserSortInput!]
): UserConnection!
"""One specific user."""
user(
"""
The identifier of the user to retrieve. To retrieve the authenticated user, use `viewer` query.
"""
id: String!
): User!
"""The currently authenticated user."""
viewer: User!
"""Lists the sessions of a user. Can only be called by an admin or owner."""
userSessions(
"""The identifier of the user to list sessions of."""
id: String!
): [AuthenticationSessionResponse!]!
"""All triage responsibilities."""
triageResponsibilities(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
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!
"""All time schedules."""
timeSchedules(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): TimeScheduleConnection!
"""A specific time schedule."""
timeSchedule(
"""The identifier of the time schedule to retrieve."""
id: String!
): TimeSchedule!
"""All templates from all users."""
templates: [Template!]!
"""A specific template."""
template(
"""The identifier of the template to retrieve."""
id: String!
): 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!]!
"""All projects."""
projects(
"""Filter returned projects."""
filter: ProjectFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
"""[INTERNAL] Sort returned projects."""
sort: [ProjectSortInput!]
): ProjectConnection!
"""One specific project."""
project(id: String!): Project!
"""Suggests filters for a project view based on a text prompt."""
projectFilterSuggestion(
"""[Internal] The ID of the team if filtering a team view."""
teamId: String
prompt: String!
): ProjectFilterSuggestionPayload!
"""
All teams whose issues can be accessed by the user. This might be different from `administrableTeams`, which also includes teams whose settings can be changed by the user.
"""
teams(
"""Filter returned teams."""
filter: TeamFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): TeamConnection!
"""
All teams you the user can administrate. Administrable teams are teams whose settings the user can change, but to whose issues the user doesn't necessarily have access to.
"""
administrableTeams(
"""Filter returned teams."""
filter: TeamFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): TeamConnection!
"""One specific team."""
team(id: String!): Team!
"""All team memberships."""
teamMemberships(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): TeamMembershipConnection!
"""One specific team membership."""
teamMembership(id: String!): TeamMembership!
"""Search for various resources using natural language."""
semanticSearch(
"""Search query to look for."""
query: String!
"""The types of results to return (default: all)."""
types: [SemanticSearchResultType!]
"""The maximum number of results to return (default: 50)."""
maxResults: Int
"""Whether to include archived results in the search (default: false)."""
includeArchived: Boolean
"""Filters to apply to the semantic search results of each type."""
filters: SemanticSearchFilters
): SemanticSearchPayload!
"""Search documents."""
searchDocuments(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
"""Search string to look for."""
term: String!
"""Should associated comments be searched (default: false)."""
includeComments: Boolean
"""UUID of a team to use as a boost."""
teamId: String
): DocumentSearchPayload!
"""Search projects."""
searchProjects(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
"""Search string to look for."""
term: String!
"""Should associated comments be searched (default: false)."""
includeComments: Boolean
"""UUID of a team to use as a boost."""
teamId: String
): ProjectSearchPayload!
"""Search issues."""
searchIssues(
"""Filter returned issues."""
filter: IssueFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
"""Search string to look for."""
term: String!
"""Should associated comments be searched (default: false)."""
includeComments: Boolean
"""UUID of a team to use as a boost."""
teamId: String
): IssueSearchPayload!
roadmapToProjects(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
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.")
"""One specific roadmapToProject."""
roadmapToProject(id: String!): RoadmapToProject! @deprecated(reason: "RoadmapToProject is deprecated, use InitiativeToProject instead.")
"""All roadmaps in the workspace."""
roadmaps(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
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.")
"""One specific roadmap."""
roadmap(id: String!): Roadmap! @deprecated(reason: "Roadmaps are deprecated, use initiatives instead.")
"""[ALPHA] All release stages."""
releaseStages(
"""Filter returned release stages."""
filter: ReleaseStageFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ReleaseStageConnection!
"""[ALPHA] One specific release stage."""
releaseStage(id: String!): ReleaseStage!
"""[ALPHA] All release pipelines."""
releasePipelines(
"""Filter returned release pipelines."""
filter: ReleasePipelineFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
"""[ALPHA] Sort returned release pipelines."""
sort: [ReleasePipelineSortInput!]
): ReleasePipelineConnection!
"""[ALPHA] One specific release pipeline."""
releasePipeline(id: String!): ReleasePipeline!
"""
[ALPHA] Returns a release pipeline by ID. Requires the access key to have access to the pipeline.
"""
releasePipelineByAccessKey: ReleasePipeline!
"""
[ALPHA] Returns the latest release for the pipeline associated with the access key.
"""
latestReleaseByAccessKey: Release
"""[ALPHA] All releases."""
releases(
"""Filter returned releases."""
filter: ReleaseFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
"""[ALPHA] Sort returned releases."""
sort: [ReleaseSortInput!]
): ReleaseConnection!
"""[ALPHA] One specific release."""
release(id: String!): Release!
"""[ALPHA] Search releases by term with ranked results."""
releaseSearch(
"""Maximum results. Capped at 50."""
first: Int = 20
"""Search term to match against release name, version, and pipeline name."""
term: String!
): [Release!]!
"""The status of the rate limiter."""
rateLimitStatus: RateLimitPayload!
"""Sends a test push message."""
pushSubscriptionTest(
"""Whether to send to mobile devices."""
targetMobile: Boolean = false
"""The send strategy to use."""
sendStrategy: SendStrategy = push
): PushSubscriptionTestPayload!
"""All project updates."""
projectUpdates(
"""Filter returned project updates."""
filter: ProjectUpdateFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ProjectUpdateConnection!
"""A specific project update."""
projectUpdate(
"""The identifier of the project update to retrieve."""
id: String!
): ProjectUpdate!
"""All project statuses."""
projectStatuses(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ProjectStatusConnection!
"""
[INTERNAL] Count of projects using this project status across the organization.
"""
projectStatusProjectCount(
"""The identifier of the project status to find the project count for."""
id: String!
): ProjectStatusCountPayload!
"""One specific project status."""
projectStatus(id: String!): ProjectStatus!
"""All project relationships."""
projectRelations(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ProjectRelationConnection!
"""One specific project relation."""
projectRelation(id: String!): ProjectRelation!
"""All milestones for the project."""
projectMilestones(
"""Filter returned project milestones."""
filter: ProjectMilestoneFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ProjectMilestoneConnection!
"""One specific project milestone."""
projectMilestone(id: String!): ProjectMilestone!
"""All project labels."""
projectLabels(
"""Filter returned project labels."""
filter: ProjectLabelFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ProjectLabelConnection!
"""One specific label."""
projectLabel(id: String!): ProjectLabel!
"""The user's organization."""
organization: Organization!
"""Does the organization exist."""
organizationExists(urlKey: String!): OrganizationExistsPayload!
"""[Internal] All archived teams of the organization."""
archivedTeams: [Team!]!
"""[INTERNAL] Get organization metadata by urlKey or organization id."""
organizationMeta(urlKey: String!): OrganizationMeta
"""All invites for the organization."""
organizationInvites(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): OrganizationInviteConnection!
"""One specific organization invite."""
organizationInvite(id: String!): OrganizationInvite!
"""One specific organization invite."""
organizationInviteDetails(id: String!): OrganizationInviteDetailsPayload!
"""[INTERNAL] Checks whether the domain can be claimed."""
organizationDomainClaimRequest(
"""The ID of the organization domain to claim."""
id: String!
): OrganizationDomainClaimPayload!
"""The user's notification subscriptions."""
notificationSubscriptions(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): NotificationSubscriptionConnection!
"""One specific notification subscription."""
notificationSubscription(id: String!): NotificationSubscription!
"""All notifications."""
notifications(
"""Filters returned notifications."""
filter: NotificationFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
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!
"""One specific notification."""
notification(id: String!): Notification!
"""[ALPHA] Returns a list of issue to release entities."""
issueToReleases(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueToReleaseConnection!
"""[ALPHA] One specific issueToRelease."""
issueToRelease(id: String!): IssueToRelease!
"""All issues."""
issues(
"""Filter returned issues."""
filter: IssueFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
"""[INTERNAL] Sort returned issues."""
sort: [IssueSortInput!]
): IssueConnection!
"""One specific issue."""
issue(id: String!): Issue!
"""
[DEPRECATED] Search issues. This endpoint is deprecated and will be removed in the future – use `searchIssues` instead.
"""
issueSearch(
"""Filter returned issues."""
filter: IssueFilter
"""[Deprecated] Search string to look for."""
query: String
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueConnection!
"""Find issue based on the VCS branch name."""
issueVcsBranchSearch(
"""The VCS branch name to search for."""
branchName: String!
): Issue
"""Find issues that are related to a given Figma file key."""
issueFigmaFileKeySearch(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
"""The Figma file key."""
fileKey: String!
): IssueConnection!
"""Issue priority values and corresponding labels."""
issuePriorityValues: [IssuePriorityValue!]!
"""Suggests filters for an issue view based on a text prompt."""
issueFilterSuggestion(
"""[Internal] The ID of the team if filtering a team view."""
teamId: String
"""The ID of the project if filtering a project view."""
projectId: String
prompt: String!
): IssueFilterSuggestionPayload!
"""
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!
"""All issue relationships."""
issueRelations(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueRelationConnection!
"""One specific issue relation."""
issueRelation(id: String!): IssueRelation!
"""All issue labels."""
issueLabels(
"""Filter returned issue labels."""
filter: IssueLabelFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueLabelConnection!
"""One specific label."""
issueLabel(id: String!): IssueLabel!
"""Checks a CSV file validity against a specific import service."""
issueImportCheckCSV(
"""CSV storage url."""
csvUrl: String!
"""The service the CSV containing data from."""
service: String!
): IssueImportCheckPayload!
"""
Checks whether it will be possible to setup 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 installation or cloud hostname."""
jiraHostname: String!
"""Jira personal access token to access Jira REST API."""
jiraToken: String!
"""Jira user account email."""
jiraEmail: String!
"""Jira project key to use as the base filter of the query."""
jiraProject: String!
"""The JQL query to validate."""
jql: String!
): IssueImportJqlCheckPayload!
"""One specific set of settings."""
integrationsSettings(id: String!): IntegrationsSettings!
"""Template and integration connections."""
integrationTemplates(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IntegrationTemplateConnection!
"""One specific integrationTemplate."""
integrationTemplate(id: String!): IntegrationTemplate!
"""All integrations."""
integrations(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IntegrationConnection!
"""One specific integration."""
integration(id: String!): Integration!
"""
Verify that we received the correct response from the GitHub Enterprise Server.
"""
verifyGitHubEnterpriseServerInstallation(
"""The integration ID."""
integrationId: String!
): GitHubEnterpriseServerInstallVerificationPayload!
"""Checks if the integration has all required scopes."""
integrationHasScopes(
"""Required scopes."""
scopes: [String!]!
"""The integration ID."""
integrationId: String!
): IntegrationHasScopesPayload!
"""All InitiativeUpdates."""
initiativeUpdates(
"""Filter returned initiative updates."""
filter: InitiativeUpdateFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): InitiativeUpdateConnection!
"""A specific initiative update."""
initiativeUpdate(
"""The identifier of the initiative update to retrieve."""
id: String!
): InitiativeUpdate!
"""returns a list of initiative to project entities."""
initiativeToProjects(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): InitiativeToProjectConnection!
"""One specific initiativeToProject."""
initiativeToProject(id: String!): InitiativeToProject!
"""All initiatives in the workspace."""
initiatives(
"""Filter returned initiatives."""
filter: InitiativeFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
"""[INTERNAL] Sort returned initiatives."""
sort: [InitiativeSortInput!]
): InitiativeConnection!
"""One specific initiative."""
initiative(id: String!): Initiative!
"""All initiative relationships."""
initiativeRelations(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): InitiativeRelationConnection!
"""One specific initiative relation."""
initiativeRelation(id: String!): ProjectRelation!
"""
[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!
"""The user's favorites."""
favorites(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): FavoriteConnection!
"""One specific favorite."""
favorite(id: String!): Favorite!
"""All external users for the organization."""
externalUsers(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ExternalUserConnection!
"""One specific external user."""
externalUser(
"""The identifier of the external user to retrieve."""
id: String!
): ExternalUser!
"""One specific entity link."""
entityExternalLink(id: String!): EntityExternalLink!
"""All custom emojis."""
emojis(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): EmojiConnection!
"""A specific emoji."""
emoji(
"""The identifier or the name of the emoji to retrieve."""
id: String!
): Emoji!
"""One specific email intake address."""
emailIntakeAddress(id: String!): EmailIntakeAddress!
"""All documents in the workspace."""
documents(
"""Filter returned documents."""
filter: DocumentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): DocumentConnection!
"""One specific document."""
document(id: String!): Document!
"""A collection of document content history entries."""
documentContentHistory(id: String!): DocumentContentHistoryPayload!
"""
[Internal] Fetches document content history entries by their IDs, including content data.
"""
documentContentHistoryEntries(entryIds: [String!]!): DocumentContentHistoryPayload!
"""All cycles."""
cycles(
"""Filter returned users."""
filter: CycleFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): CycleConnection!
"""One specific cycle."""
cycle(id: String!): Cycle!
"""All customer tiers."""
customerTiers(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): CustomerTierConnection!
"""One specific customer tier."""
customerTier(id: String!): CustomerTier!
"""All customer statuses."""
customerStatuses(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): CustomerStatusConnection!
"""One specific customer status."""
customerStatus(id: String!): CustomerStatus!
"""All customers."""
customers(
"""Filter returned customers."""
filter: CustomerFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
"""Sort returned customers."""
sorts: [CustomerSortInput!]
): CustomerConnection!
"""One specific customer."""
customer(id: String!): Customer!
"""All customer needs."""
customerNeeds(
"""Filter returned customers needs."""
filter: CustomerNeedFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): CustomerNeedConnection!
"""One specific customer need"""
customerNeed(
"""The identifier of the need to retrieve."""
id: String
"""The hash of the need to retrieve."""
hash: String
): CustomerNeed!
"""Suggests issue title based on a customer request."""
issueTitleSuggestionFromCustomerRequest(request: String!): IssueTitleSuggestionFromCustomerRequestPayload!
"""Custom views for the user."""
customViews(
"""Filter returned custom views."""
filter: CustomViewFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
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!
"""One specific custom view."""
customView(id: String!): CustomView!
"""[INTERNAL] Suggests metadata for a view based on it's filters."""
customViewDetailsSuggestion(modelName: String, filter: JSONObject!): CustomViewSuggestionPayload!
"""
Whether a custom view has other subscribers than the current user in the organization.
"""
customViewHasSubscribers(
"""The identifier of the custom view."""
id: String!
): CustomViewHasSubscribersPayload!
"""All comments."""
comments(
"""Filter returned comments."""
filter: CommentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): CommentConnection!
"""A specific comment."""
comment(
"""The identifier of the comment to retrieve."""
id: String
"""The hash of the comment to retrieve."""
hash: String
): Comment!
"""Fetch users belonging to this user account."""
availableUsers: AuthResolverResponse!
"""User's active sessions."""
authenticationSessions: [AuthenticationSessionResponse!]!
"""Fetch SSO login URL for the email provided."""
ssoUrlFromEmail(
"""Whether the client is the desktop app."""
isDesktop: Boolean
"""Type of identity provider."""
type: IdentityProviderType! = general
"""Email to query the SSO login URL by."""
email: String!
): SsoUrlFromEmailResponse!
"""List of audit entry types."""
auditEntryTypes: [AuditEntryType!]!
"""All audit log entries."""
auditEntries(
"""Filter returned audit entries."""
filter: AuditEntryFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): AuditEntryConnection!
"""
All issue attachments.
To get attachments for a given URL, use `attachmentsForURL` query.
"""
attachments(
"""Filter returned attachments."""
filter: AttachmentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): AttachmentConnection!
"\nOne specific issue attachment.\n[Deprecated] 'url' can no longer be used as the 'id' parameter. Use 'attachmentsForUrl' instead"
attachment(id: String!): Attachment!
"""Returns issue attachments for a given `url`."""
attachmentsForURL(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
"""The attachment URL."""
url: String!
): AttachmentConnection!
"\nQuery an issue by its associated attachment, and its id.\n"
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!
"""Get basic information for an application."""
applicationInfo(
"""The client ID of the application."""
clientId: String!
): Application!
"""All agent sessions."""
agentSessions(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): AgentSessionConnection!
"""A specific agent session."""
agentSession(
"""The identifier of the agent session to retrieve."""
id: String!
): AgentSession!
"""
[Internal] Retrieves the coding agent sandbox for a given agent session ID.
"""
agentSessionSandbox(
"""The identifier of the agent session."""
agentSessionId: String!
): CodingAgentSandboxPayload
"""All agent activities."""
agentActivities(
"""Filter returned agent activities."""
filter: AgentActivityFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
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!
}
"""The settings of a user as a JSON object."""
type UserSettings implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""
The notification delivery preferences for the user. Note: notificationDisabled field is deprecated in favor of notificationChannelPreferences.
"""
notificationDeliveryPreferences: NotificationDeliveryPreferences!
"""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 user associated with these settings."""
user: User!
"""Hash for the user to be used in calendar URLs."""
calendarHash: String
"""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 invite accepted emails or not."""
subscribedToInviteAccepted: Boolean!
"""
Whether this user is subscribed to privacy and legal update emails or not.
"""
subscribedToPrivacyLegalUpdates: Boolean!
"""The user's feed summary schedule preference."""
feedSummarySchedule: FeedSummarySchedule
"""Whether to show full user names instead of display names."""
showFullUserNames: Boolean!
"""The user's last seen time for the pulse feed."""
feedLastSeenTime: DateTime
"""
Whether to auto-assign newly created issues to the current user by default.
"""
autoAssignToSelf: Boolean!
"""The user's notification category preferences."""
notificationCategoryPreferences: NotificationCategoryPreferences!
"""The user's notification channel preferences."""
notificationChannelPreferences: NotificationChannelPreferences!
"""The user's theme for a given mode and device type."""
theme(
"""The device type."""
deviceType: UserSettingsThemeDeviceType = desktop
"""The theme color mode."""
mode: UserSettingsThemeMode = light
): UserSettingsTheme
}
"""A user's notification delivery preferences."""
type NotificationDeliveryPreferences {
"""The delivery preferences for the mobile channel."""
mobile: NotificationDeliveryPreferencesChannel
}
"""A user's notification delivery preferences."""
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
}
"""A user's notification delivery schedule for a particular day."""
type NotificationDeliveryPreferencesSchedule {
"""Whether the schedule is disabled."""
disabled: Boolean
"""Delivery preferences for Sunday."""
sunday: NotificationDeliveryPreferencesDay!
"""Delivery preferences for Monday."""
monday: NotificationDeliveryPreferencesDay!
"""Delivery preferences for Tuesday."""
tuesday: NotificationDeliveryPreferencesDay!
"""Delivery preferences for Wednesday."""
wednesday: NotificationDeliveryPreferencesDay!
"""Delivery preferences for Thursday."""
thursday: NotificationDeliveryPreferencesDay!
"""Delivery preferences for Friday."""
friday: NotificationDeliveryPreferencesDay!
"""Delivery preferences for Saturday."""
saturday: NotificationDeliveryPreferencesDay!
}
"""A user's notification delivery schedule for a particular day."""
type NotificationDeliveryPreferencesDay {
"""The time notifications start."""
start: String
"""The time notifications end."""
end: String
}
"""A user's notification category preferences."""
type NotificationCategoryPreferences {
"""The preferences for notifications about assignments."""
assignments: NotificationChannelPreferences!
"""The preferences for notifications about status changes."""
statusChanges: NotificationChannelPreferences!
"""The preferences for notifications about comments and replies."""
commentsAndReplies: NotificationChannelPreferences!
"""The preferences for notifications about mentions."""
mentions: NotificationChannelPreferences!
"""The preferences for notifications about reactions."""
reactions: NotificationChannelPreferences!
"""The preferences for notifications about subscriptions."""
subscriptions: NotificationChannelPreferences!
"""The preferences for notifications about document changes."""
documentChanges: NotificationChannelPreferences!
"""The preferences for notifications about posts and updates."""
postsAndUpdates: NotificationChannelPreferences!
"""The preferences for notifications about reminders."""
reminders: NotificationChannelPreferences!
"""The preferences for notifications about reviews."""
reviews: NotificationChannelPreferences!
"""The preferences for notifications about apps and integrations."""
appsAndIntegrations: NotificationChannelPreferences!
"""The preferences for system notifications."""
system: NotificationChannelPreferences!
"""The preferences for triage notifications."""
triage: NotificationChannelPreferences!
"""The preferences for customer notifications."""
customers: NotificationChannelPreferences!
"""The preferences for feed summary notifications."""
feed: NotificationChannelPreferences!
}
"""
A user's notification channel preferences, indicating if a channel is enabled or not
"""
type NotificationChannelPreferences {
"""Whether notifications are currently enabled for mobile."""
mobile: Boolean!
"""Whether notifications are currently enabled for desktop."""
desktop: Boolean!
"""Whether notifications are currently enabled for email."""
email: Boolean!
"""Whether notifications are currently enabled for Slack."""
slack: Boolean!
}
type UserSettingsTheme {
"""The theme preset."""
preset: UserSettingsThemePreset!
"""The custom theme definition, only present when preset is 'custom'."""
custom: UserSettingsCustomTheme
}
"""Theme preset options"""
enum UserSettingsThemePreset {
system
light
pureLight
dark
magicBlue
classicDark
custom
}
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
}
type UserSettingsCustomSidebarTheme {
"""The accent color in LCH format."""
accent: [Float!]!
"""The base color in LCH format."""
base: [Float!]!
"""The contrast value."""
contrast: Int!
}
"""Device type for theme"""
enum UserSettingsThemeDeviceType {
desktop
mobileWeb
}
"""Theme color mode"""
enum UserSettingsThemeMode {
light
dark
}
"""User sorting options."""
input UserSortInput {
"""Sort by user name"""
name: UserNameSort
"""Sort by user display name"""
displayName: UserDisplayNameSort
}
"""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
}
"""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
}
"""Authentication session information."""
type AuthenticationSessionResponse {
"""The time at which the entity was created."""
createdAt: DateTime!
id: String!
"""Type of application used to authenticate."""
type: AuthenticationSessionType!
"""IP address."""
ip: String
"""Location country name."""
locationCountry: String
"""Location country code."""
locationCountryCode: String
"""Country codes of all seen locations."""
countryCodes: [String!]!
"""Location region code."""
locationRegionCode: String
"""Location city name."""
locationCity: String
"""Session's user-agent."""
userAgent: String
"""Used web browser."""
browserType: String
"""Service used for logging in."""
service: String
"""When was the session last seen"""
lastActiveAt: DateTime
"""Date when the session was last updated."""
updatedAt: DateTime!
"""Human readable location"""
location: String
"""Operating system used for the session"""
operatingSystem: String
"""Client used for the session"""
client: String
"""Name of the session, derived from the client and operating system"""
name: String!
"""Identifies the session used to make the request."""
isCurrentSession: Boolean!
}
enum AuthenticationSessionType {
web
desktop
ios
android
}
type TriageResponsibilityConnection {
edges: [TriageResponsibilityEdge!]!
nodes: [TriageResponsibility!]!
pageInfo: PageInfo!
}
type TriageResponsibilityEdge {
node: TriageResponsibility!
"""Used in `before` and `after` args"""
cursor: String!
}
type TimeScheduleConnection {
edges: [TimeScheduleEdge!]!
nodes: [TimeSchedule!]!
pageInfo: PageInfo!
}
type TimeScheduleEdge {
node: TimeSchedule!
"""Used in `before` and `after` args"""
cursor: String!
}
type ProjectFilterSuggestionPayload {
"""The json filter that is suggested."""
filter: JSONObject
"""The log id of the prompt, that created this filter."""
logId: String
}
"""Payload returned by semantic search."""
type SemanticSearchPayload {
"""Whether the semantic search is enabled."""
enabled: Boolean! @deprecated(reason: "Always true.")
results: [SemanticSearchResult!]!
}
"""A semantic search result reference."""
type SemanticSearchResult implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The type of the semantic search result."""
type: SemanticSearchResultType!
"""The issue related to the semantic search result."""
issue: Issue
"""The project related to the semantic search result."""
project: Project
"""The initiative related to the semantic search result."""
initiative: Initiative
"""The document related to the semantic search result."""
document: Document
}
"""The type of the semantic search result."""
enum SemanticSearchResultType {
issue
project
initiative
document
}
"""Filters for semantic search results."""
input SemanticSearchFilters {
"""Filters applied to issues."""
issues: IssueFilter
"""Filters applied to projects."""
projects: ProjectFilter
"""Filters applied to initiatives."""
initiatives: InitiativeFilter
"""Filters applied to documents."""
documents: DocumentFilter
}
type DocumentSearchPayload {
edges: [DocumentSearchResultEdge!]!
nodes: [DocumentSearchResult!]!
pageInfo: PageInfo!
"""
Archived entities matching the search term along with all their dependencies.
"""
archivePayload: ArchiveResponse!
"""Total number of results for query without filters applied."""
totalCount: Float!
}
type DocumentSearchResultEdge {
node: DocumentSearchResult!
"""Used in `before` and `after` args"""
cursor: String!
}
type DocumentSearchResult implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The document title."""
title: String!
"""
[Internal] A one-sentence AI-generated summary of the document content.
"""
summary: String
"""The icon of the document."""
icon: String
"""The color of the icon."""
color: String
"""The user who created the document."""
creator: User
"""The user who last updated the document."""
updatedBy: User
"""The project that the document is associated with."""
project: Project
"""The initiative that the document is associated with."""
initiative: Initiative
"""[Internal] The team that the document is associated with."""
team: Team
"""The issue that the document is associated with."""
issue: Issue
"""[Internal] The release that the document is associated with."""
release: Release
"""[Internal] The cycle that the document is associated with."""
cycle: Cycle
"""The document's unique URL slug."""
slugId: String!
"""The last template that was applied to this document."""
lastAppliedTemplate: Template
"""
The time at which the document was hidden. Null if the entity has not been hidden.
"""
hiddenAt: DateTime
"""A flag that indicates whether the document is in the trash bin."""
trashed: Boolean
"""The order of the item in the resources list."""
sortOrder: Float!
"""Comments associated with the document."""
comments(
"""Filter returned comments."""
filter: CommentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): CommentConnection!
"""The documents content in markdown format."""
content: String
"""[Internal] The documents content as YJS state."""
contentState: String
"""The ID of the document content associated with the document."""
documentContentId: String
"""The canonical url for the document."""
url: String!
"""Metadata related to search result."""
metadata: JSONObject!
}
"""Contains requested archived model objects."""
type ArchiveResponse {
"""A JSON serialized collection of model objects loaded from the archive"""
archive: String!
"""The total number of entities in the archive."""
totalCount: Float!
"""
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!]!
}
type ProjectSearchPayload {
edges: [ProjectSearchResultEdge!]!
nodes: [ProjectSearchResult!]!
pageInfo: PageInfo!
"""
Archived entities matching the search term along with all their dependencies.
"""
archivePayload: ArchiveResponse!
"""Total number of results for query without filters applied."""
totalCount: Float!
}
type ProjectSearchResultEdge {
node: ProjectSearchResult!
"""Used in `before` and `after` args"""
cursor: String!
}
type ProjectSearchResult implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""
The n-weekly frequency at which to prompt for updates. When not set, reminders are inherited from workspace.
"""
updateReminderFrequencyInWeeks: Float
"""
The frequency at which to prompt for updates. When not set, reminders are inherited from workspace.
"""
updateReminderFrequency: Float
"""The resolution of the reminder frequency."""
frequencyResolution: FrequencyResolutionType!
"""The day at which to prompt for updates."""
updateRemindersDay: Day
"""The hour at which to prompt for updates."""
updateRemindersHour: Float
"""The project's name."""
name: String!
"""The project's description."""
description: String!
"""The project's unique URL slug."""
slugId: String!
"""The icon of the project."""
icon: String
"""The project's color."""
color: String!
"""The status that the project is associated with."""
status: ProjectStatus!
"""The user who created the project."""
creator: User
"""The project lead."""
lead: User
"""[Internal] Facets associated with the project."""
facets: [Facet!]!
"""The time until which project update reminders are paused."""
projectUpdateRemindersPausedUntilAt: DateTime
"""The estimated start date of the project."""
startDate: TimelessDate
"""The resolution of the project's start date."""
startDateResolution: DateResolutionType
"""The estimated completion date of the project."""
targetDate: TimelessDate
"""The resolution of the project's estimated completion date."""
targetDateResolution: DateResolutionType
"""The time at which the project was moved into started state."""
startedAt: DateTime
"""The time at which the project was moved into completed state."""
completedAt: DateTime
"""The time at which the project was moved into canceled state."""
canceledAt: DateTime
"""
The time at which the project was automatically archived by the auto pruning process.
"""
autoArchivedAt: DateTime
"""A flag that indicates whether the project is in the trash bin."""
trashed: Boolean
"""The sort order for the project within the organization."""
sortOrder: Float!
"""
The sort order for the project within the organization, when ordered by priority.
"""
prioritySortOrder: Float!
"""The project was created based on this issue."""
convertedFromIssue: Issue
"""The last template that was applied to this project."""
lastAppliedTemplate: Template
"""
The priority of the project. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low.
"""
priority: Int!
"""The last project update posted for this project."""
lastUpdate: ProjectUpdate
"""The health of the project."""
health: ProjectUpdateHealthType
"""The time at which the project health was updated."""
healthUpdatedAt: DateTime
"""The total number of issues in the project after each week."""
issueCountHistory: [Float!]!
"""The number of completed issues in the project after each week."""
completedIssueCountHistory: [Float!]!
"""The total number of estimation points after each week."""
scopeHistory: [Float!]!
"""The number of completed estimation points after each week."""
completedScopeHistory: [Float!]!
"""The number of in progress estimation points after each week."""
inProgressScopeHistory: [Float!]!
"""[INTERNAL] The progress history of the project."""
progressHistory: JSONObject!
"""[INTERNAL] The current progress of the project."""
currentProgress: JSONObject!
"""Whether to send new issue notifications to Slack."""
slackNewIssue: Boolean! @deprecated(reason: "No longer in use")
"""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")
"""Id of the labels associated with this project."""
labelIds: [String!]!
"""The user's favorite associated with this project."""
favorite: Favorite
"""Project URL."""
url: String!
"""Initiatives that this project belongs to."""
initiatives(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): InitiativeConnection!
"""Associations of this project to parent initiatives."""
initiativeToProjects(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): InitiativeToProjectConnection!
"""Teams associated with this project."""
teams(
"""Filter returned teams."""
filter: TeamFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): TeamConnection!
"""Users that are members of the project."""
members(
"""Filter returned users."""
filter: UserFilter
"""Should query return disabled/suspended users (default: false)."""
includeDisabled: Boolean
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): UserConnection!
"""Project updates associated with the project."""
projectUpdates(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ProjectUpdateConnection!
"""Documents associated with the project."""
documents(
"""Filter returned documents."""
filter: DocumentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): DocumentConnection!
"""Milestones associated with the project."""
projectMilestones(
"""Filter returned milestones."""
filter: ProjectMilestoneFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ProjectMilestoneConnection!
"""Issues associated with the project."""
issues(
"""Filter returned issues."""
filter: IssueFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueConnection!
"""External links associated with the project."""
externalLinks(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): EntityExternalLinkConnection!
"""Attachments associated with the project."""
attachments(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ProjectAttachmentConnection!
"""History entries associated with the project."""
history(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ProjectHistoryConnection!
"""Labels associated with this project."""
labels(
"""Filter returned project labels."""
filter: ProjectLabelFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ProjectLabelConnection!
"""
The overall progress of the project. This is the (completed estimate points + 0.25 * in progress estimate points) / total estimate points.
"""
progress: Float!
"""The overall scope (total estimate points) of the project."""
scope: Float!
"""Settings for all integrations associated with that project."""
integrationsSettings: IntegrationsSettings
"""The project's content in markdown format."""
content: String
"""[Internal] The project's content as YJS state."""
contentState: String
"""The content of the project description."""
documentContent: DocumentContent
"""Comments associated with the project overview."""
comments(
"""Filter returned comments."""
filter: CommentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): CommentConnection!
"""Relations associated with this project."""
relations(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ProjectRelationConnection!
"""Inverse relations associated with this project."""
inverseRelations(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ProjectRelationConnection!
"""Customer needs associated with the project."""
needs(
"""Filter returned needs."""
filter: CustomerNeedFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): CustomerNeedConnection!
"""[DEPRECATED] The type of the state."""
state: String! @deprecated(reason: "Use project.status instead")
"""The priority of the project as a label."""
priorityLabel: String!
"""The external services the project is synced with."""
syncedWith: [ExternalEntityInfo!]
"""Metadata related to search result."""
metadata: JSONObject!
}
type IssueSearchPayload {
edges: [IssueSearchResultEdge!]!
nodes: [IssueSearchResult!]!
pageInfo: PageInfo!
"""
Archived entities matching the search term along with all their dependencies.
"""
archivePayload: ArchiveResponse!
"""Total number of results for query without filters applied."""
totalCount: Float!
}
type IssueSearchResultEdge {
node: IssueSearchResult!
"""Used in `before` and `after` args"""
cursor: String!
}
type IssueSearchResult implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The issue's unique number."""
number: Float!
"""The issue's title."""
title: String!
"""
The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low.
"""
priority: Float!
"""The estimate of the complexity of the issue.."""
estimate: Float
"""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 order of the item in relation to other items in the organization."""
sortOrder: Float!
"""
The order of the item in relation to other items in the organization, when ordered by priority.
"""
prioritySortOrder: Float!
"""The time at which the issue was moved into started state."""
startedAt: DateTime
"""The time at which the issue was moved into completed state."""
completedAt: DateTime
"""The time at which the issue entered triage."""
startedTriageAt: DateTime
"""The time at which the issue left triage."""
triagedAt: DateTime
"""The time at which the issue was moved into canceled state."""
canceledAt: DateTime
"""
The time at which the issue was automatically closed by the auto pruning process.
"""
autoClosedAt: DateTime
"""
The time at which the issue was automatically archived by the auto pruning process.
"""
autoArchivedAt: DateTime
"""The date at which the issue is due."""
dueDate: TimelessDate
"""The time at which the issue's SLA began."""
slaStartedAt: DateTime
"""The time at which the issue's SLA will enter medium risk state."""
slaMediumRiskAt: 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 breach."""
slaBreachesAt: DateTime
"""The type of SLA set on the issue. Calendar days or business days."""
slaType: String
"""The time at which the issue was added to a project."""
addedToProjectAt: DateTime
"""The time at which the issue was added to a cycle."""
addedToCycleAt: DateTime
"""The time at which the issue was added to a team."""
addedToTeamAt: DateTime
"""A flag that indicates whether the issue is in the trash bin."""
trashed: Boolean
"""The time until an issue will be snoozed in Triage view."""
snoozedUntilAt: DateTime
"""
[Internal] The time at which the most recent suggestions for this issue were generated.
"""
suggestionsGeneratedAt: DateTime
"""[Internal] The activity summary information for this issue."""
activitySummary: JSONObject
"""[Internal] AI-generated activity summary for this issue."""
summary: Summary
"""Id of the labels associated with this issue."""
labelIds: [String!]!
"""The team that the issue is associated with."""
team: Team!
"""The cycle that the issue is associated with."""
cycle: Cycle
"""The project that the issue is associated with."""
project: Project
"""The projectMilestone that the issue is associated with."""
projectMilestone: ProjectMilestone
"""The last template that was applied to this issue."""
lastAppliedTemplate: Template
"""The recurring issue template that created this issue."""
recurringIssueTemplate: Template
"""Previous identifiers of the issue if it has been moved between teams."""
previousIdentifiers: [String!]!
"""The user who created the issue."""
creator: User
"""The external user who created the issue."""
externalUserCreator: ExternalUser
"""The user to whom the issue is assigned to."""
assignee: User
"""The agent user that is delegated to work on this issue."""
delegate: User
"""The user who snoozed the issue."""
snoozedBy: User
"""The workflow state that the issue is associated with."""
state: WorkflowState!
"""
The order of the item in the sub-issue list. Only set if the issue has a parent.
"""
subIssueSortOrder: Float
"""Emoji reaction summary, grouped by emoji type."""
reactionData: JSONObject!
"""Label for the priority."""
priorityLabel: String!
"""The comment that this issue was created from."""
sourceComment: Comment
"""Integration type that created this issue, if applicable."""
integrationSourceType: IntegrationService
"""Whether this issue inherits shared access from its parent issue."""
inheritsSharedAccess: Boolean!
"""Documents associated with the issue."""
documents(
"""Filter returned documents."""
filter: DocumentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): DocumentConnection!
"""The bot that created the issue, if applicable."""
botActor: ActorBot
"""The users favorite associated with this issue."""
favorite: Favorite
"""Issue's human readable identifier (e.g. ENG-123)."""
identifier: String!
"""Issue URL."""
url: String!
"""Suggested branch name for the issue."""
branchName: String!
"""Shared access metadata for this issue."""
sharedAccess: IssueSharedAccess!
"""
Returns the number of Attachment resources which are created by customer support ticketing systems (e.g. Zendesk).
"""
customerTicketCount: Int!
"""Users who are subscribed to the issue."""
subscribers(
"""Filter returned subscribers."""
filter: UserFilter
"""Should query return disabled/suspended users (default: false)."""
includeDisabled: Boolean
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): UserConnection!
"""The parent of the issue."""
parent: Issue
"""Children of the issue."""
children(
"""Filter returned issues."""
filter: IssueFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueConnection!
"""Comments associated with the issue."""
comments(
"""Filter returned comments."""
filter: CommentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): CommentConnection!
"""History entries associated with the issue."""
history(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueHistoryConnection!
"""Labels associated with this issue."""
labels(
"""Filter returned issue labels."""
filter: IssueLabelFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueLabelConnection!
"""Relations associated with this issue."""
relations(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueRelationConnection!
"""Inverse relations associated with this issue."""
inverseRelations(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueRelationConnection!
"""Attachments associated with the issue."""
attachments(
"""Filter returned attachments."""
filter: AttachmentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): AttachmentConnection!
"""
Attachments previously associated with the issue before being moved to another issue.
"""
formerAttachments(
"""Filter returned attachments."""
filter: AttachmentFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): AttachmentConnection!
"""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
"""Reactions associated with the issue."""
reactions: [Reaction!]!
"""Customer needs associated with the issue."""
needs(
"""Filter returned needs."""
filter: CustomerNeedFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): CustomerNeedConnection!
"""
Customer needs previously associated with the issue before being moved to another issue.
"""
formerNeeds(
"""Filter returned needs."""
filter: CustomerNeedFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): CustomerNeedConnection!
"""The external services the issue is synced with."""
syncedWith: [ExternalEntityInfo!]
"""[Internal] Product Intelligence suggestions for the issue."""
suggestions(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueSuggestionConnection!
"""
[Internal] Incoming product intelligence relation suggestions for the issue.
"""
incomingSuggestions(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): IssueSuggestionConnection!
"""
The internal user who requested creation of the Asks issue on behalf of the creator.
"""
asksRequester: User
"""
The external user who requested creation of the Asks issue on behalf of the creator.
"""
asksExternalUserRequester: ExternalUser
"""The issue's workflow states over time."""
stateHistory(
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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!
"""Metadata related to search result."""
metadata: JSONObject!
}
type RoadmapToProjectConnection {
edges: [RoadmapToProjectEdge!]!
nodes: [RoadmapToProject!]!
pageInfo: PageInfo!
}
type RoadmapToProjectEdge {
node: RoadmapToProject!
"""Used in `before` and `after` args"""
cursor: String!
}
"""[Deprecated] Join table between projects and roadmaps."""
type RoadmapToProject implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""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!
}
"""[Deprecated] A roadmap for projects."""
type Roadmap implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The name of the roadmap."""
name: String!
"""The description of the roadmap."""
description: String
"""The organization of the roadmap."""
organization: Organization!
"""The user who created the roadmap."""
creator: User!
"""The user who owns the roadmap."""
owner: User
"""The roadmap's unique URL slug."""
slugId: String!
"""The sort order of the roadmap within the organization."""
sortOrder: Float!
"""The roadmap's color."""
color: String
"""Projects associated with the roadmap."""
projects(
"""Filter returned projects."""
filter: ProjectFilter
"""A cursor to be used with last for backward pagination."""
before: String
"""A cursor to be used with first for forward pagination"""
after: 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
"""Should archived resources be included (default: false)"""
includeArchived: Boolean
"""
By which field should the pagination order by. Available options are createdAt (default) and updatedAt.
"""
orderBy: PaginationOrderBy
): ProjectConnection!
"""The canonical url for the roadmap."""
url: String!
}
type RoadmapConnection {
edges: [RoadmapEdge!]!
nodes: [Roadmap!]!
pageInfo: PageInfo!
}
type RoadmapEdge {
node: Roadmap!
"""Used in `before` and `after` args"""
cursor: String!
}
type ReleasePipelineConnection {
edges: [ReleasePipelineEdge!]!
nodes: [ReleasePipeline!]!
pageInfo: PageInfo!
}
type ReleasePipelineEdge {
node: ReleasePipeline!
"""Used in `before` and `after` args"""
cursor: String!
}
"""Release pipeline sorting options."""
input ReleasePipelineSortInput {
"""Sort by release pipeline name."""
name: ReleasePipelineNameSort
}
"""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
}
type RateLimitPayload {
"""The identifier we rate limit on."""
identifier: String
"""The kind of rate limit selected for this request."""
kind: String!
"""The state of the rate limit."""
limits: [RateLimitResultPayload!]!
}
type RateLimitResultPayload {
"""What is being rate limited."""
type: String!
"""The requested quantity for this type of limit."""
requestedAmount: Float!
"""The total allowed quantity for this type of limit."""
allowedAmount: Float!
"""The period in which the rate limit is fully replenished in ms."""
period: Float!
"""The remaining quantity for this type of limit after this request."""
remainingAmount: Float!
"""
The timestamp after the rate limit is fully replenished as a UNIX timestamp.
"""
reset: Float!
}
type PushSubscriptionTestPayload {
"""Whether the operation was successful."""
success: Boolean!
}
enum SendStrategy {
desktopThenPush
desktopAndPush
desktop
push
}
type ProjectStatusConnection {
edges: [ProjectStatusEdge!]!
nodes: [ProjectStatus!]!
pageInfo: PageInfo!
}
type ProjectStatusEdge {
node: ProjectStatus!
"""Used in `before` and `after` args"""
cursor: String!
}
type ProjectStatusCountPayload {
"""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!
"""
Total number of projects using this project status that are not visible to the user because they are in an archived team.
"""
archivedTeamCount: Float!
}
type OrganizationExistsPayload {
"""Whether the operation was successful."""
success: Boolean!
"""Whether the organization exists."""
exists: Boolean!
}
type OrganizationMeta {
"""The region the organization is hosted in."""
region: String!
"""Allowed authentication providers, empty array means all are allowed."""
allowedAuthServices: [String!]!
}
type OrganizationInviteConnection {
edges: [OrganizationInviteEdge!]!
nodes: [OrganizationInvite!]!
pageInfo: PageInfo!
}
type OrganizationInviteEdge {
node: OrganizationInvite!
"""Used in `before` and `after` args"""
cursor: String!
}
"""An invitation to the organization that has been sent via email."""
type OrganizationInvite implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The invitees email address."""
email: String!
"""The user role that the invitee will receive upon accepting the invite."""
role: UserRoleType!
"""The invite was sent to external address."""
external: Boolean!
"""
The time at which the invite was accepted. Null, if the invite hasn't been accepted.
"""
acceptedAt: DateTime
"""
The time at which the invite will be expiring. Null, if the invite shouldn't expire.
"""
expiresAt: DateTime
"""Extra metadata associated with the organization invite."""
metadata: JSONObject
"""The user who created the invitation."""
inviter: User!
"""
The user who has accepted the invite. Null, if the invite hasn't been accepted.
"""
invitee: User
"""The organization that the invite is associated with."""
organization: Organization!
}
"""The different permission roles available to users on an organization."""
enum UserRoleType {
owner
admin
guest
user
app
}
union OrganizationInviteDetailsPayload = OrganizationInviteFullDetailsPayload | OrganizationAcceptedOrExpiredInviteDetailsPayload
type OrganizationInviteFullDetailsPayload {
"""The status of the invite."""
status: OrganizationInviteStatus!
"""The name of the inviter."""
inviter: String!
"""The email of the invitee."""
email: String!
"""What user role the invite should grant."""
role: UserRoleType!
"""When the invite was created."""
createdAt: DateTime!
"""Name of the workspace the invite is for."""
organizationName: String!
"""ID of the workspace the invite is for."""
organizationId: String!
"""URL of the workspace logo the invite is for."""
organizationLogoUrl: String
"""Whether the invite has already been accepted."""
accepted: Boolean!
"""Whether the invite has expired."""
expired: Boolean!
"""Allowed authentication providers, empty array means all are allowed."""
allowedAuthServices: [String!]!
}
"""The different statuses possible for an organization invite."""
enum OrganizationInviteStatus {
pending
accepted
expired
}
type OrganizationAcceptedOrExpiredInviteDetailsPayload {
"""The status of the invite."""
status: OrganizationInviteStatus!
}
"""[INTERNAL] Domain claim request response."""
type OrganizationDomainClaimPayload {
"""String to put into DNS for verification."""
verificationString: String!
}
type NotificationSubscriptionConnection {
edges: [NotificationSubscriptionEdge!]!
nodes: [NotificationSubscription!]!
pageInfo: PageInfo!
}
type NotificationSubscriptionEdge {
node: NotificationSubscription!
"""Used in `before` and `after` args"""
cursor: String!
}
type NotificationConnection {
edges: [NotificationEdge!]!
nodes: [Notification!]!
pageInfo: PageInfo!
}
type NotificationEdge {
node: Notification!
"""Used in `before` and `after` args"""
cursor: String!
}
"""Notification filtering options."""
input NotificationFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the notification type."""
type: StringComparator
"""Comparator for the archived at date."""
archivedAt: DateComparator
"""Compound filters, all of which need to be matched by the notification."""
and: [NotificationFilter!]
"""Compound filters, one of which need to be matched by the notification."""
or: [NotificationFilter!]
}
type IssueToReleaseConnection {
edges: [IssueToReleaseEdge!]!
nodes: [IssueToRelease!]!
pageInfo: PageInfo!
}
type IssueToReleaseEdge {
node: IssueToRelease!
"""Used in `before` and `after` args"""
cursor: String!
}
"""[Internal] Join table between issues and releases."""
type IssueToRelease implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The issue associated with the release."""
issue: Issue!
"""The release associated with the issue."""
release: Release!
}
type IssuePriorityValue {
"""Priority's number value."""
priority: Int!
"""Priority's label."""
label: String!
}
type IssueFilterSuggestionPayload {
"""The json filter that is suggested."""
filter: JSONObject
"""The log id of the prompt, that created this filter."""
logId: String
}
type RepositorySuggestionsPayload {
"""The suggested repositories."""
suggestions: [RepositorySuggestion!]!
}
type RepositorySuggestion {
"""
The full name of the repository in owner/name format (e.g., 'acme/backend').
"""
repositoryFullName: String!
"""
Hostname of the Git service (e.g., 'github.com', 'github.company.com').
"""
hostname: String
"""Confidence score from 0.0 to 1.0."""
confidence: Float!
}
input CandidateRepository {
"""
The full name of the repository in owner/name format (e.g., 'acme/backend').
"""
repositoryFullName: String!
"""
Hostname of the Git service (e.g., 'github.com', 'github.company.com').
"""
hostname: String!
}
type IssueImportCheckPayload {
"""Whether the operation was successful."""
success: Boolean!
}
"""Whether an issue import can be synced at the end of an import or not"""
type IssueImportSyncCheckPayload {
"""Returns true if the import can be synced, false otherwise"""
canSync: Boolean!
"""An error message with a root cause of why the import cannot be synced"""
error: String
}
"""Whether a custom JQL query is valid or not"""
type IssueImportJqlCheckPayload {
"""
Returns true if the JQL query has been validated successfully, false otherwise
"""
success: Boolean!
"""
Returns an approximate number of issues matching the JQL query, if available
"""
count: Float
"""An error message returned by Jira when validating the JQL query."""
error: String
}
type IntegrationTemplateConnection {
edges: [IntegrationTemplateEdge!]!
nodes: [IntegrationTemplate!]!
pageInfo: PageInfo!
}
type IntegrationTemplateEdge {
node: IntegrationTemplate!
"""Used in `before` and `after` args"""
cursor: String!
}
"""Join table between templates and integrations."""
type IntegrationTemplate implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The template that the integration is associated with."""
template: Template!
"""The integration that the template is associated with."""
integration: Integration!
"""
ID of the foreign entity in the external integration this template is for, e.g., Slack channel ID.
"""
foreignEntityId: String
}
type GitHubEnterpriseServerInstallVerificationPayload {
"""Has the install been successful."""
success: Boolean!
}
type IntegrationHasScopesPayload {
"""Whether the integration has the required scopes."""
hasAllScopes: Boolean!
"""The missing scopes."""
missingScopes: [String!]
}
"""Options for filtering initiative updates."""
input InitiativeUpdateFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Filters that the initiative update creator must satisfy."""
user: UserFilter
"""Filters that the initiative update initiative must satisfy."""
initiative: InitiativeFilter
"""Filters that the initiative updates reactions must satisfy."""
reactions: ReactionCollectionFilter
"""
Compound filters, all of which need to be matched by the InitiativeUpdate.
"""
and: [InitiativeUpdateFilter!]
"""
Compound filters, one of which need to be matched by the InitiativeUpdate.
"""
or: [InitiativeUpdateFilter!]
}
type InitiativeRelationConnection {
edges: [InitiativeRelationEdge!]!
nodes: [InitiativeRelation!]!
pageInfo: PageInfo!
}
type InitiativeRelationEdge {
node: InitiativeRelation!
"""Used in `before` and `after` args"""
cursor: String!
}
"""A relation representing the dependency between two initiatives."""
type InitiativeRelation implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The parent initiative."""
initiative: Initiative!
"""The child initiative."""
relatedInitiative: Initiative!
"""The last user who created or modified the relation."""
user: User
"""The sort order of the relation within the initiative."""
sortOrder: Float!
}
type FetchDataPayload {
"""The fetched data based on the natural language query."""
data: JSONObject
"""The GraphQL query used to fetch the data."""
query: String
"""The filters used to fetch the data."""
filters: JSONObject
"""Whether the fetch operation was successful."""
success: Boolean!
}
type ExternalUserConnection {
edges: [ExternalUserEdge!]!
nodes: [ExternalUser!]!
pageInfo: PageInfo!
}
type ExternalUserEdge {
node: ExternalUser!
"""Used in `before` and `after` args"""
cursor: String!
}
type EmojiConnection {
edges: [EmojiEdge!]!
nodes: [Emoji!]!
pageInfo: PageInfo!
}
type EmojiEdge {
node: Emoji!
"""Used in `before` and `after` args"""
cursor: String!
}
"""A custom emoji."""
type Emoji implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The emoji's name."""
name: String!
"""The emoji image URL."""
url: String!
"""The source of the emoji."""
source: String!
"""The user who created the emoji."""
creator: User
"""The organization that the emoji belongs to."""
organization: Organization!
}
"""An email address that can be used for submitting issues."""
type EmailIntakeAddress implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""Unique email address user name (before @) used for incoming email."""
address: String!
"""The type of the email address."""
type: EmailIntakeAddressType!
"""The email address used to forward emails to the intake address."""
forwardingEmailAddress: String
"""The name to be used for outgoing emails."""
senderName: String
"""Whether the email address is enabled."""
enabled: Boolean!
"""Whether email replies are enabled."""
repliesEnabled: Boolean!
"""Whether the commenter's name is included in the email replies."""
useUserNamesInReplies: Boolean!
"""The template that the email address is associated with."""
template: Template
"""The team that the email address is associated with."""
team: Team
"""The organization that the email address is associated with."""
organization: Organization!
"""The SES domain identity that the email address is associated with."""
sesDomainIdentity: SesDomainIdentity
"""The user who created the email intake address."""
creator: User
"""
Whether issues created from that email address will be turned into customer requests.
"""
customerRequestsEnabled: 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!
"""Whether the auto-reply for issue completed is enabled."""
issueCompletedAutoReplyEnabled: 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 canceled is enabled."""
issueCanceledAutoReplyEnabled: Boolean!
"""
The auto-reply message for issue canceled. If not set, the default reply will be used.
"""
issueCanceledAutoReply: String
"""
Whether to reopen completed or canceled issues when a substantive email reply is received.
"""
reopenOnReply: Boolean!
}
"""The type of the email address."""
enum EmailIntakeAddressType {
team
template
asks
asksWeb
}
"""SES domain identity used for sending emails from a custom domain."""
type SesDomainIdentity implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The domain of the SES domain identity."""
domain: String!
"""The AWS region of the SES domain identity."""
region: String!
"""The organization of the SES domain identity."""
organization: Organization!
"""The user who created the SES domain identity."""
creator: User
"""
Whether the domain is fully verified and can be used for sending emails.
"""
canSendFromCustomDomain: Boolean!
"""The DNS records for the SES domain identity."""
dnsRecords: [SesDomainIdentityDnsRecord!]!
}
"""A DNS record for a SES domain identity."""
type SesDomainIdentityDnsRecord {
"""The type of the DNS record."""
type: String!
"""The name of the DNS record."""
name: String!
"""The content of the DNS record."""
content: String!
"""Whether the DNS record is verified in the domain's DNS configuration."""
isVerified: Boolean!
}
type DocumentContentHistoryPayload {
"""The document content history entries."""
history: [DocumentContentHistoryType!]!
"""Whether the operation was successful."""
success: Boolean!
}
type DocumentContentHistoryType {
"""The UUID of the document content history entry."""
id: String!
"""The date when the document content history entry was created."""
createdAt: DateTime!
"""
The date when the document content history snapshot was taken. This can be different than createdAt since the content is captured from its state at the previously known updatedAt timestamp in the case of an update. On document create, these timestamps can be the same.
"""
contentDataSnapshotAt: DateTime!
"""[Internal] The document content as Prosemirror document."""
contentData: JSON
"""The ID of the author of the change."""
actorIds: [String!]
"""Metadata associated with the history item."""
metadata: JSON
}
type CustomerTierConnection {
edges: [CustomerTierEdge!]!
nodes: [CustomerTier!]!
pageInfo: PageInfo!
}
type CustomerTierEdge {
node: CustomerTier!
"""Used in `before` and `after` args"""
cursor: String!
}
type CustomerStatusConnection {
edges: [CustomerStatusEdge!]!
nodes: [CustomerStatus!]!
pageInfo: PageInfo!
}
type CustomerStatusEdge {
node: CustomerStatus!
"""Used in `before` and `after` args"""
cursor: String!
}
type CustomerConnection {
edges: [CustomerEdge!]!
nodes: [Customer!]!
pageInfo: PageInfo!
}
type CustomerEdge {
node: Customer!
"""Used in `before` and `after` args"""
cursor: String!
}
"""Customer filtering options."""
input CustomerFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the customer name."""
name: StringComparator
"""Comparator for the customer slack channel ID."""
slackChannelId: StringComparator
"""Comparator for the customer's domains."""
domains: StringArrayComparator
"""Comparator for the customer's external IDs."""
externalIds: StringArrayComparator
"""Filters that the customer owner must satisfy."""
owner: NullableUserFilter
"""Filters that the customer's needs must satisfy."""
needs: CustomerNeedCollectionFilter
"""Comparator for the customer generated revenue."""
revenue: NumberComparator
"""Comparator for the customer size."""
size: NumberComparator
"""Filters that the customer's status must satisfy."""
status: CustomerStatusFilter
"""Filters that the customer's tier must satisfy."""
tier: CustomerTierFilter
"""Compound filters, all of which need to be matched by the customer."""
and: [CustomerFilter!]
"""Compound filters, one of which need to be matched by the customer."""
or: [CustomerFilter!]
}
"""Customer sorting options."""
input CustomerSortInput {
"""Sort by name"""
name: NameSort
"""Sort by customer creation date"""
createdAt: CustomerCreatedAtSort
"""Sort by owner name"""
owner: OwnerSort
"""Sort by customer status"""
status: CustomerStatusSort
"""Sort by customer generated revenue"""
revenue: RevenueSort
"""Sort by customer size"""
size: SizeSort
"""Sort by customer tier"""
tier: TierSort
"""Sort by approximate customer need count"""
approximateNeedCount: ApproximateNeedCountSort
}
"""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
}
"""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
}
"""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
}
"""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
}
"""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
}
"""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
}
"""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
}
"""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
}
type IssueTitleSuggestionFromCustomerRequestPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The suggested issue title."""
title: String!
"""[Internal] The log id of the ai response."""
logId: String
}
type CustomViewConnection {
edges: [CustomViewEdge!]!
nodes: [CustomView!]!
pageInfo: PageInfo!
}
type CustomViewEdge {
node: CustomView!
"""Used in `before` and `after` args"""
cursor: String!
}
"""Custom view filtering options."""
input CustomViewFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the custom view name."""
name: StringComparator
"""Comparator for the custom view model name."""
modelName: StringComparator
"""Filters that the custom view's team must satisfy."""
team: NullableTeamFilter
"""Filters that the custom view creator must satisfy."""
creator: UserFilter
"""Comparator for whether the custom view is shared."""
shared: BooleanComparator
"""[INTERNAL] Filter based on whether the custom view has a facet."""
hasFacet: Boolean
"""Compound filters, all of which need to be matched by the custom view."""
and: [CustomViewFilter!]
"""Compound filters, one of which need to be matched by the custom view."""
or: [CustomViewFilter!]
}
input CustomViewSortInput {
"""Sort by custom view name."""
name: CustomViewNameSort
"""Sort by custom view creation date."""
createdAt: CustomViewCreatedAtSort
"""Sort by custom view shared status."""
shared: CustomViewSharedSort
"""Sort by custom view update date."""
updatedAt: CustomViewUpdatedAtSort
}
"""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
}
"""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
}
"""
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
}
"""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
}
type CustomViewSuggestionPayload {
"""The suggested view name."""
name: String
"""The suggested view description."""
description: String
"""The suggested view icon."""
icon: String
}
type CustomViewHasSubscribersPayload {
"""Whether the custom view has subscribers."""
hasSubscribers: Boolean!
}
type AuthResolverResponse {
"""User account ID."""
id: String!
"""Email for the authenticated account."""
email: String!
"""Should the signup flow allow access for the domain."""
allowDomainAccess: Boolean
"""List of active users that belong to the user account."""
users: [AuthUser!]!
"""List of locked users that are locked by login restrictions"""
lockedUsers: [AuthUser!]!
"""
List of organizations allowing this user account to join automatically.
"""
availableOrganizations: [AuthOrganization!]
"""
List of organization available to this user account but locked due to the current auth method.
"""
lockedOrganizations: [AuthOrganization!]
"""ID of the organization last accessed by the user."""
lastUsedOrganizationId: String
"""
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.")
}
"""A user that has access to the the resources of an organization."""
type AuthUser {
"""The time at which the entity was created."""
createdAt: DateTime!
id: ID!
"""The user's full name."""
name: String!
"""The user's display (nick) name. Unique within each organization."""
displayName: String!
"""The user's email address."""
email: String!
"""An URL to the user's avatar image."""
avatarUrl: String
"""
Whether the user is an organization admin or guest on a database level.
"""
role: UserRoleType!
"""Whether the user is active."""
active: Boolean!
"""User account ID the user belongs to."""
userAccountId: String!
"""Organization the user belongs to."""
organization: AuthOrganization!
"""[INTERNAL] Identity provider the user is managed by."""
identityProvider: AuthIdentityProvider
}
"""
An organization. Organizations are root-level objects that contain users and teams.
"""
type AuthOrganization {
"""The time at which the entity was created."""
createdAt: DateTime!
"""The unique identifier of the entity."""
id: ID!
"""The organization's name."""
name: String!
"""
Whether the organization is enabled. Used as a superuser tool to lock down the org.
"""
enabled: Boolean!
"""The organization's unique URL key."""
urlKey: String!
"""
Previously used URL keys for the organization (last 3 are kept and redirected).
"""
previousUrlKeys: [String!]!
"""The organization's logo URL."""
logoUrl: String
"""The time at which deletion of the organization was requested."""
deletionRequestedAt: DateTime
"""The feature release channel the organization belongs to."""
releaseChannel: ReleaseChannel!
"""Whether SAML authentication is enabled for organization."""
samlEnabled: Boolean!
"""[INTERNAL] SAML settings"""
samlSettings: JSONObject
"""Allowed authentication providers, empty array means all are allowed"""
allowedAuthServices: [String!]! @deprecated(reason: "Use authSettings.allowedAuthServices instead.")
"""Authentication settings for the organization."""
authSettings: JSONObject!
"""Whether SCIM provisioning is enabled for organization."""
scimEnabled: Boolean!
"""The email domain or URL key for the organization."""
serviceId: String!
"""The region the organization is hosted in."""
region: String!
"""An approximate count of users, updated once per day."""
approximateUserCount: Float!
"""
Whether to hide other organizations for new users signing up with email domains claimed by this organization.
"""
hideNonPrimaryOrganizations: Boolean!
userCount: Float
}
"""An identity provider."""
type AuthIdentityProvider {
"""The time at which the entity was created."""
createdAt: DateTime!
"""The unique identifier of the entity."""
id: ID!
"""
Whether the identity provider is the default identity provider migrated from organization level settings.
"""
defaultMigrated: Boolean!
"""The type of identity provider."""
type: IdentityProviderType!
"""Whether SAML authentication is enabled for organization."""
samlEnabled: Boolean!
"""Sign in endpoint URL for the identity provider."""
ssoEndpoint: String
"""
Binding method for authentication call. Can be either `post` (default) or `redirect`.
"""
ssoBinding: String
"""
The algorithm of the Signing Certificate. Can be one of `sha1`, `sha256` (default), or `sha512`.
"""
ssoSignAlgo: String
"""The issuer's custom entity ID."""
issuerEntityId: String
"""
The service provider (Linear) custom entity ID. Defaults to https://auth.linear.app/sso
"""
spEntityId: String
"""X.509 Signing Certificate in string form."""
ssoSigningCert: 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 SCIM provisioning is enabled for organization."""
scimEnabled: Boolean!
}
type SsoUrlFromEmailResponse {
"""Whether the operation was successful."""
success: Boolean!
"""SAML SSO sign-in URL."""
samlSsoUrl: String!
}
type AuditEntryType {
"""The audit entry type."""
type: String!
"""Description of the audit entry type."""
description: String!
}
type AuditEntryConnection {
edges: [AuditEntryEdge!]!
nodes: [AuditEntry!]!
pageInfo: PageInfo!
}
type AuditEntryEdge {
node: AuditEntry!
"""Used in `before` and `after` args"""
cursor: String!
}
"""Workspace audit log entry object."""
type AuditEntry implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
type: String!
"""The organization the audit log belongs to."""
organization: Organization
"""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
"""IP from actor when entry was recorded."""
ip: String
"""Country code of request resulting to audit entry."""
countryCode: String
"""Additional metadata related to the audit entry."""
metadata: JSONObject
"""
Additional information related to the request which performed the action.
"""
requestInformation: JSONObject
}
"""Audit entry filtering options."""
input AuditEntryFilter {
"""Comparator for the identifier."""
id: IDComparator
"""Comparator for the created at date."""
createdAt: DateComparator
"""Comparator for the updated at date."""
updatedAt: DateComparator
"""Comparator for the type."""
type: StringComparator
"""Comparator for the IP address."""
ip: StringComparator
"""Comparator for the country code."""
countryCode: StringComparator
"""Filters that the audit entry actor must satisfy."""
actor: NullableUserFilter
"""Compound filters, all of which need to be matched by the issue."""
and: [AuditEntryFilter!]
"""Compound filters, one of which need to be matched by the issue."""
or: [AuditEntryFilter!]
}
type AttachmentSourcesPayload {
"""A unique list of all source types used in this workspace."""
sources: JSONObject!
}
"""Public information of the OAuth application."""
type Application {
"""OAuth application's ID."""
id: String!
"""OAuth application's client ID."""
clientId: String!
"""Application name."""
name: String!
"""Information about the application."""
description: String
"""Name of the developer."""
developer: String!
"""Url of the developer (homepage or docs)."""
developerUrl: String!
"""Image of the application."""
imageUrl: String
}
"""[Internal] Coding agent sandbox details for an agent session."""
type CodingAgentSandboxPayload {
"""The sandbox identifier."""
id: String!
"""The agent session identifier."""
agentSessionId: String!
"""The organization identifier."""
organizationId: String!
"""The user who initiated the session."""
creatorId: String
"""Current sandbox URL."""
sandboxUrl: String
"""The sandbox logs URL."""
sandboxLogsUrl: String
"""Datadog logs URL for the session or sandbox."""
datadogLogsUrl: String
"""Temporal URL to view all workflows for this sandbox."""
temporalWorkflowUrl: String
"""Claude Agent SDK conversation ID."""
workerConversationId: String
"""GitHub repository in owner/repo format."""
repository: String!
"""Git branch name for this sandbox."""
branchName: String
"""Git ref to checkout."""
baseRef: String
"""When the sandbox was created."""
createdAt: DateTime!
"""When the sandbox first became active."""
startedAt: DateTime
"""When the session reached a terminal state."""
endedAt: DateTime
}
type Mutation {
"""
XHR request payload to upload an images, video and other attachments directly to Linear's cloud storage.
"""
fileUpload(
"""Optional metadata."""
metaData: JSON
"""Should the file be made publicly accessible (default: false)."""
makePublic: Boolean
"""File size of the uploaded file."""
size: Int!
"""MIME type of the uploaded file."""
contentType: String!
"""Filename of the uploaded file."""
filename: String!
): UploadPayload!
"""
XHR request payload to upload a file for import, directly to Linear's cloud storage.
"""
importFileUpload(
"""Optional metadata."""
metaData: JSON
"""File size of the uploaded file."""
size: Int!
"""MIME type of the uploaded file."""
contentType: String!
"""Filename of the uploaded file."""
filename: String!
): UploadPayload!
"""Upload an image from an URL to Linear."""
imageUploadFromUrl(
"""URL of the file to be uploaded to Linear."""
url: String!
): ImageUploadFromUrlPayload!
"""
[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 state, adding it to the workflow of a team."""
workflowStateCreate(
"""The state to create."""
input: WorkflowStateCreateInput!
): WorkflowStatePayload!
"""Updates a state."""
workflowStateUpdate(
"""A partial state object to update."""
input: WorkflowStateUpdateInput!
"""The identifier of the state to update."""
id: String!
): WorkflowStatePayload!
"""
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 webhook."""
webhookCreate(
"""The webhook object to create."""
input: WebhookCreateInput!
): WebhookPayload!
"""Updates an existing Webhook."""
webhookUpdate(
"""The properties of the Webhook."""
input: WebhookUpdateInput!
"""The identifier of the Webhook."""
id: String!
): WebhookPayload!
"""Deletes a Webhook."""
webhookDelete(
"""The identifier of the Webhook to delete."""
id: String!
): DeletePayload!
"""Rotates the signing secret for a Webhook."""
webhookRotateSecret(
"""The identifier of the Webhook to rotate the secret for."""
id: String!
): WebhookRotateSecretPayload!
"""Creates a new ViewPreferences object."""
viewPreferencesCreate(
"""The ViewPreferences object to create."""
input: ViewPreferencesCreateInput!
): ViewPreferencesPayload!
"""Updates an existing ViewPreferences object."""
viewPreferencesUpdate(
"""The properties of the view preferences."""
input: ViewPreferencesUpdateInput!
"""The identifier of the ViewPreferences object."""
id: String!
): ViewPreferencesPayload!
"""Deletes a ViewPreferences."""
viewPreferencesDelete(
"""The identifier of the ViewPreferences to delete."""
id: String!
): DeletePayload!
"""Updates the user's settings."""
userSettingsUpdate(
"""A partial notification object to update the settings with."""
input: UserSettingsUpdateInput!
"""The identifier of the userSettings to update."""
id: String!
): UserSettingsPayload!
"""Resets user's setting flags."""
userSettingsFlagsReset(
"""The flags to reset. If not provided all flags will be reset."""
flags: [UserFlagType!]
): UserSettingsFlagsResetPayload!
"""Updates a user's settings flag."""
userFlagUpdate(
"""Flag operation to perform."""
operation: UserFlagUpdateOperation!
"""Settings flag to increment."""
flag: UserFlagType!
): UserSettingsFlagPayload!
"""
Subscribes to or unsubscribes from a notification category for a given notification channel for the user
"""
notificationCategoryChannelSubscriptionUpdate(
"""
The notification channel in which to subscribe to or unsubscribe from the category
"""
channel: NotificationChannel!
"""The notification category to subscribe to or unsubscribe from"""
category: NotificationCategory!
"""
True if the user wants to subscribe, false if the user wants to unsubscribe
"""
subscribe: Boolean!
): UserSettingsPayload!
"""
Updates a user. Only available to organization admins and the user themselves.
"""
userUpdate(
"""A partial user object to update the user with."""
input: UserUpdateInput!
"""
The identifier of the user to update. Use `me` to reference currently authenticated user.
"""
id: String!
): UserPayload!
"""Connects the Discord user to this Linear account via OAuth2."""
userDiscordConnect(
"""The Discord OAuth redirect URI."""
redirectUri: String!
"""The Discord OAuth code."""
code: String!
): UserPayload!
"""Disconnects the external user from this Linear account."""
userExternalUserDisconnect(
"""The external service to disconnect."""
service: String!
): UserPayload!
"""Changes the role of a user."""
userChangeRole(
"""The new role for the user."""
role: UserRoleType!
"""The identifier of the user"""
id: String!
): UserAdminPayload!
"""Suspends a user. Can only be called by an 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!
"""Revokes a user's sessions. Can only be called by an admin or owner."""
userRevokeAllSessions(
"""The identifier of the user to logout all sessions of."""
id: String!
): UserAdminPayload!
"""
Revokes a specific session for a user. Can only be called by an admin or owner.
"""
userRevokeSession(
"""The identifier of the session to revoke."""
sessionId: String!
"""The identifier of the user whose session to revoke."""
id: String!
): UserAdminPayload!
"""Un-suspends a user. Can only be called by an 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!
"""
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!
"""Creates a new triage responsibility."""
triageResponsibilityCreate(
"""The properties of the triage responsibility to create."""
input: TriageResponsibilityCreateInput!
): TriageResponsibilityPayload!
"""Updates an existing triage responsibility."""
triageResponsibilityUpdate(
"""The properties of the triage responsibility to update."""
input: TriageResponsibilityUpdateInput!
"""The identifier of the triage responsibility to update."""
id: String!
): TriageResponsibilityPayload!
"""Deletes a triage responsibility."""
triageResponsibilityDelete(
"""The identifier of the triage responsibility to delete."""
id: String!
): DeletePayload!
"""Creates a new time schedule."""
timeScheduleCreate(
"""The properties of the time schedule to create."""
input: TimeScheduleCreateInput!
): TimeSchedulePayload!
"""Updates a time schedule."""
timeScheduleUpdate(
"""The properties of the time schedule to update."""
input: TimeScheduleUpdateInput!
"""The identifier of the time schedule to update."""
id: String!
): TimeSchedulePayload!
"""Upsert an external time schedule."""
timeScheduleUpsertExternal(
"""The properties of the time schedule to insert or update."""
input: TimeScheduleUpdateInput!
"""The unique identifier of the external schedule."""
externalId: String!
): 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!
"""Creates a new template."""
templateCreate(
"""The template object to create."""
input: TemplateCreateInput!
): TemplatePayload!
"""Updates an existing template."""
templateUpdate(
"""The properties of the template to update."""
input: TemplateUpdateInput!
"""The identifier of the template."""
id: String!
): TemplatePayload!
"""Deletes a template."""
templateDelete(
"""The identifier of the template to delete."""
id: String!
): DeletePayload!
"""Creates a new project."""
projectCreate(
"""
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
"""The issue object to create."""
input: ProjectCreateInput!
): ProjectPayload!
"""Updates a project."""
projectUpdate(
"""A partial project object to update the project with."""
input: ProjectUpdateInput!
"""
The identifier of the project to update. Also the identifier from the URL is accepted.
"""
id: String!
): ProjectPayload!
"""[Internal] Creates a Slack channel for an existing project."""
projectCreateSlackChannel(
"""
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!
"""The identifier of the project."""
id: String!
): ProjectPayload!
"""
[INTERNAL] Updates all projects currently assigned to to a project status to a new 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!
"""Deletes (trashes) a project."""
projectDelete(
"""The identifier of the project to delete."""
id: String!
): ProjectArchivePayload!
"""Archives a project."""
projectArchive(
"""Whether to trash the project."""
trash: Boolean
"""
The identifier of the project to archive. Also the identifier from the URL is accepted.
"""
id: String!
): ProjectArchivePayload! @deprecated(reason: "Deprecated in favor of projectDelete.")
"""Unarchives a project."""
projectUnarchive(
"""
The identifier of the project to restore. Also the identifier from the URL is accepted.
"""
id: String!
): ProjectArchivePayload!
"""Adds a label to a project."""
projectAddLabel(
"""The identifier of the label to add."""
labelId: String!
"""The identifier of the project to add the label to."""
id: String!
): ProjectPayload!
"""Removes a label from a project."""
projectRemoveLabel(
"""The identifier of the label to remove."""
labelId: String!
"""The identifier of the project to remove the label from."""
id: String!
): ProjectPayload!
"""Disables external sync on a project."""
projectExternalSyncDisable(
"""The source of the external sync to disable."""
syncSource: ExternalSyncService!
"""The ID of the project to disable external sync for."""
projectId: String!
): ProjectPayload!
"""
Creates a new team. The user who creates the team will automatically be added as a member to the newly created team.
"""
teamCreate(
"""The team id to copy settings from, if any."""
copySettingsFromTeamId: String
"""The team object to create."""
input: TeamCreateInput!
): TeamPayload!
"""Updates a team."""
teamUpdate(
"""
[INTERNAL] Mapping of existing team entities to those inherited from the parent team
"""
mapping: InheritanceEntityMapping
"""A partial team object to update the team with."""
input: TeamUpdateInput!
"""The identifier of the team to update."""
id: String!
): TeamPayload!
"""Deletes a team."""
teamDelete(
"""The identifier of the team to delete."""
id: String!
): DeletePayload!
"""Unarchives a team and cancels deletion."""
teamUnarchive(
"""The identifier of the team to delete."""
id: String!
): TeamArchivePayload!
"""Deletes team's cycles data"""
teamCyclesDelete(
"""The identifier of the team, which cycles will be deleted."""
id: String!
): TeamPayload!
"""Creates a new team membership."""
teamMembershipCreate(
"""The team membership object to create."""
input: TeamMembershipCreateInput!
): TeamMembershipPayload!
"""Updates a team membership."""
teamMembershipUpdate(
"""A partial team membership object to update the team membership with."""
input: TeamMembershipUpdateInput!
"""The identifier of the team membership to update."""
id: String!
): TeamMembershipPayload!
"""Deletes a team membership."""
teamMembershipDelete(
"""Whether to leave the parent teams."""
alsoLeaveParentTeams: Boolean
"""The identifier of the team membership to delete."""
id: String!
): DeletePayload!
"""Deletes a previously used team key."""
teamKeyDelete(
"""The identifier of the team key to delete."""
id: String!
): DeletePayload!
"""Creates a new roadmapToProject join."""
roadmapToProjectCreate(
"""The properties of the roadmapToProject to create."""
input: RoadmapToProjectCreateInput!
): RoadmapToProjectPayload!
"""Updates a roadmapToProject."""
roadmapToProjectUpdate(
"""The properties of the roadmapToProject to update."""
input: RoadmapToProjectUpdateInput!
"""The identifier of the roadmapToProject to update."""
id: String!
): RoadmapToProjectPayload!
"""Deletes a roadmapToProject."""
roadmapToProjectDelete(
"""The identifier of the roadmapToProject to delete."""
id: String!
): DeletePayload!
"""Creates a new roadmap."""
roadmapCreate(
"""The properties of the roadmap to create."""
input: RoadmapCreateInput!
): RoadmapPayload! @deprecated(reason: "Roadmaps are deprecated, use initiatives instead.")
"""Updates a roadmap."""
roadmapUpdate(
"""The properties of the roadmap to update."""
input: RoadmapUpdateInput!
"""The identifier of the roadmap to update."""
id: String!
): RoadmapPayload! @deprecated(reason: "Roadmaps are deprecated, use initiatives instead.")
"""Archives a roadmap."""
roadmapArchive(
"""The identifier of the roadmap to archive."""
id: String!
): RoadmapArchivePayload! @deprecated(reason: "Roadmaps are deprecated, use initiatives instead.")
"""Unarchives a roadmap."""
roadmapUnarchive(
"""The identifier of the roadmap to unarchive."""
id: String!
): RoadmapArchivePayload! @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.")
"""Create CSV export report for the organization."""
createCsvExportReport(includePrivateTeamIds: [String!]): CreateCsvExportReportPayload!
"""[ALPHA] Creates a new release stage."""
releaseStageCreate(
"""The ReleaseStage object to create."""
input: ReleaseStageCreateInput!
): ReleaseStagePayload!
"""[ALPHA] Updates a release stage."""
releaseStageUpdate(
"""A partial ReleaseStage object to update the ReleaseStage with."""
input: ReleaseStageUpdateInput!
"""The identifier of the release stage to update."""
id: String!
): ReleaseStagePayload!
"""[ALPHA] Archives a release stage."""
releaseStageArchive(
"""The identifier of the release stage to archive."""
id: String!
): ReleaseStageArchivePayload!
"""[ALPHA] Unarchives a release stage."""
releaseStageUnarchive(
"""The identifier of the release stage to unarchive."""
id: String!
): ReleaseStageArchivePayload!
"""[ALPHA] Creates a new release pipeline."""
releasePipelineCreate(
"""The ReleasePipeline object to create."""
input: ReleasePipelineCreateInput!
): ReleasePipelinePayload!
"""[ALPHA] Updates a release pipeline."""
releasePipelineUpdate(
"""A partial ReleasePipeline object to update the ReleasePipeline with."""
input: ReleasePipelineUpdateInput!
"""The identifier of the release pipeline to update."""
id: String!
): ReleasePipelinePayload!
"""[ALPHA] Archives a release pipeline."""
releasePipelineArchive(
"""The identifier of the release pipeline to archive."""
id: String!
): ReleasePipelineArchivePayload!
"""[ALPHA] Unarchives a release pipeline."""
releasePipelineUnarchive(
"""The identifier of the release pipeline to unarchive."""
id: String!
): ReleasePipelineArchivePayload!
"""[ALPHA] Deletes a release pipeline."""
releasePipelineDelete(
"""The identifier of the release pipeline to delete."""
id: String!
): DeletePayload!
"""[ALPHA] Syncs release data."""
releaseSync(
"""The release data to sync."""
input: ReleaseSyncInput!
): ReleasePayload!
"""[ALPHA] Creates a new release."""
releaseCreate(
"""The release to create."""
input: ReleaseCreateInput!
): ReleasePayload!
"""[ALPHA] Updates a release."""
releaseUpdate(
"""A partial Release object to update the Release with."""
input: ReleaseUpdateInput!
"""The identifier of the release to update."""
id: String!
): ReleasePayload!
"""
[ALPHA] 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!
"""[ALPHA] Updates a release by pipeline."""
releaseUpdateByPipeline(
"""
The input containing the pipeline ID, optional version, and optional stage name.
"""
input: ReleaseUpdateByPipelineInput!
): ReleasePayload!
"""[ALPHA] Deletes (trashes) a release."""
releaseDelete(
"""The identifier of the release to delete."""
id: String!
): ReleaseArchivePayload!
"""[ALPHA] Archives a release."""
releaseArchive(
"""The identifier of the release to archive."""
id: String!
): ReleaseArchivePayload!
"""[ALPHA] Unarchives a release."""
releaseUnarchive(
"""The identifier of the release to unarchive."""
id: String!
): ReleaseArchivePayload!
"""
[ALPHA] Syncs release data using an access key. The pipeline is inferred from the access key.
"""
releaseSyncByAccessKey(
"""The release data to sync."""
input: ReleaseSyncInputBase!
): ReleasePayload!
"""
[ALPHA] 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!
"""[ALPHA] Updates a release by pipeline using an access key."""
releaseUpdateByPipelineByAccessKey(
"""The input containing the optional version and optional stage name."""
input: ReleaseUpdateByPipelineInputBase!
): ReleasePayload!
"""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!
"""Creates a push subscription."""
pushSubscriptionCreate(
"""The push subscription to create."""
input: PushSubscriptionCreateInput!
): PushSubscriptionPayload!
"""Deletes a push subscription."""
pushSubscriptionDelete(
"""The identifier of the push subscription to delete."""
id: String!
): PushSubscriptionPayload!
"""Creates a new project update."""
projectUpdateCreate(
"""Data for the project update to create."""
input: ProjectUpdateCreateInput!
): ProjectUpdatePayload!
"""Updates a project update."""
projectUpdateUpdate(
"""A data to update the project update with."""
input: ProjectUpdateUpdateInput!
"""The identifier of the project update to update."""
id: String!
): ProjectUpdatePayload!
"""Archives a project update."""
projectUpdateArchive(
"""The identifier of the project update to archive."""
id: String!
): ProjectUpdateArchivePayload!
"""Unarchives a project update."""
projectUpdateUnarchive(
"""The identifier of the project update to unarchive."""
id: String!
): ProjectUpdateArchivePayload!
"""Deletes a project update."""
projectUpdateDelete(
"""The identifier of the project update to delete."""
id: String!
): DeletePayload! @deprecated(reason: "Use `projectUpdateArchive` instead.")
"""Create a notification to remind a user about a project update."""
createProjectUpdateReminder(
"""
The user identifier to whom the notification will be sent. By default, it is set to the project lead.
"""
userId: String
"""The identifier of the project to remind about."""
projectId: String!
): ProjectUpdateReminderPayload!
"""Creates a new project status."""
projectStatusCreate(
"""The ProjectStatus object to create."""
input: ProjectStatusCreateInput!
): ProjectStatusPayload!
"""Updates a project status."""
projectStatusUpdate(
"""A partial ProjectStatus object to update the ProjectStatus with."""
input: ProjectStatusUpdateInput!
"""The identifier of the project status to update."""
id: String!
): ProjectStatusPayload!
"""Archives a project status."""
projectStatusArchive(
"""The identifier of the project status to archive."""
id: String!
): ProjectStatusArchivePayload!
"""Unarchives a project status."""
projectStatusUnarchive(
"""The identifier of the project status to unarchive."""
id: String!
): ProjectStatusArchivePayload!
"""Creates a new project relation."""
projectRelationCreate(
"""The project relation to create."""
input: ProjectRelationCreateInput!
): ProjectRelationPayload!
"""Updates a project relation."""
projectRelationUpdate(
"""The properties of the project relation to update."""
input: ProjectRelationUpdateInput!
"""The identifier of the project relation to update."""
id: String!
): ProjectRelationPayload!
"""Deletes a project relation."""
projectRelationDelete(
"""The identifier of the project relation to delete."""
id: String!
): DeletePayload!
"""Creates a new project milestone."""
projectMilestoneCreate(
"""The project milestone to create."""
input: ProjectMilestoneCreateInput!
): ProjectMilestonePayload!
"""Updates a project milestone."""
projectMilestoneUpdate(
"""A partial object to update the project milestone with."""
input: ProjectMilestoneUpdateInput!
"""
The identifier of the project milestone to update. Also the identifier from the URL is accepted.
"""
id: String!
): 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 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!
"""The identifier of the project milestone to move."""
id: String!
): ProjectMilestoneMovePayload!
"""Creates a new project label."""
projectLabelCreate(
"""The project label to create."""
input: ProjectLabelCreateInput!
): ProjectLabelPayload!
"""Updates a project label."""
projectLabelUpdate(
"""A partial label object to update."""
input: ProjectLabelUpdateInput!
"""The identifier of the label to update."""
id: String!
): ProjectLabelPayload!
"""Deletes a project label."""
projectLabelDelete(
"""The identifier of the label to delete."""
id: String!
): DeletePayload!
"""Retires a project label."""
projectLabelRetire(
"""The identifier of the label to retire."""
id: String!
): ProjectLabelPayload!
"""Restores a project label."""
projectLabelRestore(
"""The identifier of the label to restore."""
id: String!
): ProjectLabelPayload!
"""Updates the user's organization."""
organizationUpdate(
"""A partial organization object to update the organization with."""
input: OrganizationUpdateInput!
): OrganizationPayload!
"""Get an organization's delete confirmation token."""
organizationDeleteChallenge: OrganizationDeletePayload!
"""Deletes an organization."""
organizationDelete(
"""Information required to delete an organization."""
input: DeleteOrganizationInput!
): OrganizationDeletePayload!
"""Cancels the deletion of an organization."""
organizationCancelDelete: OrganizationCancelDeletePayload!
"""Starts a trial for the organization on the specified plan type."""
organizationStartTrialForPlan(
"""Plan details for trial"""
input: OrganizationStartTrialInput!
): OrganizationStartTrialPayload!
"""[DEPRECATED] Starts a trial for the organization."""
organizationStartTrial: OrganizationStartTrialPayload! @deprecated(reason: "Use organizationStartTrialForPlan")
"""Creates a new organization invite."""
organizationInviteCreate(
"""The organization invite object to create."""
input: OrganizationInviteCreateInput!
): OrganizationInvitePayload!
"""Updates an organization invite."""
organizationInviteUpdate(
"""The updates to make to the organization invite object."""
input: OrganizationInviteUpdateInput!
"""The identifier of the organization invite to update."""
id: String!
): OrganizationInvitePayload!
"""Re-send an organization invite."""
resendOrganizationInvite(
"""The identifier of the organization invite to re-send."""
id: String!
): DeletePayload!
"""Re-send an organization invite tied to an email address."""
resendOrganizationInviteByEmail(
"""The email address tied to the organization invite to re-send."""
email: String!
): DeletePayload!
"""Deletes an organization invite."""
organizationInviteDelete(
"""The identifier of the organization invite to delete."""
id: String!
): DeletePayload!
"""[INTERNAL] Verifies a domain claim."""
organizationDomainClaim(
"""The ID of the organization domain to claim."""
id: String!
): OrganizationDomainSimplePayload!
"""[INTERNAL] Verifies a domain to be added to an organization."""
organizationDomainVerify(
"""The organization domain to verify."""
input: OrganizationDomainVerificationInput!
): OrganizationDomainPayload!
"""[INTERNAL] Adds a domain to be allowed for an organization."""
organizationDomainCreate(
"""Whether to trigger an email verification flow during domain creation."""
triggerEmailVerification: Boolean
"""The organization domain entry to create."""
input: OrganizationDomainCreateInput!
): OrganizationDomainPayload!
"""[INTERNAL] Updates an organization domain settings."""
organizationDomainUpdate(
"""The organization domain entry to update."""
input: OrganizationDomainUpdateInput!
"""The identifier of the domain to update."""
id: String!
): OrganizationDomainPayload!
"""Deletes a domain."""
organizationDomainDelete(
"""The identifier of the domain to delete."""
id: String!
): DeletePayload!
"""
Creates a new notification subscription for a cycle, custom view, label, project or team.
"""
notificationSubscriptionCreate(
"""The subscription object to create."""
input: NotificationSubscriptionCreateInput!
): NotificationSubscriptionPayload!
"""Updates a notification subscription."""
notificationSubscriptionUpdate(
"""
A partial notification subscription object to update the notification subscription with.
"""
input: NotificationSubscriptionUpdateInput!
"""The identifier of the notification subscription to update."""
id: String!
): 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."""
notificationUpdate(
"""A partial notification object to update the notification with."""
input: NotificationUpdateInput!
"""The identifier of the notification to update."""
id: String!
): NotificationPayload!
"""Marks notification and all related notifications as read."""
notificationMarkReadAll(
"""The time when notification was marked as read."""
readAt: DateTime!
"""The type and id of the entity to archive notifications for."""
input: NotificationEntityInput!
): 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 time until a notification will be snoozed. After that it will appear in the inbox again.
"""
snoozedUntilAt: DateTime!
"""The type and id of the entity to archive notifications for."""
input: NotificationEntityInput!
): NotificationBatchActionPayload!
"""Unsnoozes a notification and all related notifications."""
notificationUnsnoozeAll(
"""The time when the notification was unsnoozed."""
unsnoozedAt: DateTime!
"""The type and id of the entity to archive notifications for."""
input: NotificationEntityInput!
): NotificationBatchActionPayload!
"""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!
"""Unarchives a notification."""
notificationUnarchive(
"""The id of the notification to archive."""
id: String!
): NotificationArchivePayload!
"""
[ALPHA] Creates a new issueToRelease join, adding an issue to a release.
"""
issueToReleaseCreate(
"""The properties of the issueToRelease to create."""
input: IssueToReleaseCreateInput!
): IssueToReleasePayload!
"""[ALPHA] Deletes an issueToRelease by issue and release identifiers"""
issueToReleaseDeleteByIssueAndRelease(
"""The identifier of the release"""
releaseId: String!
"""
The identifier of the issue. Can be a UUID or issue identifier (e.g., 'LIN-123').
"""
issueId: String!
): DeletePayload!
"""
[ALPHA] Deletes an issueToRelease by its identifier, removing an issue from a release.
"""
issueToReleaseDelete(
"""The identifier of the issueToRelease to delete"""
id: String!
): DeletePayload!
"""Creates a new issue."""
issueCreate(
"""The issue object to create."""
input: IssueCreateInput!
): IssuePayload!
"""Creates a list of issues in one transaction."""
issueBatchCreate(
"""A list of issue objects to create."""
input: IssueBatchCreateInput!
): IssueBatchPayload!
"""Updates an issue."""
issueUpdate(
"""A partial issue object to update the issue with."""
input: IssueUpdateInput!
"""The identifier of the issue to update."""
id: String!
): IssuePayload!
"""Updates multiple issues at once."""
issueBatchUpdate(
"""A partial issue object to update the issues with."""
input: IssueUpdateInput!
"""The id's of the issues to update. Can't be more than 50 at a time."""
ids: [UUID!]!
): IssueBatchPayload!
"""Archives an issue."""
issueArchive(
"""Whether to trash the issue."""
trash: Boolean
"""The identifier of the issue to archive."""
id: String!
): IssueArchivePayload!
"""Unarchives an issue."""
issueUnarchive(
"""The identifier of the issue to unarchive."""
id: String!
): IssueArchivePayload!
"""Deletes (trashes) an issue."""
issueDelete(
"""
Whether to permanently delete the issue and skip the grace period of 30 days. Available only to admins!
"""
permanentlyDelete: Boolean
"""The identifier of the issue to delete."""
id: String!
): IssueArchivePayload!
"""Adds a label to an issue."""
issueAddLabel(
"""The identifier of the label to add."""
labelId: String!
"""The identifier of the issue to add the label to."""
id: String!
): IssuePayload!
"""Removes a label from an issue."""
issueRemoveLabel(
"""The identifier of the label to remove."""
labelId: String!
"""The identifier of the issue to remove the label from."""
id: String!
): IssuePayload!
"""
Adds an issue reminder. Will cause a notification to be sent when the issue reminder time is reached.
"""
issueReminder(
"""The time when a reminder notification will be sent."""
reminderAt: DateTime!
"""The identifier of the issue to add a reminder for."""
id: String!
): IssuePayload!
"""Subscribes a user to an issue."""
issueSubscribe(
"""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
"""The identifier of the issue to subscribe to."""
id: String!
): IssuePayload!
"""Unsubscribes a user from an issue."""
issueUnsubscribe(
"""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
"""The identifier of the issue to unsubscribe from."""
id: String!
): IssuePayload!
"""
[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!
"""Creates a new issue relation."""
issueRelationCreate(
"""Used by client undo operations. Should not be set directly."""
overrideCreatedAt: DateTime
"""The issue relation to create."""
input: IssueRelationCreateInput!
): IssueRelationPayload!
"""Updates an issue relation."""
issueRelationUpdate(
"""The properties of the issue relation to update."""
input: IssueRelationUpdateInput!
"""The identifier of the issue relation to update."""
id: String!
): IssueRelationPayload!
"""Deletes an issue relation."""
issueRelationDelete(
"""The identifier of the issue relation to delete."""
id: String!
): DeletePayload!
"""Creates a new label."""
issueLabelCreate(
"""
Whether to replace all team-specific labels with the same name with this newly created workspace label (default: false).
"""
replaceTeamLabels: Boolean
"""The issue label to create."""
input: IssueLabelCreateInput!
): IssueLabelPayload!
"""Updates a label."""
issueLabelUpdate(
"""
Whether to replace all team-specific labels with the same name with this updated workspace label (default: false).
"""
replaceTeamLabels: Boolean
"""A partial label object to update."""
input: IssueLabelUpdateInput!
"""The identifier of the label to update."""
id: String!
): IssueLabelPayload!
"""Deletes an issue label."""
issueLabelDelete(
"""The identifier of the label to delete."""
id: String!
): DeletePayload!
"""Retires a label."""
issueLabelRetire(
"""The identifier of the label to retire."""
id: String!
): IssueLabelPayload!
"""Restores a label."""
issueLabelRestore(
"""The identifier of the label to restore."""
id: String!
): IssueLabelPayload!
"""Kicks off a GitHub import job."""
issueImportCreateGithub(
"""ID of the team into which to import data."""
teamId: String
"""Name of new team. When teamId is not set."""
teamName: String
"""IDs of the Github repositories from which we will import data."""
githubRepoIds: [Int!]
"""
Labels to use to filter the import data. Only issues matching any of these filters will be imported.
"""
githubLabels: [String!]
"""
Whether to instantly process the import with the default configuration mapping.
"""
instantProcess: Boolean
"""Whether or not we should collect the data for closed issues."""
includeClosedIssues: Boolean
): IssueImportPayload!
"""Kicks off a Jira import job."""
issueImportCreateJira(
"""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
"""Jira personal access token to access Jira REST API."""
jiraToken: String!
"""Jira project key from which we will import data."""
jiraProject: String!
"""Jira user account email."""
jiraEmail: String!
"""Jira installation or cloud hostname."""
jiraHostname: String!
"""A custom JQL query to filter issues being imported"""
jql: String
"""
Whether to instantly process the import with the default configuration mapping.
"""
instantProcess: Boolean
"""Whether or not we should collect the data for closed issues."""
includeClosedIssues: Boolean
"""ID of issue import. If not provided it will be generated."""
id: String
): IssueImportPayload!
"""Kicks off a Jira import job from a CSV."""
issueImportCreateCSVJira(
"""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
"""URL for the CSV."""
csvUrl: String!
"""Jira installation or cloud hostname."""
jiraHostname: String
"""Jira personal access token to access Jira REST API."""
jiraToken: String
"""Jira user account email."""
jiraEmail: String
): IssueImportPayload!
"""Kicks off a Shortcut (formerly Clubhouse) import job."""
issueImportCreateClubhouse(
"""ID of the team into which to import data."""
teamId: String
"""Name of new team. When teamId is not set."""
teamName: String
"""
Shortcut (formerly Clubhouse) token to fetch information from the Clubhouse API.
"""
clubhouseToken: String!
"""
Shortcut (formerly Clubhouse) group name to choose which issues we should import.
"""
clubhouseGroupName: String!
"""
Whether to instantly process the import with the default configuration mapping.
"""
instantProcess: Boolean
"""Whether or not we should collect the data for closed issues."""
includeClosedIssues: Boolean
"""ID of issue import. If not provided it will be generated."""
id: String
): IssueImportPayload!
"""Kicks off an Asana import job."""
issueImportCreateAsana(
"""ID of the team into which to import data."""
teamId: String
"""Name of new team. When teamId is not set."""
teamName: String
"""Asana token to fetch information from the Asana API."""
asanaToken: String!
"""Asana team name to choose which issues we should import."""
asanaTeamName: String!
"""
Whether to instantly process the import with the default configuration mapping.
"""
instantProcess: Boolean
"""Whether or not we should collect the data for closed issues."""
includeClosedIssues: Boolean
"""ID of issue import. If not provided it will be generated."""
id: String
): IssueImportPayload!
"""[INTERNAL] Kicks off a Linear to Linear import job."""
issueImportCreateLinearV2(
"""The source organization to import from."""
linearSourceOrganizationId: String!
"""ID of issue import. If not provided it will be generated."""
id: String
): IssueImportPayload!
"""Deletes an import job."""
issueImportDelete(
"""ID of the issue import to delete."""
issueImportId: String!
): IssueImportDeletePayload!
"""Kicks off import processing."""
issueImportProcess(
"""The mapping configuration to use for processing the import."""
mapping: JSONObject!
"""ID of the issue import which we're going to process."""
issueImportId: String!
): IssueImportPayload!
"""Updates the mapping for the issue import."""
issueImportUpdate(
"""The properties of the issue import to update."""
input: IssueImportUpdateInput!
"""The identifier of the issue import."""
id: String!
): IssueImportPayload!
"""Creates new settings for one or more integrations."""
integrationsSettingsCreate(
"""The settings to create."""
input: IntegrationsSettingsCreateInput!
): IntegrationsSettingsPayload!
"""Updates settings related to integrations for a project or a team."""
integrationsSettingsUpdate(
"""A settings object to update the settings with."""
input: IntegrationsSettingsUpdateInput!
"""The identifier of the settings to update."""
id: String!
): IntegrationsSettingsPayload!
"""Creates a new integrationTemplate join."""
integrationTemplateCreate(
"""The properties of the integrationTemplate to create."""
input: IntegrationTemplateCreateInput!
): IntegrationTemplatePayload!
"""Deletes a integrationTemplate."""
integrationTemplateDelete(
"""The identifier of the integrationTemplate to delete."""
id: String!
): DeletePayload!
"""[INTERNAL] Updates the integration."""
integrationUpdate(
"""A partial integration object to update the integration with."""
input: IntegrationUpdateInput!
"""The identifier of the integration to update."""
id: String!
): IntegrationPayload!
"""[INTERNAL] Updates the integration settings."""
integrationSettingsUpdate(
"""An integration settings object."""
input: IntegrationSettingsInput!
"""The identifier of the integration to update."""
id: String!
): IntegrationPayload! @deprecated(reason: "Use integrationUpdate instead.")
"""Generates a webhook for the GitHub commit integration."""
integrationGithubCommitCreate: GitHubCommitIntegrationPayload!
"""Connects the organization with the GitHub App."""
integrationGithubConnect(
"""
The GitHub Enterprise Cloud host (e.g., 'linear-development.ghe.com'). When provided, this creates a GEC integration.
"""
githubHost: String
"""Whether the integration should have code access"""
codeAccess: Boolean = false
"""The GitHub grant code that's exchanged for OAuth tokens."""
code: String!
"""The GitHub data to connect with."""
installationId: String!
): IntegrationPayload!
"""Connects the organization 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!
"""Connects the organization with a GitHub Enterprise Server."""
integrationGitHubEnterpriseServerConnect(
"""The name of GitHub organization."""
organizationName: String!
"""The base URL of the GitHub Enterprise Server installation."""
githubUrl: String!
): GitHubEnterpriseServerPayload!
"""Connects the organization with a GitLab Access Token."""
integrationGitlabConnect(
"""The URL of the GitLab installation."""
gitlabUrl: String!
"""The GitLab Access Token to connect with."""
accessToken: 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!
"""Creates an integration api key for Airbyte to connect with Linear."""
airbyteIntegrationConnect(
"""Airbyte integration settings."""
input: AirbyteConfigurationInput!
): IntegrationPayload!
"""
[Internal] Connects the Google Calendar to the user to this Linear account via OAuth2.
"""
integrationGoogleCalendarPersonalConnect(
"""[Internal] The Google OAuth code."""
code: String!
): IntegrationPayload!
"""[INTERNAL] Integrates the organization with LaunchDarkly."""
integrationLaunchDarklyConnect(
"""The LaunchDarkly OAuth code."""
code: String!
"""The LaunchDarkly project key."""
projectKey: String!
"""The LaunchDarkly environment."""
environment: String!
): IntegrationPayload!
"""[INTERNAL] Integrates your personal account with LaunchDarkly."""
integrationLaunchDarklyPersonalConnect(
"""The LaunchDarkly OAuth code."""
code: String!
): IntegrationPayload!
"""
[INTERNAL] Connects the organization with a Jira Personal Access Token.
"""
jiraIntegrationConnect(
"""Jira integration settings."""
input: JiraConfigurationInput!
): IntegrationPayload!
"""[INTERNAL] Updates a Jira Integration."""
integrationJiraUpdate(
"""Jira integration update input."""
input: JiraUpdateInput!
): IntegrationPayload!
"""
[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 OAuth code, when connecting using OAuth."""
code: String
"""The Jira personal access token, when connecting using a PAT."""
accessToken: String
): IntegrationPayload!
"""Connect your GitHub account to Linear."""
integrationGitHubPersonal(
"""Whether to connect with code access."""
codeAccess: Boolean
"""The GitHub OAuth code."""
code: String!
): IntegrationPayload!
"""Integrates the organization with Intercom."""
integrationIntercom(
"""
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!
"""The Intercom OAuth code."""
code: String!
): IntegrationPayload!
"""Disconnects the organization from Intercom."""
integrationIntercomDelete: IntegrationPayload!
"""
[INTERNAL] Refreshes the customer data attributes from the specified integration service.
"""
integrationCustomerDataAttributesRefresh(
"""The integration service to refresh customer data attributes from."""
input: IntegrationCustomerDataAttributesRefreshInput!
): 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")
"""Integrates the organization with Discord."""
integrationDiscord(
"""The Discord OAuth redirect URI."""
redirectUri: String!
"""The Discord OAuth code."""
code: String!
): IntegrationPayload!
"""[INTERNAL] Integrates the organization with Opsgenie."""
integrationOpsgenieConnect(
"""The Opsgenie API key."""
apiKey: String!
): IntegrationPayload!
"""[INTERNAL] Refresh Opsgenie schedule mappings."""
integrationOpsgenieRefreshScheduleMappings: IntegrationPayload!
"""[INTERNAL] Integrates the organization with PagerDuty."""
integrationPagerDutyConnect(
"""The PagerDuty OAuth code."""
code: String!
"""The PagerDuty OAuth redirect URI."""
redirectUri: String!
): IntegrationPayload!
"""[INTERNAL] Refresh PagerDuty schedule mappings."""
integrationPagerDutyRefreshScheduleMappings: IntegrationPayload!
"""[Internal] Updates existing Slack and Asks integration scopes."""
updateIntegrationSlackScopes(
"""The ID of the existing Slack integration"""
integrationId: String!
"""The Slack OAuth redirect URI."""
redirectUri: String!
"""The Slack OAuth code."""
code: String!
): IntegrationPayload!
"""Integrates the organization with Slack."""
integrationSlack(
"""
[DEPRECATED] Whether or not v2 of Slack OAuth should be used. No longer used.
"""
shouldUseV2Auth: Boolean
"""The Slack OAuth redirect URI."""
redirectUri: String!
"""The Slack OAuth code."""
code: String!
): IntegrationPayload!
"""Integrates the organization with the Slack Asks app."""
integrationSlackAsks(
"""The Slack OAuth redirect URI."""
redirectUri: String!
"""The Slack OAuth code."""
code: String!
): IntegrationPayload!
"""
Updates the Slack team's name in Linear for an existing Slack or Asks integration.
"""
integrationSlackOrAsksUpdateSlackTeamName(
"""The integration ID."""
integrationId: String!
): IntegrationSlackWorkspaceNamePayload!
"""Integrates your personal notifications with Slack."""
integrationSlackPersonal(
"""The Slack OAuth redirect URI."""
redirectUri: String!
"""The Slack OAuth code."""
code: String!
): IntegrationPayload!
"""Connect a Slack channel to Asks."""
integrationAsksConnectChannel(
"""The Slack OAuth redirect URI."""
redirectUri: String!
"""The Slack OAuth code."""
code: String!
): AsksChannelConnectPayload!
"""Slack integration for team notifications."""
integrationSlackPost(
"""
[DEPRECATED] Whether or not v2 of Slack OAuth should be used. No longer used.
"""
shouldUseV2Auth: Boolean
"""The Slack OAuth redirect URI."""
redirectUri: String!
"""Integration's associated team."""
teamId: String!
"""The Slack OAuth code."""
code: String!
): SlackChannelConnectPayload!
"""Slack integration for project notifications."""
integrationSlackProjectPost(
"""
The service to enable once connected, either 'notifications' or 'updates'.
"""
service: String!
"""The Slack OAuth redirect URI."""
redirectUri: String!
"""Integration's associated project."""
projectId: String!
"""The Slack OAuth code."""
code: String!
): SlackChannelConnectPayload!
"""[Internal] Slack integration for initiative notifications."""
integrationSlackInitiativePost(
"""The Slack OAuth redirect URI."""
redirectUri: String!
"""Integration's associated initiative."""
initiativeId: String!
"""The Slack OAuth code."""
code: String!
): SlackChannelConnectPayload!
"""Slack integration for custom view notifications."""
integrationSlackCustomViewNotifications(
"""The Slack OAuth redirect URI."""
redirectUri: String!
"""Integration's associated custom view."""
customViewId: String!
"""The Slack OAuth code."""
code: String!
): SlackChannelConnectPayload!
"""Integrates a Slack Asks channel with a Customer."""
integrationSlackCustomerChannelLink(
"""The Slack OAuth redirect URI."""
redirectUri: String!
"""The customer to link the Slack channel with"""
customerId: String!
"""The Slack OAuth code."""
code: String!
): SuccessPayload!
"""Slack integration for organization level project update notifications."""
integrationSlackOrgProjectUpdatesPost(
"""The Slack OAuth redirect URI."""
redirectUri: String!
"""The Slack OAuth code."""
code: String!
): SlackChannelConnectPayload!
"""
[Internal] Slack integration for organization level initiative update notifications.
"""
integrationSlackOrgInitiativeUpdatesPost(
"""The Slack OAuth redirect URI."""
redirectUri: String!
"""The Slack OAuth code."""
code: String!
): SlackChannelConnectPayload!
"""Imports custom emojis from your Slack workspace."""
integrationSlackImportEmojis(
"""The Slack OAuth redirect URI."""
redirectUri: String!
"""The Slack OAuth code."""
code: String!
): IntegrationPayload!
"""Integrates the organization with Figma."""
integrationFigma(
"""The Figma OAuth redirect URI."""
redirectUri: String!
"""The Figma OAuth code."""
code: String!
): IntegrationPayload!
"""Integrates the organization with Gong."""
integrationGong(
"""The Gong OAuth redirect URI."""
redirectUri: String!
"""The Gong OAuth code."""
code: String!
): IntegrationPayload!
"""Integrates the organization with Microsoft Teams."""
integrationMicrosoftTeams(
"""The Microsoft OAuth redirect URI."""
redirectUri: String!
"""The Microsoft OAuth code."""
code: String!
): IntegrationPayload!
"""Connects the user's personal Microsoft account to Linear."""
integrationMicrosoftPersonalConnect(
"""The Microsoft OAuth redirect URI."""
redirectUri: String!
"""The Microsoft OAuth code."""
code: String!
): IntegrationPayload!
"""Integrates the organization with Google Sheets."""
integrationGoogleSheets(
"""The Google OAuth code."""
code: String!
): IntegrationPayload!
"""Manually update Google Sheets data."""
refreshGoogleSheetsData(
"""The type of export."""
type: String
"""The identifier of the Google Sheets integration to update."""
id: String!
): IntegrationPayload!
"""Integrates the organization with Sentry."""
integrationSentryConnect(
"""The slug of the Sentry organization being connected."""
organizationSlug: String!
"""The Sentry grant code that's exchanged for OAuth tokens."""
code: String!
"""The Sentry installationId to connect with."""
installationId: String!
): IntegrationPayload!
"""Integrates the organization with Front."""
integrationFront(
"""The Front OAuth redirect URI."""
redirectUri: String!
"""The Front OAuth code."""
code: String!
): IntegrationPayload!
"""Integrates the organization with Zendesk."""
integrationZendesk(
"""The Zendesk installation subdomain."""
subdomain: String!
"""The Zendesk OAuth code."""
code: String!
"""The Zendesk OAuth scopes."""
scope: String!
"""The Zendesk OAuth redirect URI."""
redirectUri: String!
): IntegrationPayload!
"""Enables Loom integration for the organization."""
integrationLoom: IntegrationPayload! @deprecated(reason: "Not available.")
"""Integrates the organization with Salesforce."""
integrationSalesforce(
"""The Salesforce OAuth code."""
code: String!
"""The Salesforce installation subdomain."""
subdomain: String!
"""The Salesforce OAuth redirect URI."""
redirectUri: String!
): IntegrationPayload!
"""[INTERNAL] Refreshes the Salesforce integration metadata."""
integrationSalesforceMetadataRefresh(
"""The ID of the integration to refresh metadata for."""
id: String!
): IntegrationPayload!
"""[INTERNAL] Connects the user's personal account with an MCP server."""
integrationMcpServerPersonalConnect(
"""The URL of the MCP server to connect with."""
serverUrl: String!
): IntegrationPayload!
"""[INTERNAL] Connects the workspace with an MCP server."""
integrationMcpServerConnect(
"""The ID of the workflow definition to connect the MCP server to."""
workflowDefinitionId: String
"""The ID of the team to connect the MCP server to."""
teamId: String
"""The URL of the MCP server to connect with."""
serverUrl: String!
): IntegrationPayload!
"""Deletes an integration."""
integrationDelete(
"""
Whether to skip deleting the installation on the external service side.
"""
skipInstallationDeletion: Boolean
"""The identifier of the integration to delete."""
id: String!
): DeletePayload!
"""Archives an integration."""
integrationArchive(
"""The identifier of the integration to archive."""
id: String!
): DeletePayload!
"""
[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!
"""Requests a currently unavailable integration."""
integrationRequest(
"""Integration request details."""
input: IntegrationRequestInput!
): IntegrationRequestPayload!
"""Creates a initiative update."""
initiativeUpdateCreate(
"""The initiative update object to create."""
input: InitiativeUpdateCreateInput!
): InitiativeUpdatePayload!
"""Updates an update."""
initiativeUpdateUpdate(
"""A data to update the update with."""
input: InitiativeUpdateUpdateInput!
"""The identifier of the update to update."""
id: String!
): InitiativeUpdatePayload!
"""Archives an initiative update."""
initiativeUpdateArchive(
"""The identifier of the initiative update to archive."""
id: String!
): InitiativeUpdateArchivePayload!
"""Create a notification to remind a user about an initiative update."""
createInitiativeUpdateReminder(
"""
The user identifier to whom the notification will be sent. By default, it is set to the initiative owner.
"""
userId: String
"""The identifier of the initiative to remind about."""
initiativeId: String!
): InitiativeUpdateReminderPayload!
"""Unarchives an initiative update."""
initiativeUpdateUnarchive(
"""The identifier of the initiative update to unarchive."""
id: String!
): InitiativeUpdateArchivePayload!
"""Creates a new initiativeToProject join."""
initiativeToProjectCreate(
"""The properties of the initiativeToProject to create."""
input: InitiativeToProjectCreateInput!
): InitiativeToProjectPayload!
"""Updates a initiativeToProject."""
initiativeToProjectUpdate(
"""The properties of the initiativeToProject to update."""
input: InitiativeToProjectUpdateInput!
"""The identifier of the initiativeToProject to update."""
id: String!
): InitiativeToProjectPayload!
"""Deletes a initiativeToProject."""
initiativeToProjectDelete(
"""The identifier of the initiativeToProject to delete."""
id: String!
): DeletePayload!
"""Creates a new initiative."""
initiativeCreate(
"""The properties of the initiative to create."""
input: InitiativeCreateInput!
): InitiativePayload!
"""Updates a initiative."""
initiativeUpdate(
"""The properties of the initiative to update."""
input: InitiativeUpdateInput!
"""The identifier of the initiative to update."""
id: String!
): InitiativePayload!
"""Archives a initiative."""
initiativeArchive(
"""The identifier of the initiative to archive."""
id: String!
): InitiativeArchivePayload!
"""Unarchives a initiative."""
initiativeUnarchive(
"""The identifier of the initiative to unarchive."""
id: String!
): InitiativeArchivePayload!
"""Deletes (trashes) an initiative."""
initiativeDelete(
"""The identifier of the initiative to delete."""
id: String!
): DeletePayload!
"""Creates a new initiative relation."""
initiativeRelationCreate(
"""The initiative relation to create."""
input: InitiativeRelationCreateInput!
): InitiativeRelationPayload!
"""Updates an initiative relation."""
initiativeRelationUpdate(
"""The properties of the initiative relation to update."""
input: InitiativeRelationUpdateInput!
"""The identifier of the initiative relation to update."""
id: String!
): DeletePayload!
"""Deletes an initiative relation."""
initiativeRelationDelete(
"""The identifier of the initiative relation to delete."""
id: String!
): DeletePayload!
"""Creates a Git target branch automation."""
gitAutomationTargetBranchCreate(
"""The Git target branch automation to create."""
input: GitAutomationTargetBranchCreateInput!
): GitAutomationTargetBranchPayload!
"""Updates an existing Git target branch automation."""
gitAutomationTargetBranchUpdate(
"""The updates."""
input: GitAutomationTargetBranchUpdateInput!
"""The identifier of the Git target branch automation to update."""
id: String!
): GitAutomationTargetBranchPayload!
"""Archives a Git target branch automation."""
gitAutomationTargetBranchDelete(
"""The identifier of the Git target branch automation to archive."""
id: String!
): DeletePayload!
"""Creates a new automation state."""
gitAutomationStateCreate(
"""The automation state to create."""
input: GitAutomationStateCreateInput!
): GitAutomationStatePayload!
"""Updates an existing state."""
gitAutomationStateUpdate(
"""The state to update."""
input: GitAutomationStateUpdateInput!
"""The identifier of the state to update."""
id: String!
): GitAutomationStatePayload!
"""Archives an automation state."""
gitAutomationStateDelete(
"""The identifier of the automation state to archive."""
id: String!
): DeletePayload!
"""Creates a new favorite (project, cycle etc)."""
favoriteCreate(
"""The favorite object to create."""
input: FavoriteCreateInput!
): FavoritePayload!
"""Updates a favorite."""
favoriteUpdate(
"""A partial favorite object to update the favorite with."""
input: FavoriteUpdateInput!
"""The identifier of the favorite to update."""
id: String!
): FavoritePayload!
"""Deletes a favorite reference."""
favoriteDelete(
"""The identifier of the favorite reference to delete."""
id: String!
): DeletePayload!
"""Track an anonymous analytics event."""
trackAnonymousEvent(
"""Event tracking details."""
input: EventTrackingInput!
): EventTrackingPayload!
"""Creates a new entity link."""
entityExternalLinkCreate(
"""The entity link object to create."""
input: EntityExternalLinkCreateInput!
): EntityExternalLinkPayload!
"""Updates an entity link."""
entityExternalLinkUpdate(
"""The entity link object to update."""
input: EntityExternalLinkUpdateInput!
"""The identifier of the entity link to update."""
id: String!
): EntityExternalLinkPayload!
"""Deletes an entity link."""
entityExternalLinkDelete(
"""The identifier of the entity link to delete."""
id: String!
): DeletePayload!
"""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!
"""Unsubscribes the user from one type of email."""
emailUnsubscribe(
"""Unsubscription details."""
input: EmailUnsubscribeInput!
): EmailUnsubscribePayload!
"""Creates a new email intake address."""
emailIntakeAddressCreate(
"""The email intake address object to create."""
input: EmailIntakeAddressCreateInput!
): EmailIntakeAddressPayload!
"""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 properties of the email intake address to update."""
input: EmailIntakeAddressUpdateInput!
"""The identifier of the email intake address."""
id: String!
): EmailIntakeAddressPayload!
"""Deletes an email intake address object."""
emailIntakeAddressDelete(
"""The identifier of the email intake address to delete."""
id: String!
): DeletePayload!
"""Creates a new document."""
documentCreate(
"""The document to create."""
input: DocumentCreateInput!
): DocumentPayload!
"""Updates a document."""
documentUpdate(
"""A partial document object to update the document with."""
input: DocumentUpdateInput!
"""
The identifier of the document to update. Also the identifier from the URL is accepted.
"""
id: String!
): DocumentPayload!
"""Deletes (trashes) a document."""
documentDelete(
"""The identifier of the document to delete."""
id: String!
): DocumentArchivePayload!
"""Restores a document."""
documentUnarchive(
"""The identifier of the document to restore."""
id: String!
): DocumentArchivePayload!
"""Creates a new cycle."""
cycleCreate(
"""The cycle object to create."""
input: CycleCreateInput!
): CyclePayload!
"""Updates a cycle."""
cycleUpdate(
"""A partial cycle object to update the cycle with."""
input: CycleUpdateInput!
"""The identifier of the cycle to update."""
id: String!
): CyclePayload!
"""Archives a cycle."""
cycleArchive(
"""The identifier of the cycle to archive."""
id: String!
): CycleArchivePayload!
"""
Shifts all cycles starts and ends by a certain number of days, starting from the provided cycle onwards.
"""
cycleShiftAll(
"""A partial cycle object to update the cycle with."""
input: CycleShiftAllInput!
): CyclePayload!
"""
Shifts all cycles starts and ends by a certain number of days, starting from the provided cycle onwards.
"""
cycleStartUpcomingCycleToday(
"""
The identifier of the cycle to start as of midnight today. Must be the upcoming cycle.
"""
id: String!
): CyclePayload!
"""Creates a new customer tier."""
customerTierCreate(
"""The CustomerTier object to create."""
input: CustomerTierCreateInput!
): CustomerTierPayload!
"""Updates a customer tier."""
customerTierUpdate(
"""A partial CustomerTier object to update the CustomerTier with."""
input: CustomerTierUpdateInput!
"""The identifier of the customer tier to update."""
id: String!
): CustomerTierPayload!
"""Deletes a customer tier."""
customerTierDelete(
"""The identifier of the customer tier to delete."""
id: String!
): DeletePayload!
"""Creates a new customer status."""
customerStatusCreate(
"""The CustomerStatus object to create."""
input: CustomerStatusCreateInput!
): CustomerStatusPayload!
"""Updates a customer status."""
customerStatusUpdate(
"""A partial CustomerStatus object to update the CustomerStatus with."""
input: CustomerStatusUpdateInput!
"""The identifier of the customer status to update."""
id: String!
): CustomerStatusPayload!
"""Deletes a customer status."""
customerStatusDelete(
"""The identifier of the customer status to delete."""
id: String!
): DeletePayload!
"""Creates a new customer."""
customerCreate(
"""The customer to create."""
input: CustomerCreateInput!
): CustomerPayload!
"""Updates a customer"""
customerUpdate(
"""The properties of the customer to update."""
input: CustomerUpdateInput!
"""The identifier of the customer to update."""
id: String!
): CustomerPayload!
"""Deletes a customer."""
customerDelete(
"""The identifier of the customer to delete."""
id: String!
): DeletePayload!
"""Merges two customers."""
customerMerge(
"""
The ID of the customer to merge. The needs of this customer will be transferred before it gets deleted.
"""
sourceCustomerId: String!
"""
The ID of the target customer to merge into. The needs of this customer will be retained
"""
targetCustomerId: String!
): CustomerPayload!
"""
Upserts a customer, creating it if it doesn't exists, updating it otherwise. Matches against an existing customer with `id` or `externalId`
"""
customerUpsert(
"""The customer to create."""
input: CustomerUpsertInput!
): CustomerPayload!
"""
Unsyncs a managed customer from the its current data source. External IDs mapping to the external source will be cleared.
"""
customerUnsync(
"""The identifier of the customer to unsync."""
id: String!
): CustomerPayload!
"""Creates a new customer need."""
customerNeedCreate(
"""The customer need to create."""
input: CustomerNeedCreateInput!
): CustomerNeedPayload!
"""Creates a new customer need out of an attachment"""
customerNeedCreateFromAttachment(
"""The customer need to create."""
input: CustomerNeedCreateFromAttachmentInput!
): CustomerNeedPayload!
"""Updates a customer need"""
customerNeedUpdate(
"""
Whether to remove any existing attachment associated with the customer need.
"""
clearAttachment: Boolean
"""The properties of the customer need to update."""
input: CustomerNeedUpdateInput!
"""The identifier of the customer need to update."""
id: String!
): CustomerNeedUpdatePayload!
"""Deletes a customer need."""
customerNeedDelete(
"""Whether to keep the attachment associated with the customer need."""
keepAttachment: Boolean
"""The identifier of the customer need to delete."""
id: String!
): DeletePayload!
"""Archives a customer need."""
customerNeedArchive(
"""The identifier of the customer need to archive."""
id: String!
): CustomerNeedArchivePayload!
"""Unarchives a customer need."""
customerNeedUnarchive(
"""The identifier of the customer need to unarchive."""
id: String!
): CustomerNeedArchivePayload!
"""Creates a new custom view."""
customViewCreate(
"""The properties of the custom view to create."""
input: CustomViewCreateInput!
): CustomViewPayload!
"""Updates a custom view."""
customViewUpdate(
"""The properties of the custom view to update."""
input: CustomViewUpdateInput!
"""The identifier of the custom view to update."""
id: String!
): CustomViewPayload!
"""Deletes a custom view."""
customViewDelete(
"""The identifier of the custom view to delete."""
id: String!
): DeletePayload!
"""Saves user message."""
contactCreate(
"""The contact entry to create."""
input: ContactCreateInput!
): ContactPayload!
"""[INTERNAL] Saves sales pricing inquiry to Front."""
contactSalesCreate(
"""The contact entry to create."""
input: ContactSalesCreateInput!
): ContactPayload!
"""Creates a new comment."""
commentCreate(
"""The comment object to create."""
input: CommentCreateInput!
): CommentPayload!
"""Updates a comment."""
commentUpdate(
"""
[INTERNAL] Flag to prevent setting editedAt when updating bodyData (used for background uploads).
"""
skipEditedAt: Boolean
"""A partial comment object to update the comment with."""
input: CommentUpdateInput!
"""The identifier of the comment to update."""
id: String!
): CommentPayload!
"""Deletes a comment."""
commentDelete(
"""The identifier of the comment to delete."""
id: String!
): DeletePayload!
"""Resolves a comment."""
commentResolve(
resolvingCommentId: String
"""The identifier of the comment to update."""
id: String!
): CommentPayload!
"""Unresolves a comment."""
commentUnresolve(
"""The identifier of the comment to update."""
id: String!
): CommentPayload!
"""
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!
"""Authenticates a user account via email and authentication token."""
emailTokenUserAccountAuth(
"""The data used for token authentication."""
input: TokenUserAccountAuthInput!
): AuthResolverResponse!
"""
Authenticates a user account via email and authentication token for SAML.
"""
samlTokenUserAccountAuth(
"""The data used for token authentication."""
input: TokenUserAccountAuthInput!
): AuthResolverResponse!
"""
Authenticate user account through Google OAuth. This is the 2nd step of OAuth flow.
"""
googleUserAccountAuth(
"""The data used for Google authentication."""
input: GoogleUserAccountAuthInput!
): AuthResolverResponse!
"""[INTERNAL] Starts passkey login process."""
passkeyLoginStart(
"""Random ID to start passkey login with."""
authId: String!
): PasskeyLoginStartResponse!
"""[INTERNAL] Finish passkey login process."""
passkeyLoginFinish(
response: JSONObject!
"""Random ID to start passkey login with."""
authId: String!
): AuthResolverResponse!
"""Creates an organization from onboarding."""
createOrganizationFromOnboarding(
"""PostHog session ID for attribution tracking."""
sessionId: String
"""Onboarding survey."""
survey: OnboardingCustomerSurvey
"""Organization details for the new organization."""
input: CreateOrganizationInput!
): CreateOrJoinOrganizationResponse!
"""Join an organization from onboarding."""
joinOrganizationFromOnboarding(
"""Organization details for the organization to join."""
input: JoinOrganizationInput!
): CreateOrJoinOrganizationResponse!
"""Leave an organization."""
leaveOrganization(
"""ID of the organization to leave."""
organizationId: String!
): CreateOrJoinOrganizationResponse!
"""Logout the client."""
logout(
"""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!
"""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!
"""
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!
"""Updates an existing issue attachment."""
attachmentUpdate(
"""A partial attachment object to update the attachment with."""
input: AttachmentUpdateInput!
"""The identifier of the attachment to update."""
id: 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 title to use for the attachment."""
title: String
"""The url to link."""
url: String!
"""
The issue for which to link the url. Can be a UUID or issue identifier (e.g., 'LIN-123').
"""
issueId: String!
"""The id for the attachment."""
id: 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
"""The title to use for the attachment."""
title: String
"""
The issue for which to link the GitLab merge request. Can be a UUID or issue identifier (e.g., 'LIN-123').
"""
issueId: String!
"""Optional attachment ID that may be provided through the API."""
id: String
"""The URL of the GitLab merge request to link."""
url: String!
"""
The path name to the project including any (sub)groups. E.g. linear/main/client.
"""
projectPathWithNamespace: String!
"""The GitLab merge request number to link."""
number: Float!
): AttachmentPayload!
"""
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
"""The title to use for the attachment."""
title: String
"""
The Linear issue for which to link the GitHub issue. Can be a UUID or issue identifier (e.g., 'LIN-123').
"""
issueId: String!
"""Optional attachment ID that may be provided through the API."""
id: 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
"""The title to use for the attachment."""
title: String
"""
The issue for which to link the GitHub pull request. Can be a UUID or issue identifier (e.g., 'LIN-123').
"""
issueId: String!
"""Optional attachment ID that may be provided through the API."""
id: String
"""The URL of the GitHub pull request to link."""
url: String!
"""[Internal] The kind of link between the issue and the pull request."""
linkKind: GitLinkKind
): 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
"""The title to use for the attachment."""
title: String
"""The Zendesk ticket ID to link."""
ticketId: String!
"""
The issue for which to link the Zendesk ticket. Can be a UUID or issue identifier (e.g., 'LIN-123').
"""
issueId: String!
"""Optional attachment ID that may be provided through the API."""
id: String
"""The URL of the Zendesk ticket to link."""
url: String
): AttachmentPayload!
"""
Link an existing Discord message to an issue. This creates a rich attachment using the workspace's Discord integration.
"""
attachmentLinkDiscord(
"""
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 title to use for the attachment."""
title: String
"""
The issue for which to link the Discord message. Can be a UUID or issue identifier (e.g., 'LIN-123').
"""
issueId: String!
"""Optional attachment ID that may be provided through the API."""
id: String
"""The Discord channel ID for the message to link."""
channelId: String!
"""The Discord message ID for the message to link."""
messageId: String!
"""The Discord message URL for the message 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!
"""
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
"""The title to use for the attachment."""
title: String
"""
The issue to which to link the Slack message. Can be a UUID or issue identifier (e.g., 'LIN-123').
"""
issueId: String!
"""The Slack message URL for the message to link."""
url: String!
"""Optional attachment ID that may be provided through the API."""
id: String
"""
Whether to begin syncing the message's Slack thread with a comment thread on the issue.
"""
syncToCommentThread: Boolean
): 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(
"""
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 title to use for the attachment."""
title: String
"""The Front conversation ID to link."""
conversationId: String!
"""
The issue for which to link the Front conversation. Can be a UUID or issue identifier (e.g., 'LIN-123').
"""
issueId: String!
"""Optional attachment ID that may be provided through the API."""
id: String
): FrontAttachmentPayload!
"""
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(
"""
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 title to use for the attachment."""
title: String
"""The Intercom conversation ID to link."""
conversationId: String!
"""An optional Intercom conversation part ID to link to"""
partId: 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!
): 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
"""The title to use for the attachment."""
title: 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!
"""Optional attachment ID that may be provided through the API."""
id: 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
"""The title to use for the attachment."""
title: String
"""
The issue for which to link the Salesforce case. Can be a UUID or issue identifier (e.g., 'LIN-123').
"""
issueId: String!
"""Optional attachment ID that may be provided through the API."""
id: String
"""The URL of the Salesforce case to link."""
url: String!
): AttachmentPayload!
"""Deletes an issue attachment."""
attachmentDelete(
"""The identifier of the attachment to delete."""
id: String!
): DeletePayload!
"""Creates a new agent session on a rootcomment."""
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!
"""[Internal] Creates a new agent session on behalf of the current user"""
agentSessionCreate(
"""
[Internal] Optional pull request to associate with the created session.
"""
pullRequestId: String
"""The agent session object to create."""
input: AgentSessionCreateInput!
): AgentSessionPayload!
"""
Updates the externalUrl of an agent session, which is an agent-hosted page associated with this session.
"""
agentSessionUpdateExternalUrl(
"""The agent session object to update."""
input: AgentSessionUpdateExternalUrlInput!
"""The identifier of the agent session to update."""
id: String!
): AgentSessionPayload!
"""Updates an agent session."""
agentSessionUpdate(
"""A partial agent session object to update the agent session with."""
input: AgentSessionUpdateInput!
"""The identifier of the agent session to update."""
id: String!
): AgentSessionPayload!
"""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!
}
type UploadPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Object describing the file to be uploaded."""
uploadFile: UploadFile
"""Whether the operation was successful."""
success: Boolean!
}
"""Object representing Google Cloud upload policy, plus additional data."""
type UploadFile {
"""The filename."""
filename: String!
"""The content type."""
contentType: String!
"""The size of the uploaded file."""
size: Int!
"""The signed URL the for the uploaded file. (assigned automatically)."""
uploadUrl: String!
"""The asset URL for the uploaded file. (assigned automatically)."""
assetUrl: String!
metaData: JSONObject
headers: [UploadFileHeader!]!
}
type UploadFileHeader {
"""Upload file header key."""
key: String!
"""Upload file header value."""
value: String!
}
type ImageUploadFromUrlPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The URL containing the image."""
url: String
"""Whether the operation was successful."""
success: Boolean!
}
type FileUploadDeletePayload {
"""Whether the operation was successful."""
success: Boolean!
}
type WorkflowStatePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The state that was created or updated."""
workflowState: WorkflowState!
"""Whether the operation was successful."""
success: Boolean!
}
input WorkflowStateCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The workflow type."""
type: String!
"""The name of the state."""
name: String!
"""The color of the state."""
color: String!
"""The description of the state."""
description: String
"""The position of the state."""
position: Float
"""The team associated with the state."""
teamId: String!
}
input WorkflowStateUpdateInput {
"""The name of the state."""
name: String
"""The color of the state."""
color: String
"""The description of the state."""
description: String
"""The position of the state."""
position: Float
}
"""A generic payload return from entity archive mutations."""
type WorkflowStateArchivePayload implements ArchivePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
"""The archived/unarchived entity. Null if entity was deleted."""
entity: WorkflowState
}
"""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!
}
type WebhookPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The webhook entity being mutated."""
webhook: Webhook!
"""Whether the operation was successful."""
success: Boolean!
}
input WebhookCreateInput {
"""Label for the webhook."""
label: String
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""Whether this webhook is enabled."""
enabled: Boolean = true
"""A secret token used to sign the webhook payload."""
secret: String
"""The URL that will be called on data changes."""
url: String!
"""List of resources the webhook should subscribe to."""
resourceTypes: [String!]!
"""The identifier or key of the team associated with the Webhook."""
teamId: String
"""Whether this webhook is enabled for all public teams."""
allPublicTeams: Boolean
}
input WebhookUpdateInput {
"""Label for the webhook."""
label: String
"""A secret token used to sign the webhook payload."""
secret: String
"""Whether this webhook is enabled."""
enabled: Boolean
"""The URL that will be called on data changes."""
url: String
"""List of resources the webhook should subscribe to."""
resourceTypes: [String!]
}
"""A generic payload return from entity deletion mutations."""
type DeletePayload implements ArchivePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
"""The identifier of the deleted entity."""
entityId: String!
}
type WebhookRotateSecretPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
"""The new webhook signing secret."""
secret: String!
}
type ViewPreferencesPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The view preferences entity being mutated."""
viewPreferences: ViewPreferences!
"""Whether the operation was successful."""
success: Boolean!
}
input ViewPreferencesCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""
The type of view preferences (either user or organization level preferences).
"""
type: ViewPreferencesType!
"""The view type of the view preferences are associated with."""
viewType: ViewType!
"""View preferences object."""
preferences: JSONObject!
"""The default parameters for the insight on that view."""
insights: JSONObject
"""The team these view preferences are associated with."""
teamId: String
"""The project these view preferences are associated with."""
projectId: String
"""[Internal] The initiative these view preferences are associated with."""
initiativeId: String
"""The label these view preferences are associated with."""
labelId: String
"""The project label these view preferences are associated with."""
projectLabelId: String
"""The release pipeline these view preferences are associated with."""
releasePipelineId: String
"""The custom view these view preferences are associated with."""
customViewId: String
"""The user profile these view preferences are associated with."""
userId: String
}
"""
The type of view preferences (either user or organization level preferences).
"""
enum ViewPreferencesType {
organization
user
}
"""The client view this custom view is targeting."""
enum ViewType {
inbox
myIssues
myIssuesCreatedByMe
myIssuesSubscribedTo
myIssuesActivity
myIssuesSharedWithMe
userProfile
userProfileCreatedByUser
board
completedCycle
cycle
release
continuousPipelineReleases
scheduledPipelineReleases
project
projectDocuments
label
triage
activeIssues
backlog
subIssues
allIssues
dashboards
customView
customViews
initiative
initiativeOverview
initiativeOverviewSubInitiatives
initiatives
initiativesPlanned
initiativesCompleted
projects
projectsAll
projectsBacklog
projectsClosed
projectLabel
search
splitSearch
teams
archive
quickView
issueIdentifiers
customers
customer
embeddedCustomerNeeds
projectCustomerNeeds
reviews
myReviews
createdReviews
agents
focus
feedAll
feedCreated
feedFollowing
feedPopular
workspaceMembers
releasePipelines
roadmapAll
roadmap
roadmaps
roadmapClosed
roadmapBacklog
}
input ViewPreferencesUpdateInput {
"""View preferences."""
preferences: JSONObject
"""The default parameters for the insight on that view."""
insights: JSONObject
}
type UserSettingsPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The user's settings."""
userSettings: UserSettings!
"""Whether the operation was successful."""
success: Boolean!
}
input UserSettingsUpdateInput {
"""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 invite accepted emails or not."""
subscribedToInviteAccepted: Boolean
"""
Whether this user is subscribed to privacy and legal update emails or not.
"""
subscribedToPrivacyLegalUpdates: Boolean
"""
Whether this user is subscribed to general marketing communications or not.
"""
subscribedToGeneralMarketingCommunications: Boolean
"""The user's notification category preferences."""
notificationCategoryPreferences: NotificationCategoryPreferencesInput
"""The user's notification channel preferences."""
notificationChannelPreferences: PartialNotificationChannelPreferencesInput
"""The user's notification delivery preferences."""
notificationDeliveryPreferences: NotificationDeliveryPreferencesInput
"""[Internal] The user's usage warning history."""
usageWarningHistory: JSONObject
"""[Internal] How often to generate a feed summary."""
feedSummarySchedule: FeedSummarySchedule
"""[Internal] The user's last seen time for the pulse feed."""
feedLastSeenTime: DateTime
}
input NotificationCategoryPreferencesInput {
"""The preferences for notifications about assignments."""
assignments: PartialNotificationChannelPreferencesInput
"""The preferences for notifications about status changes."""
statusChanges: PartialNotificationChannelPreferencesInput
"""The preferences for notifications about comments and replies."""
commentsAndReplies: PartialNotificationChannelPreferencesInput
"""The preferences for notifications about mentions."""
mentions: PartialNotificationChannelPreferencesInput
"""The preferences for notifications about reactions."""
reactions: PartialNotificationChannelPreferencesInput
"""The preferences for notifications about subscriptions."""
subscriptions: PartialNotificationChannelPreferencesInput
"""The preferences for notifications about document changes."""
documentChanges: PartialNotificationChannelPreferencesInput
"""The preferences for notifications about posts and updates."""
postsAndUpdates: PartialNotificationChannelPreferencesInput
"""The preferences for notifications about reminders."""
reminders: PartialNotificationChannelPreferencesInput
"""The preferences for notifications about reviews."""
reviews: PartialNotificationChannelPreferencesInput
"""The preferences for notifications about apps and integrations."""
appsAndIntegrations: PartialNotificationChannelPreferencesInput
"""The preferences for notifications about triage."""
triage: PartialNotificationChannelPreferencesInput
"""The preferences for notifications about customers."""
customers: PartialNotificationChannelPreferencesInput
"""The preferences for notifications about feed summaries."""
feed: PartialNotificationChannelPreferencesInput
}
input PartialNotificationChannelPreferencesInput {
"""Whether notifications are currently enabled for mobile."""
mobile: Boolean
"""Whether notifications are currently enabled for desktop."""
desktop: Boolean
"""Whether notifications are currently enabled for email."""
email: Boolean
"""Whether notifications are currently enabled for Slack."""
slack: Boolean
}
input NotificationDeliveryPreferencesInput {
"""The delivery preferences for the mobile channel."""
mobile: NotificationDeliveryPreferencesChannelInput
}
input NotificationDeliveryPreferencesChannelInput {
"""The schedule for notifications on this channel."""
schedule: NotificationDeliveryPreferencesScheduleInput
}
input NotificationDeliveryPreferencesScheduleInput {
"""Whether the schedule is disabled."""
disabled: Boolean
"""Delivery preferences for Sunday."""
sunday: NotificationDeliveryPreferencesDayInput!
"""Delivery preferences for Monday."""
monday: NotificationDeliveryPreferencesDayInput!
"""Delivery preferences for Tuesday."""
tuesday: NotificationDeliveryPreferencesDayInput!
"""Delivery preferences for Wednesday."""
wednesday: NotificationDeliveryPreferencesDayInput!
"""Delivery preferences for Thursday."""
thursday: NotificationDeliveryPreferencesDayInput!
"""Delivery preferences for Friday."""
friday: NotificationDeliveryPreferencesDayInput!
"""Delivery preferences for Saturday."""
saturday: NotificationDeliveryPreferencesDayInput!
}
input NotificationDeliveryPreferencesDayInput {
"""The time notifications start."""
start: String
"""The time notifications end."""
end: String
}
type UserSettingsFlagsResetPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
}
"""The types of flags that the user can have."""
enum UserFlagType {
updatedSlackThreadSyncIntegration
completedOnboarding
desktopInstalled
teamsPageIntroductionDismissed
joinTeamIntroductionDismissed
desktopDownloadToastDismissed
emptyBacklogDismissed
emptyCustomViewsDismissed
emptyActiveIssuesDismissed
emptyMyIssuesDismissed
triageWelcomeDismissed
cycleWelcomeDismissed
projectWelcomeDismissed
projectBacklogWelcomeDismissed
projectUpdatesWelcomeDismissed
pulseWelcomeDismissed
analyticsWelcomeDismissed
insightsWelcomeDismissed
insightsHelpDismissed
figmaPromptDismissed
issueMovePromptCompleted
migrateThemePreference
listSelectionTip
emptyParagraphSlashCommandTip
editorSlashCommandUsed
canPlaySnake
canPlayTetris
importBannerDismissed
tryInvitePeopleDismissed
tryRoadmapsDismissed
tryCyclesDismissed
tryTriageDismissed
tryGithubDismissed
tryCursorDismissed
tryCodexDismissed
rewindBannerDismissed
helpIslandFeatureInsightsDismissed
dueDateShortcutMigration
slackCommentReactionTipShown
issueLabelSuggestionUsed
threadedCommentsNudgeIsSeen
desktopTabsOnboardingDismissed
milestoneOnboardingIsSeenAndDismissed
projectBoardOnboardingIsSeenAndDismissed
figmaPluginBannerDismissed
initiativesBannerDismissed
commandMenuClearShortcutTip
slackBotWelcomeMessageShown
teamsBotWelcomeMessageShown
slackAgentPromoFromCreateNewIssueShown
agentExamplesDismissed
all
}
type UserSettingsFlagPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The flag key which was updated."""
flag: String
"""The flag value after update."""
value: Int
"""Whether the operation was successful."""
success: Boolean!
}
"""Operations that can be applied to UserFlagType."""
enum UserFlagUpdateOperation {
incr
decr
clear
lock
}
"""The delivery channels a user can receive notifications in."""
enum NotificationChannel {
desktop
mobile
email
slack
}
type UserPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The user that was created or updated."""
user: User
"""Whether the operation was successful."""
success: Boolean!
}
input UserUpdateInput {
"""The name of the user."""
name: String
"""The display name of the user."""
displayName: String
"""The avatar image URL of the user."""
avatarUrl: String
"""The user description or a short bio."""
description: 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
}
type UserAdminPayload {
"""Whether the operation was successful."""
success: Boolean!
}
type TriageResponsibilityPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
triageResponsibility: TriageResponsibility!
"""Whether the operation was successful."""
success: Boolean!
}
input TriageResponsibilityCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The identifier of the team associated with the triage responsibility."""
teamId: String!
"""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
}
"""Manual triage responsibility using a set of users."""
input TriageResponsibilityManualSelectionInput {
"""The set of users responsible for triage."""
userIds: [String!]!
"""
[Internal] The index of the current userId used for the assign action when having more than one user.
"""
assignmentIndex: Int
}
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
}
type TimeSchedulePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
timeSchedule: TimeSchedule!
"""Whether the operation was successful."""
success: Boolean!
}
input TimeScheduleCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The name of the schedule."""
name: String!
"""The schedule entries."""
entries: [TimeScheduleEntryInput!]!
"""The unique identifier of the external schedule."""
externalId: String
"""The URL to the external schedule."""
externalUrl: String
}
input TimeScheduleEntryInput {
"""The start date of the schedule in ISO 8601 date-time format."""
startsAt: DateTime!
"""The end date of the schedule in ISO 8601 date-time format."""
endsAt: DateTime!
"""
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 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
}
input TimeScheduleUpdateInput {
"""The name of the schedule."""
name: String
"""The schedule entries."""
entries: [TimeScheduleEntryInput!]
"""The unique identifier of the external schedule."""
externalId: String
"""The URL to the external schedule."""
externalUrl: String
}
type TemplatePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The template that was created or updated."""
template: Template!
"""Whether the operation was successful."""
success: Boolean!
}
input TemplateCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The template type, e.g. 'issue'."""
type: String!
"""
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 name."""
name: String!
"""The template description."""
description: String
"""The icon of the template."""
icon: String
"""The color of the template icon."""
color: String
"""
The template data as JSON encoded attributes of the type of entity, such as an issue.
"""
templateData: JSON!
"""The position of the template in the templates list."""
sortOrder: Float
}
input TemplateUpdateInput {
"""The template name."""
name: String
"""The template description."""
description: String
"""The icon of the template."""
icon: String
"""The color of the template icon."""
color: String
"""
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 type of entity, such as an issue.
"""
templateData: JSON
"""The position of the template in the templates list."""
sortOrder: Float
}
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!
}
input ProjectCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The name of the project."""
name: String!
"""The icon of the project."""
icon: String
"""The color of the project."""
color: String
"""The ID of the project status."""
statusId: String
"""The description for the project."""
description: String
"""The project content as markdown."""
content: String
"""The identifiers of the teams this project is associated with."""
teamIds: [String!]!
"""The ID of the issue from which that project is created."""
convertedFromIssueId: String
"""The ID of the last template applied to the project."""
lastAppliedTemplateId: String
"""The ID of the template to apply when creating the project."""
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
"""The identifier of the project lead."""
leadId: String
"""The identifiers of the members of this project."""
memberIds: [String!]
"""The planned start date of the project."""
startDate: TimelessDate
"""The resolution of the project's start date."""
startDateResolution: DateResolutionType
"""The planned target date of the project."""
targetDate: TimelessDate
"""The resolution of the project's estimated completion date."""
targetDateResolution: DateResolutionType
"""The sort order for the project within shared views."""
sortOrder: Float
"""
The sort order for the project within shared views, when ordered by priority.
"""
prioritySortOrder: Float
"""
The priority of the project. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low.
"""
priority: Int
"""
[Internal]The identifiers of the project labels associated with this project.
"""
labelIds: [String!]
}
input ProjectUpdateInput {
"""The ID of the project status."""
statusId: String
"""The name of the project."""
name: String
"""The description for the project."""
description: String
"""The project content as markdown."""
content: String
"""The ID of the issue from which that project is created."""
convertedFromIssueId: String
"""The ID of the last template applied to the project."""
lastAppliedTemplateId: String
"""The icon of the project."""
icon: String
"""The color of the project."""
color: String
"""The identifiers of the teams this project is associated with."""
teamIds: [String!]
"""The time until which project update reminders are paused."""
projectUpdateRemindersPausedUntilAt: DateTime
"""
The n-weekly frequency at which to prompt for updates. When not set, reminders are inherited from workspace.
"""
updateReminderFrequencyInWeeks: Float
"""
The frequency at which to prompt for updates. When not set, reminders are inherited from workspace.
"""
updateReminderFrequency: Float
"""The frequency resolution."""
frequencyResolution: FrequencyResolutionType
"""The day at which to prompt for updates."""
updateRemindersDay: Day
"""The hour at which to prompt for updates."""
updateRemindersHour: Int
"""The identifier of the project lead."""
leadId: String
"""The identifiers of the members of this project."""
memberIds: [String!]
"""The planned start date of the project."""
startDate: TimelessDate
"""The resolution of the project's start date."""
startDateResolution: DateResolutionType
"""The planned target date of the project."""
targetDate: TimelessDate
"""The resolution of the project's estimated completion date."""
targetDateResolution: DateResolutionType
"""The date when the project was completed."""
completedAt: DateTime
"""The date when the project was canceled."""
canceledAt: DateTime
"""Whether to send new issue notifications to Slack."""
slackNewIssue: Boolean
"""Whether to send new issue comment notifications to Slack."""
slackIssueComments: Boolean
"""Whether to send issue status update notifications to Slack."""
slackIssueStatuses: Boolean
"""The sort order for the project in shared views."""
sortOrder: Float
"""
The sort order for the project within shared views, when ordered by priority.
"""
prioritySortOrder: Float
"""Whether the project has been trashed."""
trashed: Boolean
"""
The priority of the project. 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low.
"""
priority: Int
"""The identifiers of the project labels associated with this project."""
labelIds: [String!]
}
type SuccessPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
}
"""A generic payload return from entity archive mutations."""
type ProjectArchivePayload implements ArchivePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
"""The archived/unarchived entity. Null if entity was deleted."""
entity: Project
}
type TeamPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The team that was created or updated."""
team: Team
"""Whether the operation was successful."""
success: Boolean!
}
input TeamCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The name of the team."""
name: String!
"""The description of the team."""
description: String
"""
The key of the team. If not given, the key will be generated based on the name of the team.
"""
key: String
"""The icon of the team."""
icon: String
"""The color of the team."""
color: String
"""Whether the team uses cycles."""
cyclesEnabled: Boolean
"""The day of the week that a new cycle starts."""
cycleStartDay: Float
"""The duration of each cycle in weeks."""
cycleDuration: Int
"""The cooldown time after each cycle in weeks."""
cycleCooldownTime: Int
"""Auto assign started issues to current active cycle setting."""
cycleIssueAutoAssignStarted: Boolean
"""Auto assign completed issues to current active cycle setting."""
cycleIssueAutoAssignCompleted: Boolean
"""Only allow issues issues with cycles in Active Issues."""
cycleLockToActive: Boolean
"""How many upcoming cycles to create."""
upcomingCycleCount: Float
"""Whether triage mode is enabled for the team."""
triageEnabled: Boolean
"""Whether an issue needs to have a priority set before leaving triage."""
requirePriorityToLeaveTriage: Boolean
"""The timezone of the team."""
timezone: String
"""
Whether the team should inherit estimation settings from its parent. Only applies to sub-teams.
"""
inheritIssueEstimation: Boolean
"""
[Internal] Whether the team should inherit workflow statuses from its parent.
"""
inheritWorkflowStatuses: Boolean
"""
The issue estimation type to use. Must be one of "notUsed", "exponential", "fibonacci", "linear", "tShirt".
"""
issueEstimationType: String
"""Whether to allow zeros in issues estimates."""
issueEstimationAllowZero: Boolean
"""Whether to move issues to bottom of the column when changing state."""
setIssueSortOrderOnStateChange: String
"""Whether to add additional points to the estimate scale."""
issueEstimationExtended: Boolean
"""What to use as an default estimate for unestimated issues."""
defaultIssueEstimate: Float
"""Whether to group recent issue history entries."""
groupIssueHistory: Boolean
"""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 identifier of the default project template of this team."""
defaultProjectTemplateId: String
"""Internal. Whether the team is private or not."""
private: 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
"""
Period after which closed and completed issues are automatically archived, in months. 0 means disabled.
"""
autoArchivePeriod: Float
"""
The workflow state into which issues are moved when they are marked as a duplicate of another issue.
"""
markedAsDuplicateWorkflowStateId: String
"""The parent team ID."""
parentId: String
"""
[Internal] Whether the team should inherit its product intelligence scope from its parent. Only applies to sub-teams.
"""
inheritProductIntelligenceScope: Boolean
"""
[Internal] The scope of product intelligence suggestion data for the team.
"""
productIntelligenceScope: ProductIntelligenceScope
"""
The policy controlling whether and by whom issues in the team can be shared with non-team-members.
"""
issueSharingPolicy: IssueSharingPolicy
"""
[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 to automatically create a Slack channel when a new project is created in this team.
"""
slackAutoCreateProjectChannel: Boolean
}
"""
[Internal] The scope of product intelligence suggestion data for a team.
"""
enum ProductIntelligenceScope {
workspace
teamHierarchy
team
none
}
"""
Policy controlling whether and by whom issues in a team can be shared with non-team-members.
"""
enum IssueSharingPolicy {
disabled
adminsOnly
allMembers
}
input InheritanceEntityMapping {
"""Mapping of the WorkflowState ID to the new WorkflowState ID."""
workflowStates: JSONObject!
"""Mapping of the IssueLabel ID to the new IssueLabel name."""
issueLabels: JSONObject
}
input TeamUpdateInput {
"""The name of the team."""
name: String
"""The description of the team."""
description: String
"""The key of the team."""
key: String
"""The icon of the team."""
icon: String
"""The color of the team."""
color: String
"""Whether the team uses cycles."""
cyclesEnabled: Boolean
"""The day of the week that a new cycle starts."""
cycleStartDay: Float
"""The duration of each cycle in weeks."""
cycleDuration: Int
"""The cooldown time after each cycle in weeks."""
cycleCooldownTime: Int
"""Auto assign started issues to current active cycle setting."""
cycleIssueAutoAssignStarted: Boolean
"""Auto assign completed issues to current active cycle setting."""
cycleIssueAutoAssignCompleted: Boolean
"""Only allow issues with cycles in Active Issues."""
cycleLockToActive: Boolean
"""The date to begin cycles on."""
cycleEnabledStartDate: DateTime
"""How many upcoming cycles to create."""
upcomingCycleCount: Float
"""The timezone of the team."""
timezone: String
"""
Whether the team should inherit estimation settings from its parent. Only applies to sub-teams.
"""
inheritIssueEstimation: Boolean
"""
The issue estimation type to use. Must be one of "notUsed", "exponential", "fibonacci", "linear", "tShirt".
"""
issueEstimationType: String
"""Whether to allow zeros in issues estimates."""
issueEstimationAllowZero: Boolean
"""Whether to move issues to bottom of the column when changing state."""
setIssueSortOrderOnStateChange: String
"""Whether to add additional points to the estimate scale."""
issueEstimationExtended: Boolean
"""What to use as an default estimate for unestimated issues."""
defaultIssueEstimate: Float
"""Whether to send new issue notifications to Slack."""
slackNewIssue: 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 group recent issue history entries."""
groupIssueHistory: Boolean
"""Whether to enable resolved thread AI summaries."""
aiThreadSummariesEnabled: Boolean
"""Whether to enable AI discussion summaries for issues."""
aiDiscussionSummariesEnabled: Boolean
"""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 identifier of the default project template of this team."""
defaultProjectTemplateId: String
"""Whether the team is private or not."""
private: Boolean
"""Whether triage mode is enabled for the team."""
triageEnabled: Boolean
"""Whether an issue needs to have a priority set before leaving triage."""
requirePriorityToLeaveTriage: Boolean
"""Default status for newly created issues."""
defaultIssueStateId: String
"""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
"""
Whether to automatically close a parent issue in this team if all its sub-issues are closed.
"""
autoCloseParentIssues: Boolean
"""
Whether to automatically close all sub-issues when a parent issue in this team is closed.
"""
autoCloseChildIssues: Boolean
"""
Period after which closed and completed issues are automatically archived, in months.
"""
autoArchivePeriod: Float
"""
The workflow state into which issues are moved when they are marked as a duplicate of another issue.
"""
markedAsDuplicateWorkflowStateId: String
"""
Whether new users should join this team by default. Mutation restricted to workspace admins or owners!
"""
joinByDefault: Boolean
"""
Whether the team is managed by SCIM integration. Mutation restricted to workspace admins or owners and only unsetting is allowed!
"""
scimManaged: Boolean
"""The parent team ID."""
parentId: String
"""
[Internal] Whether the team should inherit workflow statuses from its parent.
"""
inheritWorkflowStatuses: Boolean
"""
[Internal] Whether the team should inherit its product intelligence scope from its parent. Only applies to sub-teams.
"""
inheritProductIntelligenceScope: Boolean
"""
[Internal] The scope of product intelligence suggestion data for the team.
"""
productIntelligenceScope: ProductIntelligenceScope
"""
The policy controlling whether and by whom issues in the team can be shared with non-team-members.
"""
issueSharingPolicy: IssueSharingPolicy
"""
[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 to automatically create a Slack channel when a new project is created in this team.
"""
slackAutoCreateProjectChannel: Boolean
"""The security settings for the team."""
securitySettings: TeamSecuritySettingsInput
"""
Whether all members in the workspace can join the team. Only used for public teams.
"""
allMembersCanJoin: Boolean
"""When the team was retired."""
retiredAt: DateTime
"""
[Internal] How to handle sub-teams when retiring. Required if the team has active sub-teams.
"""
handleSubTeamsOnRetirement: TeamRetirementSubTeamHandling
}
input TeamSecuritySettingsInput {
"""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
}
"""
All possible roles within a team in terms of access to team settings and operations.
"""
enum TeamRoleType {
owner
member
}
"""[Internal] How to handle sub-teams when retiring a parent team."""
enum TeamRetirementSubTeamHandling {
unnest
retire
}
"""A generic payload return from entity archive mutations."""
type TeamArchivePayload implements ArchivePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
"""The archived/unarchived entity. Null if entity was deleted."""
entity: Team
}
type TeamMembershipPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The team membership that was created or updated."""
teamMembership: TeamMembership
"""Whether the operation was successful."""
success: Boolean!
}
input TeamMembershipCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The identifier of the user associated with the membership."""
userId: String!
"""The identifier of the team associated with the membership."""
teamId: String!
"""Internal. Whether the user is the owner of the team."""
owner: Boolean
"""The position of the item in the users list."""
sortOrder: Float
}
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
}
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 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 organization."""
sortOrder: Float
}
input RoadmapToProjectUpdateInput {
"""The sort order for the project within its organization."""
sortOrder: Float
}
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!
}
input RoadmapCreateInput {
"""
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 description of the roadmap."""
description: String
"""The owner of the roadmap."""
ownerId: String
"""The sort order of the roadmap within the organization."""
sortOrder: Float
"""The roadmap's color."""
color: String
}
input RoadmapUpdateInput {
"""The name of the roadmap."""
name: String
"""The description of the roadmap."""
description: String
"""The owner of the roadmap."""
ownerId: String
"""The sort order of the roadmap within the organization."""
sortOrder: Float
"""The roadmap's color."""
color: String
}
"""A generic payload return from entity archive mutations."""
type RoadmapArchivePayload implements ArchivePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
"""The archived/unarchived entity. Null if entity was deleted."""
entity: Roadmap
}
type CreateCsvExportReportPayload {
"""Whether the operation was successful."""
success: Boolean!
}
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!
}
input ReleaseStageCreateInput {
"""
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 UI color of the stage as a HEX string."""
color: String!
"""The type of the stage."""
type: ReleaseStageType!
"""The position of the stage."""
position: Float!
"""The identifier of the pipeline this stage belongs to."""
pipelineId: String!
"""Whether this stage is frozen. Only applicable to started stages."""
frozen: Boolean
}
input ReleaseStageUpdateInput {
"""The name of the stage."""
name: String
"""The UI color of the stage as a HEX string."""
color: String
"""The position of the stage."""
position: Float
"""Whether this stage is frozen. Only applicable to started stages."""
frozen: Boolean
}
"""A generic payload return from entity archive mutations."""
type ReleaseStageArchivePayload implements ArchivePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
"""The archived/unarchived entity. Null if entity was deleted."""
entity: ReleaseStage
}
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!
}
input ReleasePipelineCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The name of the pipeline."""
name: String!
"""
The pipeline's unique slug identifier. If not provided, it will be auto-generated.
"""
slugId: String
"""The type of the pipeline."""
type: ReleasePipelineType
"""
Whether this pipeline targets a production environment. Default to true.
"""
isProduction: Boolean
"""Glob patterns to include commits affecting matching file paths."""
includePathPatterns: [String!]
"""The identifiers of the teams this pipeline is associated with."""
teamIds: [String!]
}
input ReleasePipelineUpdateInput {
"""The name of the pipeline."""
name: String
"""The pipeline's unique slug identifier."""
slugId: String
"""The type of the pipeline."""
type: ReleasePipelineType
"""
Whether this pipeline targets a production environment. Default to true.
"""
isProduction: Boolean
"""Glob patterns to include commits affecting matching file paths."""
includePathPatterns: [String!]
"""The identifiers of the teams this pipeline is associated with."""
teamIds: [String!]
}
"""A generic payload return from entity archive mutations."""
type ReleasePipelineArchivePayload implements ArchivePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
"""The archived/unarchived entity. Null if entity was deleted."""
entity: ReleasePipeline
}
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!
}
"""The release data to sync."""
input ReleaseSyncInput {
"""The name of the release."""
name: String
"""The version of the release."""
version: String
"""The commit SHA associated with this release."""
commitSha: String!
"""Issue references (e.g. ENG-123) to associate with this release."""
issueReferences: [IssueReferenceInput!]
"""
Issue references that were reverted and should be removed from the release.
"""
revertedIssueReferences: [IssueReferenceInput!]
"""
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
"""Debug information for release creation diagnostics."""
debugSink: ReleaseDebugSinkInput
"""The identifier of the pipeline this release belongs to."""
pipelineId: String!
}
"""A reference to an issue found during release creation."""
input IssueReferenceInput {
"""The issue identifier (e.g. ENG-123)."""
identifier: String!
"""The commit SHA where this issue reference was found."""
commitSha: String!
}
"""Input for referencing a pull request by repository and number."""
input PullRequestReferenceInput {
"""The owner of the repository (e.g., organization or user name)."""
repositoryOwner: String!
"""The name of the repository."""
repositoryName: String!
"""The pull request number."""
number: Float!
}
"""Information about the source repository."""
input RepositoryDataInput {
"""The owner of the repository (e.g., organization or user name)."""
owner: String!
"""The name of the repository."""
name: String!
"""The VCS provider hosting the repository (e.g., 'github', 'gitlab')."""
provider: String!
"""
The base URL of the repository on the hosting provider (e.g., 'https://github.com/linear/linear-app').
"""
url: String!
}
"""Debug sink for release creation diagnostics."""
input ReleaseDebugSinkInput {
"""List of commit SHAs that were inspected."""
inspectedShas: [String!]!
"""Map of issue identifiers to their source information."""
issues: JSONObject!
"""Map of reverted issue identifiers to their source information."""
revertedIssues: JSONObject
"""Pull request debug information."""
pullRequests: [JSONObject!]!
"""List of paths applied during commit scanning."""
includePaths: [String!]
}
"""The input for creating a release."""
input ReleaseCreateInput {
"""
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 description of the release."""
description: String
"""The version of the release."""
version: String
"""The commit SHA associated with this release."""
commitSha: 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 estimated completion date of the release."""
targetDate: TimelessDate
}
input ReleaseUpdateInput {
"""The name of the release."""
name: String
"""The description of the release."""
description: String
"""The version of the release."""
version: String
"""The commit SHA associated with this release."""
commitSha: 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 estimated completion date of the release."""
targetDate: TimelessDate
"""Whether the release has been trashed."""
trashed: Boolean
}
input ReleaseCompleteInput {
"""
The version of the release to complete. If not provided, the latest started release will be completed.
"""
version: String
"""
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
"""The identifier of the pipeline to mark a release as completed."""
pipelineId: String!
}
"""Input for updating a release by pipeline."""
input ReleaseUpdateByPipelineInput {
"""
The version of the release to update. If not provided, the latest started or latest planned release will be updated.
"""
version: 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 identifier of the pipeline."""
pipelineId: String!
}
"""A generic payload return from entity archive mutations."""
type ReleaseArchivePayload implements ArchivePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
"""The archived/unarchived entity. Null if entity was deleted."""
entity: Release
}
"""Base release sync data without pipeline specification."""
input ReleaseSyncInputBase {
"""The name of the release."""
name: String
"""The version of the release."""
version: String
"""The commit SHA associated with this release."""
commitSha: String!
"""Issue references (e.g. ENG-123) to associate with this release."""
issueReferences: [IssueReferenceInput!]
"""
Issue references that were reverted and should be removed from the release.
"""
revertedIssueReferences: [IssueReferenceInput!]
"""
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
"""Debug information for release creation diagnostics."""
debugSink: ReleaseDebugSinkInput
}
input ReleaseCompleteInputBase {
"""
The version of the release to complete. If not provided, the latest started release will be completed.
"""
version: String
"""
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
}
input ReleaseUpdateByPipelineInputBase {
"""
The version of the release to update. If not provided, the latest started or latest planned release will be updated.
"""
version: 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
}
type ReactionPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
reaction: Reaction!
success: Boolean!
}
input ReactionCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The emoji the user reacted with."""
emoji: String!
"""The comment to associate the reaction with."""
commentId: String
"""The project update to associate the reaction with."""
projectUpdateId: 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
"""[Internal] The pull request to associate the reaction with."""
pullRequestId: String
"""[Internal] The pull request comment to associate the reaction with."""
pullRequestCommentId: String
}
type PushSubscriptionPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The push subscription that was created or updated."""
entity: PushSubscription!
"""Whether the operation was successful."""
success: Boolean!
}
"""A user's web or mobile push notification subscription."""
type PushSubscription implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
}
input PushSubscriptionCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The data of the subscription in stringified JSON format."""
data: String!
"""
Whether this is a subscription payload for Google Cloud Messaging or Apple Push Notification service.
"""
type: PushSubscriptionType = web
}
"""The different push subscription types."""
enum PushSubscriptionType {
web
apple
appleDevelopment
firebase
}
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!
}
input ProjectUpdateCreateInput {
"""The identifier. If none is provided, the backend will generate one."""
id: String
"""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 project to associate the project update with."""
projectId: String!
"""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
}
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
}
"""A generic payload return from entity archive mutations."""
type ProjectUpdateArchivePayload implements ArchivePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
"""The archived/unarchived entity. Null if entity was deleted."""
entity: ProjectUpdate
}
type ProjectUpdateReminderPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
}
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!
}
input ProjectStatusCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The name of the status."""
name: String!
"""The UI color of the status as a HEX string."""
color: String!
"""Description of the status."""
description: String
"""The position of the status in the workspace's project flow."""
position: Float!
"""The type of the project status."""
type: ProjectStatusType!
"""Whether or not a project can be in this status indefinitely."""
indefinite: Boolean = false
}
input ProjectStatusUpdateInput {
"""The name of the status."""
name: String
"""The UI color of the status as a HEX string."""
color: String
"""Description of the status."""
description: String
"""The position of the status in the workspace's project flow."""
position: Float
"""The type of the project status."""
type: ProjectStatusType
"""Whether or not a project can be in this status indefinitely."""
indefinite: Boolean
}
"""A generic payload return from entity archive mutations."""
type ProjectStatusArchivePayload implements ArchivePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
"""The archived/unarchived entity. Null if entity was deleted."""
entity: ProjectStatus
}
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 ProjectRelationCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The type of relation of the project to the related project."""
type: 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 project."""
anchorType: String!
"""The identifier of the related project."""
relatedProjectId: String!
"""The identifier of the related project milestone."""
relatedProjectMilestoneId: String
"""The type of the anchor for the related project."""
relatedAnchorType: String!
}
input ProjectRelationUpdateInput {
"""The type of relation of the project to the related project."""
type: 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 project."""
anchorType: String
"""The identifier of the related project."""
relatedProjectId: String
"""The identifier of the related project milestone."""
relatedProjectMilestoneId: String
"""The type of the anchor for the related project."""
relatedAnchorType: String
}
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!
}
input ProjectMilestoneCreateInput {
"""
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!
"""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 planned target date of the project milestone."""
targetDate: TimelessDate
"""Related project for the project milestone."""
projectId: String!
"""The sort order for the project milestone within a project."""
sortOrder: Float
}
input ProjectMilestoneUpdateInput {
"""The name of the project milestone."""
name: String
"""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 planned target date of the project milestone."""
targetDate: TimelessDate
"""The sort order for the project milestone within a project."""
sortOrder: Float
"""Related project for the project milestone."""
projectId: String
}
type ProjectMilestoneMovePayload {
"""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!
"""
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
}
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!
}
type ProjectMilestoneMoveProjectTeams {
"""The project id"""
projectId: String!
"""The team ids for the project"""
teamIds: [String!]!
}
input ProjectMilestoneMoveInput {
"""The identifier of the project to move the milestone to."""
projectId: String!
"""
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
"""
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
"""
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
}
"""
[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] 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!]!
}
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 ProjectLabelCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The name of the label."""
name: String!
"""The description of the label."""
description: String
"""The color of the label."""
color: String
"""The identifier of the parent label."""
parentId: String
"""Whether the label is a group."""
isGroup: Boolean
"""When the label was retired."""
retiredAt: DateTime
}
input ProjectLabelUpdateInput {
"""The name of the label."""
name: String
"""The description of the label."""
description: String
"""The identifier of the parent label."""
parentId: String
"""The color of the label."""
color: String
"""Whether the label is a group."""
isGroup: Boolean
"""When the label was retired."""
retiredAt: DateTime
}
type OrganizationPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The organization that was created or updated."""
organization: Organization
"""Whether the operation was successful."""
success: Boolean!
}
input OrganizationUpdateInput {
"""The name of the organization."""
name: String
"""The logo of the organization."""
logoUrl: String
"""The URL key of the organization."""
urlKey: String
"""
How git branches are formatted. If null, default formatting will be used.
"""
gitBranchFormat: String
"""
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 issue descriptions should be included in Git integration linkback messages.
"""
gitLinkbackDescriptionsEnabled: Boolean
"""Whether the organization is using roadmap."""
roadmapEnabled: 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
"""
[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
"""The month at which the fiscal year starts."""
fiscalYearStartMonth: Float
"""[Internal] The list of working days. Sunday is 0, Monday is 1, etc."""
workingDays: [Float!]
"""
Whether the organization has opted for reduced customer support attachment information.
"""
reducedPersonalInformation: Boolean
"""
Whether the organization has opted for having to approve all OAuth applications for install.
"""
oauthAppReview: Boolean
"""List of services that are allowed to be used for login."""
allowedAuthServices: [String!]
"""Internal. Whether SLAs have been enabled for the organization."""
slaEnabled: Boolean
"""Whether agent invocation is restricted to full workspace members."""
restrictAgentInvocationToMembers: Boolean
"""
IP restriction configurations controlling allowed access the workspace.
"""
ipRestrictions: [OrganizationIpRestrictionInput!]
"""Allowed file upload content types."""
allowedFileUploadContentTypes: [String!]
"""[ALPHA] Theme settings for the organization."""
themeSettings: JSONObject
"""[INTERNAL] Whether the organization is using customers."""
customersEnabled: Boolean
"""[INTERNAL] Configuration settings for the Customers feature."""
customersConfiguration: JSONObject
"""[INTERNAL] Whether code intelligence is enabled for the organization."""
codeIntelligenceEnabled: Boolean
"""
[INTERNAL] GitHub repository in owner/repo format for code intelligence.
"""
codeIntelligenceRepository: String
"""Whether the organization has enabled the feed feature."""
feedEnabled: Boolean
"""
Whether to hide other workspaces for new users signing up with email domains claimed by this organization.
"""
hideNonPrimaryOrganizations: Boolean
"""Default schedule for how often feed summaries are generated."""
defaultFeedSummarySchedule: FeedSummarySchedule
"""[INTERNAL] Whether the organization has enabled the AI add-on."""
aiAddonEnabled: Boolean
"""[INTERNAL] Whether the organization has enabled agent automation."""
agentAutomationEnabled: Boolean
"""[INTERNAL] Whether the organization has enabled generated updates."""
generatedUpdatesEnabled: Boolean
"""[INTERNAL] Whether the organization has opted in to AI telemetry."""
aiTelemetryEnabled: Boolean
"""
Whether the organization has enabled AI discussion summaries for issues.
"""
aiDiscussionSummariesEnabled: Boolean
"""Whether the organization has enabled resolved thread AI summaries."""
aiThreadSummariesEnabled: Boolean
"""Whether HIPAA compliance is enabled for organization."""
hipaaComplianceEnabled: Boolean
"""The security settings for the organization."""
securitySettings: OrganizationSecuritySettingsInput
"""The authentication settings for the organization."""
authSettings: OrganizationAuthSettingsInput
"""
[INTERNAL] Configure per-modality AI host providers and model families.
"""
aiProviderConfiguration: JSONObject
"""
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 organization.
"""
slackProjectChannelsEnabled: Boolean
"""
[Internal] Whether to automatically create a Slack channel when a new project is created.
"""
slackAutoCreateProjectChannel: Boolean
"""[Internal] Whether the organization has enabled Linear Agent."""
linearAgentEnabled: Boolean
"""[Internal] Settings for Linear Agent features."""
linearAgentSettings: OrganizationLinearAgentSettingsInput
"""[INTERNAL] Whether the organization has enabled the Coding Agent."""
codingAgentEnabled: Boolean
}
"""[INTERNAL] Organization IP restriction configuration."""
input OrganizationIpRestrictionInput {
"""IP range in CIDR format."""
range: String!
"""Restriction type."""
type: String!
"""Optional restriction description."""
description: String
"""Whether the restriction is enabled."""
enabled: Boolean!
}
input OrganizationSecuritySettingsInput {
"""The minimum role required to create personal API keys."""
personalApiKeysRole: UserRoleType
"""The minimum role required to invite users."""
invitationsRole: UserRoleType
"""The minimum role required to create teams."""
teamCreationRole: UserRoleType
"""The minimum role required to manage workspace labels."""
labelManagementRole: UserRoleType
"""The minimum role required to manage API settings."""
apiSettingsRole: UserRoleType
"""The minimum role required to manage workspace templates."""
templateManagementRole: UserRoleType
"""The minimum role required to import data."""
importRole: UserRoleType
"""
The minimum role required to manage agent guidance prompts and settings.
"""
agentGuidanceRole: UserRoleType
"""The minimum role required to install and connect new integrations."""
integrationCreationRole: UserRoleType
}
input OrganizationAuthSettingsInput {
"""Allowed authentication providers, empty array means all are allowed."""
allowedAuthServices: [String!]
"""
[Internal] The minimum role required for the auth service bypass exemption.
"""
allowedAuthServiceBypassRole: String
"""
Whether to hide non-primary organizations during signup for users with matching email domains.
"""
hideNonPrimaryOrganizations: Boolean
"""Whether to disable admin/owner auth service bypass."""
disableAuthServiceBypass: Boolean
}
input OrganizationLinearAgentSettingsInput {
"""
[Internal] Whether the organization has enabled web search for Linear Agent.
"""
webSearchEnabled: Boolean
"""
[Internal] Whether the organization has enabled MCP servers for Linear Agent.
"""
mcpServersEnabled: Boolean
"""
[Internal] The MCP server allowlist for Linear Agent. When unset, all MCP servers are allowed.
"""
mcpServersAllowlist: [OrganizationLinearAgentMcpServerAllowlistEntryInput!]
}
input OrganizationLinearAgentMcpServerAllowlistEntryInput {
"""[Internal] The MCP server URL that Linear Agent is allowed to use."""
url: String!
}
type OrganizationDeletePayload {
"""Whether the operation was successful."""
success: Boolean!
}
input DeleteOrganizationInput {
"""The deletion code to confirm operation."""
deletionCode: String!
}
type OrganizationCancelDeletePayload {
"""Whether the operation was successful."""
success: Boolean!
}
type OrganizationStartTrialPayload {
"""Whether the operation was successful."""
success: Boolean!
}
input OrganizationStartTrialInput {
"""The plan type to trial."""
planType: String!
}
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!
}
input OrganizationInviteCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The email of the invitee."""
email: String!
"""What user role the invite should grant."""
role: UserRoleType = user
"""The teams that the user has been invited to."""
teamIds: [String!]
"""[INTERNAL] Optional metadata about the invite."""
metadata: JSONObject
}
input OrganizationInviteUpdateInput {
"""The teams that the user has been invited to."""
teamIds: [String!]!
}
"""[INTERNAL] Organization domain operation response."""
type OrganizationDomainSimplePayload {
"""Whether the operation was successful."""
success: Boolean!
}
"""[INTERNAL] Organization domain operation response."""
type OrganizationDomainPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The organization domain that was created or updated."""
organizationDomain: OrganizationDomain!
"""Whether the operation was successful."""
success: Boolean!
}
"""Defines the use of a domain by an organization."""
type OrganizationDomain implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
"""The identity provider the domain belongs to."""
identityProvider: IdentityProvider
"""Domain name."""
name: String!
"""Is this domain verified."""
verified: Boolean!
"""E-mail used to verify this domain."""
verificationEmail: String
"""The user who added the domain."""
creator: User
"""What type of auth is the domain used for."""
authType: OrganizationDomainAuthType!
"""
Whether the domains was claimed by the organization through DNS verification.
"""
claimed: Boolean
"""Prevent users with this domain to create new workspaces."""
disableOrganizationCreation: Boolean
}
"""What type of auth is the domain used for."""
enum OrganizationDomainAuthType {
saml
general
}
input OrganizationDomainVerificationInput {
"""The identifier in UUID v4 format of the domain being verified."""
organizationDomainId: String!
"""The verification code sent via email."""
verificationCode: String!
}
input OrganizationDomainCreateInput {
"""
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
"""The authentication type this domain is for."""
authType: String = "general"
}
input OrganizationDomainUpdateInput {
"""
Prevent users with this domain to create new workspaces. Only allowed to set on claimed domains!
"""
disableOrganizationCreation: Boolean
}
type NotificationSubscriptionPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The notification subscription that was created or updated."""
notificationSubscription: NotificationSubscription!
"""Whether the operation was successful."""
success: Boolean!
}
input NotificationSubscriptionCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The identifier of the customer to subscribe to."""
customerId: String
"""The identifier of the custom view to subscribe to."""
customViewId: String
"""The identifier of the cycle to subscribe to."""
cycleId: String
"""The identifier of the initiative to subscribe to."""
initiativeId: String
"""The identifier of the label to subscribe to."""
labelId: String
"""The identifier of the project to subscribe to."""
projectId: String
"""The identifier of the team to subscribe to."""
teamId: String
"""The identifier of the user to subscribe to."""
userId: String
"""
The type of view to which the notification subscription context is associated with.
"""
contextViewType: ContextViewType
"""
The type of user view to which the notification subscription context is associated with.
"""
userContextViewType: UserContextViewType
"""The types of notifications of the subscription."""
notificationSubscriptionTypes: [String!]
"""Whether the subscription is active."""
active: Boolean
}
input NotificationSubscriptionUpdateInput {
"""The types of notifications of the subscription."""
notificationSubscriptionTypes: [String!]
"""Whether the subscription is active."""
active: Boolean
}
type NotificationPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The notification that was created or updated."""
notification: Notification!
"""Whether the operation was successful."""
success: Boolean!
}
input NotificationUpdateInput {
"""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
"""The id of the project update related to the notification."""
projectUpdateId: String
"""The id of the project update related to the notification."""
initiativeUpdateId: String
}
type NotificationBatchActionPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The notifications that were updated."""
notifications: [Notification!]!
"""Whether the operation was successful."""
success: Boolean!
}
"""Describes the type and id of the entity to target for notifications."""
input NotificationEntityInput {
"""The id of the issue related to the notification."""
issueId: String
"""[DEPRECATED] The id of the project related to the notification."""
projectId: String
"""The id of the initiative related to the notification."""
initiativeId: String
"""The id of the project update related to the notification."""
projectUpdateId: String
"""The id of the initiative update related to the notification."""
initiativeUpdateId: String
"""The id of the OAuth client approval related to the notification."""
oauthClientApprovalId: String
"""The id of the notification."""
id: String
}
"""A generic payload return from entity archive mutations."""
type NotificationArchivePayload implements ArchivePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
"""The archived/unarchived entity. Null if entity was deleted."""
entity: Notification
}
"""[ALPHA] The result of an issueToRelease mutation."""
type IssueToReleasePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The issueToRelease that was created or updated."""
issueToRelease: IssueToRelease!
"""Whether the operation was successful."""
success: Boolean!
}
"""[ALPHA] The properties of the issueToRelease to create."""
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 IssuePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The issue that was created or updated."""
issue: Issue
"""Whether the operation was successful."""
success: Boolean!
}
input IssueCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The title of the issue."""
title: String
"""The issue description in markdown format."""
description: String
"""[Internal] The issue description as a Prosemirror document."""
descriptionData: JSON
"""The identifier of the user to assign the issue to."""
assigneeId: String
"""The identifier of the agent user to delegate the issue to."""
delegateId: 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 estimated complexity of the issue."""
estimate: Int
"""The identifiers of the users subscribing to this ticket."""
subscriberIds: [String!]
"""The identifiers of the issue labels associated with this ticket."""
labelIds: [String!]
"""The identifier of the team associated with the issue."""
teamId: String!
"""The cycle associated with the issue."""
cycleId: String
"""The project associated with the issue."""
projectId: String
"""The project milestone associated with the issue."""
projectMilestoneId: String
"""The ID of the last template applied to the issue."""
lastAppliedTemplateId: String
"""The team state of the issue."""
stateId: String
"""The comment the issue is referencing."""
referenceCommentId: String
"""The comment the issue is created from."""
sourceCommentId: String
"""[Internal] The pull request comment the issue is created from."""
sourcePullRequestCommentId: String
"""The position of the issue related to other issues."""
sortOrder: Float
"""
The position of the issue related to other issues, when ordered by priority.
"""
prioritySortOrder: Float
"""The position of the issue in parent's sub-issue list."""
subIssueSortOrder: Float
"""The date at which the issue is due."""
dueDate: TimelessDate
"""
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
"""
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
"""Whether the passed sort order should be preserved."""
preserveSortOrderOnCreate: Boolean
"""
The date when the issue was created (e.g. if importing from another system). Must be a date in the past. If none is provided, the backend will generate the time as now.
"""
createdAt: DateTime
"""
[Internal] The timestamp at which an issue will be considered in breach of SLA.
"""
slaBreachesAt: DateTime
"""[Internal] The timestamp at which the issue's SLA was started."""
slaStartedAt: DateTime
"""
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 date when the issue was completed (e.g. if importing from another system). Must be a date in the past and after createdAt date. Cannot be provided with an incompatible workflow state.
"""
completedAt: DateTime
"""
The SLA day count type for the issue. Whether SLA should be business days only or calendar days (default).
"""
slaType: SLADayCountType
"""
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
"""[ALPHA] The identifiers of the releases to associate with this issue."""
releaseIds: [String!]
}
type IssueBatchPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The issues that were updated."""
issues: [Issue!]!
"""Whether the operation was successful."""
success: Boolean!
}
input IssueBatchCreateInput {
"""The issues to create."""
issues: [IssueCreateInput!]!
}
input IssueUpdateInput {
"""The issue title."""
title: String
"""The issue description in markdown format."""
description: String
"""[Internal] The issue description as a Prosemirror document."""
descriptionData: JSON
"""The identifier of the user to assign the issue to."""
assigneeId: String
"""The identifier of the agent user to delegate the issue to."""
delegateId: 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 estimated complexity of the issue."""
estimate: Int
"""The identifiers of the users subscribing to this ticket."""
subscriberIds: [String!]
"""The identifiers of the issue labels associated with this ticket."""
labelIds: [String!]
"""The identifiers of the issue labels to be added to this issue."""
addedLabelIds: [String!]
"""The identifiers of the issue labels to be removed from this issue."""
removedLabelIds: [String!]
"""The identifiers of the releases to be added to this issue."""
addedReleaseIds: [String!]
"""The identifiers of the releases to be removed from this issue."""
removedReleaseIds: [String!]
"""The identifier of the team associated with the issue."""
teamId: String
"""The cycle associated with the issue."""
cycleId: String
"""The project associated with the issue."""
projectId: String
"""The project milestone associated with the issue."""
projectMilestoneId: String
"""The ID of the last template applied to the issue."""
lastAppliedTemplateId: String
"""The team state of the issue."""
stateId: String
"""The position of the issue related to other issues."""
sortOrder: Float
"""
The position of the issue related to other issues, when ordered by priority.
"""
prioritySortOrder: Float
"""The position of the issue in parent's sub-issue list."""
subIssueSortOrder: Float
"""The date at which the issue is due."""
dueDate: TimelessDate
"""Whether the issue has been trashed."""
trashed: Boolean
"""
[Internal] The timestamp at which an issue will be considered in breach of SLA.
"""
slaBreachesAt: DateTime
"""[Internal] The timestamp at which the issue's SLA was started."""
slaStartedAt: DateTime
"""The time until an issue will be snoozed in Triage view."""
snoozedUntilAt: DateTime
"""The identifier of the user who snoozed the issue."""
snoozedById: String
"""
The SLA day count type for the issue. Whether SLA should be business days only or calendar days (default).
"""
slaType: SLADayCountType
"""
Whether the issue was automatically closed because its parent issue was closed.
"""
autoClosedByParentClosing: Boolean
}
"""A universally unique identifier as specified by RFC 4122."""
scalar UUID
"""A generic payload return from entity archive mutations."""
type IssueArchivePayload implements ArchivePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
"""The archived/unarchived entity. Null if entity was deleted."""
entity: Issue
}
type IssueRelationPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The issue relation that was created or updated."""
issueRelation: IssueRelation!
"""Whether the operation was successful."""
success: Boolean!
}
input IssueRelationCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The type of relation of the issue to the related issue."""
type: IssueRelationType!
"""
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 the issue relation."""
enum IssueRelationType {
blocks
duplicate
related
similar
}
input IssueRelationUpdateInput {
"""The type of relation of the issue to the related issue."""
type: 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
}
type IssueLabelPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The label that was created or updated."""
issueLabel: IssueLabel!
"""Whether the operation was successful."""
success: Boolean!
}
input IssueLabelCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The name of the label."""
name: String!
"""The description of the label."""
description: String
"""The color of the label."""
color: String
"""The identifier of the parent label."""
parentId: String
"""
The team associated with the label. If not given, the label will be associated with the entire workspace.
"""
teamId: String
"""Whether the label is a group."""
isGroup: Boolean
"""When the label was retired."""
retiredAt: DateTime
}
input IssueLabelUpdateInput {
"""The name of the label."""
name: String
"""The description of the label."""
description: String
"""The identifier of the parent label."""
parentId: String
"""The color of the label."""
color: String
"""Whether the label is a group."""
isGroup: Boolean
"""When the label was retired."""
retiredAt: DateTime
}
type IssueImportPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The import job that was created or updated."""
issueImport: IssueImport
"""Whether the operation was successful."""
success: Boolean!
}
type IssueImportDeletePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The import job that was deleted."""
issueImport: IssueImport
"""Whether the operation was successful."""
success: Boolean!
}
input IssueImportUpdateInput {
"""The mapping configuration for the import."""
mapping: JSONObject!
}
type IntegrationsSettingsPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The settings that were created or updated."""
integrationsSettings: IntegrationsSettings!
"""Whether the operation was successful."""
success: Boolean!
}
input IntegrationsSettingsCreateInput {
"""
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 an issue is added to a view."""
slackIssueAddedToView: 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 send a Slack message when any of the project or team's issues change to completed or cancelled.
"""
slackIssueStatusChangedDone: 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 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
"""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 SLA is at high risk."""
slackIssueSlaHighRisk: Boolean
"""Whether to receive notification when an SLA has breached on Slack."""
slackIssueSlaBreached: Boolean
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The identifier of the team to create settings for."""
teamId: String
"""The identifier of the project to create settings for."""
projectId: String
"""The identifier of the initiative to create settings for."""
initiativeId: String
"""The identifier of the custom view to create settings for."""
customViewId: String
"""
The type of view to which the integration settings context is associated with.
"""
contextViewType: ContextViewType
}
input IntegrationsSettingsUpdateInput {
"""
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 an issue is added to a view."""
slackIssueAddedToView: 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 send a Slack message when any of the project or team's issues change to completed or cancelled.
"""
slackIssueStatusChangedDone: 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 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
"""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 SLA is at high risk."""
slackIssueSlaHighRisk: Boolean
"""Whether to receive notification when an SLA has breached on Slack."""
slackIssueSlaBreached: Boolean
}
type IntegrationTemplatePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The IntegrationTemplate that was created or updated."""
integrationTemplate: IntegrationTemplate!
"""Whether the operation was successful."""
success: Boolean!
}
input IntegrationTemplateCreateInput {
"""
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!
"""The foreign identifier in the other service."""
foreignEntityId: String
}
type IntegrationPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The integration that was created or updated."""
integration: Integration
"""Whether the operation was successful."""
success: Boolean!
}
input IntegrationUpdateInput {
"""The settings to update."""
settings: IntegrationSettingsInput
}
input IntegrationSettingsInput {
slack: SlackSettingsInput
slackAsks: SlackAsksSettingsInput
slackPost: SlackPostSettingsInput
slackProjectPost: SlackPostSettingsInput
slackInitiativePost: SlackPostSettingsInput
slackCustomViewNotifications: SlackPostSettingsInput
slackOrgProjectUpdatesPost: SlackPostSettingsInput
slackOrgInitiativeUpdatesPost: SlackPostSettingsInput
googleSheets: GoogleSheetsSettingsInput
gitHub: GitHubSettingsInput
gitHubImport: GitHubImportSettingsInput
gitHubPersonal: GitHubPersonalSettingsInput
gitLab: GitLabSettingsInput
sentry: SentrySettingsInput
zendesk: ZendeskSettingsInput
intercom: IntercomSettingsInput
front: FrontSettingsInput
gong: GongSettingsInput
microsoftTeams: MicrosoftTeamsSettingsInput
jira: JiraSettingsInput
notion: NotionSettingsInput
opsgenie: OpsgenieInput
pagerDuty: PagerDutyInput
launchDarkly: LaunchDarklySettingsInput
jiraPersonal: JiraPersonalSettingsInput
salesforce: SalesforceSettingsInput
}
input SlackSettingsInput {
"""Slack workspace name"""
teamName: String
"""Slack workspace id"""
teamId: String
"""Enterprise name of the connected Slack enterprise"""
enterpriseName: String
"""Enterprise id of the connected Slack enterprise"""
enterpriseId: String
"""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
"""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 Linear Agent should be enabled for this Slack integration."""
enableAgent: Boolean
"""
Whether Linear Agent should be given Org-wide access within Slack workflows.
"""
enableLinearAgentWorkflowAccess: Boolean
}
input SlackAsksSettingsInput {
"""Slack workspace name"""
teamName: String
"""Slack workspace id"""
teamId: String
"""Enterprise name of the connected Slack enterprise"""
enterpriseName: String
"""Enterprise id of the connected Slack enterprise"""
enterpriseId: String
"""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
"""Whether to allow external users to perform actions on unfurls"""
externalUserActions: Boolean
"""
The mapping of Slack channel ID => Slack channel name for connected channels.
"""
slackChannelMapping: [SlackChannelNameMappingInput!]
"""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
}
input SlackChannelNameMappingInput {
"""The Slack channel ID."""
id: String!
"""The Slack channel name."""
name: 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
"""
Whether or not the Linear Asks bot has been added to this Slack channel.
"""
botAdded: Boolean
"""Which teams are connected to the channel and settings for those teams."""
teams: [SlackAsksTeamSettingsInput!]!
"""
Whether or not top-level messages in this channel should automatically create Asks.
"""
autoCreateOnMessage: Boolean
"""
Whether or not using the :ticket: emoji in this channel should automatically create Asks.
"""
autoCreateOnEmoji: Boolean
"""
Whether or not @-mentioning the bot should automatically create an Ask with the message.
"""
autoCreateOnBotMention: 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 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
"""
Whether or not synced Slack threads should be updated with a message when their Ask is accepted from triage.
"""
postAcceptedFromTriageUpdates: Boolean
"""
Whether or not to use AI to generate titles for Asks created in this channel.
"""
aiTitles: Boolean
}
input SlackAsksTeamSettingsInput {
"""The Linear team ID."""
id: String!
"""
Whether the default Asks template is enabled in the given channel for this team.
"""
hasDefaultAsk: Boolean!
}
"""Mode that controls who can see and set Customers in Slack Asks."""
enum CustomerVisibilityMode {
LinearOnly
SlackMembers
SlackMembersAndGuests
}
input SlackPostSettingsInput {
channel: String!
channelId: String!
configurationUrl: String!
"""Slack workspace id"""
teamId: String
channelType: SlackChannelType
}
enum SlackChannelType {
DirectMessage
MultiPersonDirectMessage
Private
PrivateGroup
Public
}
input GoogleSheetsSettingsInput {
"""[Deprecated] The ID of the exported Google Sheet."""
spreadsheetId: String
"""[Deprecated] The URL of the exported Google Sheet."""
spreadsheetUrl: String
"""[Deprecated] The ID of the target sheet (tab) within the Google Sheet."""
sheetId: Float
"""[Deprecated] The date of the most recent export."""
updatedIssuesAt: DateTime
"""The export settings for issues."""
issue: GoogleSheetsExportSettings
"""The export settings for projects."""
project: GoogleSheetsExportSettings
"""The export settings for initiatives."""
initiative: GoogleSheetsExportSettings
}
input GoogleSheetsExportSettings {
"""Whether the export is enabled."""
enabled: Boolean
"""The ID of the exported Google Sheet."""
spreadsheetId: String
"""The URL of the exported Google Sheet."""
spreadsheetUrl: String
"""The ID of the target sheet (tab) within the Google Sheet."""
sheetId: Float
"""The date of the most recent export."""
updatedAt: DateTime
}
input GitHubSettingsInput {
pullRequestReviewTool: PullRequestReviewTool
"""The avatar URL for the GitHub organization."""
orgAvatarUrl: String
"""The GitHub organization's name."""
orgLogin: String!
"""The stable external identifier (GitHub node ID) for the organization."""
externalOrgId: String
"""The names of the repositories connected for the GitHub integration."""
repositories: [GitHubRepoInput!]
"""Mapping of team to repository for syncing."""
repositoriesMapping: [GitHubRepoMappingInput!]
"""The type of Github org"""
orgType: GithubOrgType
"""Whether the integration has code access"""
codeAccess: Boolean
"""The enterprise URL if this is a GitHub Enterprise Cloud integration."""
enterpriseUrl: String
}
enum PullRequestReviewTool {
source
graphite
}
input GitHubRepoInput {
"""The GitHub repo id."""
id: Float!
"""The full name of the repository."""
fullName: String!
"""Whether the repository is archived."""
archived: Boolean
"""The external identifier (GitHub node ID) for the repository."""
externalId: String
}
input GitHubRepoMappingInput {
"""The unique identifier for this mapping."""
id: String!
"""The Linear team id to map to the given project."""
linearTeamId: String!
"""The GitHub repo id."""
gitHubRepoId: Float!
"""Labels to filter incoming GitHub issue creation by."""
gitHubLabels: [String!]
"""Whether the sync for this mapping is bidirectional."""
bidirectional: Boolean
"""Whether this mapping is the default one for issue creation."""
default: Boolean
}
enum GithubOrgType {
user
organization
}
input GitHubImportSettingsInput {
"""The GitHub organization's name."""
orgLogin: String!
"""The avatar URL for the GitHub organization."""
orgAvatarUrl: String!
"""The names of the repositories connected for the GitHub integration."""
repositories: [GitHubRepoInput!]!
"""A map storing all available issue labels per repository"""
labels: JSONObject
"""The type of Github org"""
orgType: GithubOrgType!
}
input GitHubPersonalSettingsInput {
"""The GitHub user's name."""
login: String!
}
input GitLabSettingsInput {
"""The self-hosted URL of the GitLab instance."""
url: String
"""Whether the token is limited to a read-only scope."""
readonly: Boolean
"""The ISO timestamp the GitLab access token expires."""
expiresAt: String
}
input SentrySettingsInput {
"""The slug of the Sentry organization being connected."""
organizationSlug: String!
"""The ID of the Sentry organization being connected."""
organizationId: ID!
"""Whether Sentry issues resolving completes Linear issues."""
resolvingCompletesIssues: Boolean!
"""Whether Sentry issues unresolving reopens Linear issues."""
unresolvingReopensIssues: Boolean!
}
input ZendeskSettingsInput {
"""
Whether an internal message should be added when a Linear issue changes status (for status types except completed or canceled).
"""
sendNoteOnStatusChange: Boolean
"""
Whether an internal message should be added when someone comments on an issue.
"""
sendNoteOnComment: 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 issue is cancelled.
"""
automateTicketReopeningOnCancellation: Boolean
"""
Whether a ticket should be automatically reopened when a comment is posted on its linked Linear issue
"""
automateTicketReopeningOnComment: Boolean
"""
[ALPHA] Whether customer and customer requests should not be automatically created when conversations are linked to a Linear issue.
"""
disableCustomerRequestsAutoCreation: Boolean
"""
Whether a ticket should be automatically reopened when its linked Linear project is completed.
"""
automateTicketReopeningOnProjectCompletion: Boolean
"""
Whether a ticket should be automatically reopened when its linked Linear project is cancelled.
"""
automateTicketReopeningOnProjectCancellation: Boolean
"""Whether Linear Agent should be enabled for this integration."""
enableAiIntake: Boolean
"""The subdomain of the Zendesk organization being connected."""
subdomain: String!
"""The URL of the connected Zendesk organization."""
url: String!
"""The ID of the Linear bot user."""
botUserId: String
"""
[INTERNAL] Temporary flag indicating if the integration has the necessary scopes for Customers
"""
canReadCustomers: Boolean
"""
[INTERNAL] Flag indicating if the integration supports OAuth refresh tokens
"""
supportsOAuthRefresh: Boolean
"""The host mappings from Zendesk brands."""
hostMappings: [String!]
}
input IntercomSettingsInput {
"""
Whether an internal message should be added when a Linear issue changes status (for status types except completed or canceled).
"""
sendNoteOnStatusChange: Boolean
"""
Whether an internal message should be added when someone comments on an issue.
"""
sendNoteOnComment: 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 issue is cancelled.
"""
automateTicketReopeningOnCancellation: Boolean
"""
Whether a ticket should be automatically reopened when a comment is posted on its linked Linear issue
"""
automateTicketReopeningOnComment: Boolean
"""
[ALPHA] Whether customer and customer requests should not be automatically created when conversations are linked to a Linear issue.
"""
disableCustomerRequestsAutoCreation: Boolean
"""
Whether a ticket should be automatically reopened when its linked Linear project is completed.
"""
automateTicketReopeningOnProjectCompletion: Boolean
"""
Whether a ticket should be automatically reopened when its linked Linear project is cancelled.
"""
automateTicketReopeningOnProjectCancellation: Boolean
"""Whether Linear Agent should be enabled for this integration."""
enableAiIntake: Boolean
}
input FrontSettingsInput {
"""
Whether an internal message should be added when a Linear issue changes status (for status types except completed or canceled).
"""
sendNoteOnStatusChange: Boolean
"""
Whether an internal message should be added when someone comments on an issue.
"""
sendNoteOnComment: 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 issue is cancelled.
"""
automateTicketReopeningOnCancellation: Boolean
"""
Whether a ticket should be automatically reopened when a comment is posted on its linked Linear issue
"""
automateTicketReopeningOnComment: Boolean
"""
[ALPHA] Whether customer and customer requests should not be automatically created when conversations are linked to a Linear issue.
"""
disableCustomerRequestsAutoCreation: Boolean
"""
Whether a ticket should be automatically reopened when its linked Linear project is completed.
"""
automateTicketReopeningOnProjectCompletion: Boolean
"""
Whether a ticket should be automatically reopened when its linked Linear project is cancelled.
"""
automateTicketReopeningOnProjectCancellation: Boolean
"""Whether Linear Agent should be enabled for this integration."""
enableAiIntake: Boolean
}
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 GongRecordingImportConfigInput {
"""
The team ID to create issues in for imported recordings. Set to null to disable import.
"""
teamId: String
}
input MicrosoftTeamsSettingsInput {
"""The display name of the Azure AD tenant."""
tenantName: String
}
input JiraSettingsInput {
"""The mapping of Jira project id => Linear team id."""
projectMapping: [JiraLinearMappingInput!]
"""The Jira projects for the organization."""
projects: [JiraProjectDataInput!]!
"""Whether this integration is for Jira Server or not."""
isJiraServer: Boolean = false
"""
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
"""Whether this integration is using a manual setup flow."""
manualSetup: Boolean
"""
The label of the Jira instance, for visual identification purposes only
"""
label: String
"""
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 JiraLinearMappingInput {
"""The Jira id for this project."""
jiraProjectId: String!
"""The Linear team id to map to the given project."""
linearTeamId: String!
"""Whether the sync for this mapping is bidirectional."""
bidirectional: Boolean
"""Whether this mapping is the default one for issue creation."""
default: Boolean
"""
Whether this mapping uses legacy unidirectional sync behavior where no changes sync from Linear to Jira.
"""
legacyUnidirectional: Boolean
}
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 NotionSettingsInput {
"""The ID of the Notion workspace being connected."""
workspaceId: String!
"""The name of the Notion workspace being connected."""
workspaceName: String!
}
input OpsgenieInput {
"""The date when the Opsgenie API failed with an unauthorized error."""
apiFailedWithUnauthorizedErrorAt: DateTime
}
input PagerDutyInput {
"""The date when the PagerDuty API failed with an unauthorized error."""
apiFailedWithUnauthorizedErrorAt: DateTime
}
input LaunchDarklySettingsInput {
"""The project key of the LaunchDarkly integration."""
projectKey: String!
"""The environment of the LaunchDarkly integration."""
environment: String!
}
input JiraPersonalSettingsInput {
"""
The name of the Jira site currently authorized through the integration.
"""
siteName: String
}
input SalesforceSettingsInput {
"""
Whether an internal message should be added when a Linear issue changes status (for status types except completed or canceled).
"""
sendNoteOnStatusChange: Boolean
"""
Whether an internal message should be added when someone comments on an issue.
"""
sendNoteOnComment: 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 issue is cancelled.
"""
automateTicketReopeningOnCancellation: Boolean
"""
Whether a ticket should be automatically reopened when a comment is posted on its linked Linear issue
"""
automateTicketReopeningOnComment: Boolean
"""
[ALPHA] Whether customer and customer requests should not be automatically created when conversations are linked to a Linear issue.
"""
disableCustomerRequestsAutoCreation: Boolean
"""
Whether a ticket should be automatically reopened when its linked Linear project is completed.
"""
automateTicketReopeningOnProjectCompletion: Boolean
"""
Whether a ticket should be automatically reopened when its linked Linear project is cancelled.
"""
automateTicketReopeningOnProjectCancellation: Boolean
"""Whether Linear Agent should be enabled for this integration."""
enableAiIntake: Boolean
"""The Salesforce subdomain."""
subdomain: String
"""The Salesforce instance URL."""
url: String
"""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
"""The Salesforce team to use when a template doesn't specify a team."""
defaultTeam: String
}
type GitHubCommitIntegrationPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The integration that was created or updated."""
integration: Integration
"""Whether the operation was successful."""
success: Boolean!
"""The webhook secret to provide to GitHub."""
webhookSecret: String!
}
type GitHubEnterpriseServerPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The integration that was created or updated."""
integration: Integration
"""Whether the operation was successful."""
success: Boolean!
"""The setup address."""
setupUrl: String!
"""The app install address."""
installUrl: String!
"""The webhook secret to provide to GitHub."""
webhookSecret: String!
}
type GitLabIntegrationCreatePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The integration that was created or updated."""
integration: Integration
"""Whether the operation was successful."""
success: Boolean!
"""The webhook secret to provide to GitLab."""
webhookSecret: String!
"""Error message if the connection failed."""
error: String
"""Response body from GitLab for debugging."""
errorResponseBody: String
"""Response headers from GitLab for debugging (JSON stringified)."""
errorResponseHeaders: String
}
type GitLabTestConnectionPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The integration that was created or updated."""
integration: Integration
"""Whether the operation was successful."""
success: Boolean!
"""Error message if the connection test failed."""
error: String
"""Response body from GitLab for debugging."""
errorResponseBody: String
"""Response headers from GitLab for debugging (JSON stringified)."""
errorResponseHeaders: String
}
input AirbyteConfigurationInput {
"""Linear export API key."""
apiKey: String!
}
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 JiraUpdateInput {
"""The id of the integration to update."""
id: String!
"""Whether to refresh Jira Projects for the integration."""
updateProjects: Boolean
"""Whether to refresh Jira metadata for the integration."""
updateMetadata: Boolean
"""Whether to delete the current manual webhook configuration."""
deleteWebhook: Boolean
"""Webhook secret for a new manual configuration."""
webhookSecret: String
"""Whether the Jira instance does not support webhook secrets."""
noSecret: Boolean
"""The Jira personal access token."""
accessToken: String
"""The Jira user email address associated with the personal access token."""
email: String
}
type JiraFetchProjectStatusesPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The integration that was created or updated."""
integration: Integration
"""Whether the operation was successful."""
success: Boolean!
"""The fetched Jira issue statuses (non-Epic)."""
issueStatuses: [String!]!
"""The fetched Jira project statuses (Epic)."""
projectStatuses: [String!]!
}
input JiraFetchProjectStatusesInput {
"""The id of the Jira integration."""
integrationId: String!
"""The Jira project ID to fetch statuses for."""
projectId: String!
}
input IntegrationCustomerDataAttributesRefreshInput {
"""The integration service to refresh customer data attributes from."""
service: String!
}
type IntegrationSlackWorkspaceNamePayload {
"""The current name of the Slack workspace."""
name: String!
"""Whether the operation was successful."""
success: Boolean!
}
type AsksChannelConnectPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The integration that was created or updated."""
integration: Integration
"""Whether the operation was successful."""
success: Boolean!
"""The new Asks Slack channel mapping for the connected channel."""
mapping: SlackChannelNameMapping!
"""Whether the bot needs to be manually added to the channel."""
addBot: Boolean!
}
"""Object for mapping Slack channel IDs to names and other settings."""
type SlackChannelNameMapping {
"""The Slack channel ID."""
id: String!
"""The Slack channel name."""
name: 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
"""
Whether or not the Linear Asks bot has been added to this Slack channel.
"""
botAdded: Boolean
"""Which teams are connected to the channel and settings for those teams."""
teams: [SlackAsksTeamSettings!]!
"""
Whether or not top-level messages in this channel should automatically create Asks.
"""
autoCreateOnMessage: Boolean
"""
Whether or not using the :ticket: emoji in this channel should automatically create Asks.
"""
autoCreateOnEmoji: Boolean
"""
Whether or not @-mentioning the bot should automatically create an Ask with the message.
"""
autoCreateOnBotMention: 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 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
"""
Whether or not synced Slack threads should be updated with a message when their Ask is accepted from triage.
"""
postAcceptedFromTriageUpdates: Boolean
"""
Whether or not to use AI to generate titles for Asks created in this channel.
"""
aiTitles: Boolean
}
"""Tuple for mapping Slack channel IDs to names."""
type SlackAsksTeamSettings {
"""The Linear team ID."""
id: String!
"""
Whether the default Asks template is enabled in the given channel for this team.
"""
hasDefaultAsk: Boolean!
}
type SlackChannelConnectPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The integration that was created or updated."""
integration: Integration
"""Whether the operation was successful."""
success: Boolean!
"""Whether the bot needs to be manually added to the channel."""
addBot: Boolean!
"""Whether it's recommended to connect main Slack integration."""
nudgeToConnectMainSlackIntegration: Boolean
"""Whether it's recommended to update main Slack integration."""
nudgeToUpdateMainSlackIntegration: Boolean
}
type IntegrationRequestPayload {
"""Whether the operation was successful."""
success: Boolean!
}
input IntegrationRequestInput {
"""Email associated with the request."""
email: String
"""Name of the requested integration."""
name: String!
}
type InitiativeUpdatePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The initiative update that was created."""
initiativeUpdate: InitiativeUpdate!
"""Whether the operation was successful."""
success: Boolean!
}
input InitiativeUpdateCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""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 initiative to associate the update with."""
initiativeId: String!
"""
Whether the diff between the current update and the previous one should be hidden.
"""
isDiffHidden: Boolean
}
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
}
"""A generic payload return from entity archive mutations."""
type InitiativeUpdateArchivePayload implements ArchivePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
"""The archived/unarchived entity. Null if entity was deleted."""
entity: InitiativeUpdate
}
type InitiativeUpdateReminderPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
}
"""The result of a initiativeToProject mutation."""
type InitiativeToProjectPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The initiativeToProject that was created or updated."""
initiativeToProject: InitiativeToProject!
"""Whether the operation was successful."""
success: Boolean!
}
"""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 project."""
projectId: String!
"""The identifier of the initiative."""
initiativeId: String!
"""The sort order for the project within its organization."""
sortOrder: Float
}
"""The properties of the initiativeToProject to update."""
input InitiativeToProjectUpdateInput {
"""The sort order for the project within its organization."""
sortOrder: Float
}
"""The payload returned by the initiative mutations."""
type InitiativePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The initiative that was created or updated."""
initiative: Initiative!
"""Whether the operation was successful."""
success: Boolean!
}
"""The properties of the initiative to create."""
input InitiativeCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The name of the initiative."""
name: String!
"""The description of the initiative."""
description: String
"""The owner of the initiative."""
ownerId: String
"""The sort order of the initiative within the organization."""
sortOrder: Float
"""The initiative's color."""
color: String
"""The initiative's icon."""
icon: String
"""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
"""The initiative's content in markdown format."""
content: String
}
"""The properties of the initiative to update."""
input InitiativeUpdateInput {
"""The name of the initiative."""
name: String
"""The description of the initiative."""
description: String
"""The owner of the initiative."""
ownerId: String
"""The sort order of the initiative within the organization."""
sortOrder: Float
"""The initiative's color."""
color: String
"""The initiative's icon."""
icon: String
"""The estimated completion date of the initiative."""
targetDate: TimelessDate
"""The initiative's status."""
status: InitiativeStatus
"""The resolution of the initiative's estimated completion date."""
targetDateResolution: DateResolutionType
"""Whether the initiative has been trashed."""
trashed: Boolean
"""The initiative's content in markdown format."""
content: String
"""
The n-weekly frequency at which to prompt for updates. When not set, reminders are inherited from workspace.
"""
updateReminderFrequencyInWeeks: Float
"""
The frequency at which to prompt for updates. When not set, reminders are inherited from workspace.
"""
updateReminderFrequency: Float
"""The frequency resolution."""
frequencyResolution: FrequencyResolutionType
"""The day at which to prompt for updates."""
updateRemindersDay: Day
"""The hour at which to prompt for updates."""
updateRemindersHour: Int
}
"""A generic payload return from entity archive mutations."""
type InitiativeArchivePayload implements ArchivePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
"""The archived/unarchived entity. Null if entity was deleted."""
entity: Initiative
}
type InitiativeRelationPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The initiative relation that was created or updated."""
initiativeRelation: InitiativeRelation!
"""Whether the operation was successful."""
success: Boolean!
}
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."""
initiativeId: String!
"""The identifier of the child initiative."""
relatedInitiativeId: String!
"""The sort order of the initiative relation."""
sortOrder: Float
}
"""The properties of the initiativeRelation to update."""
input InitiativeRelationUpdateInput {
"""The sort order of the initiative relation."""
sortOrder: Float
}
type GitAutomationTargetBranchPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The Git target branch automation that was created or updated."""
targetBranch: GitAutomationTargetBranch!
"""Whether the operation was successful."""
success: Boolean!
}
input GitAutomationTargetBranchCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The team associated with the Git target branch automation."""
teamId: String!
"""The target branch pattern."""
branchPattern: String!
"""Whether the branch pattern is a regular expression."""
isRegex: Boolean = false
}
input GitAutomationTargetBranchUpdateInput {
"""The target branch pattern."""
branchPattern: String
"""Whether the branch pattern is a regular expression."""
isRegex: Boolean
}
type GitAutomationStatePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The automation state that was created or updated."""
gitAutomationState: GitAutomationState!
"""Whether the operation was successful."""
success: Boolean!
}
input GitAutomationStateCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The team associated with the automation state."""
teamId: 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 event that triggers the automation."""
event: GitAutomationStates!
}
input GitAutomationStateUpdateInput {
"""The associated workflow state."""
stateId: String
"""The associated target branch. If null, all branches are targeted."""
targetBranchId: String
"""The event that triggers the automation."""
event: GitAutomationStates
}
type FavoritePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The object that was added as a favorite."""
favorite: Favorite!
"""Whether the operation was successful."""
success: Boolean!
}
input FavoriteCreateInput {
"""The identifier. If none is provided, the backend will generate one."""
id: String
"""The name of the favorite folder."""
folderName: String
"""The parent folder of the favorite."""
parentId: String
"""
The identifier of the issue to favorite. Can be a UUID or issue identifier (e.g., 'LIN-123').
"""
issueId: String
"""The identifier of the facet to favorite."""
facetId: String
"""The identifier of the project to favorite."""
projectId: String
"""The tab of the project to favorite."""
projectTab: ProjectTab
"""The type of the predefined view to favorite."""
predefinedViewType: String
"""The identifier of team for the predefined view to favorite."""
predefinedViewTeamId: String
"""The identifier of the cycle to favorite."""
cycleId: String
"""The identifier of the custom view to favorite."""
customViewId: String
"""The identifier of the document to favorite."""
documentId: String
"""[INTERNAL] The identifier of the initiative to favorite."""
initiativeId: String
"""The tab of the initiative to favorite."""
initiativeTab: InitiativeTab
"""The identifier of the label to favorite."""
labelId: String
"""The identifier of the label to favorite."""
projectLabelId: String
"""The identifier of the user to favorite."""
userId: String
"""The position of the item in the favorites list."""
sortOrder: Float
"""The identifier of the customer to favorite."""
customerId: String
"""The identifier of the dashboard to favorite."""
dashboardId: String
"""The identifier of the pull request to favorite."""
pullRequestId: String
"""[ALPHA] The identifier of the release to favorite."""
releaseId: String
"""[ALPHA] The identifier of the release pipeline to favorite."""
releasePipelineId: String
}
input FavoriteUpdateInput {
"""The position of the item in the favorites list."""
sortOrder: Float
"""
The identifier (in UUID v4 format) of the folder to move the favorite under.
"""
parentId: String
"""The name of the favorite folder."""
folderName: String
}
type EventTrackingPayload {
"""Whether the operation was successful."""
success: Boolean!
}
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 EntityExternalLinkPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The link that was created or updated."""
entityExternalLink: EntityExternalLink!
"""Whether the operation was successful."""
success: Boolean!
}
input EntityExternalLinkCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The URL of the link."""
url: String!
"""The label for the link."""
label: String!
"""The initiative associated with the link."""
initiativeId: String
"""The project associated with the link."""
projectId: String
"""[Internal] The team associated with the link."""
teamId: String
"""[Internal] The release associated with the link."""
releaseId: String
"""[Internal] The cycle associated with the link."""
cycleId: String
"""[Internal] The resource folder containing the link."""
resourceFolderId: String
"""The order of the item in the entities resources list."""
sortOrder: Float
}
input EntityExternalLinkUpdateInput {
"""The URL of the link."""
url: String
"""The label for the link."""
label: String
"""The order of the item in the entities resources list."""
sortOrder: Float
"""[Internal] The resource folder containing the link."""
resourceFolderId: String
}
type EmojiPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The emoji that was created."""
emoji: Emoji!
"""Whether the operation was successful."""
success: Boolean!
}
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 EmailUnsubscribePayload {
"""Whether the operation was successful."""
success: Boolean!
}
input EmailUnsubscribeInput {
"""Email type to unsubscribe from."""
type: String!
"""The user's email validation token."""
token: String!
"""The identifier of the user."""
userId: String!
}
type EmailIntakeAddressPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The email address that was created or updated."""
emailIntakeAddress: EmailIntakeAddress!
"""Whether the operation was successful."""
success: Boolean!
}
input EmailIntakeAddressCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""
The type of the email address. If not provided, the backend will default to team or template.
"""
type: EmailIntakeAddressType
"""The email address used to forward emails to the intake address."""
forwardingEmailAddress: String
"""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 email replies are enabled."""
repliesEnabled: Boolean
"""Whether the commenter's name is included in the email replies."""
useUserNamesInReplies: Boolean
"""Whether the issue created auto-reply is enabled."""
issueCreatedAutoReplyEnabled: Boolean
"""The auto-reply message for issue created."""
issueCreatedAutoReply: String
"""Whether the issue completed auto-reply is enabled."""
issueCompletedAutoReplyEnabled: Boolean
"""The auto-reply message for issue completed."""
issueCompletedAutoReply: String
"""Whether the issue canceled auto-reply is enabled."""
issueCanceledAutoReplyEnabled: Boolean
"""The auto-reply message for issue canceled."""
issueCanceledAutoReply: String
"""Whether customer requests are enabled."""
customerRequestsEnabled: Boolean
"""
Whether to reopen completed or canceled issues when a substantive email reply is received.
"""
reopenOnReply: Boolean
}
input EmailIntakeAddressUpdateInput {
"""
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
"""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 email replies are enabled."""
repliesEnabled: Boolean
"""Whether the commenter's name is included in the email replies."""
useUserNamesInReplies: Boolean
"""Whether the issue created auto-reply is enabled."""
issueCreatedAutoReplyEnabled: Boolean
"""The auto-reply message for issue created."""
issueCreatedAutoReply: String
"""Whether the issue completed auto-reply is enabled."""
issueCompletedAutoReplyEnabled: Boolean
"""Custom auto-reply message for issue completed."""
issueCompletedAutoReply: String
"""Whether the issue canceled auto-reply is enabled."""
issueCanceledAutoReplyEnabled: Boolean
"""Custom auto-reply message for issue canceled."""
issueCanceledAutoReply: String
"""Whether customer requests are enabled."""
customerRequestsEnabled: Boolean
"""
Whether to reopen completed or canceled issues when a substantive email reply is received.
"""
reopenOnReply: Boolean
}
type DocumentPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The document that was created or updated."""
document: Document!
"""Whether the operation was successful."""
success: Boolean!
}
input DocumentCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The title of the document."""
title: String!
"""The icon of the document."""
icon: String
"""The color of the icon."""
color: String
"""The document content as markdown."""
content: String
"""Related project for the document."""
projectId: String
"""[Internal] Related initiative for the document."""
initiativeId: String
"""[Internal] Related team for the document."""
teamId: String
"""
Related issue for the document. Can be a UUID or issue identifier (e.g., 'LIN-123').
"""
issueId: String
"""[Internal] Related release for the document."""
releaseId: String
"""[Internal] Related cycle for the document."""
cycleId: String
"""[Internal] The resource folder containing the document."""
resourceFolderId: String
"""The ID of the last template applied to the document."""
lastAppliedTemplateId: String
"""The order of the item in the resources list."""
sortOrder: Float
"""[INTERNAL] The identifiers of the users subscribing to this document."""
subscriberIds: [String!]
}
input DocumentUpdateInput {
"""The title of the document."""
title: String
"""The icon of the document."""
icon: String
"""The color of the icon."""
color: String
"""The document content as markdown."""
content: String
"""Related project for the document."""
projectId: String
"""[Internal] Related initiative for the document."""
initiativeId: String
"""[Internal] Related team for the document."""
teamId: String
"""
Related issue for the document. Can be a UUID or issue identifier (e.g., 'LIN-123').
"""
issueId: String
"""[Internal] Related release for the document."""
releaseId: String
"""[Internal] Related cycle for the document."""
cycleId: String
"""[Internal] The resource folder containing the document."""
resourceFolderId: String
"""The ID of the last template applied to the document."""
lastAppliedTemplateId: String
"""The time at which the document was hidden."""
hiddenAt: DateTime
"""The order of the item in the resources list."""
sortOrder: Float
"""Whether the document has been trashed."""
trashed: Boolean
"""[INTERNAL] The identifiers of the users subscribing to this document."""
subscriberIds: [String!]
}
"""A generic payload return from entity archive mutations."""
type DocumentArchivePayload implements ArchivePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
"""The archived/unarchived entity. Null if entity was deleted."""
entity: Document
}
type CyclePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The Cycle that was created or updated."""
cycle: Cycle
"""Whether the operation was successful."""
success: Boolean!
}
input CycleCreateInput {
"""
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 description of the cycle."""
description: String
"""The team to associate the cycle with."""
teamId: String!
"""The start date of the cycle."""
startsAt: DateTime!
"""The end date of the cycle."""
endsAt: DateTime!
"""
The completion time of the cycle. If null, the cycle hasn't been completed.
"""
completedAt: DateTime
}
input CycleUpdateInput {
"""The custom name of the cycle."""
name: String
"""The description of the cycle."""
description: String
"""The start date of the cycle."""
startsAt: DateTime
"""The end date of the cycle."""
endsAt: DateTime
"""The end date of the cycle."""
completedAt: DateTime
}
"""A generic payload return from entity archive mutations."""
type CycleArchivePayload implements ArchivePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
"""The archived/unarchived entity. Null if entity was deleted."""
entity: Cycle
}
"""
Input for shifting all cycles from a certain cycle onwards by a certain number of days
"""
input CycleShiftAllInput {
"""The cycle ID at which to start the shift."""
id: String!
"""The number of days to shift the cycles by."""
daysToShift: Float!
}
type CustomerTierPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The customer tier that was created or updated."""
tier: CustomerTier!
"""Whether the operation was successful."""
success: Boolean!
}
input CustomerTierCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The name of the tier."""
name: String
"""The UI color of the tier as a HEX string."""
color: String!
"""Description of the tier."""
description: String
"""The position of the tier in the workspace's customer flow."""
position: Float
"""The display name of the tier."""
displayName: String
}
input CustomerTierUpdateInput {
"""The name of the tier."""
name: String
"""The UI color of the tier as a HEX string."""
color: String
"""Description of the tier."""
description: String
"""The position of the tier in the workspace's customer flow."""
position: Float
"""The display name of the tier."""
displayName: String
}
type CustomerStatusPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The customer status that was created or updated."""
status: CustomerStatus!
"""Whether the operation was successful."""
success: Boolean!
}
input CustomerStatusCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The name of the status."""
name: String
"""The UI color of the status as a HEX string."""
color: String!
"""Description of the status."""
description: String
"""The position of the status in the workspace's customer flow."""
position: Float
"""The display name of the status."""
displayName: String
}
input CustomerStatusUpdateInput {
"""The name of the status."""
name: String
"""The UI color of the status as a HEX string."""
color: String
"""Description of the status."""
description: String
"""The position of the status in the workspace's customer flow."""
position: Float
"""The display name of the status."""
displayName: String
}
type CustomerPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The customer that was created or updated."""
customer: Customer!
"""Whether the operation was successful."""
success: Boolean!
}
input CustomerCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The name of the customer."""
name: String!
"""The domains associated with this customer."""
domains: [String!] = []
"""The ids of the customers in external systems."""
externalIds: [String!] = []
"""The ID of the Slack channel used to interact with the customer."""
slackChannelId: String
"""The user who owns the customer."""
ownerId: String
"""The status of the customer."""
statusId: String
"""The annual revenue generated by the customer."""
revenue: Int
"""The size of the customer."""
size: Int
"""The tier of the customer customer."""
tierId: String
"""The URL of the customer's logo."""
logoUrl: String
"""
The main source of the customer, for customers with multiple sources. Must be one of externalIds.
"""
mainSourceId: String
}
input CustomerUpdateInput {
"""The name of the customer."""
name: String
"""The domains associated with this customer."""
domains: [String!]
"""The ids of the customers in external systems."""
externalIds: [String!]
"""The ID of the Slack channel used to interact with the customer."""
slackChannelId: String
"""The user who owns the customer."""
ownerId: String
"""The status of the customer."""
statusId: String
"""The annual revenue generated by the customer."""
revenue: Int
"""The size of the customer."""
size: Int
"""The tier of the customer customer."""
tierId: String
"""The URL of the customer's logo."""
logoUrl: String
"""
The main source of the customer, for customers with multiple sources. Must be one of externalIds.
"""
mainSourceId: String
}
input CustomerUpsertInput {
"""The identifier in UUID v4 format."""
id: String
"""The name of the customer."""
name: String
"""The domains associated with this customer."""
domains: [String!]
"""The id of the customers in external systems."""
externalId: String
"""The ID of the Slack channel used to interact with the customer."""
slackChannelId: String
"""The user who owns the customer."""
ownerId: String
"""The status of the customer."""
statusId: String
"""The annual revenue generated by the customer."""
revenue: Int
"""The size of the customer."""
size: Int
"""The tier of the customer."""
tierId: String
"""The URL of the customer's logo."""
logoUrl: String
"""The name tier of the customer. Will be created if doesn't exist"""
tierName: String
}
type CustomerNeedPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The customer need that was created or updated."""
need: CustomerNeed!
"""Whether the operation was successful."""
success: Boolean!
}
input CustomerNeedCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The uuid of the customer the need belongs to."""
customerId: String
"""The external ID of the customer the need belongs to."""
customerExternalId: String
"""
The issue this need is referencing. Can be a UUID or issue identifier (e.g., 'LIN-123').
"""
issueId: String
"""[INTERNAL] The project this need is referencing."""
projectId: String
"""The comment this need is referencing."""
commentId: String
"""The attachment this need is referencing."""
attachmentId: String
"""
Whether the customer need is important or not. 0 = Not important, 1 = Important.
"""
priority: Float
"""The content of the need in markdown format."""
body: String
"""[Internal] The content of the need as a Prosemirror document."""
bodyData: JSON
"""Optional URL for the attachment associated with the customer need."""
attachmentUrl: String
"""
Create need as a user with the provided name. This option is only available to OAuth applications creating needs 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 needs in `actor=app` mode.
"""
displayIconUrl: String
}
input CustomerNeedCreateFromAttachmentInput {
"""The attachment this need is created from."""
attachmentId: String!
}
type CustomerNeedUpdatePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The customer need that was created or updated."""
need: CustomerNeed!
"""Whether the operation was successful."""
success: Boolean!
"""The related customer needs that were updated."""
updatedRelatedNeeds: [CustomerNeed!]!
}
input CustomerNeedUpdateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The uuid of the customer the need belongs to."""
customerId: String
"""The external ID of the customer the need belongs to."""
customerExternalId: String
"""
The issue this need is referencing. Can be a UUID or issue identifier (e.g., 'LIN-123').
"""
issueId: String
"""[INTERNAL] The project this need is referencing."""
projectId: String
"""
Whether the customer need is important or not. 0 = Not important, 1 = Important.
"""
priority: Float
"""
Whether to also update the priority of needs from the same customer on the same issue/project.
"""
applyPriorityToRelatedNeeds: Boolean
"""The content of the need in markdown format."""
body: String
"""[Internal] The content of the need as a Prosemirror document."""
bodyData: JSON
"""Optional URL for the attachment associated with the customer need."""
attachmentUrl: String
}
"""A generic payload return from entity archive mutations."""
type CustomerNeedArchivePayload implements ArchivePayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
"""The archived/unarchived entity. Null if entity was deleted."""
entity: CustomerNeed
}
type CustomViewPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The custom view that was created or updated."""
customView: CustomView!
"""Whether the operation was successful."""
success: Boolean!
}
input CustomViewCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The name of the custom view."""
name: String!
"""The description of the custom view."""
description: String
"""The icon of the custom view."""
icon: String
"""The color of the icon of the custom view."""
color: String
"""The id of the team associated with the custom view."""
teamId: String
"""The id of the project associated with the custom view."""
projectId: String
"""The id of the initiative associated with the custom view."""
initiativeId: String
"""The owner of the custom view."""
ownerId: String
"""The filter applied to issues in the custom view."""
filterData: IssueFilter
"""The project filter applied to issues in the custom view."""
projectFilterData: ProjectFilter
"""[ALPHA] The initiative filter applied to issues in the custom view."""
initiativeFilterData: InitiativeFilter
"""The feed item filter applied to issues in the custom view."""
feedItemFilterData: FeedItemFilter
"""Whether the custom view is shared with everyone in the organization."""
shared: Boolean
}
input CustomViewUpdateInput {
"""The name of the custom view."""
name: String
"""The description of the custom view."""
description: String
"""The icon of the custom view."""
icon: String
"""The color of the icon of the custom view."""
color: String
"""The id of the team associated with the custom view."""
teamId: String
"""[Internal] The id of the project associated with the custom view."""
projectId: String
"""[Internal] The id of the initiative associated with the custom view."""
initiativeId: String
"""The owner of the custom view."""
ownerId: String
"""The filter applied to issues in the custom view."""
filterData: IssueFilter
"""The project filter applied to issues in the custom view."""
projectFilterData: ProjectFilter
"""[ALPHA] The initiative filter applied to issues in the custom view."""
initiativeFilterData: InitiativeFilter
"""The feed item filter applied to issues in the custom view."""
feedItemFilterData: FeedItemFilter
"""Whether the custom view is shared with everyone in the organization."""
shared: Boolean
}
type ContactPayload {
"""Whether the operation was successful."""
success: Boolean!
}
input ContactCreateInput {
"""The type of support contact."""
type: String!
"""The message the user sent."""
message: String!
"""User's operating system."""
operatingSystem: String
"""User's browser information."""
browser: String
"""User's device information."""
device: String
"""User's Linear client information."""
clientVersion: String
"""How disappointed the user would be if they could no longer use Linear."""
disappointmentRating: Int
}
"""[INTERNAL] Input for sending a message to the Linear Sales team."""
input ContactSalesCreateInput {
"""Name of the person requesting information."""
name: String!
"""Work email of the person requesting information."""
email: String!
"""Size of the company."""
companySize: String
"""The message the user sent."""
message: String
"""The URL this request was sent from."""
url: String
"""PostHog distinct ID for analytics correlation."""
distinctId: String
"""Session ID for analytics correlation."""
sessionId: String
}
type CommentPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The comment that was created or updated."""
comment: Comment!
"""Whether the operation was successful."""
success: Boolean!
}
input CommentCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The comment content in markdown format."""
body: String
"""[Internal] The comment content as a Prosemirror document."""
bodyData: JSON
"""
The issue to associate the comment with. Can be a UUID or issue identifier (e.g., 'LIN-123').
"""
issueId: String
"""The project update to associate the comment with."""
projectUpdateId: String
"""The initiative update to associate the comment with."""
initiativeUpdateId: String
"""The post to associate the comment with."""
postId: String
"""The document content to associate the comment with."""
documentContentId: String
"""[Internal] The project to associate the comment with."""
projectId: String
"""[Internal] The initiative to associate the comment with."""
initiativeId: String
"""The parent comment under which to nest a current comment."""
parentId: String
"""
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
"""
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 when the comment was created (e.g. if importing from another system). Must be a date in the past. If none is provided, the backend will generate the time as now.
"""
createdAt: DateTime
"""
Flag to prevent auto subscription to the issue the comment is created on.
"""
doNotSubscribeToIssue: Boolean
"""
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 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!]
}
input CommentUpdateInput {
"""The comment content."""
body: String
"""[Internal] The comment content as a Prosemirror document."""
bodyData: JSON
"""[INTERNAL] The user who resolved this thread."""
resolvingUserId: String
"""[INTERNAL] The child comment that resolves this thread."""
resolvingCommentId: String
"""
The text that this comment references. Only defined for inline comments.
"""
quotedText: String
"""[INTERNAL] The identifiers of the users subscribing to this comment."""
subscriberIds: [String!]
"""
[INTERNAL] Flag to prevent auto subscription to the issue the comment is updated on.
"""
doNotSubscribeToIssue: Boolean
}
type EmailUserAccountAuthChallengeResponse {
"""Whether the operation was successful."""
success: Boolean!
"""
Supported challenge for this user account. Can be either verificationCode or password.
"""
authType: String!
}
input EmailUserAccountAuthChallengeInput {
"""The email for which to generate the magic login code."""
email: String!
"""Whether the login was requested from the desktop app."""
isDesktop: Boolean
"""Auth code for the client initiating the sequence."""
clientAuthCode: String
"""The organization invite link to associate with this authentication."""
inviteLink: String
"""
Whether to only return the login code. This is used by mobile apps to skip showing the login link.
"""
loginCodeOnly: Boolean
"""Response from the login challenge."""
challengeResponse: String
"""PostHog session ID for attribution tracking."""
sessionId: String
}
input TokenUserAccountAuthInput {
"""The email which to login via the magic login code."""
email: String!
"""The magic login code."""
token: String!
"""The timezone of the user's browser."""
timezone: String!
"""An optional invite link for an organization."""
inviteLink: String
}
input GoogleUserAccountAuthInput {
"""Code returned from Google's OAuth flow."""
code: String!
"""The URI to redirect the user to."""
redirectUri: String
"""The timezone of the user's browser."""
timezone: String!
"""
An optional invite link for an organization used to populate available organizations.
"""
inviteLink: String
"""
An optional parameter to disable new user signup and force login. Default: false.
"""
disallowSignup: Boolean
"""PostHog session ID for attribution tracking."""
sessionId: String
}
type PasskeyLoginStartResponse {
success: Boolean!
options: JSONObject!
}
type CreateOrJoinOrganizationResponse {
organization: AuthOrganization!
user: AuthUser!
}
input OnboardingCustomerSurvey {
companyRole: String
companySize: String
}
input CreateOrganizationInput {
"""The name of the organization."""
name: String!
"""The URL key of the organization."""
urlKey: String!
"""Whether the organization should allow email domain access."""
domainAccess: Boolean
"""The timezone of the organization, passed in by client."""
timezone: String
"""
JSON serialized UTM parameters associated with the creation of the workspace.
"""
utm: String
}
input JoinOrganizationInput {
"""The identifier of the organization."""
organizationId: String!
"""An optional invite link for an organization."""
inviteLink: String
}
type LogoutResponse {
"""Whether the operation was successful."""
success: Boolean!
}
type AttachmentPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The issue attachment that was created."""
attachment: Attachment!
"""Whether the operation was successful."""
success: Boolean!
}
input AttachmentCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The attachment title."""
title: String!
"""The attachment subtitle."""
subtitle: 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!
"""
The issue to associate the attachment with. Can be a UUID or issue identifier (e.g., 'LIN-123').
"""
issueId: String!
"""
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
"""
Indicates if attachments for the same source application should be grouped in the Linear UI.
"""
groupBySource: Boolean
"""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
}
input AttachmentUpdateInput {
"""The attachment title."""
title: String!
"""The attachment subtitle."""
subtitle: String
"""Attachment metadata object with string and number values."""
metadata: JSONObject
"""
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
}
"""[Internal] The kind of link between an issue and a pull request."""
enum GitLinkKind {
closes
contributes
links
}
type FrontAttachmentPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The issue attachment that was created."""
attachment: Attachment!
"""Whether the operation was successful."""
success: Boolean!
}
type AgentSessionPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""Whether the operation was successful."""
success: Boolean!
"""The agent session that was created or updated."""
agentSession: AgentSession!
}
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 an external URL associated with an agent session."""
input AgentSessionExternalUrlInput {
"""The URL of the external resource."""
url: String!
"""Label for the URL."""
label: String!
}
input AgentSessionCreateOnIssue {
"""
The issue that this session will be associated with. Can be a UUID or issue identifier (e.g., 'LIN-123').
"""
issueId: 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 AgentSessionCreateInput {
"""
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
"""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
}
input AgentSessionUpdateExternalUrlInput {
"""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 of external resources to be added to this session."""
addedExternalUrls: [AgentSessionExternalUrlInput!]
"""URLs to be removed from this session."""
removedExternalUrls: [String!]
}
input AgentSessionUpdateInput {
"""
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!]
"""
URLs of external resources to be added to this session. Only updatable by the OAuth application that owns the session.
"""
addedExternalUrls: [AgentSessionExternalUrlInput!]
"""
URLs to be removed from this session. Only updatable by the OAuth application that owns the session.
"""
removedExternalUrls: [String!]
"""
A dynamically updated list of the agent's execution strategy. Only updatable by the OAuth application that owns the session.
"""
plan: JSONObject
"""
[Internal] The time the agent session was dismissed. Only updatable by internal clients.
"""
dismissedAt: DateTime
"""
[Internal] User-specific state for the agent session. Only updatable by internal clients.
"""
userState: [AgentSessionUserStateInput!]
}
input AgentSessionUserStateInput {
"""The ID of the user this state belongs to."""
userId: String!
"""The time at which the user most recently viewed the session."""
lastReadAt: DateTime
}
type AgentActivityPayload {
"""The identifier of the last sync operation."""
lastSyncId: Float!
"""The agent activity that was created or updated."""
agentActivity: AgentActivity!
"""Whether the operation was successful."""
success: Boolean!
}
input AgentActivityCreateInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The agent session this activity belongs to."""
agentSessionId: 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] Metadata about user-provided contextual information for this agent activity.
"""
contextualMetadata: JSONObject
"""
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!
"""
Whether the activity is ephemeral, and should disappear after the next activity. Defaults to false.
"""
ephemeral: Boolean
}
"""
[Internal] Input for creating prompt-type agent activities (created by users).
"""
input AgentActivityCreatePromptInput {
"""
The identifier in UUID v4 format. If none is provided, the backend will generate one.
"""
id: String
"""The agent session this activity belongs to."""
agentSessionId: 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] Metadata about user-provided contextual information for this agent activity.
"""
contextualMetadata: JSONObject
"""The content payload of the prompt agent activity."""
content: AgentActivityPromptCreateInputContent!
"""The comment that contains the content of this activity."""
sourceCommentId: String
}
"""
[Internal] Input for creating prompt-type agent activities (created by users).
"""
input AgentActivityPromptCreateInputContent {
"""The type of activity."""
type: AgentActivityType! = prompt
"""
A message requesting additional information or action from user in markdown format.
"""
body: String
"""[Internal] The prompt content as a ProseMirror document."""
bodyData: JSON
}
type Subscription {
"""Triggered when a comment is created"""
commentCreated: Comment!
"""Triggered when a comment is updated"""
commentUpdated: Comment!
"""Triggered when a comment is archived"""
commentArchived: Comment!
"""Triggered when a a comment is unarchived"""
commentUnarchived: Comment!
"""Triggered when a comment is deleted"""
commentDeleted: Comment!
"""Triggered when a cycle is created"""
cycleCreated: Cycle!
"""Triggered when a cycle is updated"""
cycleUpdated: Cycle!
"""Triggered when a cycle is archived"""
cycleArchived: Cycle!
"""Triggered when a document is created"""
documentCreated: Document!
"""Triggered when a document is updated"""
documentUpdated: Document!
"""Triggered when a document is archived"""
documentArchived: Document!
"""Triggered when a a document is unarchived"""
documentUnarchived: Document!
"""Triggered when a document content is created"""
documentContentCreated: DocumentContent!
"""Triggered when a document content is updated"""
documentContentUpdated: DocumentContent!
"""Triggered when a document content draft is created"""
documentContentDraftCreated: DocumentContentDraft!
"""Triggered when a document content draft is updated"""
documentContentDraftUpdated: DocumentContentDraft!
"""Triggered when a document content draft is deleted"""
documentContentDraftDeleted: DocumentContentDraft!
"""Triggered when a draft is created"""
draftCreated: Draft!
"""Triggered when a draft is updated"""
draftUpdated: Draft!
"""Triggered when a draft is deleted"""
draftDeleted: Draft!
"""Triggered when a favorite is created"""
favoriteCreated: Favorite!
"""Triggered when a favorite is updated"""
favoriteUpdated: Favorite!
"""Triggered when a favorite is deleted"""
favoriteDeleted: Favorite!
"""Triggered when an issue is created"""
issueCreated(filter: IssueSubscriptionFilter): Issue!
"""Triggered when an issue is updated"""
issueUpdated(filter: IssueSubscriptionFilter): Issue!
"""Triggered when an issue is archived"""
issueArchived: Issue!
"""Triggered when a an issue is unarchived"""
issueUnarchived: Issue!
"""Triggered when an issue history is created"""
issueHistoryCreated: IssueHistory!
"""Triggered when an issue history is updated"""
issueHistoryUpdated: IssueHistory!
"""Triggered when an issue draft is created"""
issueDraftCreated: IssueDraft!
"""Triggered when an issue draft is updated"""
issueDraftUpdated: IssueDraft!
"""Triggered when an issue draft is deleted"""
issueDraftDeleted: IssueDraft!
"""Triggered when an issue label is created"""
issueLabelCreated: IssueLabel!
"""Triggered when an issue label is updated"""
issueLabelUpdated: IssueLabel!
"""Triggered when an issue label is deleted"""
issueLabelDeleted: IssueLabel!
"""Triggered when an issue relation is created"""
issueRelationCreated: IssueRelation!
"""Triggered when an issue relation is updated"""
issueRelationUpdated: IssueRelation!
"""Triggered when an issue relation is deleted"""
issueRelationDeleted: IssueRelation!
"""Triggered when a notification is created"""
notificationCreated: Notification!
"""Triggered when a notification is updated"""
notificationUpdated: Notification!
"""Triggered when a notification is archived"""
notificationArchived: Notification!
"""Triggered when a a notification is unarchived"""
notificationUnarchived: Notification!
"""Triggered when a notification is deleted"""
notificationDeleted: Notification!
"""Triggered when an organization is updated"""
organizationUpdated: Organization!
"""Triggered when a project is created"""
projectCreated: Project!
"""Triggered when a project is updated"""
projectUpdated: Project!
"""Triggered when a project is archived"""
projectArchived: Project!
"""Triggered when a a project is unarchived"""
projectUnarchived: Project!
"""Triggered when a project update is created"""
projectUpdateCreated: ProjectUpdate!
"""Triggered when a project update is updated"""
projectUpdateUpdated: ProjectUpdate!
"""Triggered when a project update is deleted"""
projectUpdateDeleted: ProjectUpdate!
"""Triggered when a roadmap is created"""
roadmapCreated: Roadmap!
"""Triggered when a roadmap is updated"""
roadmapUpdated: Roadmap!
"""Triggered when a roadmap is deleted"""
roadmapDeleted: Roadmap!
"""Triggered when an initiative is created"""
initiativeCreated: Initiative!
"""Triggered when an initiative is updated"""
initiativeUpdated: Initiative!
"""Triggered when an initiative is deleted"""
initiativeDeleted: Initiative!
"""Triggered when an agent session is created"""
agentSessionCreated: AgentSession!
"""Triggered when an agent session is updated"""
agentSessionUpdated: AgentSession!
"""Triggered when an agent activity is created"""
agentActivityCreated: AgentActivity!
"""Triggered when an agent activity is updated"""
agentActivityUpdated: AgentActivity!
"""Triggered when an ai conversation is updated"""
aiConversationUpdated: AiConversation!
"""Triggered when an ai prompt progress is created"""
aiPromptProgressCreated(filter: AiPromptProgressSubscriptionFilter): AiPromptProgress!
"""Triggered when an ai prompt progress is updated"""
aiPromptProgressUpdated(filter: AiPromptProgressSubscriptionFilter): AiPromptProgress!
"""Triggered when a team is created"""
teamCreated: Team!
"""Triggered when a team is updated"""
teamUpdated: Team!
"""Triggered when a team is deleted"""
teamDeleted: Team!
"""Triggered when a team membership is created"""
teamMembershipCreated: TeamMembership!
"""Triggered when a team membership is updated"""
teamMembershipUpdated: TeamMembership!
"""Triggered when a team membership is deleted"""
teamMembershipDeleted: TeamMembership!
"""Triggered when an user is created"""
userCreated: User!
"""Triggered when an user is updated"""
userUpdated: User!
"""Triggered when a workflow state is created"""
workflowStateCreated: WorkflowState!
"""Triggered when a workflow state is updated"""
workflowStateUpdated: WorkflowState!
"""Triggered when a workflow state is archived"""
workflowStateArchived: WorkflowState!
}
"""A draft revision of document content, pending user review."""
type DocumentContentDraft implements Node {
"""The unique identifier of the entity."""
id: ID!
"""The time at which the entity was created."""
createdAt: 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 time at which the entity was archived. Null if the entity has not been archived.
"""
archivedAt: DateTime
documentContent: DocumentContent!
documentContentId: String!
"""The draft content state as a base64 encoded Yjs state update."""
contentState: String!
user: User!
userId: String!
}
"""Filter for issue subscription events."""
input IssueSubscriptionFilter {
"""Filter by team ID."""
teamId: IDComparator
"""Filter by project ID."""
projectId: IDComparator
"""Filter by assignee ID."""
assigneeId: IDComparator
"""Filter by workflow state ID."""
stateId: IDComparator
"""Filter by parent issue ID."""
parentId: IDComparator
}
"""[Internal] Filter for AI prompt progress subscription events."""
input AiPromptProgressSubscriptionFilter {
"""[Internal] Filter by issue ID."""
issueId: IDComparator
"""[Internal] Filter by comment ID."""
commentId: IDComparator
"""[Internal] Filter by pull request comment ID."""
pullRequestCommentId: IDComparator
"""[Internal] Filter by prompt workflow type."""
type: AiPromptTypeComparator
"""[Internal] Filter by prompt workflow status."""
status: AiPromptProgressStatusComparator
}