"""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

  """Unique hash for the user to be used in invite URLs."""
  inviteHash: 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

  """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 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 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!

  """Whether the user is the currently authenticated user."""
  isMe: Boolean!

  """Whether the user is an organization administrator."""
  admin: Boolean!
}

"""
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!

  """
  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 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

  """Allowed authentication providers, empty array means all are allowed."""
  allowedAuthServices: [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

  """
  Previously used URL keys for the organization (last 3 are kept and redirected).
  """
  previousUrlKeys: [String!]!

  """Whether member users are allowed to send invites."""
  allowMembersToInvite: Boolean

  """Whether team creation is restricted to admins."""
  restrictTeamCreationToAdmins: 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!

  """Default schedule for how often feed summaries are generated."""
  defaultFeedSummarySchedule: FeedSummarySchedule

  """Whether the organization has enabled the feed feature."""
  feedEnabled: 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")

  """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 organization's subscription to a paid plan."""
  subscription: PaidSubscription

  """Number of active users in the organization."""
  userCount: Int!

  """Number of issues in the organization."""
  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!

  """Number of customers in the organization."""
  customerCount: Int!

  """Whether the organization is using Customers."""
  customersEnabled: Boolean!
}

"""The day of the week."""
enum Day {
  Sunday
  Monday
  Tuesday
  Wednesday
  Thursday
  Friday
  Saturday
}

"""
The `JSONObject` scalar type represents arbitrary values as *embedded* JSON
"""
scalar JSONObject

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
  beta
  preRelease
  public
}

"""Cadence to generate feed summary"""
enum FeedSummarySchedule {
  daily
  weekly
  never
}

enum SLADayCountType {
  all
  onlyBusinessDays
}

"""The frequency at which to send project update reminders."""
enum ProjectUpdateReminderFrequency {
  week
  twoWeeks
  month
  never
}

type UserConnection {
  edges: [UserEdge!]!
  nodes: [User!]!
  pageInfo: PageInfo!
}

type UserEdge {
  node: User!

  """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
}

"""By which field should the pagination order by"""
enum PaginationOrderBy {
  createdAt
  updatedAt
}

type TeamConnection {
  edges: [TeamEdge!]!
  nodes: [Team!]!
  pageInfo: PageInfo!
}

type TeamEdge {
  node: Team!

  """Used in `before` and `after` args"""
  cursor: String!
}

"""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 organization that the team is associated with."""
  organization: Organization!

  """[Internal] 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!

  """Unique hash for the team to be used in invite URLs."""
  inviteHash: 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!

  """[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 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

  """Calendar feed URL (iCal) for cycles."""
  cycleCalenderUrl: String!

  """The name of the team including it's 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
  ): 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.")
}

"""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".
  """
  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 = Normal, 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 activity summary information for this issue."""
  activitySummary: JSONObject

  """[ALPHA] The document content representing this issue description."""
  documentContent: DocumentContent

  """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 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

  """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!

  """
  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!

  """The issue's description in markdown format."""
  description: String

  """[Internal] The issue's description content as YJS state."""
  descriptionState: String

  """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!
}

"""
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

"""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

  """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

  """[ALPHA] The meeting that the content is associated with."""
  meeting: Meeting

  """
  The time at which the document content was restored from a previous version.
  """
  restoredAt: DateTime
}

"""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 content of the project description."""
  documentContent: DocumentContent

  """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

  """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 = Normal, 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!

  """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!

  """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!

  """[Internal] Labels associated with this project."""
  labels(
    """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

  """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!
}

"""By which resolution is frequency defined."""
enum FrequencyResolutionType {
  daily
  weekly
}

"""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

  """Template data."""
  templateData: JSON!

  """The sort order of the template."""
  sortOrder: Float!

  """
  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
}

"""
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!
}

"""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 issue."""
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 document content that the comment is associated with."""
  documentContent: DocumentContent

  """The project update that the comment is associated with."""
  projectUpdate: ProjectUpdate

  """The initiative update that the comment is associated with."""
  initiativeUpdate: InitiativeUpdate

  """The post that the comment is associated with."""
  post: Post

  """The parent comment under which the current comment is nested."""
  parent: Comment

  """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 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

  """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!

  """The bot that created the comment."""
  botActor: ActorBot

  """The external thread that the comment is synced with."""
  externalThread: SyncedExternalThread

  """Reactions associated with the comment."""
  reactions: [Reaction!]!
}

"""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!
}

"""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

  """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(
    """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!

  """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!

  """The initiative's content in markdown format."""
  content: String
}

enum InitiativeStatus {
  Planned
  Active
  Completed
}

"""The health type when the update is created."""
enum InitiativeUpdateHealthType {
  onTrack
  atRisk
  offTrack
}

type ProjectConnection {
  edges: [ProjectEdge!]!
  nodes: [Project!]!
  pageInfo: PageInfo!
}

type ProjectEdge {
  node: Project!

  """Used in `before` and `after` args"""
  cursor: String!
}

"""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

  """[Internal] Comparator for the project's content."""
  searchableContent: ContentComparator

  """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

  """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

  """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!]
}

"""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 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 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
}

"""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!]
}

"""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
}

"""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

  """[Internal] Comparator for the project's content."""
  searchableContent: ContentComparator

  """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

  """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

  """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
}

"""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
}

"""[Internal] Comparator for content."""
input ContentComparator {
  """[Internal] Contains constraint."""
  contains: String

  """[Internal] Not-contains constraint."""
  notContains: String
}

"""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 relation existence."""
input RelationExistsComparator {
  """Equals constraint."""
  eq: Boolean

  """Not equals constraint."""
  neq: Boolean
}

"""
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!]
}

"""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 invited status."""
  invited: 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 booleans."""
input BooleanComparator {
  """Equals constraint."""
  eq: Boolean

  """Not equals constraint."""
  neq: Boolean
}

"""Issue filtering options."""
input IssueCollectionFilter {
  """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 issues number."""
  number: NumberComparator

  """Comparator for the issues title."""
  title: StringComparator

  """Comparator for the issues description."""
  description: NullableStringComparator

  """Comparator for the issues priority."""
  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

  """Comparator for the issues snoozed until date."""
  snoozedUntilAt: NullableDateComparator

  """Filters that the issues assignee must satisfy."""
  assignee: 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

  """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 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

  """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

  """Count of customers"""
  customerCount: NumberComparator

  """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
}

"""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 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 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 invited status."""
  invited: 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!]
}

"""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

  """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 {
  """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

  """Compound filters, all of which need to be matched by the sub type."""
  subType: SubTypeComparator
}

"""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
}

"""Issue filtering options."""
input NullableIssueFilter {
  """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 issues number."""
  number: NumberComparator

  """Comparator for the issues title."""
  title: StringComparator

  """Comparator for the issues description."""
  description: NullableStringComparator

  """Comparator for the issues priority."""
  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

  """Comparator for the issues snoozed until date."""
  snoozedUntilAt: NullableDateComparator

  """Filters that the issues assignee must satisfy."""
  assignee: 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

  """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 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

  """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

  """Count of customers"""
  customerCount: NumberComparator

  """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

  """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: [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

  """Filters that the teams issues must satisfy."""
  issues: IssueCollectionFilter

  """Filters that the teams parent must satisfy."""
  parent: NullableTeamFilter

  """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!]
}

"""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

  """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 invited status."""
  invited: 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
}

"""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

  """Filters that the teams issues must satisfy."""
  issues: IssueCollectionFilter

  """Filters that the teams parent must satisfy."""
  parent: NullableTeamFilter

  """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!]
}

"""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

  """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!]
}

"""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

  """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
}

"""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!]
}

"""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!]
}

"""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

  """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!]
}

"""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

  """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 initiative must satisfy."""
  initiative: InitiativeFilter

  """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!]
}

"""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

  """Comparator for the initiative status: Planned, Active, Completed"""
  status: StringComparator

  """Filters that the initiative creator must satisfy."""
  creator: UserFilter

  """Filters that the initiative owner must satisfy."""
  owner: UserFilter

  """Comparator for the initiative health: onTrack, atRisk, offTrack"""
  health: StringComparator

  """
  Comparator for the initiative health (with age): onTrack, atRisk, offTrack, outdated, noUpdate
  """
  healthWithAge: StringComparator

  """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!]
}

"""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
}

"""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

  """[Internal] Comparator for the project's content."""
  searchableContent: ContentComparator

  """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

  """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

  """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!]
}

"""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

  """Comparator for the initiative status: Planned, Active, Completed"""
  status: StringComparator

  """Filters that the initiative creator must satisfy."""
  creator: UserFilter

  """Filters that the initiative owner must satisfy."""
  owner: UserFilter

  """Comparator for the initiative health: onTrack, atRisk, offTrack"""
  health: StringComparator

  """
  Comparator for the initiative health (with age): onTrack, atRisk, offTrack, outdated, noUpdate
  """
  healthWithAge: StringComparator

  """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
}

"""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

  """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

  """
  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!]
}

"""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
}

"""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 name."""
  name: 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 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

  """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!]
}

"""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

  """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."""
  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
}

"""Issue filtering options."""
input IssueFilter {
  """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 issues number."""
  number: NumberComparator

  """Comparator for the issues title."""
  title: StringComparator

  """Comparator for the issues description."""
  description: NullableStringComparator

  """Comparator for the issues priority."""
  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

  """Comparator for the issues snoozed until date."""
  snoozedUntilAt: NullableDateComparator

  """Filters that the issues assignee must satisfy."""
  assignee: 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

  """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 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

  """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

  """Count of customers"""
  customerCount: NumberComparator

  """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!]
}

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 CommentConnection {
  edges: [CommentEdge!]!
  nodes: [Comment!]!
  pageInfo: PageInfo!
}

type CommentEdge {
  node: Comment!

  """Used in `before` and `after` args"""
  cursor: String!
}

"""[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 project that the post is associated with."""
  project: Project

  """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
}

"""
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 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!
}

"""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 roadmap."""
  roadmap: Roadmap

  """The favorited initiative."""
  initiative: Initiative

  """The favorited label."""
  label: IssueLabel

  """The favorited user."""
  user: User

  """The favorited customer."""
  customer: Customer

  """The favorited dashboard."""
  dashboard: Dashboard

  """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
}

"""Different tabs available inside an initiative."""
enum InitiativeTab {
  overview
  projects
}

type FavoriteConnection {
  edges: [FavoriteEdge!]!
  nodes: [Favorite!]!
  pageInfo: PageInfo!
}

type FavoriteEdge {
  node: Favorite!

  """Used in `before` and `after` args"""
  cursor: String!
}

"""
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 page."""
  sourcePage: FacetPageSource

  """The targeted custom view."""
  targetCustomView: CustomView
}

enum FacetPageSource {
  projects
  teamIssues
}

"""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

  """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!

  """The team associated with the custom view."""
  team: Team

  """Projects associated with the custom view."""
  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!

  """Issues associated with the custom view."""
  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!

  """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
}

"""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

  """Sort by Cycle start date"""
  cycle: CycleSort

  """Sort by Project Milestone target date"""
  milestone: MilestoneSort

  """Sort by assignee name"""
  assignee: AssigneeSort

  """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
}

"""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
}

"""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
}

"""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 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 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
}

"""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
}

"""[ALPHA] 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
}

"""[ALPHA] 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
}

"""[ALPHA] 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
}

"""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 ordering."""
  viewOrdering: String

  """The issue grouping."""
  issueGrouping: String

  """Whether to show completed issues."""
  showCompletedIssues: String
}

"""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

  """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!
}

"""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!

  """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 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 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!
}

"""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!
  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 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!

  """Whether this label is considered to be a group."""
  isGroup: Boolean!
}

type IssueLabelConnection {
  edges: [IssueLabelEdge!]!
  nodes: [IssueLabel!]!
  pageInfo: PageInfo!
}

type IssueLabelEdge {
  node: IssueLabel!

  """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: Float

  """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

  """The integration that manages the Customer."""
  integration: Integration
}

"""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!

  """The type of the customer status."""
  type: CustomerStatusType!

  """Description of the status."""
  description: String

  """The position of the status in the workspace's customers flow."""
  position: Float!
}

"""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!
}

"""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

  """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 layout of the widgets on the dashboard."""
  layout: JSONObject!

  """The widgets on the dashboard."""
  widgets: JSONObject!
}

type InitiativeConnection {
  edges: [InitiativeEdge!]!
  nodes: [Initiative!]!
  pageInfo: PageInfo!
}

type InitiativeEdge {
  node: Initiative!

  """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 DocumentConnection {
  edges: [DocumentEdge!]!
  nodes: [Document!]!
  pageInfo: PageInfo!
}

type DocumentEdge {
  node: Document!

  """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!
}

"""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
}

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 ProjectLabelConnection {
  edges: [ProjectLabelEdge!]!
  nodes: [ProjectLabel!]!
  pageInfo: PageInfo!
}

type ProjectLabelEdge {
  node: ProjectLabel!

  """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!
  organization: Organization!

  """The user who created the label."""
  creator: User

  """The parent label."""
  parent: ProjectLabel
}

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!
}

"""
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 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 belongs to."""
  issue: Issue!

  """The body data of the attachment, if any."""
  bodyData: String
}

"""[INTERNAL] 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
}

"""A meeting that can be attached to different entities."""
type Meeting 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 meeting title."""
  title: String!

  """The location of the meeting."""
  location: String

  """The meeting link of the meeting."""
  meetingLink: String

  """Link to a recording of the meeting."""
  recordingLink: String

  """The icon of the meeting."""
  icon: String

  """The color of the icon."""
  color: String

  """The user who created the meeting."""
  creator: User

  """The user who last updated the meeting."""
  updatedBy: User

  """The project that the meeting is associated with."""
  project: Project

  """[Internal] The initiative that the meeting is associated with."""
  initiative: Initiative

  """The time at which the meeting is set to start."""
  startsAt: DateTime

  """The time at which the meeting is set to end."""
  endsAt: DateTime

  """
  The time at which the meeting was hidden. Null if the entity has not been hidden.
  """
  hiddenAt: DateTime

  """A flag that indicates whether the meeting is in the trash bin."""
  trashed: Boolean

  """The order of the item in the resources list."""
  sortOrder: Float!
}

"""Linear supported integration services."""
enum IntegrationService {
  airbyte
  discord
  figma
  figmaPlugin
  front
  github
  githubEnterpriseServer
  githubCommit
  githubImport
  githubPersonal
  gitlab
  googleCalendarPersonal
  googleSheets
  intercom
  jira
  jiraPersonal
  launchDarkly
  launchDarklyPersonal
  loom
  notion
  opsgenie
  pagerDuty
  salesforce
  slack
  slackAsks
  slackCustomViewNotifications
  slackOrgProjectUpdatesPost
  slackOrgInitiativeUpdatesPost
  slackPersonal
  slackPost
  slackProjectPost
  slackProjectUpdatesPost
  slackInitiativePost
  sentry
  zendesk
  email
}

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!]

  """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 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!]

  """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!]
}

"""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!
}

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 CycleConnection {
  edges: [CycleEdge!]!
  nodes: [Cycle!]!
  pageInfo: PageInfo!
}

type CycleEdge {
  node: Cycle!

  """Used in `before` and `after` args"""
  cursor: String!
}

"""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

  """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!]
}

"""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 the 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!
}

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
}

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 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

  """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!

  """[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 project update."""
  project: Project

  """The project update for which this is a draft comment."""
  projectUpdate: ProjectUpdate

  """The initiative for which this is a draft 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
}

enum UserContextViewType {
  assigned
}

"""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

  """[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] 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

  """[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] 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
}

"""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

  """[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] 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 initiative related to the notification."""
  initiative: Initiative

  """The document related to the notification."""
  document: Document

  """The project update related to the notification."""
  projectUpdate: ProjectUpdate

  """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 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

  """[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] 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
}

"""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

  """[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] 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 requested."""
  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
}

"""
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

  """[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] 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!
}

"""[Internal] 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

  """[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] 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!
}

"""[Internal] 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

  """[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] 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
}

"""[Internal] A pull request related notification."""
type PullRequestNotification 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

  """[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] 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!

  """The pull request related to the notification."""
  pullRequest: PullRequest!
}

"""[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 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 URL of the pull request in the version control system."""
  url: String!

  """The status of the pull request."""
  status: PullRequestStatus!
}

"""The status of a pull request."""
enum PullRequestStatus {
  draft
  open
  inReview
  approved
  merged
  closed
}

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
  ): 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!

  """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 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!

  """[ALPHA] 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: 10)."""
    maxResults: Int

    """Whether to include archived results in the search (default: false)."""
    includeArchived: Boolean
  ): 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!

    """Size of search snippet to return (default: 100)"""
    snippetSize: Float

    """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!

    """Size of search snippet to return (default: 100)"""
    snippetSize: Float

    """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!

    """Size of search snippet to return (default: 100)"""
    snippetSize: Float

    """Should associated comments be searched (default: false)."""
    includeComments: Boolean

    """UUID of a team to use as a boost."""
    teamId: String
  ): IssueSearchPayload!

  """Custom views for the user."""
  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!

  """One specific roadmapToProject."""
  roadmapToProject(id: String!): RoadmapToProject!

  """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!

  """One specific roadmap."""
  roadmap(id: String!): Roadmap!

  """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!

  """
  [Internal] AI summary of the latest project updates for the given projects
  """
  summarizeProjectUpdates(
    """The identifiers of the projects to summarize."""
    ids: [String!]!
  ): SummaryPayload!

  """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 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
  ): ProjectConnection!

  """One specific project."""
  project(id: String!): Project!

  """Suggests filters for a project view based on a text prompt."""
  projectFilterSuggestion(prompt: String!): ProjectFilterSuggestionPayload!

  """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!

  """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!

  """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(
    """The ID of the project if filtering a project view"""
    projectId: String
    prompt: String!
  ): IssueFilterSuggestionPayload!

  """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: 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
  ): 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!

  """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!

  """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!

  """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(
    """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
  ): 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

    """[Deprecated] The issue for which to find the comment."""
    issueId: String @deprecated(reason: "Not in use anymore, please use `id` or `hash` directly.")

    """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

    """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!

  """[INTERNAL] Get basic information for a list of applications."""
  applicationInfoByIds(
    """The IDs of the applications."""
    ids: [String!]!
  ): [Application!]!

  """[INTERNAL] Get information for a list of applications with memberships"""
  applicationInfoWithMembershipsByIds(
    """The client IDs to look up."""
    clientIds: [String!]!
  ): [WorkspaceAuthorizedApplication!]!

  """
  Get information for an application and whether a user has approved it for the given scopes.
  """
  applicationWithAuthorization(
    """Redirect URI for the application."""
    redirectUri: String

    """Actor mode used for the authorization."""
    actor: String = "user"

    """Scopes being requested by the application."""
    scope: [String!]!

    """The client ID of the application."""
    clientId: String!
  ): UserAuthorizedApplication!

  """[INTERNAL] Get all authorized applications for a user."""
  authorizedApplications: [AuthorizedApplication!]!

  """
  [INTERNAL] Get non-internal authorized applications (with limited fields) for a workspace
  """
  workspaceAuthorizedApplications: [WorkspaceAuthorizedApplication!]!

  """
  [INTERNAL] Get a specific non-internal authorized application (with limited fields) for a workspace
  """
  workspaceAuthorizedApplication(
    """The client ID of the application."""
    clientId: String!
  ): WorkspaceAuthorizedApplicationWithMemberships!

  """All API keys for the user."""
  apiKeys(
    """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
  ): ApiKeyConnection!
}

"""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!

  """Whether to show full user names instead of display names."""
  showFullUserNames: Boolean!

  """
  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!
}

"""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!
}

"""
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 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!
}

"""[ALPHA] Payload returned by semantic search."""
type SemanticSearchPayload {
  enabled: Boolean!
  results: [SemanticSearchResult!]!
}

"""[ALPHA] 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
}

"""[ALPHA] The type of the semantic search result."""
enum SemanticSearchResultType {
  issue
  project
  initiative
  document
}

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!

  """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 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: Boolean!
}

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 content of the project description."""
  documentContent: DocumentContent

  """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

  """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 = Normal, 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!

  """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!

  """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!

  """[Internal] Labels associated with this project."""
  labels(
    """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

  """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!

  """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 = Normal, 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 activity summary information for this issue."""
  activitySummary: JSONObject

  """[ALPHA] The document content representing this issue description."""
  documentContent: DocumentContent

  """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 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

  """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!

  """
  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!

  """The issue's description in markdown format."""
  description: String

  """[Internal] The issue's description content as YJS state."""
  descriptionState: String

  """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!

  """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!
}

"""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!
}

type RoadmapConnection {
  edges: [RoadmapEdge!]!
  nodes: [Roadmap!]!
  pageInfo: PageInfo!
}

type RoadmapEdge {
  node: Roadmap!

  """Used in `before` and `after` args"""
  cursor: String!
}

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
}

"""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!]
}

type SummaryPayload {
  """Summary for project updates."""
  summary: String!
}

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 ProjectFilterSuggestionPayload {
  """The json filter that is suggested."""
  filter: JSONObject

  """The log id of the prompt, that created this filter."""
  logId: String
}

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 {
  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 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 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!]
}

type InitiativeUpdateConnection {
  edges: [InitiativeUpdateEdge!]!
  nodes: [InitiativeUpdate!]!
  pageInfo: PageInfo!
}

type InitiativeUpdateEdge {
  node: InitiativeUpdate!

  """Used in `before` and `after` args"""
  cursor: 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 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 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 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!
}

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!]
}

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!
}

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

  """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 {
  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!
}

"""
An organization. Organizations are root-level objects that contain users and teams.
"""
type AuthOrganization {
  """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!]!

  """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!
  userCount: Float!
}

"""Authentication session information."""
type AuthenticationSessionResponse {
  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 created."""
  createdAt: 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 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] Public information of the OAuth application, plus the userIds and scopes for those users.
"""
type WorkspaceAuthorizedApplication {
  """Application name."""
  name: String!

  """Description of the application."""
  description: String

  """Developer of the application."""
  developer: String

  """Developer URL of the application."""
  developerUrl: String

  """Image of the application."""
  imageUrl: String

  """Scopes that are authorized for this application for a given user."""
  scope: [String!]!

  """OAuth application's ID."""
  appId: String!

  """OAuth application's client ID."""
  clientId: String!

  """Whether or not webhooks are enabled for the application."""
  webhooksEnabled: Boolean!

  """Total number of members that authorized the application."""
  totalMembers: Float!

  """
  UserIds and membership dates of everyone who has authorized the application with the set of scopes.
  """
  memberships: [AuthMembership!]!
}

"""[INTERNAL] An OAuth userId/createdDate tuple"""
type AuthMembership {
  """The user ID the authorization was done for"""
  userId: String!

  """The user ID associated with the authorization"""
  authorizingUserId: String

  """The date of the authorization"""
  createdAt: DateTime!
}

"""
Public information of the OAuth application, plus whether the application has been authorized for the given scopes.
"""
type UserAuthorizedApplication {
  """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

  """Whether the user has authorized the application for the given scopes."""
  isAuthorized: Boolean!

  """Whether the application was created by Linear."""
  createdByLinear: Boolean!

  """Whether or not webhooks are enabled for the application."""
  webhooksEnabled: Boolean!

  """Whether the application supports app users."""
  appUserEnabled: Boolean!

  """Details of the app user's existing token, if any."""
  appUserAuthentication: AppUserAuthentication

  """
  Error associated with the application needing to be requested for approval in the workspace.
  """
  approvalErrorCode: String
}

"""[INTERNAL] Details of the app user's existing token."""
type AppUserAuthentication {
  """The timestamp at which the token was created."""
  createdAt: DateTime!

  """The scopes that the token has."""
  scope: [String!]!

  """Whether the application has requested custom sync groups."""
  requestedSyncGroups: Boolean!

  """The user that authorized the application, if known."""
  authorizingUser: AuthorizingUser
}

"""Details of the app user's authorizing user."""
type AuthorizingUser {
  """The user's full name."""
  name: String!

  """The user's display name."""
  displayName: String!
}

"""
[INTERNAL] Public information of the OAuth application, plus the authorized scopes for a given user.
"""
type AuthorizedApplication {
  """Application name."""
  name: String!

  """Description of the application."""
  description: String

  """Developer of the application."""
  developer: String

  """Developer URL of the application."""
  developerUrl: String

  """Image of the application."""
  imageUrl: String

  """Scopes that are authorized for this application for a given user."""
  scope: [String!]!

  """OAuth application's ID."""
  appId: String!

  """OAuth application's client ID."""
  clientId: String!

  """Whether or not webhooks are enabled for the application."""
  webhooksEnabled: Boolean!
}

"""
[INTERNAL] Public information of the OAuth application with its memberships
"""
type WorkspaceAuthorizedApplicationWithMemberships {
  """Details of the OAuth application"""
  client: AuthorizedApplication!

  """
  UserIds and membership dates of everyone who has authorized the application
  """
  memberships: [AuthMembership!]!
}

type ApiKeyConnection {
  edges: [ApiKeyEdge!]!
  nodes: [ApiKey!]!
  pageInfo: PageInfo!
}

type ApiKeyEdge {
  node: ApiKey!

  """Used in `before` and `after` args"""
  cursor: String!
}

"""An API key. Grants access to the user's resources."""
type ApiKey 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 of the API key."""
  label: String!

  """Scopes associated with the API key."""
  scope: [String!]

  """
  The sync groups that this API key requests access to. If null, the API key has access to all sync groups the user has access to. The final set of sync groups is computed as the intersection of these requested groups with the user's base sync groups.
  """
  requestedSyncGroups: [String!]
}

type Mutation {
  """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!

  """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!

  """Makes user an admin. Can only be called by an admin."""
  userPromoteAdmin(
    """The identifier of the user to make an admin."""
    id: String!
  ): UserAdminPayload!

  """Makes user a regular user. Can only be called by an admin."""
  userDemoteAdmin(
    """The identifier of the user to make a regular user."""
    id: String!
  ): UserAdminPayload!

  """Makes user a regular user. Can only be called by an admin."""
  userPromoteMember(
    """The identifier of the user to make a regular user."""
    id: String!
  ): UserAdminPayload!

  """Makes user a guest. Can only be called by an admin."""
  userDemoteMember(
    """The identifier of the user to make a guest."""
    id: String!
  ): UserAdminPayload!

  """Suspends a user. Can only be called by an admin."""
  userSuspend(
    """The identifier of the user to suspend."""
    id: String!
  ): UserAdminPayload!

  """Un-suspends a user. Can only be called by an admin."""
  userUnsuspend(
    """The identifier of the user to unsuspend."""
    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 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!

  """Updates a roadmap."""
  roadmapUpdate(
    """The properties of the roadmap to update."""
    input: RoadmapUpdateInput!

    """The identifier of the roadmap to update."""
    id: String!
  ): RoadmapPayload!

  """Archives a roadmap."""
  roadmapArchive(
    """The identifier of the roadmap to archive."""
    id: String!
  ): RoadmapArchivePayload!

  """Unarchives a roadmap."""
  roadmapUnarchive(
    """The identifier of the roadmap to unarchive."""
    id: String!
  ): RoadmapArchivePayload!

  """Deletes a roadmap."""
  roadmapDelete(
    """The identifier of the roadmap to delete."""
    id: String!
  ): DeletePayload!

  """Create CSV export report for the organization."""
  createCsvExportReport(includePrivateTeamIds: [String!]): CreateCsvExportReportPayload!

  """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."""
  projectCreate(
    """Whether to connect a Slack channel to the project."""
    connectSlackChannel: Boolean

    """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] 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!

  """[Internal] 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!

  """[Internal] 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!

  """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!

  """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. Administrator privileges required.
  """
  organizationDeleteChallenge: OrganizationDeletePayload!

  """Delete's an organization. Administrator privileges required."""
  organizationDelete(
    """Information required to delete an organization."""
    input: DeleteOrganizationInput!
  ): OrganizationDeletePayload!

  """
  Cancels the deletion of an organization. Administrator privileges required.
  """
  organizationCancelDelete: OrganizationCancelDeletePayload!

  """
  Starts a trial for the organization on the specified plan type. Administrator privileges required.
  """
  organizationStartTrialForPlan(
    """Plan details for trial"""
    input: OrganizationStartTrialInput!
  ): OrganizationStartTrialPayload!

  """
  [DEPRECATED] Starts a trial for the organization. Administrator privileges required.
  """
  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!

  """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 archive."""
    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 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 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!

  """[INTERNAL] Updates the summary of an issue."""
  updateIssueSummary(
    """The identifier of the issue to update."""
    id: 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 an 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!

  """Kicks off a GitHub import job."""
  issueImportCreateGithub(
    """ID of the organization into which to import data."""
    organizationId: String @deprecated(reason: "Argument will be ignored. Use teamId to import in a specific team, or teamName to import into a new team.")

    """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!]

    """
    [DEPRECATED] ID of the Github import integration to use to access issues.
    """
    integrationId: String @deprecated(reason: "An import can span multiple integrations. Value will be ignored.")

    """Whether or not we should import GitHub organization level projects."""
    githubShouldImportOrgProjects: Boolean @deprecated(reason: "Argument will be ignored. The project information of an issue is always imported regardless of whether the project is linked to the repository of the issue or not")

    """
    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 organization into which to import data."""
    organizationId: String @deprecated(reason: "Argument will be ignored. Use teamId to import in a specific team, or teamName to import into a new team.")

    """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 organization into which to import data."""
    organizationId: String @deprecated(reason: "Argument will be ignored. Use teamId to import in a specific team, or teamName to import into a new team.")

    """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 organization into which to import data."""
    organizationId: String @deprecated(reason: "Argument will be ignored. Use teamId to import in a specific team, or teamName to import into a new team.")

    """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 organization into which to import data."""
    organizationId: String @deprecated(reason: "Argument will be ignored. Use teamId to import in a specific team, or teamName to import into a new team.")

    """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 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!

  """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!

  """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(
    """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!

  """[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 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!

  """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 Google Sheets."""
  integrationGoogleSheets(
    """The Google OAuth code."""
    code: String!
  ): IntegrationPayload!

  """Manually update Google Sheets data."""
  refreshGoogleSheetsData(
    """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.")

  """Deletes an integration."""
  integrationDelete(
    """The identifier of the integration to delete."""
    id: String!
  ): DeletePayload!

  """Archives an integration."""
  integrationArchive(
    """The identifier of the integration to archive."""
    id: String!
  ): DeletePayload!

  """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!

  """
  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!

  """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!

  """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."""
  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!

  """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(
    """The properties of the customer need to update."""
    input: CustomerNeedUpdateInput!

    """The identifier of the customer need to update."""
    id: String!
  ): CustomerNeedPayload!

  """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(
    """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(
    """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.
  """
  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."""
  attachmentLinkURL(
    """
    Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=application` mode.
    """
    createAsUser: String

    """
    Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=application` 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."""
    issueId: String!

    """The id for the attachment."""
    id: String
  ): AttachmentPayload!

  """Link an existing GitLab MR to an issue."""
  attachmentLinkGitLabMR(
    """
    Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=application` mode.
    """
    createAsUser: String

    """
    Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=application` mode.
    """
    displayIconUrl: String

    """The title to use for the attachment."""
    title: String

    """The issue for which to link the GitLab merge request."""
    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."""
  attachmentLinkGitHubIssue(
    """
    Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=application` mode.
    """
    createAsUser: String

    """
    Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=application` mode.
    """
    displayIconUrl: String

    """The title to use for the attachment."""
    title: String

    """The Linear issue for which to link the GitHub issue."""
    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."""
  attachmentLinkGitHubPR(
    """
    Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=application` mode.
    """
    createAsUser: String

    """
    Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=application` mode.
    """
    displayIconUrl: String

    """The title to use for the attachment."""
    title: String

    """The issue for which to link the GitHub pull request."""
    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!

    """The owner of the GitHub repository."""
    owner: String @deprecated(reason: "No longer required")

    """The name of the GitHub repository."""
    repo: String @deprecated(reason: "No longer required")

    """The GitHub pull request number to link."""
    number: Float @deprecated(reason: "No longer required")

    """[Internal] The kind of link between the issue and the pull request."""
    linkKind: GitLinkKind
  ): AttachmentPayload!

  """Link an existing Zendesk ticket to an issue."""
  attachmentLinkZendesk(
    """
    Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=application` mode.
    """
    createAsUser: String

    """
    Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=application` 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."""
    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."""
  attachmentLinkDiscord(
    """
    Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=application` mode.
    """
    createAsUser: String

    """
    Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=application` mode.
    """
    displayIconUrl: String

    """The title to use for the attachment."""
    title: String

    """The issue for which to link the Discord message."""
    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."""
  attachmentLinkSlack(
    """
    Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=application` mode.
    """
    createAsUser: String

    """
    Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=application` mode.
    """
    displayIconUrl: String

    """The title to use for the attachment."""
    title: String

    """[DEPRECATED] The Slack channel ID for the message to link."""
    channel: String @deprecated(reason: "This field is now ignored.")

    """
    [DEPRECATED] Unique identifier of either a thread's parent message or a message in the thread.
    """
    ts: String @deprecated(reason: "This field is now ignored.")

    """[DEPRECATED] The latest timestamp for the Slack message."""
    latest: String @deprecated(reason: "This field is now ignored.")

    """The issue to which to link the Slack message."""
    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."""
  attachmentLinkFront(
    """
    Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=application` mode.
    """
    createAsUser: String

    """
    Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=application` 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."""
    issueId: String!

    """Optional attachment ID that may be provided through the API."""
    id: String
  ): FrontAttachmentPayload!

  """Link an existing Intercom conversation to an issue."""
  attachmentLinkIntercom(
    """
    Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=application` mode.
    """
    createAsUser: String

    """
    Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=application` 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."""
    issueId: String!
  ): AttachmentPayload!

  """Link an existing Jira issue to an issue."""
  attachmentLinkJiraIssue(
    """
    Create attachment as a user with the provided name. This option is only available to OAuth applications creating attachments in `actor=application` mode.
    """
    createAsUser: String

    """
    Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=application` mode.
    """
    displayIconUrl: String

    """The title to use for the attachment."""
    title: String

    """The issue for which to link the Jira issue."""
    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!

  """Deletes an issue attachment."""
  attachmentDelete(
    """The identifier of the attachment to delete."""
    id: String!
  ): DeletePayload!

  """[INTERNAL] Creates a new API key."""
  apiKeyCreate(
    """The api key object to create."""
    input: ApiKeyCreateInput!
  ): ApiKeyPayload!

  """[INTERNAL] Deletes an API key."""
  apiKeyDelete(
    """The identifier of the API key to delete."""
    id: String!
  ): DeletePayload!

  """[INTERNAL] Updates an API key's allowed teams."""
  apiKeyUpdate(
    """The update input."""
    input: ApiKeyUpdateInput!

    """The identifier of the API key to update."""
    id: String!
  ): ApiKeyPayload!
}

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 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

  """The roadmap these view preferences are associated with."""
  roadmapId: String

  """[Internal] The initiative these view preferences are associated with."""
  initiativeId: String

  """The label these view preferences are associated with."""
  labelId: String

  """The cycle these view preferences are associated with."""
  cycleId: String @deprecated(reason: "Not used")

  """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
  userProfile
  userProfileCreatedByUser
  board
  completedCycle
  cycle
  project
  projectDocuments
  label
  triage
  activeIssues
  backlog
  subIssues
  allIssues
  customView
  customViews
  roadmapAll
  initiative
  initiativeOverview
  initiativeOverviewSubInitiatives
  initiatives
  initiativesPlanned
  initiativesCompleted
  projects
  projectsAll
  projectsBacklog
  projectsClosed
  search
  splitSearch
  teams
  archive
  quickView
  issueIdentifiers
  customers
  customer
  embeddedCustomerNeeds
  projectCustomerNeeds
  reviews
  myReviews
  feedAll
  feedCreated
  feedFollowing
  feedPopular
  workspaceMembers
  customRoadmap
  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

  """The types of emails the user has unsubscribed from."""
  unsubscribedFrom: [String!] @deprecated(reason: "Use individual subscription fields instead. This field is now ignored.")

  """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 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
}

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
}

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 {
  """
  [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: 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
  rewindBannerDismissed
  helpIslandFeatureInsightsDismissed
  dueDateShortcutMigration
  slackCommentReactionTipShown
  issueLabelSuggestionUsed
  threadedCommentsNudgeIsSeen
  desktopTabsOnboardingDismissed
  milestoneOnboardingIsSeenAndDismissed
  projectBoardOnboardingIsSeenAndDismissed
  figmaPluginBannerDismissed
  initiativesBannerDismissed
  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
}

"""The categories of notifications a user can subscribe to."""
enum NotificationCategory {
  assignments
  statusChanges
  commentsAndReplies
  mentions
  reactions
  subscriptions
  documentChanges
  postsAndUpdates
  reminders
  reviews
  appsAndIntegrations
  triage
  customers
  system
}

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

  """Whether the user account is active."""
  active: Boolean @deprecated(reason: "Ignored, use userSuspend or userUnsuspend mutation instead")

  """Reason for deactivation."""
  disableReason: String @deprecated(reason: "Ignored, use userSuspend or userUnsuspend mutation instead")

  """Whether the user account has admin privileges."""
  admin: Boolean @deprecated(reason: "Ignored, use userPromoteAdmin or userDemoteAdmin mutation instead")

  """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 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 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 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

  """The organization associated with the team."""
  organizationId: String @deprecated(reason: "The request context is used to determine the organization.")

  """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

  """[DEPRECATED] Whether issues without priority should be sorted first."""
  issueOrderingNoPriorityFirst: Boolean @deprecated(reason: "This setting is no longer in use.")

  """
  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
}

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

  """[DEPRECATED] Whether issues without priority should be sorted first."""
  issueOrderingNoPriorityFirst: Boolean @deprecated(reason: "This setting is no longer in use.")

  """
  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

  """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

  """
  [INTERNAL] Whether to automatically close a parent issue in this team if all its sub-issues are closed.
  """
  autoCloseParentIssues: Boolean

  """
  [INTERNAL] 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!
  """
  joinByDefault: Boolean

  """
  Whether the team is managed by SCIM integration. Mutation restricted to workspace admins 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
}

"""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 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."""
  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 user identifier of the subscription."""
  userId: String @deprecated(reason: "Not needed anymore.")

  """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 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

  """[DEPRECATED] The state of the project."""
  state: String @deprecated(reason: "Use statusId instead")

  """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 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 = Normal, 4 = Low.
  """
  priority: Int
}

input ProjectUpdateInput {
  """[DEPRECATED] The state of the project."""
  state: String @deprecated(reason: "Use statusId instead")

  """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 = Normal, 4 = Low.
  """
  priority: Int
}

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 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 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 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 member users are allowed to send invites."""
  allowMembersToInvite: Boolean

  """Whether team creation is restricted to admins."""
  restrictTeamCreationToAdmins: Boolean

  """
  IP restriction configurations controlling allowed access the workspace.
  """
  ipRestrictions: [OrganizationIpRestrictionInput!]

  """[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

  """Whether the organization has enabled the feed feature."""
  feedEnabled: Boolean

  """Default schedule for how often feed summaries are generated."""
  defaultFeedSummarySchedule: FeedSummarySchedule
}

"""[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!
}

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

  """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 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
}

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 parent issue."""
  parentId: String

  """
  The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 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 in its column on the board view."""
  boardOrder: Float @deprecated(reason: "Will be removed in near future, please use `sortOrder` instead")

  """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=application` mode.
  """
  createAsUser: String

  """
  Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=application` 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
}

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 parent issue."""
  parentId: String

  """
  The priority of the issue. 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 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 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 in its column on the board view."""
  boardOrder: Float @deprecated(reason: "Will be removed in near future, please use `sortOrder` instead")

  """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."""
  issueId: String!

  """The identifier of the related issue."""
  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."""
  issueId: String

  """The identifier of the related issue."""
  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
}

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
}

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
  jira: JiraSettingsInput
  notion: NotionSettingsInput
  opsgenie: OpsgenieInput
  pagerDuty: PagerDutyInput
  launchDarkly: LaunchDarklySettingsInput
  jiraPersonal: JiraPersonalSettingsInput
}

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 Linear should automatically respond with issue unfurls when an issue identifier is mentioned in a Slack message.
  """
  linkOnIssueIdMention: 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

  """
  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!
}

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!
}

input SlackPostSettingsInput {
  channel: String!
  channelId: String!
  configurationUrl: String!

  """Slack workspace id"""
  teamId: String
  channelType: SlackChannelType
}

enum SlackChannelType {
  DirectMessage
  MultiPersonDirectMessage
  Private
  Public
}

input GoogleSheetsSettingsInput {
  spreadsheetId: String!
  spreadsheetUrl: String!
  sheetId: Float!
  updatedIssuesAt: DateTime
}

input GitHubSettingsInput {
  pullRequestReviewTool: PullRequestReviewTool

  """The avatar URL for the GitHub organization."""
  orgAvatarUrl: String

  """The GitHub organization's name."""
  orgLogin: 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
}

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
}

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

  """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
}

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
}

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
}

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
}

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
}

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
}

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!
}

input AirbyteConfigurationInput {
  """Linear export API key."""
  apiKey: String!
}

input JiraConfigurationInput {
  """The Jira personal access token."""
  accessToken: String!

  """The Jira user's email address."""
  email: String!

  """The Jira installation hostname."""
  hostname: String!

  """[DEPRECATED] The Jira project keys to scope the integration to."""
  project: String @deprecated(reason: "This parameter is ignored, use mappings instead to scope the integration to one or more specific projects")

  """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
}

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

  """
  [DEPRECATED] The target branch pattern. If null, all branches are targeted.
  """
  branchPattern: String @deprecated(reason: "Use targetBranchId instead.")

  """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

  """
  [DEPRECATED] The target branch pattern. If null, all branches are targeted.
  """
  branchPattern: String @deprecated(reason: "Use targetBranchId instead.")

  """The associated target branch. If null, all branches are targeted."""
  targetBranchId: String

  """The event that triggers the automation."""
  event: GitAutomationStates
}

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 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."""
  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

  """The identifier of the roadmap to favorite."""
  roadmapId: 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 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
}

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 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 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 unsubscribed 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!
}

"""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!

  """Whether the email address is enabled."""
  enabled: 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 user who created the email intake address."""
  creator: User
}

input EmailIntakeAddressCreateInput {
  """
  The identifier in UUID v4 format. If none is provided, the backend will generate one.
  """
  id: 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
}

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!
}

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

  """[Internal] The document content as a Prosemirror document."""
  contentData: JSONObject @deprecated(reason: "Use content instead")

  """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

  """[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

  """[Internal] The document content as a Prosemirror document."""
  contentData: JSONObject @deprecated(reason: "Use content instead")

  """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

  """[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 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
}

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."""
  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

  """[DEPRECATED] Optional URL to the source of the customer need."""
  url: String @deprecated(reason: "Use attachmentUrl instead")

  """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=application` mode.
  """
  createAsUser: String

  """
  Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating needs in `actor=application` mode.
  """
  displayIconUrl: String
}

input CustomerNeedCreateFromAttachmentInput {
  """The attachment this need is created from."""
  attachmentId: String!
}

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."""
  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

  """The content of the need in markdown format."""
  body: String

  """[Internal] The content of the need as a Prosemirror document."""
  bodyData: JSON

  """[DEPRECATED] Optional URL to the source of the customer need."""
  url: String @deprecated(reason: "Use attachmentUrl instead")

  """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 filters applied to issues in the custom view."""
  filters: JSONObject @deprecated(reason: "Use `filterData` instead.")

  """The filter applied to issues in the custom view."""
  filterData: IssueFilter

  """The project filter applied to issues in the custom view."""
  projectFilterData: ProjectFilter

  """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 filters applied to issues in the custom view."""
  filters: JSONObject @deprecated(reason: "Use `filterData` instead.")

  """The filter applied to issues in the custom view."""
  filterData: IssueFilter

  """The project filter applied to issues in the custom view."""
  projectFilterData: ProjectFilter

  """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
}

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."""
  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

  """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=application` mode.
  """
  createAsUser: String

  """
  Provide an external user avatar URL. Can only be used in conjunction with the `createAsUser` options. This option is only available to OAuth applications creating comments in `actor=application` 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.
  """
  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

  """Signup code."""
  signupCode: String @deprecated(reason: "Not used anymore")

  """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
}

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!

  """The identifiers of the teams to auto-join."""
  teamIdsToJoin: [String!] @deprecated(reason: "Not used anymore")

  """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!

  """The identifiers of the teams to auto-join."""
  teamIdsToJoin: [String!] @deprecated(reason: "Not used anymore")

  """Signup code."""
  signupCode: String @deprecated(reason: "Not used anymore")

  """
  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
}

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."""
  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 ApiKeyPayload {
  """The identifier of the last sync operation."""
  lastSyncId: Float!

  """The API key that was created."""
  apiKey: ApiKey!

  """Whether the operation was successful."""
  success: Boolean!
}

input ApiKeyCreateInput {
  """
  The identifier in UUID v4 format. If none is provided, the backend will generate one.
  """
  id: String

  """The label for the API key."""
  label: String!

  """The API key value."""
  key: String!

  """
  List of team IDs to restrict this API key to. Default is all teams the user has access to.
  """
  teamIds: [String!]

  """Scopes the API key has access to. Default is all scopes."""
  scope: [String!]
}

input ApiKeyUpdateInput {
  """The new label for the API key."""
  label: String

  """
  List of team IDs to restrict this API key to. Default is all teams the user has access to.
  """
  teamIds: [String!]

  """Scopes the API key has access to. Default is all scopes."""
  scope: [String!]
}