schema {
  query: Query
  mutation: Mutation
  subscription: Subscription
}

type APICallbackHeader {
  key: String!
  value: String!
}

input APICallbackHeaderInput {
  key: String!
  value: String!
}

input AbortBuildInput {
  buildId: ObjectID!
}

type AbortBuildPayload {
  build: Build!
}

type Account {
  accountManagers: [String!]!
  accountSettings: [AccountSetting!]!
  accountUsers(
    after: String
    before: String
    first: Int = 15
    last: Int
  ): AccountUserConnection
  active: Boolean!
  addressCity: String
  addressZip: String
  apiCallbackHeaders: [APICallbackHeader!]
  apiCallbackUrl: String
  availableCredits: BigInt!
  buildSchedules(
    after: String
    before: String
    """
    Filtering options for BuildSchedules returned from the connection.
    """
    filter: BuildScheduleConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for BuildSchedules returned from the connection.
    """
    orderBy: [BuildScheduleOrder!]
  ): BuildScheduleConnection!
  country: String
  createdAt: DateTime!
  creditReports(
    after: String
    before: String
    """
    Filtering options for CreditReports returned from the connection.
    """
    filter: CreditReportConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for CreditReports returned from the connection.
    """
    orderBy: [CreditReportOrder!]
  ): CreditReportConnection
  customDashboards(
    after: String
    before: String
    """
    Filtering options for CustomDashboards returned from the connection.
    """
    filter: CustomDashboardConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for CustomDashboards returned from the connection.
    """
    orderBy: [CustomDashboardOrder!]
  ): CustomDashboardConnection!
  customHeaderColor: String
  customLogo: String
  customMenuColor: String
  customMetricContainers(
    after: String
    before: String
    """
    Filtering options for CustomMetricContainers returned from the connection.
    """
    filter: CustomMetricContainerConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for CustomMetricContainers returned from the connection.
    """
    orderBy: [CustomMetricContainerOrder!]
  ): CustomMetricContainerConnection!
  featureFlag(flagName: String!): FeatureFlag!
  featureFlags: [FeatureFlag!]!
  id: ObjectID!
  jiraAuthentications(
    after: String
    before: String
    first: Int = 15
    last: Int
  ): JiraAuthenticationConnection!
  limitLevelsMax: Int!
  limitPagesMax: Int!
  locations: [Location!]!
  """
  Maximum crawl rate that can be set for a Project or Test Suite.
  """
  maxCrawlRate: Int!
  monitorNotifications(
    after: String
    before: String
    """
    Filtering options for TestResults returned from the connection.
    """
    filter: TestResultConnectionFilterInput
    first: Int = 15
    last: Int
    projectIds: [ObjectID!]
  ): TestResultConnection!
  name: String
  notLinkedTestSuites(
    after: String
    before: String
    """
    Filtering options for TestSuites returned from the connection.
    """
    filter: TestSuiteConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for TestSuites returned from the connection.
    """
    orderBy: [TestSuiteOrder!]
  ): TestSuiteConnection
  packagePlan: String
  parentTestSuites(
    after: String
    before: String
    """
    Filtering options for TestSuites returned from the connection.
    """
    filter: TestSuiteConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for TestSuites returned from the connection.
    """
    orderBy: [TestSuiteOrder!]
  ): TestSuiteConnection
  phone: String
  primaryAccountPackage: AccountPackage
  project(id: ObjectID!): Project
  projects(
    after: String
    before: String
    """
    Filtering options for Projects returned from the connection.
    """
    filter: ProjectConnectionFilterInput
    first: Int = 15
    includeTestSuites: Boolean
    last: Int
    """
    Ordering options for Projects returned from the connection.
    """
    orderBy: [ProjectOrder!]
  ): ProjectConnection!
  rawID: String!
  reports(
    after: String
    before: String
    """
    Filtering options for Reports returned from the connection.
    """
    filter: ReportConnectionFilterInput
    first: Int = 15
    includeUnscopedReports: Boolean! = false
    last: Int
    """
    Ordering options for Reports returned from the connection.
    """
    orderBy: [ReportOrder!]
    reportTemplateFilter: ReportTemplateConnectionFilterInput
  ): ReportConnection!
  serpentCrawlerEnabled: Boolean!
  subscription: AccountSubscription
  testSuites(
    after: String
    before: String
    """
    Filtering options for TestSuites returned from the connection.
    """
    filter: TestSuiteConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for TestSuites returned from the connection.
    """
    orderBy: [TestSuiteOrder!]
  ): TestSuiteConnection
  timezone: String
  unscheduledTestSuites(
    after: String
    before: String
    """
    Filtering options for TestSuites returned from the connection.
    """
    filter: TestSuiteConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for TestSuites returned from the connection.
    """
    orderBy: [TestSuiteOrder!]
  ): TestSuiteConnection
  updatedAt: DateTime!
}

type AccountConnection {
  """
  A list of edges.
  """
  edges: [AccountEdge!]!
  """
  A list of nodes.
  """
  nodes: [Account!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of Accounts in the connection.
  """
  totalCount: Int!
}

input AccountConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [AccountConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [AccountConnectionFilterInput!]
  active: ConnectionBooleanFilterInput
  """
  AccountConnectionFilterInput.and will be removed. Use AccountConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: AccountConnectionFilterInput
  createdAt: ConnectionDateFilterInput
  customLogo: ConnectionStringFilterInput
  name: ConnectionStringFilterInput
  packagePlan: ConnectionStringFilterInput
  serpentCrawlerEnabled: ConnectionBooleanFilterInput
  updatedAt: ConnectionDateFilterInput
}

type AccountEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: Account!
}

input AccountOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order Accounts by.
  """
  field: AccountOrderField!
}

enum AccountOrderField {
  active
  createdAt
  id
  name
  packagePlan
  updatedAt
}

type AccountPackage {
  credits: BigInt!
  packageType: AccountPackageType!
}

enum AccountPackageType {
  Archived
  PartnerSubscription
  Subscription
  Trial
}

type AccountSetting {
  code: String!
  dataType: AccountSettingDataType!
  description: String!
  limit: Int
  name: String!
  source: AccountSettingSource!
  type: AccountSettingType!
  unit: String
  visible: Boolean!
}

enum AccountSettingDataType {
  Boolean
  Number
}

enum AccountSettingSource {
  Manual
  Package
}

enum AccountSettingType {
  IntegrationAddons
  SubscriptionSettings
}

type AccountSubscription {
  addonByIntegrationType(integrationType: String!): AccountSubscriptionAddon
  addons: [AccountSubscriptionAddon!]!
  analyzeAvailable: Boolean!
  automateAvailable: Boolean!
  automatorAvailable: Boolean!
    @deprecated(reason: "Use `automateAvailable` instead.")
  billingAt: DateTime!
  currentBillingPeriod: DateTimeRange!
  googleDataStudioAvailable: Boolean!
  impactAvailable: Boolean!
  jsRenderingAvailable: Boolean!
  monitorAvailable: Boolean!
  plan: AccountSubscriptionPlan!
  segmentationAvailable: Boolean!
  status: String!
}

type AccountSubscriptionAddon {
  code: String!
  integrationType: String
  name: String!
  status: String!
  type: String!
}

type AccountSubscriptionPlan {
  code: String!
  minCommitmentPeriod: Int!
  name: String!
  period: Int!
  status: String!
}

type AccountUser {
  account: Account!
  role: Role!
  roleCode: RoleCode!
  userEmail: String!
  userEmailValidatedAt: DateTime
  userFirstName: String
  userId: ObjectID!
  userLastName: String
}

type AccountUserConnection {
  """
  A list of edges.
  """
  edges: [AccountUserEdge!]!
  """
  A list of nodes.
  """
  nodes: [AccountUser!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of AccountUsers in the connection.
  """
  totalCount: Int!
}

type AccountUserEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: AccountUser!
}

input AddAccountUserInput {
  accountId: ObjectID!
  roleCode: RoleCode!
  userEmail: String!
}

type AddAccountUserPayload {
  account: Account!
}

input AddCustomSitemapsInput {
  projectId: ObjectID!
  sitemapUrls: [String!]!
}

type AddCustomSitemapsPayload {
  sitemaps: [Sitemap!]!
}

type AdobeAnalyticsProjectReportSuite {
  adobeConnection: AdobeConnection
  createdAt: DateTime!
  id: ObjectID!
  maxRows: Int
  minimumVisits: Int!
  numberOfDays: Int!
  perPage: Int
  project: Project!
  rawID: String!
  reportSuiteId: String!
  suiteName: String!
  updatedAt: DateTime!
}

type AdobeAnalyticsProjectReportSuiteConnection {
  """
  A list of edges.
  """
  edges: [AdobeAnalyticsProjectReportSuiteEdge!]!
  """
  A list of nodes.
  """
  nodes: [AdobeAnalyticsProjectReportSuite!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of AdobeAnalyticsProjectReportSuites in the connection.
  """
  totalCount: Int!
}

input AdobeAnalyticsProjectReportSuiteConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [AdobeAnalyticsProjectReportSuiteConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [AdobeAnalyticsProjectReportSuiteConnectionFilterInput!]
  """
  AdobeAnalyticsProjectReportSuiteConnectionFilterInput.and will be removed. Use AdobeAnalyticsProjectReportSuiteConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: AdobeAnalyticsProjectReportSuiteConnectionFilterInput
  createdAt: ConnectionDateFilterInput
  maxRows: ConnectionIntFilterInput
  minimumVisits: ConnectionIntFilterInput
  numberOfDays: ConnectionIntFilterInput
  perPage: ConnectionIntFilterInput
  reportSuiteId: ConnectionStringFilterInput
  suiteName: ConnectionStringFilterInput
  updatedAt: ConnectionDateFilterInput
}

type AdobeAnalyticsProjectReportSuiteEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: AdobeAnalyticsProjectReportSuite!
}

input AdobeAnalyticsProjectReportSuiteOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order AdobeAnalyticsProjectReportSuites by.
  """
  field: AdobeAnalyticsProjectReportSuiteOrderField!
}

enum AdobeAnalyticsProjectReportSuiteOrderField {
  createdAt
  maxRows
  minimumVisits
  numberOfDays
  perPage
  reportSuiteId
  suiteName
  updatedAt
}

type AdobeAnalyticsReportSuite {
  connection: AdobeConnection!
  reportSuiteId: String!
  suiteName: String!
}

type AdobeConnection {
  adobeAnalyticsProjectReportSuites(
    after: String
    before: String
    """
    Filtering options for AdobeAnalyticsProjectReportSuites returned from the connection.
    """
    filter: AdobeAnalyticsProjectReportSuiteConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for AdobeAnalyticsProjectReportSuites returned from the connection.
    """
    orderBy: [AdobeAnalyticsProjectReportSuiteOrder!]
  ): AdobeAnalyticsProjectReportSuiteConnection!
  availableAdobeAnalyticsReportSuites: [AdobeAnalyticsReportSuite!]!
  company: String!
  createdAt: DateTime!
  id: ObjectID!
  isWorking: Boolean!
  rawID: String!
  secretLastFragment: String!
  updatedAt: DateTime!
  username: String!
}

type AdobeConnectionConnection {
  """
  A list of edges.
  """
  edges: [AdobeConnectionEdge!]!
  """
  A list of nodes.
  """
  nodes: [AdobeConnection!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of AdobeConnections in the connection.
  """
  totalCount: Int!
}

input AdobeConnectionConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [AdobeConnectionConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [AdobeConnectionConnectionFilterInput!]
  """
  AdobeConnectionConnectionFilterInput.and will be removed. Use AdobeConnectionConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: AdobeConnectionConnectionFilterInput
  company: ConnectionStringFilterInput
  createdAt: ConnectionDateFilterInput
  updatedAt: ConnectionDateFilterInput
  username: ConnectionStringFilterInput
}

type AdobeConnectionEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: AdobeConnection!
}

input AdobeConnectionOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order AdobeConnections by.
  """
  field: AdobeConnectionOrderField!
}

enum AdobeConnectionOrderField {
  company
  createdAt
  updatedAt
  username
}

type AdvancedCrawlRate {
  end: AdvancedCrawlRateTime!
  maximumCrawlRate: Float!
  start: AdvancedCrawlRateTime!
  type: AdvancedCrawlRateType!
}

enum AdvancedCrawlRateDay {
  Friday
  Monday
  Saturday
  Sunday
  Thursday
  Tuesday
  Wednesday
}

input AdvancedCrawlRateInput {
  end: AdvancedCrawlRateTimeInput!
  maximumCrawlRate: Float!
  start: AdvancedCrawlRateTimeInput!
  type: AdvancedCrawlRateType!
}

type AdvancedCrawlRateTime {
  day: AdvancedCrawlRateDay
  """
  UTC time in the HH:MM format.
  """
  hour: String!
}

input AdvancedCrawlRateTimeInput {
  day: AdvancedCrawlRateDay
  """
  UTC time in the HH:MM format.
  """
  hour: String!
}

enum AdvancedCrawlRateType {
  Daily
  Weekly
}

type AdvancedCrawlStats {
  crawledCrawlRate: Float
  externalCrawlRate: Float
  internalCrawlRate: Float
  uncrawledCrawlRate: Float
}

type AlertSetting {
  code: AlertSettingCode!
  name: String!
}

enum AlertSettingCode {
  Always
  Never
}

type AllMetricsReportRowConnection {
  """
  A list of edges.
  """
  edges: [AllMetricsReportRowEdge!]!
  """
  A list of nodes.
  """
  nodes: [JSONObject!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of AllMetricsReportRows in the connection.
  """
  totalCount: Int!
}

type AllMetricsReportRowEdge {
  """
  Used in `before` and `after` args
  """
  cursor: String!
  node: JSONObject!
}

type AuthToken {
  value: String!
}

type AutomatorAccountStatistics {
  averageUrlsCrawledPerDay: Float!
  buildsCount: Float!
  failedTestPercentage: Float!
  passedTestPercentage: Float!
  testSuitesCount: Float!
  testsPerformedCount: Float!
  warnedTestPercentage: Float!
}

interface BaseProject {
  alertEmails: [String!]
  allPagesTotal: Int
  apiCallbackHeaders: [APICallbackHeader!]
  apiCallbackUrl: String
  autoFinalizeOnCrawlLimits: Boolean!
  compareToCrawl: CompareToCrawl
  crawlDisallowedUrls1stLevel: Boolean!
  crawlHyperlinksExternal: Boolean!
  crawlHyperlinksInternal: Boolean!
  crawlImagesExternal: Boolean!
  crawlImagesInternal: Boolean!
  crawlNofollowHyperlinks: Boolean!
  crawlNonHtml: Boolean!
  crawlNotIncluded1stLevel: Boolean!
  crawlOtherRelExternal: Boolean!
  crawlOtherRelInternal: Boolean!
  crawlRate: Float! @deprecated(reason: "Renamed to maximumCrawlRate.")
  crawlRedirectsExternal: Boolean!
  crawlRedirectsInternal: Boolean!
  crawlRelAmphtmlExternal: Boolean!
  crawlRelAmphtmlInternal: Boolean!
  crawlRelCanonicalsExternal: Boolean!
  crawlRelCanonicalsInternal: Boolean!
  crawlRelHreflangsExternal: Boolean!
  crawlRelHreflangsInternal: Boolean!
  crawlRelMobileExternal: Boolean!
  crawlRelMobileInternal: Boolean!
  crawlRelNextPrevExternal: Boolean!
  crawlRelNextPrevInternal: Boolean!
  crawlRobotsTxtNoindex: Boolean!
  crawlScriptsExternal: Boolean!
  crawlScriptsInternal: Boolean!
  crawlSitemapsExternal: Boolean!
  crawlSitemapsInternal: Boolean!
  crawlStylesheetsExternal: Boolean!
  crawlStylesheetsInternal: Boolean!
  crawlTestSite: Boolean!
  crawlingAt: DateTime
  crawlsTotalCount: Int!
  createdAt: DateTime!
  customDns: [CustomDnsSetting!]
  """
  Use regular expressions to extract custom information from pages when they are crawled.
  """
  customExtractions: [CustomExtractionSetting!]
  customHeaderUserAgent: String
    @deprecated(reason: "Renamed to userAgentString.")
  customHeaderUserAgentShort: String
    @deprecated(reason: "Renamed to userAgentToken.")
  customRequestHeaders: JSONObject
  discoverSitemapsInRobotsTxt: Boolean!
  duplicatePrecision: Float!
  emptyPageThreshold: Int
  excludeUrlPatterns: [String!]
  finishedAt: DateTime
  forceMonitorApp: Boolean!
  gaDateRange: Int!
  highLogSummaryRequests: Int!
    @deprecated(reason: "Renamed to logSummaryRequestsHigh.")
  ignoreInvalidSSLCertificate: Boolean
  includeHttpAndHttps: Boolean!
  includeSubdomains: Boolean!
  includeUrlPatterns: [String!]
  isTestSuite: Boolean!
  """
  Same as crawlingAt, but includes dates of deleted crawls.
  """
  lastCrawlCrawlingAt: DateTime
  lastCrawlStatus: CrawlStatus
  legacyTasksTotalCount: Int!
  limitLevelsMax: Int!
  limitPagesMax: Int! @deprecated(reason: "Renamed to limitUrlsMax.")
  limitUrlsMax: Int!
  logSummaryRequestsHigh: Int!
  logSummaryRequestsLow: Int!
  lowLogSummaryRequests: Int!
    @deprecated(reason: "Renamed to logSummaryRequestsLow.")
  maxBodyContentLength: Int
  maxContentSize: Int! @deprecated(reason: "Renamed to maxBodyContentLength.")
  maxDescriptionLength: Int
  maxExternalLinks: Int
  maxHtmlSize: Int
  maxLinks: Int
  maxLinksProcessed: Int!
  maxLoadTime: Float
  maxRedirections: Int!
  maxTitleWidth: Int!
  maxUrlLength: Int
  maximumCrawlRate: Float!
  maximumCrawlRateAdvanced: [AdvancedCrawlRate!]
  minContentRatio: Float
  minDescriptionLength: Int!
  minTitleLength: Int!
  minVisits: Int!
  mobileHomepageUrl: String
  mobileUrlPattern: String
  name: String!
  primaryDomain: String!
  rendererBlockAds: Boolean!
  rendererBlockAnalytics: Boolean!
  rendererBlockCustom: [String!]
  rendererJsString: String
  rendererJsUrls: [String!]
  robotsOverwrite: String
  schedulesTotalCount: Int!
  secondaryDomains: [String!]
  segmentsTotalCount: Int!
  sitePrimary: String! @deprecated(reason: "Renamed to primaryDomain.")
  siteTest: String @deprecated(reason: "Renamed to testSiteDomain.")
  siteTestUser: String @deprecated(reason: "Renamed to testSiteUsername.")
  sitemapUrls: [String!]
  startUrls: [String!]
  testSiteDomain: String
  testSiteUsername: String
  testsTotalCount: Int!
  thinPageThreshold: Int
  totalSteps: Int
  updatedAt: DateTime!
  urlRewriteQueryParameters: [String!]
  urlRewriteRules: [UrlRewriteRule!]
  urlRewriteStripFragment: Boolean!
  urlSampling: [UrlSampling!]
  urlsExcluded: [String!] @deprecated(reason: "Renamed to excludeUrlPatterns.")
  urlsIncluded: [String!] @deprecated(reason: "Renamed to includeUrlPatterns.")
  useMobileSettings: Boolean!
  useRenderer: Boolean!
  useRobotsOverwrite: Boolean!
  useStealthMode: Boolean!
  useUrlRewriteRules: Boolean!
  userAgentString: String
  userAgentStringMobile: String
  userAgentToken: String
  userAgentTokenMobile: String
}

"""
The `BigInt` scalar type represents non-fractional signed whole numeric values. BigInt can represent values between -(2^53) + 1 and 2^53 - 1.
"""
scalar BigInt

type Build {
  buildScheduleRun: BuildScheduleRun
  canceledByBuild: Build
  ciBuildId: String
  crawl: Crawl
  crawlDcWebUrl: String
  createdAt: DateTime!
  failedTestCount: Float
  finishedAt: DateTime
  id: ObjectID!
  passed: Boolean!
  passedTestCount: Float
  rawID: String!
  status: BuildStatus!
  testResults(
    after: String
    before: String
    """
    Filtering options for TestResults returned from the connection.
    """
    filter: TestResultConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for TestResults returned from the connection.
    """
    orderBy: [TestResultOrder!]
  ): TestResultConnection!
  testSuite: TestSuite!
  triggerType: BuildTriggerType!
  updatedAt: DateTime!
  warnedTestCount: Float
}

type BuildConnection {
  """
  A list of edges.
  """
  edges: [BuildEdge!]!
  """
  A list of nodes.
  """
  nodes: [Build!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of Builds in the connection.
  """
  totalCount: Int!
}

input BuildConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [BuildConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [BuildConnectionFilterInput!]
  """
  BuildConnectionFilterInput.and will be removed. Use BuildConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: BuildConnectionFilterInput
  ciBuildId: ConnectionStringFilterInput
  createdAt: ConnectionDateFilterInput
  failedTestCount: ConnectionFloatFilterInput
  finishedAt: ConnectionDateFilterInput
  passed: ConnectionBooleanFilterInput
  passedTestCount: ConnectionFloatFilterInput
  status: ConnectionStringFilterInput
  updatedAt: ConnectionDateFilterInput
  warnedTestCount: ConnectionFloatFilterInput
}

type BuildEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: Build!
}

input BuildOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order Builds by.
  """
  field: BuildOrderField!
}

enum BuildOrderField {
  ciBuildId
  createdAt
  failedTestCount
  finishedAt
  id
  passed
  passedTestCount
  status
  updatedAt
  warnedTestCount
}

type BuildSchedule {
  account: Account!
  buildScheduleTestSuites(
    after: String
    before: String
    first: Int = 15
    last: Int
    """
    Ordering options for BuildScheduleTestSuites returned from the connection.
    """
    orderBy: [BuildScheduleTestSuiteOrder!]
  ): BuildScheduleTestSuiteConnection!
  createdAt: DateTime!
  id: ObjectID!
  lastRunStartedAt: DateTime
  name: String!
  nextRunAt: DateTime
  rawID: String!
  repetitionRate: BuildScheduleRepetitionRate
  startAt: DateTime!
  updatedAt: DateTime!
}

type BuildScheduleConnection {
  """
  A list of edges.
  """
  edges: [BuildScheduleEdge!]!
  """
  A list of nodes.
  """
  nodes: [BuildSchedule!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of BuildSchedules in the connection.
  """
  totalCount: Int!
}

input BuildScheduleConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [BuildScheduleConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [BuildScheduleConnectionFilterInput!]
  """
  BuildScheduleConnectionFilterInput.and will be removed. Use BuildScheduleConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: BuildScheduleConnectionFilterInput
  createdAt: ConnectionDateFilterInput
  lastRunStartedAt: ConnectionDateFilterInput
  name: ConnectionStringFilterInput
  nextRunAt: ConnectionDateFilterInput
  startAt: ConnectionDateFilterInput
  updatedAt: ConnectionDateFilterInput
}

type BuildScheduleEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: BuildSchedule!
}

input BuildScheduleOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order BuildSchedules by.
  """
  field: BuildScheduleOrderField!
}

enum BuildScheduleOrderField {
  createdAt
  id
  lastRunStartedAt
  name
  nextRunAt
  startAt
  updatedAt
}

enum BuildScheduleRepetitionRate {
  Daily
  EveryFourHours
  EveryTwelveHours
  EveryWeekday
  Hourly
  Monthly
  Weekly
}

type BuildScheduleRun {
  buildSchedule: BuildSchedule!
  createdAt: DateTime!
  id: ObjectID!
  rawID: String!
  startedAt: DateTime
  updatedAt: DateTime!
}

type BuildScheduleTestSuite {
  buildSchedule: BuildSchedule!
  createdAt: DateTime!
  id: ObjectID!
  lastRunBuild: Build
  rawID: String!
  testSuite: TestSuite!
}

type BuildScheduleTestSuiteConnection {
  """
  A list of edges.
  """
  edges: [BuildScheduleTestSuiteEdge!]!
  """
  A list of nodes.
  """
  nodes: [BuildScheduleTestSuite!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of BuildScheduleTestSuites in the connection.
  """
  totalCount: Int!
}

type BuildScheduleTestSuiteEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: BuildScheduleTestSuite!
}

input BuildScheduleTestSuiteOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order BuildScheduleTestSuites by.
  """
  field: BuildScheduleTestSuiteOrderField!
}

enum BuildScheduleTestSuiteOrderField {
  createdAt
  id
}

enum BuildStatus {
  Aborted
  Cancelled
  Finished
  Queued
  Running
}

enum BuildTriggerType {
  CI
  Manual
  Schedule
}

input CancelBuildInput {
  buildId: ObjectID!
}

type CancelBuildPayload {
  build: Build!
}

input CancelCrawlingInput {
  crawlId: ObjectID!
}

type CancelCrawlingPayload {
  crawl: Crawl!
}

type ChangedReportConnection {
  nodes: [Report!]!
  totalCount: Int!
}

input CheckDomainInput {
  url: String!
}

type CheckDomainPayload {
  variants: [DomainCheckVariant!]!
}

input CloneTestSuiteInput {
  testSuiteId: ObjectID!
}

type CloneTestSuitePayload {
  testSuite: TestSuite!
}

"""
CompareTo scalar type represents a union of CompareToType enum ("LastCrawl", "None") and an ObjectID of a Crawl.
"""
scalar CompareToCrawl

enum CompareToCrawlType {
  LastCrawl
  None
}

input ConfirmEmailInput {
  token: String!
}

type ConfirmEmailPayload {
  session: Session!
}

input ConnectionBigIntFilterInput {
  eq: BigInt
  ge: BigInt
  gt: BigInt
  in: [BigInt!]
  isNull: Boolean
  le: BigInt
  lt: BigInt
  ne: BigInt
  notIn: [BigInt!]
}

input ConnectionBooleanFilterInput {
  eq: Boolean
  isNull: Boolean
  ne: Boolean
}

input ConnectionCrawlStatusFilterInput {
  eq: CrawlStatus
  in: [CrawlStatus!]
  isNull: Boolean
  ne: CrawlStatus
  notIn: [CrawlStatus!]
}

input ConnectionCustomChartTypeFilterInput {
  eq: CustomChartType
  in: [CustomChartType!]
  isNull: Boolean
  ne: CustomChartType
  notIn: [CustomChartType!]
}

input ConnectionCustomDashboardTypeFilterInput {
  eq: CustomDashboardType
  in: [CustomDashboardType!]
  isNull: Boolean
  ne: CustomDashboardType
  notIn: [CustomDashboardType!]
}

input ConnectionCustomTableTypeFilterInput {
  eq: CustomTableType
  in: [CustomTableType!]
  isNull: Boolean
  ne: CustomTableType
  notIn: [CustomTableType!]
}

input ConnectionDatasourceCodeFilterInput {
  eq: DatasourceCode
  in: [DatasourceCode!]
  isNull: Boolean
  ne: DatasourceCode
  notIn: [DatasourceCode!]
}

input ConnectionDateFilterInput {
  eq: DateTime
  ge: DateTime
  gt: DateTime
  in: [DateTime!]
  isNull: Boolean
  le: DateTime
  lt: DateTime
  ne: DateTime
  notIn: [DateTime!]
}

input ConnectionFloatFilterInput {
  eq: Float
  ge: Float
  gt: Float
  in: [Float!]
  isNull: Boolean
  le: Float
  lt: Float
  ne: Float
  notIn: [Float!]
}

input ConnectionIntFilterInput {
  eq: Int
  ge: Int
  gt: Int
  in: [Int!]
  isNull: Boolean
  le: Int
  lt: Int
  ne: Int
  notIn: [Int!]
}

input ConnectionLegacyTaskPriorityFilterInput {
  eq: LegacyTaskPriority
  in: [LegacyTaskPriority!]
  isNull: Boolean
  ne: LegacyTaskPriority
  notIn: [LegacyTaskPriority!]
}

input ConnectionObjectIDFilterInput {
  eq: ObjectID
  in: [ObjectID!]
  isNull: Boolean
  ne: ObjectID
  notIn: [ObjectID!]
}

enum ConnectionPredicate {
  arrayContains
  arrayContainsLike
  arrayNotContains
  arrayNotContainsLike
  beginsWith
  contains
  endsWith
  eq
  ge
  gt
  in
  isEmpty
  isNull
  le
  lt
  matchesRegex
  ne
  notContains
  notIn
  notMatchesRegex
}

type ConnectionPredicateMetadata {
  """
  Predicate code
  """
  code: ConnectionPredicate!
  """
  Whether the predicate expects an array value
  """
  isArray: Boolean!
  """
  Human readable predicate name
  """
  name: String!
  """
  What type of value does the predicate expect
  """
  type: MetricType!
}

input ConnectionRedirectExclusionReasonFilterInput {
  eq: RedirectExclusionReason
  in: [RedirectExclusionReason!]
  isNull: Boolean
  ne: RedirectExclusionReason
  notIn: [RedirectExclusionReason!]
}

input ConnectionReportTypeCodeFilterInput {
  eq: ReportTypeCode
  in: [ReportTypeCode!]
  isNull: Boolean
  ne: ReportTypeCode
  notIn: [ReportTypeCode!]
}

input ConnectionResolvedHttpStatusCodeFilterInput {
  eq: ResolvedHttpStatusCode
  in: [ResolvedHttpStatusCode!]
  isNull: Boolean
  ne: ResolvedHttpStatusCode
  notIn: [ResolvedHttpStatusCode!]
}

input ConnectionStringArrayFilterInput {
  arrayContains: String
  arrayContainsLike: String
  arrayNotContains: String
  arrayNotContainsLike: String
  isNull: Boolean
}

input ConnectionStringFilterInput {
  beginsWith: String
  contains: String
  endsWith: String
  eq: String
  in: [String!]
  isEmpty: Boolean
  isNull: Boolean
  matchesRegex: String
  ne: String
  notContains: String
  notIn: [String!]
  notMatchesRegex: String
}

input ConnectionTestResultStatusFilterInput {
  eq: TestResultStatus
  in: [TestResultStatus!]
  isNull: Boolean
  ne: TestResultStatus
  notIn: [TestResultStatus!]
}

type Crawl {
  advancedCrawlStats: AdvancedCrawlStats
  archivedAt: DateTime
  archivingAt: DateTime
  brokenAt: DateTime
  bucketSlot: Int
  build: Build
  canceledAt: DateTime
  cancelingAt: DateTime
  changedReports(segmentId: ObjectID): ChangedReportConnection!
  comparedTo: Crawl
  comparedToCrawlId: ObjectID
  coreUIUrl: String!
  crawlLevels: String
  crawlSegments(
    after: String
    before: String
    filter: CrawlSegmentConnectionFilterInput
    first: Int = 15
    last: Int
    orderBy: [CrawlSegmentOrder!]
  ): CrawlSegmentConnection
  """
  CrawlSetting used for this Crawl, or the latest CrawlSetting if the Crawl is still running.
  """
  crawlSetting: CrawlSetting
  """
  Returns all_pages basic Report rows counts for all provided crawlTypes and their intersections.
  """
  crawlTypeCounts(input: CrawlTypeCountsInput!): [CrawlTypeCount!]
  crawlTypes: [CrawlType!]!
  crawlability: Float!
  crawlabilityTrend: String
  crawledAt: DateTime
  """
  Average crawl rate from last 5 seconds sample
  """
  crawledPerSecond: Float
  crawledPhase1At: DateTime
  crawledPhase2At: DateTime
  crawlerType: CrawlerType!
  crawlingAt: DateTime
  crawlingPhase1At: DateTime
  crawlingPhase2At: DateTime
  createdAt: DateTime!
  """
  Basic information about the User who started the Crawl, available only to the Account Admins.
  """
  createdByUser: UserInfo
  discoveredUrlsAt: DateTime
  discoveringUrlsAt: DateTime
  errorMessage: String
  erroredAt: DateTime
  finishedAt: DateTime
  fsmExtTransitionedAt: DateTime
  fsmTransitionedAt: DateTime
  id: ObjectID!
  incomplete: Boolean
  isContainer: Boolean!
  isScheduled: Boolean
  languageSettings: Int
  languageSettingsAdded: Int
  languageSettingsRemoved: Int
  limitLevelsMax: Float!
  limitPagesMax: Float!
  maxProcessLinks: Float!
  metricsServerId: MetricsServerId!
  migratedAt: DateTime
  migratingAt: DateTime
  optimusTransformedAt: DateTime
  optimusTransformingAt: DateTime
  pageGroupings: String
  parquetFiles(datasourceName: [String!]): [CrawlParquetFile!]
  parquetFilesUrls: [String!]!
    @deprecated(reason: "replaced with `parquetFiles`")
  partition: Int
  pauseReason: PauseReason
  pausedReminderSent: Boolean!
  populatedAt: DateTime
  populatingAt: DateTime
  postPopulatedAt: DateTime
  postPopulatingAt: DateTime
  postTransformedAt: DateTime
  postTransformingAt: DateTime
  processInstanceType: String
  processedAt: DateTime
  processingAt: DateTime
  progress: [LevelProgress!]!
  progressCrawled: Int
  progressDiscovered: Int
  progressEnqueued: Int
  progressStepped: Int
  progressUpdatedAt: DateTime
  project: Project!
  projectId: ObjectID!
  queuedAt: DateTime
  queueingAt: DateTime
  rawID: String!
  readyAt: DateTime
  refineryEnabled: Boolean!
  refineryProcessedAt: DateTime
  refineryProcessingAt: DateTime
  refineryProcessingEnabled: Boolean!
  reportDownloads(
    after: String
    before: String
    """
    Filtering options for ReportDownloads returned from the connection.
    """
    filter: ReportDownloadConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for ReportDownloads returned from the connection.
    """
    orderBy: [ReportDownloadOrder!]
  ): ReportDownloadConnection
  reports(
    after: String
    before: String
    """
    Filtering options for Reports returned from the connection.
    """
    filter: ReportConnectionFilterInput
    first: Int = 15
    includeUnscopedReports: Boolean! = false
    last: Int
    """
    Ordering options for Reports returned from the connection.
    """
    orderBy: [ReportOrder!]
    reportTemplateFilter: ReportTemplateConnectionFilterInput
  ): ReportConnection!
  reportsAggregate(
    after: String
    before: String
    """
    Filtering options for Reports returned from the connection.
    """
    filter: ReportConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for Reports returned from the connection.
    """
    orderBy: [ReportOrder!]
    reportTemplateFilter: ReportTemplateConnectionFilterInput
  ): ReportConnection! @deprecated(reason: "Use Query.getReportsForCrawls")
  reportsByCode(input: CrawlReportsByCodeInput!): [Report!]!
  robotsOverwrite: String
  scheduleRunningEmailSentAt: DateTime
  scheduled: Boolean!
  siteExplorer: Boolean!
  startedByApi: Boolean!
  status: String! @deprecated(reason: "Use statusEnum instead.")
  statusEnum: CrawlStatus!
  totalStepLinks: BigInt
  totalSteps: Int
  transformedAt: DateTime
  transformingAt: DateTime
  updatedAt: DateTime!
  useEsReportStats: Boolean
  useRewriteRules: Boolean!
  useRobotsOverwrite: Boolean!
  version: Float
}

type CrawlConnection {
  """
  A list of edges.
  """
  edges: [CrawlEdge!]!
  """
  A list of nodes.
  """
  nodes: [Crawl!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of Crawls in the connection.
  """
  totalCount: Int!
}

input CrawlConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [CrawlConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [CrawlConnectionFilterInput!]
  """
  CrawlConnectionFilterInput.and will be removed. Use CrawlConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: CrawlConnectionFilterInput
  archivedAt: ConnectionDateFilterInput
  archivingAt: ConnectionDateFilterInput
  brokenAt: ConnectionDateFilterInput
  bucketSlot: ConnectionIntFilterInput
  canceledAt: ConnectionDateFilterInput
  cancelingAt: ConnectionDateFilterInput
  crawlLevels: ConnectionStringFilterInput
  crawlability: ConnectionFloatFilterInput
  crawlabilityTrend: ConnectionStringFilterInput
  crawledAt: ConnectionDateFilterInput
  crawledPhase1At: ConnectionDateFilterInput
  crawledPhase2At: ConnectionDateFilterInput
  crawlingAt: ConnectionDateFilterInput
  crawlingPhase1At: ConnectionDateFilterInput
  crawlingPhase2At: ConnectionDateFilterInput
  createdAt: ConnectionDateFilterInput
  discoveredUrlsAt: ConnectionDateFilterInput
  discoveringUrlsAt: ConnectionDateFilterInput
  errorMessage: ConnectionStringFilterInput
  erroredAt: ConnectionDateFilterInput
  finishedAt: ConnectionDateFilterInput
  fsmExtTransitionedAt: ConnectionDateFilterInput
  fsmTransitionedAt: ConnectionDateFilterInput
  incomplete: ConnectionBooleanFilterInput
  isContainer: ConnectionBooleanFilterInput
  isScheduled: ConnectionBooleanFilterInput
  languageSettings: ConnectionIntFilterInput
  languageSettingsAdded: ConnectionIntFilterInput
  languageSettingsRemoved: ConnectionIntFilterInput
  limitLevelsMax: ConnectionFloatFilterInput
  limitPagesMax: ConnectionFloatFilterInput
  maxProcessLinks: ConnectionFloatFilterInput
  migratedAt: ConnectionDateFilterInput
  migratingAt: ConnectionDateFilterInput
  optimusTransformedAt: ConnectionDateFilterInput
  optimusTransformingAt: ConnectionDateFilterInput
  pageGroupings: ConnectionStringFilterInput
  partition: ConnectionIntFilterInput
  pausedReminderSent: ConnectionBooleanFilterInput
  populatedAt: ConnectionDateFilterInput
  populatingAt: ConnectionDateFilterInput
  postPopulatedAt: ConnectionDateFilterInput
  postPopulatingAt: ConnectionDateFilterInput
  postTransformedAt: ConnectionDateFilterInput
  postTransformingAt: ConnectionDateFilterInput
  processInstanceType: ConnectionStringFilterInput
  processedAt: ConnectionDateFilterInput
  processingAt: ConnectionDateFilterInput
  progressCrawled: ConnectionIntFilterInput
  progressDiscovered: ConnectionIntFilterInput
  progressEnqueued: ConnectionIntFilterInput
  progressStepped: ConnectionIntFilterInput
  progressUpdatedAt: ConnectionDateFilterInput
  queuedAt: ConnectionDateFilterInput
  queueingAt: ConnectionDateFilterInput
  readyAt: ConnectionDateFilterInput
  refineryEnabled: ConnectionBooleanFilterInput
  refineryProcessedAt: ConnectionDateFilterInput
  refineryProcessingAt: ConnectionDateFilterInput
  refineryProcessingEnabled: ConnectionBooleanFilterInput
  robotsOverwrite: ConnectionStringFilterInput
  scheduleRunningEmailSentAt: ConnectionDateFilterInput
  scheduled: ConnectionBooleanFilterInput
  siteExplorer: ConnectionBooleanFilterInput
  startedByApi: ConnectionBooleanFilterInput
  status: ConnectionStringFilterInput
  statusEnum: ConnectionCrawlStatusFilterInput
  totalStepLinks: ConnectionBigIntFilterInput
  totalSteps: ConnectionIntFilterInput
  transformedAt: ConnectionDateFilterInput
  transformingAt: ConnectionDateFilterInput
  updatedAt: ConnectionDateFilterInput
  useEsReportStats: ConnectionBooleanFilterInput
  useRewriteRules: ConnectionBooleanFilterInput
  useRobotsOverwrite: ConnectionBooleanFilterInput
  version: ConnectionFloatFilterInput
}

type CrawlDuplicateUrl {
  canonicalUrl: String
  canonicalUrlDigest: String
  contentSize: Int
  deeprank: Float
  description: String
  descriptionLength: Int
  descriptionLengthPx: Int
  duplicateCount: Int
  duplicateNonIndexable: Boolean
  duplicateType: String!
  exampleDuplicate1: String
  exampleDuplicate2: String
  exampleDuplicateDigest1: String
  exampleDuplicateDigest2: String
  foundAtSitemap: String
  foundAtUrl: String
  h1Tag: [String!]
  htmlSize: Int
  httpStatusCode: Int
  indexable: Boolean
  level: Int
  ogTitle: String
  pageTitle: String
  pageTitleLength: Int
  pageTitleLengthPx: Int
  primaryUrl: String
  primaryUrlDigest: String!
  wordCount: Int
}

type CrawlDuplicateUrlConnection {
  """
  A list of edges.
  """
  edges: [CrawlDuplicateUrlEdge!]!
  """
  A list of nodes.
  """
  nodes: [CrawlDuplicateUrl!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of CrawlDuplicateUrls in the connection.
  """
  totalCount: Int!
}

input CrawlDuplicateUrlConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [CrawlDuplicateUrlConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [CrawlDuplicateUrlConnectionFilterInput!]
  """
  CrawlDuplicateUrlConnectionFilterInput.and will be removed. Use CrawlDuplicateUrlConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: CrawlDuplicateUrlConnectionFilterInput
  canonicalUrl: ConnectionStringFilterInput
  canonicalUrlDigest: ConnectionStringFilterInput
  contentSize: ConnectionIntFilterInput
  deeprank: ConnectionFloatFilterInput
  description: ConnectionStringFilterInput
  descriptionLength: ConnectionIntFilterInput
  descriptionLengthPx: ConnectionIntFilterInput
  duplicateCount: ConnectionIntFilterInput
  duplicateNonIndexable: ConnectionBooleanFilterInput
  duplicateType: ConnectionStringFilterInput
  exampleDuplicate1: ConnectionStringFilterInput
  exampleDuplicate2: ConnectionStringFilterInput
  exampleDuplicateDigest1: ConnectionStringFilterInput
  exampleDuplicateDigest2: ConnectionStringFilterInput
  foundAtSitemap: ConnectionStringFilterInput
  foundAtUrl: ConnectionStringFilterInput
  htmlSize: ConnectionIntFilterInput
  httpStatusCode: ConnectionIntFilterInput
  indexable: ConnectionBooleanFilterInput
  level: ConnectionIntFilterInput
  ogTitle: ConnectionStringFilterInput
  pageTitle: ConnectionStringFilterInput
  pageTitleLength: ConnectionIntFilterInput
  pageTitleLengthPx: ConnectionIntFilterInput
  primaryUrl: ConnectionStringFilterInput
  primaryUrlDigest: ConnectionStringFilterInput
  wordCount: ConnectionIntFilterInput
}

type CrawlDuplicateUrlEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: CrawlDuplicateUrl!
}

input CrawlDuplicateUrlOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order CrawlDuplicateUrls by.
  """
  field: CrawlDuplicateUrlOrderField!
}

enum CrawlDuplicateUrlOrderField {
  canonicalUrl
  contentSize
  deeprank
  description
  descriptionLength
  descriptionLengthPx
  duplicateCount
  duplicateNonIndexable
  duplicateType
  exampleDuplicate1
  exampleDuplicate2
  foundAtSitemap
  foundAtUrl
  htmlSize
  httpStatusCode
  indexable
  level
  ogTitle
  pageTitle
  pageTitleLength
  pageTitleLengthPx
  primaryUrl
  wordCount
}

type CrawlEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: Crawl!
}

type CrawlHreflangs {
  hreflangs: [String!]
  hreflangsDigest: String!
  urlCount: Int
}

type CrawlHreflangsConnection {
  """
  A list of edges.
  """
  edges: [CrawlHreflangsEdge!]!
  """
  A list of nodes.
  """
  nodes: [CrawlHreflangs!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of CrawlHreflangs in the connection.
  """
  totalCount: Int!
}

input CrawlHreflangsConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [CrawlHreflangsConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [CrawlHreflangsConnectionFilterInput!]
  """
  CrawlHreflangsConnectionFilterInput.and will be removed. Use CrawlHreflangsConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: CrawlHreflangsConnectionFilterInput
  hreflangsDigest: ConnectionStringFilterInput
  urlCount: ConnectionIntFilterInput
}

type CrawlHreflangsEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: CrawlHreflangs!
}

input CrawlHreflangsOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order CrawlHreflangs by.
  """
  field: CrawlHreflangsOrderField!
}

enum CrawlHreflangsOrderField {
  urlCount
}

type CrawlLink {
  attrRel: String
  attrRelId: Int
  attrType: String
  handheld: Boolean
  hreflang: String
  internal: Boolean
  isHreflang: Boolean
  isRedirect: Boolean
  isRestricted: Boolean
  linkType: String
  linkTypeId: Int
  mobile: Boolean
  relUrlFrom: String
  relUrlFromDigest: String
  tag: String!
  tagId: Int!
  urlFrom: String
  urlFromAlias: String
  urlFromAliasDigest: String
  urlFromDeeprank: Float
  urlFromDigest: String!
  urlFromHttps: Boolean
  urlFromStatusCode: Int
  urlFromStatusCodeId: Float
  urlFromTitle: String
  urlTo: String
  urlToAlias: String
  urlToAliasDigest: String
  urlToDeeprank: Float
  urlToDigest: String
  urlToHttps: Boolean
  urlToStatusCode: Int
  urlToStatusCodeId: Int
  urlToTitle: String
}

type CrawlLinkConnection {
  """
  A list of edges.
  """
  edges: [CrawlLinkEdge!]!
  """
  A list of nodes.
  """
  nodes: [CrawlLink!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of CrawlLinks in the connection.
  """
  totalCount: Int!
}

input CrawlLinkConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [CrawlLinkConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [CrawlLinkConnectionFilterInput!]
  """
  CrawlLinkConnectionFilterInput.and will be removed. Use CrawlLinkConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: CrawlLinkConnectionFilterInput
  attrRel: ConnectionStringFilterInput
  attrType: ConnectionStringFilterInput
  handheld: ConnectionBooleanFilterInput
  hreflang: ConnectionStringFilterInput
  internal: ConnectionBooleanFilterInput
  isHreflang: ConnectionBooleanFilterInput
  isRedirect: ConnectionBooleanFilterInput
  isRestricted: ConnectionBooleanFilterInput
  linkType: ConnectionStringFilterInput
  mobile: ConnectionBooleanFilterInput
  relUrlFrom: ConnectionStringFilterInput
  relUrlFromDigest: ConnectionStringFilterInput
  tag: ConnectionStringFilterInput
  urlFrom: ConnectionStringFilterInput
  urlFromAlias: ConnectionStringFilterInput
  urlFromAliasDigest: ConnectionStringFilterInput
  urlFromDeeprank: ConnectionFloatFilterInput
  urlFromDigest: ConnectionStringFilterInput
  urlFromHttps: ConnectionBooleanFilterInput
  urlFromStatusCode: ConnectionIntFilterInput
  urlFromStatusCodeId: ConnectionFloatFilterInput
  urlFromTitle: ConnectionStringFilterInput
  urlTo: ConnectionStringFilterInput
  urlToAlias: ConnectionStringFilterInput
  urlToAliasDigest: ConnectionStringFilterInput
  urlToDeeprank: ConnectionFloatFilterInput
  urlToDigest: ConnectionStringFilterInput
  urlToHttps: ConnectionBooleanFilterInput
  urlToStatusCode: ConnectionIntFilterInput
  urlToTitle: ConnectionStringFilterInput
}

type CrawlLinkEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: CrawlLink!
}

input CrawlLinkOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order CrawlLinks by.
  """
  field: CrawlLinkOrderField!
}

enum CrawlLinkOrderField {
  attrRel
  attrType
  handheld
  hreflang
  internal
  isHreflang
  isRedirect
  isRestricted
  linkType
  mobile
  relUrlFrom
  tag
  urlFrom
  urlFromAlias
  urlFromDeeprank
  urlFromHttps
  urlFromStatusCode
  urlFromTitle
  urlTo
  urlToAlias
  urlToDeeprank
  urlToHttps
  urlToStatusCode
  urlToTitle
}

type CrawlLinkedDomain {
  domain: String!
  domainAlias: String
  linkCount: Int
}

type CrawlLinkedDomainConnection {
  """
  A list of edges.
  """
  edges: [CrawlLinkedDomainEdge!]!
  """
  A list of nodes.
  """
  nodes: [CrawlLinkedDomain!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of CrawlLinkedDomains in the connection.
  """
  totalCount: Int!
}

input CrawlLinkedDomainConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [CrawlLinkedDomainConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [CrawlLinkedDomainConnectionFilterInput!]
  """
  CrawlLinkedDomainConnectionFilterInput.and will be removed. Use CrawlLinkedDomainConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: CrawlLinkedDomainConnectionFilterInput
  domain: ConnectionStringFilterInput
  linkCount: ConnectionIntFilterInput
}

type CrawlLinkedDomainEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: CrawlLinkedDomain!
}

input CrawlLinkedDomainOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order CrawlLinkedDomains by.
  """
  field: CrawlLinkedDomainOrderField!
}

enum CrawlLinkedDomainOrderField {
  linkCount
}

input CrawlOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order Crawls by.
  """
  field: CrawlOrderField!
}

enum CrawlOrderField {
  archivedAt
  archivingAt
  brokenAt
  bucketSlot
  canceledAt
  cancelingAt
  crawlLevels
  crawlability
  crawlabilityTrend
  crawledAt
  crawledPhase1At
  crawledPhase2At
  crawlingAt
  crawlingPhase1At
  crawlingPhase2At
  createdAt
  discoveredUrlsAt
  discoveringUrlsAt
  errorMessage
  erroredAt
  finishedAt
  fsmExtTransitionedAt
  fsmState
  fsmTransitionedAt
  id
  incomplete
  isContainer
  isScheduled
  languageSettings
  languageSettingsAdded
  languageSettingsRemoved
  limitLevelsMax
  limitPagesMax
  maxProcessLinks
  migratedAt
  migratingAt
  pageGroupings
  partition
  pausedReminderSent
  populatedAt
  populatingAt
  postPopulatedAt
  postPopulatingAt
  postTransformedAt
  postTransformingAt
  processInstanceType
  processedAt
  processingAt
  progressCrawled
  progressDiscovered
  progressEnqueued
  progressStepped
  progressUpdatedAt
  queuedAt
  queueingAt
  readyAt
  refineryEnabled
  refineryProcessedAt
  refineryProcessingAt
  refineryProcessingEnabled
  robotsOverwrite
  scheduleRunningEmailSentAt
  scheduled
  siteExplorer
  startedByApi
  status
  statusEnum
  totalStepLinks
  totalSteps
  transformedAt
  transformingAt
  updatedAt
  useEsReportStats
  useRewriteRules
  useRobotsOverwrite
  version
}

type CrawlParquetFile {
  datasourceName: String!
  expiresAt: DateTime
  files: [String!]!
}

input CrawlReportsByCodeInput {
  orderBy: ReportOrder
  reportTemplateCodes: [String!]!
  reportTypeCodes: [ReportTypeCode!]! = [Basic]
  segmentId: ObjectID
}

type CrawlSegment {
  crawl: Crawl!
  createdAt: DateTime!
  failedAt: DateTime
  failureReason: String
  generatedAt: DateTime
  generatingAt: DateTime
  segment: Segment!
  segmentVersion: Int!
  updatedAt: DateTime!
}

type CrawlSegmentConnection {
  edges: [CrawlSegmentEdge!]!
  nodes: [CrawlSegment!]!
  pageInfo: PageInfo!
  totalCount: Int!
}

input CrawlSegmentConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [CrawlSegmentConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [CrawlSegmentConnectionFilterInput!]
  """
  CrawlSegmentConnectionFilterInput.and will be removed. Use CrawlSegmentConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: CrawlSegmentConnectionFilterInput
  crawlId: ConnectionObjectIDFilterInput
  createdAt: ConnectionDateFilterInput
  failedAt: ConnectionDateFilterInput
  failureReason: ConnectionStringFilterInput
  generatedAt: ConnectionDateFilterInput
  generatingAt: ConnectionDateFilterInput
  segmentId: ConnectionObjectIDFilterInput
  segmentVersion: ConnectionIntFilterInput
  updatedAt: ConnectionDateFilterInput
}

type CrawlSegmentEdge {
  """
  Used in `before` and `after` args
  """
  cursor: String!
  node: CrawlSegment!
}

input CrawlSegmentOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order CrawlSegments by.
  """
  field: CrawlSegmentOrderField!
}

enum CrawlSegmentOrderField {
  createdAt
  failedAt
  failureReason
  generatedAt
  generatingAt
  segmentVersion
  updatedAt
}

type CrawlSetting {
  activeMaximumCrawlRateAdvanced: AdvancedCrawlRate
  alertSetting: AlertSetting!
  autoFinalizeOnCrawlLimits: Boolean!
  compareToCrawl: CompareToCrawl
  crawlDisallowedUrls1stLevel: Boolean!
  crawlHyperlinksExternal: Boolean!
  crawlHyperlinksInternal: Boolean!
  crawlImagesExternal: Boolean!
  crawlImagesInternal: Boolean!
  crawlNofollowHyperlinks: Boolean!
  crawlNonHtml: Boolean!
  crawlNotIncluded1stLevel: Boolean!
  crawlOtherRelExternal: Boolean!
  crawlOtherRelInternal: Boolean!
  crawlRate: Float! @deprecated(reason: "Renamed to maximumCrawlRate.")
  crawlRedirectsExternal: Boolean!
  crawlRedirectsInternal: Boolean!
  crawlRelAmphtmlExternal: Boolean!
  crawlRelAmphtmlInternal: Boolean!
  crawlRelCanonicalsExternal: Boolean!
  crawlRelCanonicalsInternal: Boolean!
  crawlRelHreflangsExternal: Boolean!
  crawlRelHreflangsInternal: Boolean!
  crawlRelMobileExternal: Boolean!
  crawlRelMobileInternal: Boolean!
  crawlRelNextPrevExternal: Boolean!
  crawlRelNextPrevInternal: Boolean!
  crawlRobotsTxtNoindex: Boolean!
  crawlScriptsExternal: Boolean!
  crawlScriptsInternal: Boolean!
  crawlSitemapsExternal: Boolean!
  crawlSitemapsInternal: Boolean!
  crawlStylesheetsExternal: Boolean!
  crawlStylesheetsInternal: Boolean!
  crawlTestSite: Boolean!
  createdAt: DateTime!
  customDns: [CustomDnsSetting!]
  """
  Use regular expressions to extract custom information from pages when they are crawled.
  """
  customExtractions: [CustomExtractionSetting!]
  customHeaderUserAgent: String
    @deprecated(reason: "Renamed to userAgentString.")
  customHeaderUserAgentShort: String
    @deprecated(reason: "Renamed to userAgentToken.")
  customRequestHeaders: JSONObject
  discoverSitemapsInRobotsTxt: Boolean!
  duplicatePrecision: Float!
  emptyPageThreshold: Int
  excludeUrlPatterns: [String!]
  gaDateRange: Int!
  googleAnalyticsProjectView: GoogleAnalyticsProjectView
  hasTestSitePassword: Boolean!
  highLogSummaryRequests: Int!
    @deprecated(reason: "Renamed to logSummaryRequestsHigh.")
  id: ObjectID!
  includeHttpAndHttps: Boolean!
  includeSubdomains: Boolean!
  includeUrlPatterns: [String!]
  limitLevelsMax: Int!
  limitPagesMax: Int! @deprecated(reason: "Renamed to limitUrlsMax.")
  limitUrlsMax: Int!
  location: Location!
  logSummaryRequestsHigh: Int!
  logSummaryRequestsLow: Int!
  lowLogSummaryRequests: Int!
    @deprecated(reason: "Renamed to logSummaryRequestsLow.")
  maxBodyContentLength: Int
  maxContentThreshold: Int!
    @deprecated(reason: "Renamed to maxBodyContentLength.")
  maxDescriptionLength: Int
  maxFollowedExternalLinks: Int
  maxHtmlSize: Int
  maxLinks: Int
  maxLinksProcessed: Int!
  maxLoadTime: Float
  maxRedirections: Int!
  maxTitleWidth: Int!
  maxUrlLength: Int
  maximumCrawlRate: Float!
  maximumCrawlRateAdvanced: [AdvancedCrawlRate!]
  minContentRatio: Float
  minDescriptionLength: Int!
  minTitleLength: Int!
  minVisits: Int!
  mobileHomepageUrl: String
  mobileUrlPattern: String
  mobileUserAgent: UserAgent
  primaryDomain: String!
  rawID: String!
  rendererBlockAds: Boolean!
  rendererBlockAnalytics: Boolean!
  robotsOverwrite: String
  safeTitleWidth: Int!
    @deprecated(reason: "Legacy setting, no longer used. Will be removed.")
  secondaryDomains: [String!]
  sitePrimary: String! @deprecated(reason: "Renamed to primaryDomain.")
  siteTest: String @deprecated(reason: "Renamed to testSiteDomain.")
  siteTestUser: String @deprecated(reason: "Renamed to testSiteUsername")
  sitemapUrls: [String!]
  startUrls: [String!]
  testSiteDomain: String
  testSiteUsername: String
  thinPageThreshold: Int
  twitterDescriptionLength: Int!
    @deprecated(reason: "Legacy setting, no longer used. Will be removed.")
  updatedAt: DateTime!
  urlRewriteQueryParameters: [String!]
  urlRewriteRules: [UrlRewriteRule!]
  urlRewriteStripFragment: Boolean!
  urlSampling: [UrlSampling!]
  urlsExcluded: [String!] @deprecated(reason: "Renamed to excludeUrlPatterns.")
  urlsIncluded: [String!] @deprecated(reason: "Renamed to includeUrlPatterns.")
  useMobileSettings: Boolean!
  useRenderer: Boolean!
  useRobotsOverwrite: Boolean!
  useStealthMode: Boolean
  useUrlRewriteRules: Boolean!
  userAgent: UserAgent
  userAgentString: String
  userAgentStringMobile: String
  userAgentToken: String
  userAgentTokenMobile: String
}

type CrawlSitemap {
  httpStatusCode: Int
  logRequestsTotal: Int
  restrictedReason: String
  sitemapType: String
  url: String
  urlCount: Int
  urlDigest: String!
}

type CrawlSitemapConnection {
  """
  A list of edges.
  """
  edges: [CrawlSitemapEdge!]!
  """
  A list of nodes.
  """
  nodes: [CrawlSitemap!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of CrawlSitemaps in the connection.
  """
  totalCount: Int!
}

input CrawlSitemapConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [CrawlSitemapConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [CrawlSitemapConnectionFilterInput!]
  """
  CrawlSitemapConnectionFilterInput.and will be removed. Use CrawlSitemapConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: CrawlSitemapConnectionFilterInput
  httpStatusCode: ConnectionIntFilterInput
  logRequestsTotal: ConnectionIntFilterInput
  restrictedReason: ConnectionStringFilterInput
  sitemapType: ConnectionStringFilterInput
  url: ConnectionStringFilterInput
  urlCount: ConnectionIntFilterInput
  urlDigest: ConnectionStringFilterInput
}

type CrawlSitemapEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: CrawlSitemap!
}

input CrawlSitemapOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order CrawlSitemaps by.
  """
  field: CrawlSitemapOrderField!
}

enum CrawlSitemapOrderField {
  httpStatusCode
  logRequestsTotal
  restrictedReason
  sitemapType
  url
  urlCount
}

enum CrawlStatus {
  Archived
  Archiving
  Crawling
  Discovering
  Draft
  Errored
  Finalizing
  Finished
  Paused
  Queued
  Queuing
}

enum CrawlType {
  Backlinks
  GoogleAnalytics
  GoogleSearchConsole
  List
  LogSummary
  Sitemap
  Web
}

type CrawlTypeCount {
  count: Int!
  crawlTypes: [CrawlType!]!
}

input CrawlTypeCountsInput {
  crawlTypes: [CrawlType!]!
  segmentId: ObjectID
}

type CrawlTypeMetadata {
  code: CrawlType!
  id: ObjectID!
  name: String!
  phase: Int!
  rawID: String!
}

type CrawlUncrawledUrl {
  fileExtension: String
  foundAtSitemap: String
  foundAtUrl: String
  foundInBacklinks: Boolean
  foundInGoogleAnalytics: Boolean
  foundInGoogleSearchConsole: Boolean
  foundInList: Boolean
  foundInLogSummary: Boolean
  foundInSitemap: Boolean
  level: Int
  restrictedReason: String
  rewriteChain: JSONObject
  tag: String
  url: String
  urlAlias: String
  urlAliasDigest: String
  urlDigest: String!
}

type CrawlUncrawledUrlConnection {
  """
  A list of edges.
  """
  edges: [CrawlUncrawledUrlEdge!]!
  """
  A list of nodes.
  """
  nodes: [CrawlUncrawledUrl!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of CrawlUncrawledUrls in the connection.
  """
  totalCount: Int!
}

input CrawlUncrawledUrlConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [CrawlUncrawledUrlConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [CrawlUncrawledUrlConnectionFilterInput!]
  """
  CrawlUncrawledUrlConnectionFilterInput.and will be removed. Use CrawlUncrawledUrlConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: CrawlUncrawledUrlConnectionFilterInput
  fileExtension: ConnectionStringFilterInput
  foundAtSitemap: ConnectionStringFilterInput
  foundAtUrl: ConnectionStringFilterInput
  foundInBacklinks: ConnectionBooleanFilterInput
  foundInGoogleAnalytics: ConnectionBooleanFilterInput
  foundInGoogleSearchConsole: ConnectionBooleanFilterInput
  foundInList: ConnectionBooleanFilterInput
  foundInLogSummary: ConnectionBooleanFilterInput
  foundInSitemap: ConnectionBooleanFilterInput
  level: ConnectionIntFilterInput
  restrictedReason: ConnectionStringFilterInput
  tag: ConnectionStringFilterInput
  url: ConnectionStringFilterInput
  urlAlias: ConnectionStringFilterInput
  urlAliasDigest: ConnectionStringFilterInput
  urlDigest: ConnectionStringFilterInput
}

type CrawlUncrawledUrlEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: CrawlUncrawledUrl!
}

input CrawlUncrawledUrlOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order CrawlUncrawledUrls by.
  """
  field: CrawlUncrawledUrlOrderField!
}

enum CrawlUncrawledUrlOrderField {
  fileExtension
  foundAtSitemap
  foundAtUrl
  foundInBacklinks
  foundInGoogleAnalytics
  foundInGoogleSearchConsole
  foundInList
  foundInLogSummary
  foundInSitemap
  level
  restrictedReason
  tag
  url
  urlAlias
}

type CrawlUniqueLink {
  anchorText: String
  attrRel: String
  hasImageAltText: Boolean
  hasImageLink: Boolean
  hreflang: String
  instanceCount: Int
  internal: Boolean
  isHreflang: Boolean
  isImageAltTextEmpty: Boolean
  isRedirect: Boolean
  isRestricted: Boolean
  linkType: String
  nofollow: Boolean
  primaryUrlFrom: String
  primaryUrlFromAlias: String
  primaryUrlFromAliasDigest: String
  primaryUrlFromDeeprank: Float
  primaryUrlFromDigest: String
  primaryUrlFromHttps: Boolean
  primaryUrlFromStatusCode: Int
  primaryUrlFromStatusCodeId: Int
  primaryUrlFromTitle: String
  tag: String
  uniqueLinkDigest: String!
  urlTo: String
  urlToAlias: String
  urlToAliasDigest: String
  urlToDeeprank: Float
  urlToDigest: String
  urlToHttps: Boolean
  urlToStatusCode: Int
  urlToStatusCodeId: Int
  urlToTitle: String
}

type CrawlUniqueLinkConnection {
  """
  A list of edges.
  """
  edges: [CrawlUniqueLinkEdge!]!
  """
  A list of nodes.
  """
  nodes: [CrawlUniqueLink!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of CrawlUniqueLinks in the connection.
  """
  totalCount: Int!
}

input CrawlUniqueLinkConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [CrawlUniqueLinkConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [CrawlUniqueLinkConnectionFilterInput!]
  anchorText: ConnectionStringFilterInput
  """
  CrawlUniqueLinkConnectionFilterInput.and will be removed. Use CrawlUniqueLinkConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: CrawlUniqueLinkConnectionFilterInput
  attrRel: ConnectionStringFilterInput
  hasImageAltText: ConnectionBooleanFilterInput
  hasImageLink: ConnectionBooleanFilterInput
  hreflang: ConnectionStringFilterInput
  instanceCount: ConnectionIntFilterInput
  internal: ConnectionBooleanFilterInput
  isHreflang: ConnectionBooleanFilterInput
  isImageAltTextEmpty: ConnectionBooleanFilterInput
  isRedirect: ConnectionBooleanFilterInput
  isRestricted: ConnectionBooleanFilterInput
  linkType: ConnectionStringFilterInput
  nofollow: ConnectionBooleanFilterInput
  primaryUrlFrom: ConnectionStringFilterInput
  primaryUrlFromAlias: ConnectionStringFilterInput
  primaryUrlFromAliasDigest: ConnectionStringFilterInput
  primaryUrlFromDeeprank: ConnectionFloatFilterInput
  primaryUrlFromDigest: ConnectionStringFilterInput
  primaryUrlFromHttps: ConnectionBooleanFilterInput
  primaryUrlFromStatusCode: ConnectionIntFilterInput
  primaryUrlFromTitle: ConnectionStringFilterInput
  tag: ConnectionStringFilterInput
  uniqueLinkDigest: ConnectionStringFilterInput
  urlTo: ConnectionStringFilterInput
  urlToAlias: ConnectionStringFilterInput
  urlToAliasDigest: ConnectionStringFilterInput
  urlToDeeprank: ConnectionFloatFilterInput
  urlToDigest: ConnectionStringFilterInput
  urlToHttps: ConnectionBooleanFilterInput
  urlToStatusCode: ConnectionIntFilterInput
  urlToTitle: ConnectionStringFilterInput
}

type CrawlUniqueLinkEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: CrawlUniqueLink!
}

input CrawlUniqueLinkOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order CrawlUniqueLinks by.
  """
  field: CrawlUniqueLinkOrderField!
}

enum CrawlUniqueLinkOrderField {
  anchorText
  attrRel
  hasImageAltText
  hasImageLink
  hreflang
  instanceCount
  internal
  isHreflang
  isImageAltTextEmpty
  isRedirect
  isRestricted
  linkType
  nofollow
  primaryUrlFrom
  primaryUrlFromAlias
  primaryUrlFromDeeprank
  primaryUrlFromHttps
  primaryUrlFromStatusCode
  primaryUrlFromTitle
  tag
  urlTo
  urlToAlias
  urlToDeeprank
  urlToHttps
  urlToStatusCode
  urlToTitle
}

type CrawlUpdatedPayload {
  crawl: Crawl
}

input CrawlUpdatedSubscriptionInput {
  crawlId: ObjectID!
}

type CrawlUrl {
  amphtml: Boolean
  amphtmlReciprocate: Boolean
  amphtmlValid: Boolean
  backlinkCount: Int
  backlinkDomainCount: Int
  bodyTagsInHeadCount: Int
  breadcrumbSchemaCount: Int
  canonicalHeaderUrl: String
  canonicalHtmlUrl: String
  canonicalLinksInCount: Int
  canonicalUrl: String
  canonicalUrlDigest: String
  canonicalUrlIsConsistent: Boolean
  canonicalizedPage: Boolean
  contentHtmlRatio: Float
  contentSize: Int
  crawlDatetime: DateTime
  css: Boolean
  customExtraction1: [String!]
  customExtraction2: [String!]
  customExtraction3: [String!]
  customExtraction4: [String!]
  customExtraction5: [String!]
  customExtraction6: [String!]
  customExtraction7: [String!]
  customExtraction8: [String!]
  customExtraction9: [String!]
  customExtraction10: [String!]
  customExtraction11: [String!]
  customExtraction12: [String!]
  customExtraction13: [String!]
  customExtraction14: [String!]
  customExtraction15: [String!]
  customExtraction16: [String!]
  customExtraction17: [String!]
  customExtraction18: [String!]
  customExtraction19: [String!]
  customExtraction20: [String!]
  customExtraction21: [String!]
  customExtraction22: [String!]
  customExtraction23: [String!]
  customExtraction24: [String!]
  customExtraction25: [String!]
  customExtraction26: [String!]
  customExtraction27: [String!]
  customExtraction28: [String!]
  customExtraction29: [String!]
  customExtraction30: [String!]
  customExtractionMatch: Boolean
  deeprank: Float
  description: String
  descriptionLength: Int
  descriptionLengthPx: Int
  desktopUrl: String
  desktopUrlDigest: String
  disallowedPage: Boolean
  duplicateBody: Boolean
  duplicateBodyCount: Int
  duplicateBodyNonIndexable: Boolean
  duplicateBodyPrimaryUrl: String
  duplicateBodyPrimaryUrlDigest: String
  duplicateDescription: Boolean
  duplicateDescriptionCount: Int
  duplicateDescriptionNonIndexable: Boolean
  duplicateDescriptionPrimaryUrl: String
  duplicateDescriptionPrimaryUrlDigest: String
  duplicatePage: Boolean
  duplicatePageCount: Int
  duplicatePageNonIndexable: Boolean
  duplicateTitle: Boolean
  duplicateTitleCount: Int
  duplicateTitleNonIndexable: Boolean
  duplicateTitlePrimaryUrl: String
  duplicateTitlePrimaryUrlDigest: String
  encodingHeader: String
  eventSchemaCount: Int
  externalLinksCount: Int
  failedReason: String
  faqpageSchemaCount: Int
  fbAdmins: String
  fbAppId: String
  fetchTime: Float
  fileExtension: String
  folderCount: Int
  followedExternalLinksOutCount: Int
  followedLinksInCount: Int
  foundAtSitemap: String
  foundAtUrl: String
  foundInBacklinks: Boolean
  foundInGoogleAnalytics: Boolean
  foundInGoogleSearchConsole: Boolean
  foundInList: Boolean
  foundInLogSummary: Boolean
  foundInSitemap: Boolean
  foundInWebCrawl: Boolean
  gaAvgPageLoadTime: Float
  gaAvgTimeOnPage: Float
  gaPageviewsPerVisits: Float
  gaVisitBounceRate: Float
  gaVisits: Int
  h1Count: Int
  h1Length: Int
  h1Tag: [String!]
  h2Tag: [String!]
  h3Tag: [String!]
  hasStructuredData: Boolean
  headTagsInBodyCount: Int
  headerContentType: String
  headerNoarchive: Boolean
  headerNofollow: Boolean
  headerNoindex: Boolean
  headerNoodp: Boolean
  headerNosnippet: Boolean
  headerNoydir: Boolean
  howtoSchemaCount: Int
  hreflangCombination: [String!]
  hreflangLinksInCount: Int
  hreflangLinksOutCount: Int
  hreflangOnHeader: Boolean
  hreflangOnPage: Boolean
  hreflangOnSitemap: Boolean
  hreflangUrlCount: Int
  hsts: String
  htmlSize: Int
  httpStatusCode: Int
  https: Boolean
  indexable: Boolean
  internal: Boolean
  internalLinksCount: Int
  isImage: Boolean
  isRedirect: Boolean
  isRedirectLoop: Boolean
  isSelfCanonical: Boolean
  js: Boolean
  level: Int
  linksInCount: Int
  linksOutCount: Int
  logRequestsDesktop: Int
  logRequestsMobile: Int
  logRequestsTotal: Int
  metaCharset: String
  metaContentType: String
  metaDisabledSitelinks: Boolean
  metaNoarchive: Boolean
  metaNofollow: Boolean
  metaNoindex: Boolean
  metaNoodp: Boolean
  metaNosnippet: Boolean
  metaNoydir: Boolean
  metaRedirect: Boolean
  mobileDesktopContentDifference: Int
  mobileDesktopContentMismatch: Boolean
  mobileDesktopLinksInDifference: Int
  mobileDesktopLinksOutDifference: Int
  mobileReciprocate: Boolean
  mobileRelAlternate: Boolean
  mobileRelAlternateHeaderUrl: String
  mobileRelAlternateHeaderUrlDigest: String
  mobileRelAlternateHtmlUrl: String
  mobileRelAlternateHtmlUrlDigest: String
  mobileRelAlternateUrl: String
  mobileRelAlternateUrlDigest: String
  mobileRelAlternateUrlIsConsistent: Boolean
  mobileRelAmphtml: Boolean
  mobileRelAmphtmlUrl: String
  mobileRelAmphtmlUrlDigest: String
  newsarticleAuthorSchemaValue: String
  newsarticleSchemaCount: Int
  newsarticleSchemaValid: Boolean
  noarchive: Boolean
  nofollowedPage: Boolean
  noindex: Boolean
  noodp: Boolean
  nosnippet: Boolean
  noydir: Boolean
  ogDescription: String
  ogImage: String
  ogLocale: String
  ogSiteName: String
  ogTitle: String
  ogType: String
  ogUrl: String
  page1: Boolean
  pageTitle: String
  pageTitleLength: Int
  pageTitleLengthPx: Int
  paginatedPage: Boolean
  paramCount: Int
  path0: String
  path1: String
  path2: String
  path3: String
  path4: String
  path5: String
  path6: String
  path7: String
  path8: String
  path9: String
  pathCount: Int
  performanceCls: Float
  performanceDcl: Float
  performanceFcp: Float
  performanceLcp: Float
  performanceTtfb: Float
  performanceTti: Float
  previousPath: String
  previousPathDigest: String
  primaryPage: Boolean
  primaryUrl: String
  primaryUrlDigest: String
  primaryUrlNonIndexable: String
  productAvailabilitySchemaValue: String
  productBrandSchemaValue: String
  productPriceSchemaValue: Float
  productRatingSchemaValue: Float
  productSchemaCount: Int
  productSchemaValid: Boolean
  productSkuSchemaValue: String
  qapageSchemaCount: Int
  rawHeader: JSONObject
  recipeSchemaCount: Int
  redirectChain: [Redirect!]
  redirectCount: Int
  redirectExclusionReason: RedirectExclusionReason
  redirectedToStatusCode: Int
  redirectedToUrl: String
  redirectedToUrlDigest: String
  redirectsInCount: Int
  relLinksInCount: Int
  relNextHeaderUrl: String
  relNextHtmlUrl: String
  relNextUrl: String
  relNextUrlIsConsistent: Boolean
  relPrevHeaderUrl: String
  relPrevHtmlUrl: String
  relPrevUrl: String
  relPrevUrlIsConsistent: Boolean
  renderedCanonicalLinkMatch: Boolean
  renderedLinkCountDifference: Int
  renderedWordCountDifference: Int
  resolvedHttpStatusCode: ResolvedHttpStatusCode
  responsive: Boolean
  reviewSchemaCount: Int
  robotsNoindex: Boolean
  searchConsoleDesktopClicks: Int
  searchConsoleDesktopCtr: Float
  searchConsoleDesktopImpressions: Int
  searchConsoleDesktopPosition: Float
  searchConsoleMobileClicks: Int
  searchConsoleMobileCtr: Float
  searchConsoleMobileImpressions: Int
  searchConsoleMobilePosition: Float
  searchConsoleTabletClicks: Int
  searchConsoleTabletCtr: Float
  searchConsoleTabletImpressions: Int
  searchConsoleTabletPosition: Float
  searchConsoleTotalClicks: Int
  searchConsoleTotalCtr: Float
  searchConsoleTotalImpressions: Int
  searchConsoleTotalPosition: Float
  secureFormInputField: Boolean
  separateDesktop: Boolean
  separateMobile: Boolean
  sitemapsInCount: Int
  twitterCard: String
  twitterDescription: String
  twitterDescriptionLength: Int
  twitterImage: String
  twitterSite: String
  twitterTitle: String
  url: String
  urlAlias: String
  urlAliasDigest: String
  urlDigest: String!
  urlLength: Int
  validTwitterCard: Boolean
  varyUserAgent: Boolean
  videoobjectSchemaCount: Int
  viewport: String
  wordCount: Int
}

type CrawlUrlAggregate {
  amphtml: Boolean
  amphtmlReciprocate: Boolean
  avg: CrawlUrlAvgCalculation!
  canonicalUrlIsConsistent: Boolean
  canonicalizedPage: Boolean
  count: CrawlUrlCountCalculation!
  css: Boolean
  customExtractionMatch: Boolean
  disallowedPage: Boolean
  duplicateBody: Boolean
  duplicateBodyNonIndexable: Boolean
  duplicateDescription: Boolean
  duplicateDescriptionNonIndexable: Boolean
  duplicatePage: Boolean
  duplicatePageNonIndexable: Boolean
  duplicateTitle: Boolean
  duplicateTitleNonIndexable: Boolean
  failedReason: String
  fileExtension: String
  headerContentType: String
  httpStatusCode: Int
  https: Boolean
  indexable: Boolean
  isImage: Boolean
  isSelfCanonical: Boolean
  js: Boolean
  level: Int
  max: CrawlUrlMaxCalculation!
  metaContentType: String
  min: CrawlUrlMinCalculation!
  nofollowedPage: Boolean
  noindex: Boolean
  ogLocale: String
  ogType: String
  path0: String
  path1: String
  path2: String
  path3: String
  path4: String
  path5: String
  path6: String
  path7: String
  path8: String
  path9: String
  sum: CrawlUrlSumCalculation!
  viewport: String
}

type CrawlUrlAggregateConnection {
  """
  A list of nodes.
  """
  nodes: [CrawlUrlAggregate!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of CrawlUrlAggregates in the connection.
  """
  totalCount: Int!
}

"""
Used for grouping the CrawlUrl aggregates results.
"""
enum CrawlUrlAggregateDimension {
  amphtml
  amphtmlReciprocate
  canonicalUrlIsConsistent
  canonicalizedPage
  css
  customExtractionMatch
  disallowedPage
  duplicateBody
  duplicateBodyNonIndexable
  duplicateDescription
  duplicateDescriptionNonIndexable
  duplicatePage
  duplicatePageNonIndexable
  duplicateTitle
  duplicateTitleNonIndexable
  failedReason
  fileExtension
  headerContentType
  httpStatusCode
  https
  indexable
  isImage
  isSelfCanonical
  js
  level
  metaContentType
  nofollowedPage
  noindex
  ogLocale
  ogType
  path0
  path1
  path2
  path3
  path4
  path5
  path6
  path7
  path8
  path9
  viewport
}

input CrawlUrlAggregateOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The dimension or aggregation to order by.
  """
  field: CrawlUrlAggregateOrderField!
}

enum CrawlUrlAggregateOrderField {
  amphtml
  amphtmlReciprocate
  avgBacklinkCount
  avgBacklinkDomainCount
  avgBodyTagsInHeadCount
  avgBreadcrumbSchemaCount
  avgCanonicalLinksInCount
  avgContentHtmlRatio
  avgContentSize
  avgDeeprank
  avgDescriptionLength
  avgDescriptionLengthPx
  avgDuplicateBodyCount
  avgDuplicateDescriptionCount
  avgDuplicatePageCount
  avgDuplicateTitleCount
  avgEventSchemaCount
  avgExternalLinksCount
  avgFaqpageSchemaCount
  avgFetchTime
  avgFolderCount
  avgFollowedExternalLinksOutCount
  avgFollowedLinksInCount
  avgGaAvgPageLoadTime
  avgGaAvgTimeOnPage
  avgGaPageviewsPerVisits
  avgGaVisitBounceRate
  avgGaVisits
  avgH1Count
  avgH1Length
  avgHeadTagsInBodyCount
  avgHowtoSchemaCount
  avgHreflangLinksInCount
  avgHtmlSize
  avgInternalLinksCount
  avgLinksInCount
  avgLinksOutCount
  avgLogRequestsDesktop
  avgLogRequestsMobile
  avgLogRequestsTotal
  avgMobileDesktopContentDifference
  avgMobileDesktopLinksInDifference
  avgMobileDesktopLinksOutDifference
  avgNewsarticleSchemaCount
  avgPageTitleLength
  avgPageTitleLengthPx
  avgParamCount
  avgPerformanceCls
  avgPerformanceDcl
  avgPerformanceFcp
  avgPerformanceLcp
  avgPerformanceTtfb
  avgPerformanceTti
  avgProductPriceSchemaValue
  avgProductRatingSchemaValue
  avgProductSchemaCount
  avgQapageSchemaCount
  avgRecipeSchemaCount
  avgRedirectCount
  avgRedirectsInCount
  avgRelLinksInCount
  avgRenderedLinkCountDifference
  avgRenderedWordCountDifference
  avgReviewSchemaCount
  avgSearchConsoleDesktopClicks
  avgSearchConsoleDesktopCtr
  avgSearchConsoleDesktopImpressions
  avgSearchConsoleDesktopPosition
  avgSearchConsoleMobileClicks
  avgSearchConsoleMobileCtr
  avgSearchConsoleMobileImpressions
  avgSearchConsoleMobilePosition
  avgSearchConsoleTabletClicks
  avgSearchConsoleTabletCtr
  avgSearchConsoleTabletImpressions
  avgSearchConsoleTabletPosition
  avgSearchConsoleTotalClicks
  avgSearchConsoleTotalCtr
  avgSearchConsoleTotalImpressions
  avgSearchConsoleTotalPosition
  avgSitemapsInCount
  avgVideoobjectSchemaCount
  avgWordCount
  canonicalUrlIsConsistent
  canonicalizedPage
  countBacklinkCount
  countBacklinkDomainCount
  countBodyTagsInHeadCount
  countBreadcrumbSchemaCount
  countCanonicalLinksInCount
  countContentHtmlRatio
  countContentSize
  countDeeprank
  countDescriptionLength
  countDescriptionLengthPx
  countDuplicateBodyCount
  countDuplicateDescriptionCount
  countDuplicatePageCount
  countDuplicateTitleCount
  countEventSchemaCount
  countExternalLinksCount
  countFaqpageSchemaCount
  countFetchTime
  countFolderCount
  countFollowedExternalLinksOutCount
  countFollowedLinksInCount
  countFoundAtSitemap
  countGaAvgPageLoadTime
  countGaAvgTimeOnPage
  countGaPageviewsPerVisits
  countGaVisitBounceRate
  countGaVisits
  countH1Count
  countH1Length
  countHeadTagsInBodyCount
  countHowtoSchemaCount
  countHreflangLinksInCount
  countHtmlSize
  countInternalLinksCount
  countLinksInCount
  countLinksOutCount
  countLogRequestsDesktop
  countLogRequestsMobile
  countLogRequestsTotal
  countMobileDesktopContentDifference
  countMobileDesktopLinksInDifference
  countMobileDesktopLinksOutDifference
  countNewsarticleSchemaCount
  countPageTitleLength
  countPageTitleLengthPx
  countParamCount
  countPerformanceCls
  countPerformanceDcl
  countPerformanceFcp
  countPerformanceLcp
  countPerformanceTtfb
  countPerformanceTti
  countProductPriceSchemaValue
  countProductRatingSchemaValue
  countProductSchemaCount
  countQapageSchemaCount
  countRecipeSchemaCount
  countRedirectCount
  countRedirectsInCount
  countRelLinksInCount
  countRenderedLinkCountDifference
  countRenderedWordCountDifference
  countReviewSchemaCount
  countSearchConsoleDesktopClicks
  countSearchConsoleDesktopCtr
  countSearchConsoleDesktopImpressions
  countSearchConsoleDesktopPosition
  countSearchConsoleMobileClicks
  countSearchConsoleMobileCtr
  countSearchConsoleMobileImpressions
  countSearchConsoleMobilePosition
  countSearchConsoleTabletClicks
  countSearchConsoleTabletCtr
  countSearchConsoleTabletImpressions
  countSearchConsoleTabletPosition
  countSearchConsoleTotalClicks
  countSearchConsoleTotalCtr
  countSearchConsoleTotalImpressions
  countSearchConsoleTotalPosition
  countSitemapsInCount
  countUrl
  countVideoobjectSchemaCount
  countWordCount
  css
  customExtractionMatch
  disallowedPage
  duplicateBody
  duplicateBodyNonIndexable
  duplicateDescription
  duplicateDescriptionNonIndexable
  duplicatePage
  duplicatePageNonIndexable
  duplicateTitle
  duplicateTitleNonIndexable
  failedReason
  fileExtension
  headerContentType
  httpStatusCode
  https
  indexable
  isImage
  isSelfCanonical
  js
  level
  maxBacklinkCount
  maxBacklinkDomainCount
  maxBodyTagsInHeadCount
  maxBreadcrumbSchemaCount
  maxCanonicalLinksInCount
  maxContentHtmlRatio
  maxContentSize
  maxDeeprank
  maxDescriptionLength
  maxDescriptionLengthPx
  maxDuplicateBodyCount
  maxDuplicateDescriptionCount
  maxDuplicatePageCount
  maxDuplicateTitleCount
  maxEventSchemaCount
  maxExternalLinksCount
  maxFaqpageSchemaCount
  maxFetchTime
  maxFolderCount
  maxFollowedExternalLinksOutCount
  maxFollowedLinksInCount
  maxGaAvgPageLoadTime
  maxGaAvgTimeOnPage
  maxGaPageviewsPerVisits
  maxGaVisitBounceRate
  maxGaVisits
  maxH1Count
  maxH1Length
  maxHeadTagsInBodyCount
  maxHowtoSchemaCount
  maxHreflangLinksInCount
  maxHtmlSize
  maxInternalLinksCount
  maxLinksInCount
  maxLinksOutCount
  maxLogRequestsDesktop
  maxLogRequestsMobile
  maxLogRequestsTotal
  maxMobileDesktopContentDifference
  maxMobileDesktopLinksInDifference
  maxMobileDesktopLinksOutDifference
  maxNewsarticleSchemaCount
  maxPageTitleLength
  maxPageTitleLengthPx
  maxParamCount
  maxPerformanceCls
  maxPerformanceDcl
  maxPerformanceFcp
  maxPerformanceLcp
  maxPerformanceTtfb
  maxPerformanceTti
  maxProductPriceSchemaValue
  maxProductRatingSchemaValue
  maxProductSchemaCount
  maxQapageSchemaCount
  maxRecipeSchemaCount
  maxRedirectCount
  maxRedirectsInCount
  maxRelLinksInCount
  maxRenderedLinkCountDifference
  maxRenderedWordCountDifference
  maxReviewSchemaCount
  maxSearchConsoleDesktopClicks
  maxSearchConsoleDesktopCtr
  maxSearchConsoleDesktopImpressions
  maxSearchConsoleDesktopPosition
  maxSearchConsoleMobileClicks
  maxSearchConsoleMobileCtr
  maxSearchConsoleMobileImpressions
  maxSearchConsoleMobilePosition
  maxSearchConsoleTabletClicks
  maxSearchConsoleTabletCtr
  maxSearchConsoleTabletImpressions
  maxSearchConsoleTabletPosition
  maxSearchConsoleTotalClicks
  maxSearchConsoleTotalCtr
  maxSearchConsoleTotalImpressions
  maxSearchConsoleTotalPosition
  maxSitemapsInCount
  maxVideoobjectSchemaCount
  maxWordCount
  metaContentType
  minBacklinkCount
  minBacklinkDomainCount
  minBodyTagsInHeadCount
  minBreadcrumbSchemaCount
  minCanonicalLinksInCount
  minContentHtmlRatio
  minContentSize
  minDeeprank
  minDescriptionLength
  minDescriptionLengthPx
  minDuplicateBodyCount
  minDuplicateDescriptionCount
  minDuplicatePageCount
  minDuplicateTitleCount
  minEventSchemaCount
  minExternalLinksCount
  minFaqpageSchemaCount
  minFetchTime
  minFolderCount
  minFollowedExternalLinksOutCount
  minFollowedLinksInCount
  minGaAvgPageLoadTime
  minGaAvgTimeOnPage
  minGaPageviewsPerVisits
  minGaVisitBounceRate
  minGaVisits
  minH1Count
  minH1Length
  minHeadTagsInBodyCount
  minHowtoSchemaCount
  minHreflangLinksInCount
  minHtmlSize
  minInternalLinksCount
  minLinksInCount
  minLinksOutCount
  minLogRequestsDesktop
  minLogRequestsMobile
  minLogRequestsTotal
  minMobileDesktopContentDifference
  minMobileDesktopLinksInDifference
  minMobileDesktopLinksOutDifference
  minNewsarticleSchemaCount
  minPageTitleLength
  minPageTitleLengthPx
  minParamCount
  minPerformanceCls
  minPerformanceDcl
  minPerformanceFcp
  minPerformanceLcp
  minPerformanceTtfb
  minPerformanceTti
  minProductPriceSchemaValue
  minProductRatingSchemaValue
  minProductSchemaCount
  minQapageSchemaCount
  minRecipeSchemaCount
  minRedirectCount
  minRedirectsInCount
  minRelLinksInCount
  minRenderedLinkCountDifference
  minRenderedWordCountDifference
  minReviewSchemaCount
  minSearchConsoleDesktopClicks
  minSearchConsoleDesktopCtr
  minSearchConsoleDesktopImpressions
  minSearchConsoleDesktopPosition
  minSearchConsoleMobileClicks
  minSearchConsoleMobileCtr
  minSearchConsoleMobileImpressions
  minSearchConsoleMobilePosition
  minSearchConsoleTabletClicks
  minSearchConsoleTabletCtr
  minSearchConsoleTabletImpressions
  minSearchConsoleTabletPosition
  minSearchConsoleTotalClicks
  minSearchConsoleTotalCtr
  minSearchConsoleTotalImpressions
  minSearchConsoleTotalPosition
  minSitemapsInCount
  minVideoobjectSchemaCount
  minWordCount
  nofollowedPage
  noindex
  ogLocale
  ogType
  path0
  path1
  path2
  path3
  path4
  path5
  path6
  path7
  path8
  path9
  sumBacklinkCount
  sumBacklinkDomainCount
  sumBodyTagsInHeadCount
  sumBreadcrumbSchemaCount
  sumCanonicalLinksInCount
  sumContentHtmlRatio
  sumContentSize
  sumDeeprank
  sumDescriptionLength
  sumDescriptionLengthPx
  sumDuplicateBodyCount
  sumDuplicateDescriptionCount
  sumDuplicatePageCount
  sumDuplicateTitleCount
  sumEventSchemaCount
  sumExternalLinksCount
  sumFaqpageSchemaCount
  sumFetchTime
  sumFolderCount
  sumFollowedExternalLinksOutCount
  sumFollowedLinksInCount
  sumGaAvgPageLoadTime
  sumGaAvgTimeOnPage
  sumGaPageviewsPerVisits
  sumGaVisitBounceRate
  sumGaVisits
  sumH1Count
  sumH1Length
  sumHeadTagsInBodyCount
  sumHowtoSchemaCount
  sumHreflangLinksInCount
  sumHtmlSize
  sumInternalLinksCount
  sumLinksInCount
  sumLinksOutCount
  sumLogRequestsDesktop
  sumLogRequestsMobile
  sumLogRequestsTotal
  sumMobileDesktopContentDifference
  sumMobileDesktopLinksInDifference
  sumMobileDesktopLinksOutDifference
  sumNewsarticleSchemaCount
  sumPageTitleLength
  sumPageTitleLengthPx
  sumParamCount
  sumPerformanceCls
  sumPerformanceDcl
  sumPerformanceFcp
  sumPerformanceLcp
  sumPerformanceTtfb
  sumPerformanceTti
  sumProductPriceSchemaValue
  sumProductRatingSchemaValue
  sumProductSchemaCount
  sumQapageSchemaCount
  sumRecipeSchemaCount
  sumRedirectCount
  sumRedirectsInCount
  sumRelLinksInCount
  sumRenderedLinkCountDifference
  sumRenderedWordCountDifference
  sumReviewSchemaCount
  sumSearchConsoleDesktopClicks
  sumSearchConsoleDesktopCtr
  sumSearchConsoleDesktopImpressions
  sumSearchConsoleDesktopPosition
  sumSearchConsoleMobileClicks
  sumSearchConsoleMobileCtr
  sumSearchConsoleMobileImpressions
  sumSearchConsoleMobilePosition
  sumSearchConsoleTabletClicks
  sumSearchConsoleTabletCtr
  sumSearchConsoleTabletImpressions
  sumSearchConsoleTabletPosition
  sumSearchConsoleTotalClicks
  sumSearchConsoleTotalCtr
  sumSearchConsoleTotalImpressions
  sumSearchConsoleTotalPosition
  sumSitemapsInCount
  sumVideoobjectSchemaCount
  sumWordCount
  viewport
}

type CrawlUrlAvgCalculation {
  backlinkCount: Float
  backlinkDomainCount: Float
  bodyTagsInHeadCount: Float
  breadcrumbSchemaCount: Float
  canonicalLinksInCount: Float
  contentHtmlRatio: Float
  contentSize: Float
  deeprank: Float
  descriptionLength: Float
  descriptionLengthPx: Float
  duplicateBodyCount: Float
  duplicateDescriptionCount: Float
  duplicatePageCount: Float
  duplicateTitleCount: Float
  eventSchemaCount: Float
  externalLinksCount: Float
  faqpageSchemaCount: Float
  fetchTime: Float
  folderCount: Float
  followedExternalLinksOutCount: Float
  followedLinksInCount: Float
  gaAvgPageLoadTime: Float
  gaAvgTimeOnPage: Float
  gaPageviewsPerVisits: Float
  gaVisitBounceRate: Float
  gaVisits: Float
  h1Count: Float
  h1Length: Float
  headTagsInBodyCount: Float
  howtoSchemaCount: Float
  hreflangLinksInCount: Float
  htmlSize: Float
  internalLinksCount: Float
  linksInCount: Float
  linksOutCount: Float
  logRequestsDesktop: Float
  logRequestsMobile: Float
  logRequestsTotal: Float
  mobileDesktopContentDifference: Float
  mobileDesktopLinksInDifference: Float
  mobileDesktopLinksOutDifference: Float
  newsarticleSchemaCount: Float
  pageTitleLength: Float
  pageTitleLengthPx: Float
  paramCount: Float
  performanceCls: Float
  performanceDcl: Float
  performanceFcp: Float
  performanceLcp: Float
  performanceTtfb: Float
  performanceTti: Float
  productPriceSchemaValue: Float
  productRatingSchemaValue: Float
  productSchemaCount: Float
  qapageSchemaCount: Float
  recipeSchemaCount: Float
  redirectCount: Float
  redirectsInCount: Float
  relLinksInCount: Float
  renderedLinkCountDifference: Float
  renderedWordCountDifference: Float
  reviewSchemaCount: Float
  searchConsoleDesktopClicks: Float
  searchConsoleDesktopCtr: Float
  searchConsoleDesktopImpressions: Float
  searchConsoleDesktopPosition: Float
  searchConsoleMobileClicks: Float
  searchConsoleMobileCtr: Float
  searchConsoleMobileImpressions: Float
  searchConsoleMobilePosition: Float
  searchConsoleTabletClicks: Float
  searchConsoleTabletCtr: Float
  searchConsoleTabletImpressions: Float
  searchConsoleTabletPosition: Float
  searchConsoleTotalClicks: Float
  searchConsoleTotalCtr: Float
  searchConsoleTotalImpressions: Float
  searchConsoleTotalPosition: Float
  sitemapsInCount: Float
  videoobjectSchemaCount: Float
  wordCount: Float
}

type CrawlUrlConnection {
  """
  A list of edges.
  """
  edges: [CrawlUrlEdge!]!
  """
  A list of nodes.
  """
  nodes: [CrawlUrl!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of CrawlUrls in the connection.
  """
  totalCount: Int!
}

input CrawlUrlConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [CrawlUrlConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [CrawlUrlConnectionFilterInput!]
  amphtml: ConnectionBooleanFilterInput
  amphtmlReciprocate: ConnectionBooleanFilterInput
  amphtmlValid: ConnectionBooleanFilterInput
  """
  CrawlUrlConnectionFilterInput.and will be removed. Use CrawlUrlConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: CrawlUrlConnectionFilterInput
  backlinkCount: ConnectionIntFilterInput
  backlinkDomainCount: ConnectionIntFilterInput
  bodyTagsInHeadCount: ConnectionIntFilterInput
  breadcrumbSchemaCount: ConnectionIntFilterInput
  canonicalHeaderUrl: ConnectionStringFilterInput
  canonicalHtmlUrl: ConnectionStringFilterInput
  canonicalLinksInCount: ConnectionIntFilterInput
  canonicalUrl: ConnectionStringFilterInput
  canonicalUrlDigest: ConnectionStringFilterInput
  canonicalUrlIsConsistent: ConnectionBooleanFilterInput
  canonicalizedPage: ConnectionBooleanFilterInput
  contentHtmlRatio: ConnectionFloatFilterInput
  contentSize: ConnectionIntFilterInput
  crawlDatetime: ConnectionDateFilterInput
  css: ConnectionBooleanFilterInput
  customExtraction1: ConnectionStringArrayFilterInput
  customExtraction2: ConnectionStringArrayFilterInput
  customExtraction3: ConnectionStringArrayFilterInput
  customExtraction4: ConnectionStringArrayFilterInput
  customExtraction5: ConnectionStringArrayFilterInput
  customExtraction6: ConnectionStringArrayFilterInput
  customExtraction7: ConnectionStringArrayFilterInput
  customExtraction8: ConnectionStringArrayFilterInput
  customExtraction9: ConnectionStringArrayFilterInput
  customExtraction10: ConnectionStringArrayFilterInput
  customExtraction11: ConnectionStringArrayFilterInput
  customExtraction12: ConnectionStringArrayFilterInput
  customExtraction13: ConnectionStringArrayFilterInput
  customExtraction14: ConnectionStringArrayFilterInput
  customExtraction15: ConnectionStringArrayFilterInput
  customExtraction16: ConnectionStringArrayFilterInput
  customExtraction17: ConnectionStringArrayFilterInput
  customExtraction18: ConnectionStringArrayFilterInput
  customExtraction19: ConnectionStringArrayFilterInput
  customExtraction20: ConnectionStringArrayFilterInput
  customExtraction21: ConnectionStringArrayFilterInput
  customExtraction22: ConnectionStringArrayFilterInput
  customExtraction23: ConnectionStringArrayFilterInput
  customExtraction24: ConnectionStringArrayFilterInput
  customExtraction25: ConnectionStringArrayFilterInput
  customExtraction26: ConnectionStringArrayFilterInput
  customExtraction27: ConnectionStringArrayFilterInput
  customExtraction28: ConnectionStringArrayFilterInput
  customExtraction29: ConnectionStringArrayFilterInput
  customExtraction30: ConnectionStringArrayFilterInput
  customExtractionMatch: ConnectionBooleanFilterInput
  deeprank: ConnectionFloatFilterInput
  description: ConnectionStringFilterInput
  descriptionLength: ConnectionIntFilterInput
  descriptionLengthPx: ConnectionIntFilterInput
  desktopUrl: ConnectionStringFilterInput
  desktopUrlDigest: ConnectionStringFilterInput
  disallowedPage: ConnectionBooleanFilterInput
  duplicateBody: ConnectionBooleanFilterInput
  duplicateBodyCount: ConnectionIntFilterInput
  duplicateBodyNonIndexable: ConnectionBooleanFilterInput
  duplicateBodyPrimaryUrl: ConnectionStringFilterInput
  duplicateBodyPrimaryUrlDigest: ConnectionStringFilterInput
  duplicateDescription: ConnectionBooleanFilterInput
  duplicateDescriptionCount: ConnectionIntFilterInput
  duplicateDescriptionNonIndexable: ConnectionBooleanFilterInput
  duplicateDescriptionPrimaryUrl: ConnectionStringFilterInput
  duplicateDescriptionPrimaryUrlDigest: ConnectionStringFilterInput
  duplicatePage: ConnectionBooleanFilterInput
  duplicatePageCount: ConnectionIntFilterInput
  duplicatePageNonIndexable: ConnectionBooleanFilterInput
  duplicateTitle: ConnectionBooleanFilterInput
  duplicateTitleCount: ConnectionIntFilterInput
  duplicateTitleNonIndexable: ConnectionBooleanFilterInput
  duplicateTitlePrimaryUrl: ConnectionStringFilterInput
  duplicateTitlePrimaryUrlDigest: ConnectionStringFilterInput
  encodingHeader: ConnectionStringFilterInput
  eventSchemaCount: ConnectionIntFilterInput
  externalLinksCount: ConnectionIntFilterInput
  failedReason: ConnectionStringFilterInput
  faqpageSchemaCount: ConnectionIntFilterInput
  fbAdmins: ConnectionStringFilterInput
  fbAppId: ConnectionStringFilterInput
  fetchTime: ConnectionFloatFilterInput
  fileExtension: ConnectionStringFilterInput
  folderCount: ConnectionIntFilterInput
  followedExternalLinksOutCount: ConnectionIntFilterInput
  followedLinksInCount: ConnectionIntFilterInput
  foundAtSitemap: ConnectionStringFilterInput
  foundAtUrl: ConnectionStringFilterInput
  foundInBacklinks: ConnectionBooleanFilterInput
  foundInGoogleAnalytics: ConnectionBooleanFilterInput
  foundInGoogleSearchConsole: ConnectionBooleanFilterInput
  foundInList: ConnectionBooleanFilterInput
  foundInLogSummary: ConnectionBooleanFilterInput
  foundInSitemap: ConnectionBooleanFilterInput
  foundInWebCrawl: ConnectionBooleanFilterInput
  gaAvgPageLoadTime: ConnectionFloatFilterInput
  gaAvgTimeOnPage: ConnectionFloatFilterInput
  gaPageviewsPerVisits: ConnectionFloatFilterInput
  gaVisitBounceRate: ConnectionFloatFilterInput
  gaVisits: ConnectionIntFilterInput
  h1Count: ConnectionIntFilterInput
  h1Length: ConnectionIntFilterInput
  hasStructuredData: ConnectionBooleanFilterInput
  headTagsInBodyCount: ConnectionIntFilterInput
  headerContentType: ConnectionStringFilterInput
  headerNoarchive: ConnectionBooleanFilterInput
  headerNofollow: ConnectionBooleanFilterInput
  headerNoindex: ConnectionBooleanFilterInput
  headerNoodp: ConnectionBooleanFilterInput
  headerNosnippet: ConnectionBooleanFilterInput
  headerNoydir: ConnectionBooleanFilterInput
  howtoSchemaCount: ConnectionIntFilterInput
  hreflangLinksInCount: ConnectionIntFilterInput
  hreflangLinksOutCount: ConnectionIntFilterInput
  hreflangOnHeader: ConnectionBooleanFilterInput
  hreflangOnPage: ConnectionBooleanFilterInput
  hreflangOnSitemap: ConnectionBooleanFilterInput
  hreflangUrlCount: ConnectionIntFilterInput
  hsts: ConnectionStringFilterInput
  htmlSize: ConnectionIntFilterInput
  httpStatusCode: ConnectionIntFilterInput
  https: ConnectionBooleanFilterInput
  indexable: ConnectionBooleanFilterInput
  internal: ConnectionBooleanFilterInput
  internalLinksCount: ConnectionIntFilterInput
  isImage: ConnectionBooleanFilterInput
  isRedirect: ConnectionBooleanFilterInput
  isRedirectLoop: ConnectionBooleanFilterInput
  isSelfCanonical: ConnectionBooleanFilterInput
  js: ConnectionBooleanFilterInput
  level: ConnectionIntFilterInput
  linksInCount: ConnectionIntFilterInput
  linksOutCount: ConnectionIntFilterInput
  logRequestsDesktop: ConnectionIntFilterInput
  logRequestsMobile: ConnectionIntFilterInput
  logRequestsTotal: ConnectionIntFilterInput
  metaCharset: ConnectionStringFilterInput
  metaContentType: ConnectionStringFilterInput
  metaDisabledSitelinks: ConnectionBooleanFilterInput
  metaNoarchive: ConnectionBooleanFilterInput
  metaNofollow: ConnectionBooleanFilterInput
  metaNoindex: ConnectionBooleanFilterInput
  metaNoodp: ConnectionBooleanFilterInput
  metaNosnippet: ConnectionBooleanFilterInput
  metaNoydir: ConnectionBooleanFilterInput
  metaRedirect: ConnectionBooleanFilterInput
  mobileDesktopContentDifference: ConnectionIntFilterInput
  mobileDesktopContentMismatch: ConnectionBooleanFilterInput
  mobileDesktopLinksInDifference: ConnectionIntFilterInput
  mobileDesktopLinksOutDifference: ConnectionIntFilterInput
  mobileReciprocate: ConnectionBooleanFilterInput
  mobileRelAlternate: ConnectionBooleanFilterInput
  mobileRelAlternateHeaderUrl: ConnectionStringFilterInput
  mobileRelAlternateHeaderUrlDigest: ConnectionStringFilterInput
  mobileRelAlternateHtmlUrl: ConnectionStringFilterInput
  mobileRelAlternateHtmlUrlDigest: ConnectionStringFilterInput
  mobileRelAlternateUrl: ConnectionStringFilterInput
  mobileRelAlternateUrlDigest: ConnectionStringFilterInput
  mobileRelAlternateUrlIsConsistent: ConnectionBooleanFilterInput
  mobileRelAmphtml: ConnectionBooleanFilterInput
  mobileRelAmphtmlUrl: ConnectionStringFilterInput
  mobileRelAmphtmlUrlDigest: ConnectionStringFilterInput
  newsarticleAuthorSchemaValue: ConnectionStringFilterInput
  newsarticleSchemaCount: ConnectionIntFilterInput
  newsarticleSchemaValid: ConnectionBooleanFilterInput
  noarchive: ConnectionBooleanFilterInput
  nofollowedPage: ConnectionBooleanFilterInput
  noindex: ConnectionBooleanFilterInput
  noodp: ConnectionBooleanFilterInput
  nosnippet: ConnectionBooleanFilterInput
  noydir: ConnectionBooleanFilterInput
  ogDescription: ConnectionStringFilterInput
  ogImage: ConnectionStringFilterInput
  ogLocale: ConnectionStringFilterInput
  ogSiteName: ConnectionStringFilterInput
  ogTitle: ConnectionStringFilterInput
  ogType: ConnectionStringFilterInput
  ogUrl: ConnectionStringFilterInput
  page1: ConnectionBooleanFilterInput
  pageTitle: ConnectionStringFilterInput
  pageTitleLength: ConnectionIntFilterInput
  pageTitleLengthPx: ConnectionIntFilterInput
  paginatedPage: ConnectionBooleanFilterInput
  paramCount: ConnectionIntFilterInput
  path0: ConnectionStringFilterInput
  path1: ConnectionStringFilterInput
  path2: ConnectionStringFilterInput
  path3: ConnectionStringFilterInput
  path4: ConnectionStringFilterInput
  path5: ConnectionStringFilterInput
  path6: ConnectionStringFilterInput
  path7: ConnectionStringFilterInput
  path8: ConnectionStringFilterInput
  path9: ConnectionStringFilterInput
  pathCount: ConnectionIntFilterInput
  performanceCls: ConnectionFloatFilterInput
  performanceDcl: ConnectionFloatFilterInput
  performanceFcp: ConnectionFloatFilterInput
  performanceLcp: ConnectionFloatFilterInput
  performanceTtfb: ConnectionFloatFilterInput
  performanceTti: ConnectionFloatFilterInput
  previousPath: ConnectionStringFilterInput
  previousPathDigest: ConnectionStringFilterInput
  primaryPage: ConnectionBooleanFilterInput
  primaryUrl: ConnectionStringFilterInput
  primaryUrlDigest: ConnectionStringFilterInput
  primaryUrlNonIndexable: ConnectionStringFilterInput
  productAvailabilitySchemaValue: ConnectionStringFilterInput
  productBrandSchemaValue: ConnectionStringFilterInput
  productPriceSchemaValue: ConnectionFloatFilterInput
  productRatingSchemaValue: ConnectionFloatFilterInput
  productSchemaCount: ConnectionIntFilterInput
  productSchemaValid: ConnectionBooleanFilterInput
  productSkuSchemaValue: ConnectionStringFilterInput
  qapageSchemaCount: ConnectionIntFilterInput
  recipeSchemaCount: ConnectionIntFilterInput
  redirectCount: ConnectionIntFilterInput
  redirectExclusionReason: ConnectionRedirectExclusionReasonFilterInput
  redirectedToStatusCode: ConnectionIntFilterInput
  redirectedToUrl: ConnectionStringFilterInput
  redirectedToUrlDigest: ConnectionStringFilterInput
  redirectsInCount: ConnectionIntFilterInput
  relLinksInCount: ConnectionIntFilterInput
  relNextHeaderUrl: ConnectionStringFilterInput
  relNextHtmlUrl: ConnectionStringFilterInput
  relNextUrl: ConnectionStringFilterInput
  relNextUrlIsConsistent: ConnectionBooleanFilterInput
  relPrevHeaderUrl: ConnectionStringFilterInput
  relPrevHtmlUrl: ConnectionStringFilterInput
  relPrevUrl: ConnectionStringFilterInput
  relPrevUrlIsConsistent: ConnectionBooleanFilterInput
  renderedCanonicalLinkMatch: ConnectionBooleanFilterInput
  renderedLinkCountDifference: ConnectionIntFilterInput
  renderedWordCountDifference: ConnectionIntFilterInput
  resolvedHttpStatusCode: ConnectionResolvedHttpStatusCodeFilterInput
  responsive: ConnectionBooleanFilterInput
  reviewSchemaCount: ConnectionIntFilterInput
  robotsNoindex: ConnectionBooleanFilterInput
  searchConsoleDesktopClicks: ConnectionIntFilterInput
  searchConsoleDesktopCtr: ConnectionFloatFilterInput
  searchConsoleDesktopImpressions: ConnectionIntFilterInput
  searchConsoleDesktopPosition: ConnectionFloatFilterInput
  searchConsoleMobileClicks: ConnectionIntFilterInput
  searchConsoleMobileCtr: ConnectionFloatFilterInput
  searchConsoleMobileImpressions: ConnectionIntFilterInput
  searchConsoleMobilePosition: ConnectionFloatFilterInput
  searchConsoleTabletClicks: ConnectionIntFilterInput
  searchConsoleTabletCtr: ConnectionFloatFilterInput
  searchConsoleTabletImpressions: ConnectionIntFilterInput
  searchConsoleTabletPosition: ConnectionFloatFilterInput
  searchConsoleTotalClicks: ConnectionIntFilterInput
  searchConsoleTotalCtr: ConnectionFloatFilterInput
  searchConsoleTotalImpressions: ConnectionIntFilterInput
  searchConsoleTotalPosition: ConnectionFloatFilterInput
  secureFormInputField: ConnectionBooleanFilterInput
  separateDesktop: ConnectionBooleanFilterInput
  separateMobile: ConnectionBooleanFilterInput
  sitemapsInCount: ConnectionIntFilterInput
  twitterCard: ConnectionStringFilterInput
  twitterDescription: ConnectionStringFilterInput
  twitterDescriptionLength: ConnectionIntFilterInput
  twitterImage: ConnectionStringFilterInput
  twitterSite: ConnectionStringFilterInput
  twitterTitle: ConnectionStringFilterInput
  url: ConnectionStringFilterInput
  urlAlias: ConnectionStringFilterInput
  urlAliasDigest: ConnectionStringFilterInput
  urlDigest: ConnectionStringFilterInput
  urlLength: ConnectionIntFilterInput
  validTwitterCard: ConnectionBooleanFilterInput
  varyUserAgent: ConnectionBooleanFilterInput
  videoobjectSchemaCount: ConnectionIntFilterInput
  viewport: ConnectionStringFilterInput
  wordCount: ConnectionIntFilterInput
}

type CrawlUrlCountCalculation {
  backlinkCount: Int!
  backlinkDomainCount: Int!
  bodyTagsInHeadCount: Int!
  breadcrumbSchemaCount: Int!
  canonicalLinksInCount: Int!
  contentHtmlRatio: Int!
  contentSize: Int!
  deeprank: Int!
  descriptionLength: Int!
  descriptionLengthPx: Int!
  duplicateBodyCount: Int!
  duplicateDescriptionCount: Int!
  duplicatePageCount: Int!
  duplicateTitleCount: Int!
  eventSchemaCount: Int!
  externalLinksCount: Int!
  faqpageSchemaCount: Int!
  fetchTime: Int!
  folderCount: Int!
  followedExternalLinksOutCount: Int!
  followedLinksInCount: Int!
  foundAtSitemap: Int!
  gaAvgPageLoadTime: Int!
  gaAvgTimeOnPage: Int!
  gaPageviewsPerVisits: Int!
  gaVisitBounceRate: Int!
  gaVisits: Int!
  h1Count: Int!
  h1Length: Int!
  headTagsInBodyCount: Int!
  howtoSchemaCount: Int!
  hreflangLinksInCount: Int!
  htmlSize: Int!
  internalLinksCount: Int!
  linksInCount: Int!
  linksOutCount: Int!
  logRequestsDesktop: Int!
  logRequestsMobile: Int!
  logRequestsTotal: Int!
  mobileDesktopContentDifference: Int!
  mobileDesktopLinksInDifference: Int!
  mobileDesktopLinksOutDifference: Int!
  newsarticleSchemaCount: Int!
  pageTitleLength: Int!
  pageTitleLengthPx: Int!
  paramCount: Int!
  performanceCls: Int!
  performanceDcl: Int!
  performanceFcp: Int!
  performanceLcp: Int!
  performanceTtfb: Int!
  performanceTti: Int!
  productPriceSchemaValue: Int!
  productRatingSchemaValue: Int!
  productSchemaCount: Int!
  qapageSchemaCount: Int!
  recipeSchemaCount: Int!
  redirectCount: Int!
  redirectsInCount: Int!
  relLinksInCount: Int!
  renderedLinkCountDifference: Int!
  renderedWordCountDifference: Int!
  reviewSchemaCount: Int!
  searchConsoleDesktopClicks: Int!
  searchConsoleDesktopCtr: Int!
  searchConsoleDesktopImpressions: Int!
  searchConsoleDesktopPosition: Int!
  searchConsoleMobileClicks: Int!
  searchConsoleMobileCtr: Int!
  searchConsoleMobileImpressions: Int!
  searchConsoleMobilePosition: Int!
  searchConsoleTabletClicks: Int!
  searchConsoleTabletCtr: Int!
  searchConsoleTabletImpressions: Int!
  searchConsoleTabletPosition: Int!
  searchConsoleTotalClicks: Int!
  searchConsoleTotalCtr: Int!
  searchConsoleTotalImpressions: Int!
  searchConsoleTotalPosition: Int!
  sitemapsInCount: Int!
  url: Int!
  videoobjectSchemaCount: Int!
  wordCount: Int!
}

type CrawlUrlEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: CrawlUrl!
}

type CrawlUrlMaxCalculation {
  backlinkCount: Int
  backlinkDomainCount: Int
  bodyTagsInHeadCount: Int
  breadcrumbSchemaCount: Int
  canonicalLinksInCount: Int
  contentHtmlRatio: Float
  contentSize: Int
  deeprank: Float
  descriptionLength: Int
  descriptionLengthPx: Int
  duplicateBodyCount: Int
  duplicateDescriptionCount: Int
  duplicatePageCount: Int
  duplicateTitleCount: Int
  eventSchemaCount: Int
  externalLinksCount: Int
  faqpageSchemaCount: Int
  fetchTime: Float
  folderCount: Int
  followedExternalLinksOutCount: Int
  followedLinksInCount: Int
  gaAvgPageLoadTime: Float
  gaAvgTimeOnPage: Float
  gaPageviewsPerVisits: Float
  gaVisitBounceRate: Float
  gaVisits: Int
  h1Count: Int
  h1Length: Int
  headTagsInBodyCount: Int
  howtoSchemaCount: Int
  hreflangLinksInCount: Int
  htmlSize: Int
  internalLinksCount: Int
  linksInCount: Int
  linksOutCount: Int
  logRequestsDesktop: Int
  logRequestsMobile: Int
  logRequestsTotal: Int
  mobileDesktopContentDifference: Int
  mobileDesktopLinksInDifference: Int
  mobileDesktopLinksOutDifference: Int
  newsarticleSchemaCount: Int
  pageTitleLength: Int
  pageTitleLengthPx: Int
  paramCount: Int
  performanceCls: Float
  performanceDcl: Float
  performanceFcp: Float
  performanceLcp: Float
  performanceTtfb: Float
  performanceTti: Float
  productPriceSchemaValue: Float
  productRatingSchemaValue: Float
  productSchemaCount: Int
  qapageSchemaCount: Int
  recipeSchemaCount: Int
  redirectCount: Int
  redirectsInCount: Int
  relLinksInCount: Int
  renderedLinkCountDifference: Int
  renderedWordCountDifference: Int
  reviewSchemaCount: Int
  searchConsoleDesktopClicks: Int
  searchConsoleDesktopCtr: Float
  searchConsoleDesktopImpressions: Int
  searchConsoleDesktopPosition: Float
  searchConsoleMobileClicks: Int
  searchConsoleMobileCtr: Float
  searchConsoleMobileImpressions: Int
  searchConsoleMobilePosition: Float
  searchConsoleTabletClicks: Int
  searchConsoleTabletCtr: Float
  searchConsoleTabletImpressions: Int
  searchConsoleTabletPosition: Float
  searchConsoleTotalClicks: Int
  searchConsoleTotalCtr: Float
  searchConsoleTotalImpressions: Int
  searchConsoleTotalPosition: Float
  sitemapsInCount: Int
  videoobjectSchemaCount: Int
  wordCount: Int
}

type CrawlUrlMinCalculation {
  backlinkCount: Int
  backlinkDomainCount: Int
  bodyTagsInHeadCount: Int
  breadcrumbSchemaCount: Int
  canonicalLinksInCount: Int
  contentHtmlRatio: Float
  contentSize: Int
  deeprank: Float
  descriptionLength: Int
  descriptionLengthPx: Int
  duplicateBodyCount: Int
  duplicateDescriptionCount: Int
  duplicatePageCount: Int
  duplicateTitleCount: Int
  eventSchemaCount: Int
  externalLinksCount: Int
  faqpageSchemaCount: Int
  fetchTime: Float
  folderCount: Int
  followedExternalLinksOutCount: Int
  followedLinksInCount: Int
  gaAvgPageLoadTime: Float
  gaAvgTimeOnPage: Float
  gaPageviewsPerVisits: Float
  gaVisitBounceRate: Float
  gaVisits: Int
  h1Count: Int
  h1Length: Int
  headTagsInBodyCount: Int
  howtoSchemaCount: Int
  hreflangLinksInCount: Int
  htmlSize: Int
  internalLinksCount: Int
  linksInCount: Int
  linksOutCount: Int
  logRequestsDesktop: Int
  logRequestsMobile: Int
  logRequestsTotal: Int
  mobileDesktopContentDifference: Int
  mobileDesktopLinksInDifference: Int
  mobileDesktopLinksOutDifference: Int
  newsarticleSchemaCount: Int
  pageTitleLength: Int
  pageTitleLengthPx: Int
  paramCount: Int
  performanceCls: Float
  performanceDcl: Float
  performanceFcp: Float
  performanceLcp: Float
  performanceTtfb: Float
  performanceTti: Float
  productPriceSchemaValue: Float
  productRatingSchemaValue: Float
  productSchemaCount: Int
  qapageSchemaCount: Int
  recipeSchemaCount: Int
  redirectCount: Int
  redirectsInCount: Int
  relLinksInCount: Int
  renderedLinkCountDifference: Int
  renderedWordCountDifference: Int
  reviewSchemaCount: Int
  searchConsoleDesktopClicks: Int
  searchConsoleDesktopCtr: Float
  searchConsoleDesktopImpressions: Int
  searchConsoleDesktopPosition: Float
  searchConsoleMobileClicks: Int
  searchConsoleMobileCtr: Float
  searchConsoleMobileImpressions: Int
  searchConsoleMobilePosition: Float
  searchConsoleTabletClicks: Int
  searchConsoleTabletCtr: Float
  searchConsoleTabletImpressions: Int
  searchConsoleTabletPosition: Float
  searchConsoleTotalClicks: Int
  searchConsoleTotalCtr: Float
  searchConsoleTotalImpressions: Int
  searchConsoleTotalPosition: Float
  sitemapsInCount: Int
  videoobjectSchemaCount: Int
  wordCount: Int
}

input CrawlUrlOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order CrawlUrls by.
  """
  field: CrawlUrlOrderField!
}

enum CrawlUrlOrderField {
  amphtml
  amphtmlReciprocate
  amphtmlValid
  backlinkCount
  backlinkDomainCount
  bodyTagsInHeadCount
  breadcrumbSchemaCount
  canonicalHeaderUrl
  canonicalHtmlUrl
  canonicalLinksInCount
  canonicalUrl
  canonicalUrlIsConsistent
  canonicalizedPage
  contentHtmlRatio
  contentSize
  crawlDatetime
  css
  customExtraction1
  customExtraction2
  customExtraction3
  customExtraction4
  customExtraction5
  customExtraction6
  customExtraction7
  customExtraction8
  customExtraction9
  customExtraction10
  customExtraction11
  customExtraction12
  customExtraction13
  customExtraction14
  customExtraction15
  customExtraction16
  customExtraction17
  customExtraction18
  customExtraction19
  customExtraction20
  customExtraction21
  customExtraction22
  customExtraction23
  customExtraction24
  customExtraction25
  customExtraction26
  customExtraction27
  customExtraction28
  customExtraction29
  customExtraction30
  customExtractionMatch
  deeprank
  description
  descriptionLength
  descriptionLengthPx
  desktopUrl
  disallowedPage
  duplicateBody
  duplicateBodyCount
  duplicateBodyNonIndexable
  duplicateBodyPrimaryUrl
  duplicateDescription
  duplicateDescriptionCount
  duplicateDescriptionNonIndexable
  duplicateDescriptionPrimaryUrl
  duplicatePage
  duplicatePageCount
  duplicatePageNonIndexable
  duplicateTitle
  duplicateTitleCount
  duplicateTitleNonIndexable
  duplicateTitlePrimaryUrl
  encodingHeader
  eventSchemaCount
  externalLinksCount
  failedReason
  faqpageSchemaCount
  fbAdmins
  fbAppId
  fetchTime
  fileExtension
  folderCount
  followedExternalLinksOutCount
  followedLinksInCount
  foundAtSitemap
  foundAtUrl
  foundInBacklinks
  foundInGoogleAnalytics
  foundInGoogleSearchConsole
  foundInList
  foundInLogSummary
  foundInSitemap
  foundInWebCrawl
  gaAvgPageLoadTime
  gaAvgTimeOnPage
  gaPageviewsPerVisits
  gaVisitBounceRate
  gaVisits
  h1Count
  h1Length
  hasStructuredData
  headTagsInBodyCount
  headerContentType
  headerNoarchive
  headerNofollow
  headerNoindex
  headerNoodp
  headerNosnippet
  headerNoydir
  howtoSchemaCount
  hreflangLinksInCount
  hreflangLinksOutCount
  hreflangOnHeader
  hreflangOnPage
  hreflangOnSitemap
  hreflangUrlCount
  hsts
  htmlSize
  httpStatusCode
  https
  indexable
  internal
  internalLinksCount
  isImage
  isRedirect
  isRedirectLoop
  isSelfCanonical
  js
  level
  linksInCount
  linksOutCount
  logRequestsDesktop
  logRequestsMobile
  logRequestsTotal
  metaCharset
  metaContentType
  metaDisabledSitelinks
  metaNoarchive
  metaNofollow
  metaNoindex
  metaNoodp
  metaNosnippet
  metaNoydir
  metaRedirect
  mobileDesktopContentDifference
  mobileDesktopContentMismatch
  mobileDesktopLinksInDifference
  mobileDesktopLinksOutDifference
  mobileReciprocate
  mobileRelAlternate
  mobileRelAlternateHeaderUrl
  mobileRelAlternateHtmlUrl
  mobileRelAlternateUrl
  mobileRelAlternateUrlIsConsistent
  mobileRelAmphtml
  mobileRelAmphtmlUrl
  newsarticleAuthorSchemaValue
  newsarticleSchemaCount
  newsarticleSchemaValid
  noarchive
  nofollowedPage
  noindex
  noodp
  nosnippet
  noydir
  ogDescription
  ogImage
  ogLocale
  ogSiteName
  ogTitle
  ogType
  ogUrl
  page1
  pageTitle
  pageTitleLength
  pageTitleLengthPx
  paginatedPage
  paramCount
  path0
  path1
  path2
  path3
  path4
  path5
  path6
  path7
  path8
  path9
  pathCount
  performanceCls
  performanceDcl
  performanceFcp
  performanceLcp
  performanceTtfb
  performanceTti
  previousPath
  primaryPage
  primaryUrl
  primaryUrlNonIndexable
  productAvailabilitySchemaValue
  productBrandSchemaValue
  productPriceSchemaValue
  productRatingSchemaValue
  productSchemaCount
  productSchemaValid
  productSkuSchemaValue
  qapageSchemaCount
  recipeSchemaCount
  redirectCount
  redirectedToStatusCode
  redirectedToUrl
  redirectsInCount
  relLinksInCount
  relNextHeaderUrl
  relNextHtmlUrl
  relNextUrl
  relNextUrlIsConsistent
  relPrevHeaderUrl
  relPrevHtmlUrl
  relPrevUrl
  relPrevUrlIsConsistent
  renderedCanonicalLinkMatch
  renderedLinkCountDifference
  renderedWordCountDifference
  responsive
  reviewSchemaCount
  robotsNoindex
  searchConsoleDesktopClicks
  searchConsoleDesktopCtr
  searchConsoleDesktopImpressions
  searchConsoleDesktopPosition
  searchConsoleMobileClicks
  searchConsoleMobileCtr
  searchConsoleMobileImpressions
  searchConsoleMobilePosition
  searchConsoleTabletClicks
  searchConsoleTabletCtr
  searchConsoleTabletImpressions
  searchConsoleTabletPosition
  searchConsoleTotalClicks
  searchConsoleTotalCtr
  searchConsoleTotalImpressions
  searchConsoleTotalPosition
  secureFormInputField
  separateDesktop
  separateMobile
  sitemapsInCount
  twitterCard
  twitterDescription
  twitterDescriptionLength
  twitterImage
  twitterSite
  twitterTitle
  url
  urlAlias
  urlLength
  validTwitterCard
  varyUserAgent
  videoobjectSchemaCount
  viewport
  wordCount
}

type CrawlUrlSumCalculation {
  backlinkCount: BigInt
  backlinkDomainCount: BigInt
  bodyTagsInHeadCount: BigInt
  breadcrumbSchemaCount: BigInt
  canonicalLinksInCount: BigInt
  contentHtmlRatio: Float
  contentSize: BigInt
  deeprank: Float
  descriptionLength: BigInt
  descriptionLengthPx: BigInt
  duplicateBodyCount: BigInt
  duplicateDescriptionCount: BigInt
  duplicatePageCount: BigInt
  duplicateTitleCount: BigInt
  eventSchemaCount: BigInt
  externalLinksCount: BigInt
  faqpageSchemaCount: BigInt
  fetchTime: Float
  folderCount: BigInt
  followedExternalLinksOutCount: BigInt
  followedLinksInCount: BigInt
  gaAvgPageLoadTime: Float
  gaAvgTimeOnPage: Float
  gaPageviewsPerVisits: Float
  gaVisitBounceRate: Float
  gaVisits: BigInt
  h1Count: BigInt
  h1Length: BigInt
  headTagsInBodyCount: BigInt
  howtoSchemaCount: BigInt
  hreflangLinksInCount: BigInt
  htmlSize: BigInt
  internalLinksCount: BigInt
  linksInCount: BigInt
  linksOutCount: BigInt
  logRequestsDesktop: BigInt
  logRequestsMobile: BigInt
  logRequestsTotal: BigInt
  mobileDesktopContentDifference: BigInt
  mobileDesktopLinksInDifference: BigInt
  mobileDesktopLinksOutDifference: BigInt
  newsarticleSchemaCount: BigInt
  pageTitleLength: BigInt
  pageTitleLengthPx: BigInt
  paramCount: BigInt
  performanceCls: Float
  performanceDcl: Float
  performanceFcp: Float
  performanceLcp: Float
  performanceTtfb: Float
  performanceTti: Float
  productPriceSchemaValue: Float
  productRatingSchemaValue: Float
  productSchemaCount: BigInt
  qapageSchemaCount: BigInt
  recipeSchemaCount: BigInt
  redirectCount: BigInt
  redirectsInCount: BigInt
  relLinksInCount: BigInt
  renderedLinkCountDifference: BigInt
  renderedWordCountDifference: BigInt
  reviewSchemaCount: BigInt
  searchConsoleDesktopClicks: BigInt
  searchConsoleDesktopCtr: Float
  searchConsoleDesktopImpressions: BigInt
  searchConsoleDesktopPosition: Float
  searchConsoleMobileClicks: BigInt
  searchConsoleMobileCtr: Float
  searchConsoleMobileImpressions: BigInt
  searchConsoleMobilePosition: Float
  searchConsoleTabletClicks: BigInt
  searchConsoleTabletCtr: Float
  searchConsoleTabletImpressions: BigInt
  searchConsoleTabletPosition: Float
  searchConsoleTotalClicks: BigInt
  searchConsoleTotalCtr: Float
  searchConsoleTotalImpressions: BigInt
  searchConsoleTotalPosition: Float
  sitemapsInCount: BigInt
  videoobjectSchemaCount: BigInt
  wordCount: BigInt
}

type CrawlWebCrawlDepth {
  duplicatePages: Int
  failedUrls: Int
  level: Int!
  non200StatusCodePages: Int
  nonIndexablePages: Int
  paginatedPages: Int
  uniquePages: Int
}

type CrawlWebCrawlDepthConnection {
  """
  A list of edges.
  """
  edges: [CrawlWebCrawlDepthEdge!]!
  """
  A list of nodes.
  """
  nodes: [CrawlWebCrawlDepth!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of CrawlWebCrawlDepths in the connection.
  """
  totalCount: Int!
}

input CrawlWebCrawlDepthConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [CrawlWebCrawlDepthConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [CrawlWebCrawlDepthConnectionFilterInput!]
  """
  CrawlWebCrawlDepthConnectionFilterInput.and will be removed. Use CrawlWebCrawlDepthConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: CrawlWebCrawlDepthConnectionFilterInput
  duplicatePages: ConnectionIntFilterInput
  failedUrls: ConnectionIntFilterInput
  level: ConnectionIntFilterInput
  non200StatusCodePages: ConnectionIntFilterInput
  nonIndexablePages: ConnectionIntFilterInput
  paginatedPages: ConnectionIntFilterInput
  uniquePages: ConnectionIntFilterInput
}

type CrawlWebCrawlDepthEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: CrawlWebCrawlDepth!
}

input CrawlWebCrawlDepthOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order CrawlWebCrawlDepths by.
  """
  field: CrawlWebCrawlDepthOrderField!
}

enum CrawlWebCrawlDepthOrderField {
  duplicatePages
  failedUrls
  level
  non200StatusCodePages
  nonIndexablePages
  paginatedPages
  uniquePages
}

enum CrawlerType {
  Legacy
  SerpentMapped
  SerpentModular
}

input CreateAdobeAnalyticsProjectReportSuiteInput {
  adobeConnectionId: ObjectID!
  maxRows: Int
  minimumVisits: Int = 0
  numberOfDays: Int = 90
  perPage: Int
  projectId: ObjectID!
  reportSuiteId: String!
  suiteName: String!
}

type CreateAdobeAnalyticsProjectReportSuitePayload {
  adobeAnalyticsProjectReportSuite: AdobeAnalyticsProjectReportSuite!
}

input CreateAdobeConnectionInput {
  apiUsername: String!
  secret: String!
}

type CreateAdobeConnectionPayload {
  adobeConnection: AdobeConnection!
}

input CreateAndRunBuildInput {
  ciBuildId: String
  testSuiteId: ObjectID!
}

type CreateAndRunBuildPayload {
  build: Build!
}

input CreateBuildScheduleInput {
  accountId: ObjectID!
  name: String!
  repetitionRate: BuildScheduleRepetitionRate
  startAt: DateTime!
}

type CreateBuildSchedulePayload {
  buildSchedule: BuildSchedule!
}

input CreateCrawlUrlSegmentInput {
  crawlUrlFilter: CrawlUrlConnectionFilterInput!
  name: String!
  projectId: ObjectID!
}

type CreateCrawlUrlSegmentPayload {
  segment: Segment!
}

input CreateCreditReportExportInput {
  accountId: ObjectID!
}

type CreateCreditReportExportPayload {
  creditReportExport: CreditReportExport!
}

input CreateCustomChartForCustomDashboardInput {
  items: [String!]!
  metadata: JSONObject
  metric: String!
  type: CustomChartType!
}

input CreateCustomChartInput {
  customDashboardId: ObjectID!
  items: [String!]!
  metadata: JSONObject
  metric: String!
  type: CustomChartType!
}

type CreateCustomChartPayload {
  customChart: CustomChart!
}

input CreateCustomDashboardInput {
  accountId: ObjectID!
  customCharts: [CreateCustomChartForCustomDashboardInput!]
  customTables: [CreateCustomTableForCustomDashboardInput!]
  name: String!
  type: CustomDashboardType!
}

type CreateCustomDashboardPayload {
  customDashboard: CustomDashboard!
}

input CreateCustomMetricContainerInput {
  """
  The id of the account that the custom metric container belongs to.
  """
  accountId: ObjectID!
  description: String
  """
  The name of the method within your code that CustomMetricContainer calls to execute your function.
  """
  handler: String!
  """
  Unique name for the custom metric container.
  """
  name: String!
  """
  Which source types the container extracts metrics from.
  """
  sourceTypes: [CustomMetricContainerSourceType!]!
}

type CreateCustomMetricContainerPayload {
  customMetricContainer: CustomMetricContainer!
}

input CreateCustomMetricContainerVersionInput {
  customMetricContainerId: ObjectID!
}

type CreateCustomMetricContainerVersionPayload {
  customMetricContainerVersion: CustomMetricContainerVersion!
}

input CreateCustomTableForCustomDashboardInput {
  columns: [String!]!
  filter: JSONObject
  orderBy: [JSONObject!]
  type: CustomTableType!
}

input CreateCustomTableInput {
  columns: [String!]!
  customDashboardId: ObjectID!
  filter: JSONObject
  orderBy: [JSONObject!]
  type: CustomTableType!
}

type CreateCustomTablePayload {
  customTable: CustomTable!
}

input CreateGoogleAnalyticsProjectViewInput {
  googleConnectionId: ObjectID!
  inheritFromSchedulePeriodOverride: Boolean! = false
  lastNDays: Int! = 90
  projectId: ObjectID!
  sessionNumberMin: Int! = 2
  viewId: String!
}

type CreateGoogleAnalyticsProjectViewPayload {
  googleAnalyticsProjectView: GoogleAnalyticsProjectView!
}

input CreateGoogleConnectionInput {
  redirectUrl: String!
}

type CreateGoogleConnectionPayload {
  """
  URL to consent page landing.
  """
  authUrl: String!
}

input CreateGoogleSearchConsoleConfigurationInput {
  country: String = null
  excludeQueries: [String!] = []
  includeQueries: [String!] = []
  inheritFromSchedulePeriodOverride: Boolean! = false
  lastNDays: Int! = 30
  minClicks: Int! = 0
  projectId: ObjectID!
  searchType: GoogleSearchConsoleSearchType! = Web
  useSearchConsolePropertyDomainsAsStartUrls: Boolean! = false
}

type CreateGoogleSearchConsoleConfigurationPayload {
  googleSearchConsoleConfiguration: GoogleSearchConsoleConfiguration!
}

input CreateGoogleSearchConsolePropertyInput {
  googleConnectionId: ObjectID!
  permissionLevel: String
  projectId: ObjectID!
  siteUrl: String!
}

type CreateGoogleSearchConsolePropertyPayload {
  googleSearchConsoleProperty: GoogleSearchConsoleProperty!
}

input CreateJiraAuthenticationInput {
  accountId: ObjectID!
  cloudId: String!
  jiraUrl: String!
  name: String!
  refreshToken: String!
}

type CreateJiraAuthenticationPayload {
  jiraAuthentication: JiraAuthentication!
}

input CreateJiraIntegrationInput {
  jiraAuthenticationId: ObjectID!
  jiraIssueTypeId: String!
  jiraProjectId: String!
  name: String!
}

type CreateJiraIntegrationPayload {
  jiraIntegration: JiraIntegration!
}

type CreateLegacyTaskPayload {
  legacyTask: LegacyTask!
}

input CreateLogzioConnectionInput {
  label: String!
  token: String!
}

type CreateLogzioConnectionPayload {
  logzioConnection: LogzioConnection!
}

input CreateLogzioProjectQueryInput {
  baseUrl: String
  dateRange: Int! = 30
  desktopUaRegexp: String! = "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)|Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Safari/537.36"
  enabled: Boolean! = true
  logzioConnectionId: ObjectID!
  maxRows: Int! = 10000000
  mobileUaRegexp: String! = "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
  pathFieldName: String! = "request"
  projectId: ObjectID!
  queryFilter: JSONObject
  useLastCrawlDate: Boolean! = false
  userAgentFieldName: String! = "agent"
}

type CreateLogzioProjectQueryPayload {
  logzioProjectQuery: LogzioProjectQuery!
}

input CreateMajesticConfigurationInput {
  enabled: Boolean! = false
  maxRows: Int!
  projectId: ObjectID!
  useHistoricData: Boolean! = false
  useRootDomain: Boolean! = false
}

type CreateMajesticConfigurationPayload {
  majesticConfiguration: MajesticConfiguration!
}

input CreateProjectInput {
  accountId: ObjectID!
  alertEmails: [String!]
  alertSettingCode: AlertSettingCode! = Always
  apiCallbackHeaders: [APICallbackHeaderInput!]! = []
  apiCallbackUrl: String = null
  autoFinalizeOnCrawlLimits: Boolean! = false
  compareToCrawl: CompareToCrawlType! = LastCrawl
  crawlDisallowedUrls1stLevel: Boolean! = false
  crawlHyperlinksExternal: Boolean! = false
  crawlHyperlinksInternal: Boolean! = true
  crawlImagesExternal: Boolean! = false
  crawlImagesInternal: Boolean! = true
  crawlNofollowHyperlinks: Boolean! = true
  crawlNonHtml: Boolean! = false
  crawlNotIncluded1stLevel: Boolean! = false
  crawlRedirectsExternal: Boolean! = true
  crawlRedirectsInternal: Boolean! = true
  crawlRelAmphtmlExternal: Boolean! = false
  crawlRelAmphtmlInternal: Boolean! = true
  crawlRelCanonicalsExternal: Boolean! = false
  crawlRelCanonicalsInternal: Boolean! = true
  crawlRelHreflangsExternal: Boolean! = false
  crawlRelHreflangsInternal: Boolean! = true
  crawlRelMobileExternal: Boolean! = false
  crawlRelMobileInternal: Boolean! = true
  crawlRelNextPrevExternal: Boolean! = false
  crawlRelNextPrevInternal: Boolean! = true
  crawlRobotsTxtNoindex: Boolean! = true
  crawlScriptsExternal: Boolean! = false
  crawlScriptsInternal: Boolean! = true
  crawlStylesheetsExternal: Boolean! = false
  crawlStylesheetsInternal: Boolean! = true
  crawlTestSite: Boolean! = false
  crawlTypes: [CrawlType!]! = [Web]
  customDns: [CustomDnsSettingInput!]! = []
  customExtractions: [CustomExtractionSettingInput!]! = []
  customRequestHeaders: [CustomRequestHeaderInput!]! = []
  discoverSitemapsInRobotsTxt: Boolean! = true
  duplicatePrecision: Float! = 3
  emptyPageThreshold: Int! = 512
  excludeUrlPatterns: [String!]! = []
  ignoreInvalidSSLCertificate: Boolean! = false
  includeHttpAndHttps: Boolean! = false
  includeSubdomains: Boolean! = false
  includeUrlPatterns: [String!]! = []
  limitLevelsMax: Int
  limitUrlsMax: Int
  locationCode: LocationCode! = Default
  logSummaryRequestsHigh: Int! = 100
  logSummaryRequestsLow: Int! = 10
  maxBodyContentLength: Int! = 51200
  maxDescriptionLength: Int! = 230
  maxFollowedExternalLinks: Int! = 10
  maxHtmlSize: Int! = 204800
  maxLinks: Int! = 250
  maxLoadTime: Float! = 3
  maxRedirections: Int! = 4
  maxTitleWidth: Int! = 600
  maxUrlLength: Int! = 1024
  maximumCrawlRate: Float! = 3
  maximumCrawlRateAdvanced: [AdvancedCrawlRateInput!]! = []
  minDescriptionLength: Int! = 50
  minTitleLength: Int! = 10
  mobileHomepageUrl: String = null
  mobileUrlPattern: String = null
  mobileUserAgentCode: String! = "googlebot-smartphone"
  name: String!
  primaryDomain: String!
  rendererBlockAds: Boolean! = true
  rendererBlockAnalytics: Boolean! = true
  rendererBlockCustom: [String!]! = []
  rendererJsString: String = null
  rendererJsUrls: [String!]! = []
  robotsOverwrite: String = null
  secondaryDomains: [String!]! = []
  startUrls: [String!]! = []
  testSiteDomain: String = null
  testSitePassword: String = null
  testSiteUsername: String = null
  thinPageThreshold: Int! = 3072
  urlRewriteQueryParameters: [String!]! = []
  urlRewriteRules: [UrlRewriteRuleInput!]! = []
  urlRewriteStripFragment: Boolean! = true
  urlSampling: [UrlSamplingInput!]! = []
  useMobileSettings: Boolean! = false
  useRenderer: Boolean! = false
  useRobotsOverwrite: Boolean! = false
  useStealthMode: Boolean! = false
  useUrlRewriteRules: Boolean! = false
  userAgentCode: String! = "googlebot-smartphone"
  userAgentString: String = null
  userAgentStringMobile: String = null
  userAgentToken: String = null
  userAgentTokenMobile: String = null
}

input CreateProjectLegacyTaskInput {
  actions: String
  assignedTo: [String!]
  deadlineAt: DateTime
  description: String
  discoveredAt: DateTime
  dismissed: Boolean! = false
  fixedAt: DateTime
  identified: Int
  notifyAssignees: Boolean! = false
  priority: LegacyTaskPriority! = Low
  projectId: ObjectID!
  title: String!
}

type CreateProjectPayload {
  project: Project!
}

input CreateReportDownloadInput {
  crawlDuplicateUrlFilter: CrawlDuplicateUrlConnectionFilterInput
  crawlHreflangsFilter: CrawlHreflangsConnectionFilterInput
  crawlId: ObjectID
  crawlLinkFilter: CrawlLinkConnectionFilterInput
  crawlLinkedDomainFilter: CrawlLinkedDomainConnectionFilterInput
  crawlSitemapFilter: CrawlSitemapConnectionFilterInput
  crawlUncrawledUrlFilter: CrawlUncrawledUrlConnectionFilterInput
  crawlUniqueLinkFilter: CrawlUniqueLinkConnectionFilterInput
  crawlUrlFilter: CrawlUrlConnectionFilterInput
  crawlWebCrawlDepthFilter: CrawlWebCrawlDepthConnectionFilterInput
  fileName: String
  filter: JSONObject
  outputType: ReportDownloadOutputType! = CsvZip
  reportId: ObjectID
  reportTemplateCode: String
  reportTypeCode: ReportTypeCode
  segmentId: ObjectID
  """
  If selectedMetrics are specified, generated download will only include those metrics.
  """
  selectedMetrics: [String!]
}

type CreateReportDownloadPayload {
  reportDownload: ReportDownload!
  """
  Used to select the specific report fields to restrict the creation of report downloads to
  """
  selectedFields: ReportRow
    @deprecated(reason: "Use the 'selectedMetrics' input field instead")
}

input CreateReportLegacyTaskInput {
  actions: String
  assignedTo: [String!]
  deadlineAt: DateTime
  description: String
  discoveredAt: DateTime
  dismissed: Boolean! = false
  filters: JSONObject
  fixedAt: DateTime
  identified: Int
  notifyAssignees: Boolean! = false
  priority: LegacyTaskPriority! = Low
  reportId: ObjectID!
  title: String!
}

input CreateScheduleInput {
  nextRunTime: DateTime!
  projectId: ObjectID!
  scheduleFrequency: ScheduleFrequencyCode! = OneTime
}

type CreateSchedulePayload {
  schedule: Schedule!
}

input CreateSessionUsingUserKeyInputType {
  secret: String!
  userKeyId: ObjectID!
}

input CreateSessionUsingUsernameInputType {
  password: String!
  username: String!
}

input CreateSlackWebhookInput {
  alertTypes: [SlackAlertType!]! = [Pass, Warning, Fail]
  testSuiteId: ObjectID!
  url: String!
}

type CreateSlackWebhookPayload {
  slackWebhook: SlackWebhook!
}

input CreateSplunkConnectionInput {
  customProxy: String
  password: String!
  proxyCode: SplunkProxyCode
  url: String!
  username: String!
}

type CreateSplunkConnectionPayload {
  splunkConnection: SplunkConnection!
}

input CreateSplunkProjectQueryInput {
  baseUrl: String
  dateRange: Int! = 30
  enabled: Boolean! = true
  projectId: ObjectID!
  query: String!
  splunkConnectionId: ObjectID!
  useLastCrawlDate: Boolean! = false
}

type CreateSplunkProjectQueryPayload {
  splunkProjectQuery: SplunkProjectQuery!
}

input CreateTestInput {
  absoluteThreshold: Int! = 1
  automaticThresholdEnabled: Boolean! = false
  createJiraTicketOnFailure: Boolean! = false
  jiraTicketCustomNote: String
  relativeThreshold: Int = 10
  reportTemplateCode: String!
  severity: Severity = Fail
  suggestedThresholdEnabled: Boolean! = false
  testSuiteId: ObjectID!
  thresholdPredicate: ThresholdPredicate! = GreaterThanOrEqual
  thresholdType: ThresholdType! = Relative
}

type CreateTestPayload {
  test: Test!
}

input CreateTestSuiteEmailAlertInput {
  alertTypes: [EmailAlertType!]! = [Pass, Warning, Fail]
  email: String!
  testSuiteId: ObjectID!
}

type CreateTestSuiteEmailAlertPayload {
  testSuiteEmailAlert: TestSuiteEmailAlert!
}

input CreateTestSuiteInput {
  accountId: ObjectID!
  alertEmails: [String!]
  automaticThreshold: Boolean! = false
  automaticThresholdEnabledForAll: Boolean! = false
  crawlRate: Float! = 3
  crawlTypes: [TestSuiteCrawlType!]! = [Web]
  customDns: [CustomDnsSettingInput!]
  customExtractions: [CustomExtractionSettingInput!]
  customHeaderUserAgent: String
  customHeaderUserAgentShort: String
  duplicatePrecision: Int! = 3
  emptyPageThreshold: Int! = 512
  highLogSummaryRequests: Int! = 100
  limitPagesMax: Int! = 500
  location: TestSuiteLocationCode! = Default
  lowLogSummaryRequests: Int! = 10
  maxContentSize: Int! = 51200
  maxDescriptionLength: Int! = 230
  maxExternalLinks: Int! = 10
  maxHtmlSize: Int! = 204800
  maxLinks: Int! = 250
  maxLoadTime: Float! = 3
  maxRedirections: Int! = 4
  maxTitleWidth: Int! = 600
  maxUrlLength: Int! = 1024
  minContentRatio: Float! = 0.1
  minDescriptionLength: Int! = 50
  minTitleLength: Int! = 10
  name: String!
  rendererBlockAds: Boolean! = false
  rendererBlockAnalytics: Boolean! = false
  rendererBlockCustom: [String!]
  rendererJsString: String
  rendererJsUrls: [String!]
  robotsOverwrite: String
  sitePrimary: String!
  siteTest: String
  siteTestPass: String
  siteTestUser: String
  startUrls: [String!]
  thinPageThreshold: Int! = 3072
  urlsExcluded: [String!]
  urlsIncluded: [String!]
  useRenderer: Boolean! = false
  useRobotsOverwrite: Boolean! = false
}

type CreateTestSuitePayload {
  testSuite: TestSuite!
}

type CreateTestsPayload {
  tests: [Test!]!
}

input CreateUrlFileUploadForProjectInput {
  crawlType: CrawlType! = List
  enabled: Boolean! = true
  projectId: ObjectID!
  projectUploadType: ProjectUploadType
  uploadBaseDomain: String
}

input CreateUrlFileUploadForTestSuiteInput {
  crawlType: TestSuiteCrawlType! = List
  enabled: Boolean! = true
  projectUploadType: ProjectUploadType
  testSuiteId: ObjectID!
  uploadBaseDomain: String
}

type CreateUrlFileUploadPayload {
  urlFileUpload: UrlFileUpload!
}

input CreateUserKeyInput {
  name: String
}

type CreditReport {
  crawl: Crawl
  crawlId: ObjectID!
  crawlingAt: DateTime
  createdAt: DateTime!
  creditsUsed: Int
  finishedAt: DateTime
  project: Project
  projectId: ObjectID!
  updatedAt: DateTime!
  urlsCrawled: Int
}

type CreditReportConnection {
  """
  A list of edges.
  """
  edges: [CreditReportEdge!]!
  """
  A list of nodes.
  """
  nodes: [CreditReport!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of CreditReports in the connection.
  """
  totalCount: Int!
}

input CreditReportConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [CreditReportConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [CreditReportConnectionFilterInput!]
  """
  CreditReportConnectionFilterInput.and will be removed. Use CreditReportConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: CreditReportConnectionFilterInput
  crawlId: ConnectionObjectIDFilterInput
  crawlingAt: ConnectionDateFilterInput
  createdAt: ConnectionDateFilterInput
  creditsUsed: ConnectionIntFilterInput
  finishedAt: ConnectionDateFilterInput
  projectId: ConnectionObjectIDFilterInput
  updatedAt: ConnectionDateFilterInput
  urlsCrawled: ConnectionIntFilterInput
}

type CreditReportEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: CreditReport!
}

type CreditReportExport {
  createdAt: DateTime!
  exportedAt: DateTime
  exportingAt: DateTime
  fileURL: String
  id: ObjectID!
  rawID: String!
  updatedAt: DateTime!
}

input CreditReportOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order CreditReports by.
  """
  field: CreditReportOrderField!
}

enum CreditReportOrderField {
  crawlingAt
  createdAt
  creditsUsed
  finishedAt
  updatedAt
  urlsCrawled
}

type CustomChart {
  createdAt: DateTime!
  id: ObjectID!
  items: [String!]!
  metadata: JSONObject
  metric: String!
  rawID: String!
  type: CustomChartType!
  updatedAt: DateTime!
}

type CustomChartConnection {
  """
  A list of edges.
  """
  edges: [CustomChartEdge!]!
  """
  A list of nodes.
  """
  nodes: [CustomChart!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of CustomCharts in the connection.
  """
  totalCount: Int!
}

input CustomChartConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [CustomChartConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [CustomChartConnectionFilterInput!]
  """
  CustomChartConnectionFilterInput.and will be removed. Use CustomChartConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: CustomChartConnectionFilterInput
  createdAt: ConnectionDateFilterInput
  metric: ConnectionStringFilterInput
  type: ConnectionCustomChartTypeFilterInput
  updatedAt: ConnectionDateFilterInput
}

type CustomChartEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: CustomChart!
}

input CustomChartOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order CustomCharts by.
  """
  field: CustomChartOrderField!
}

enum CustomChartOrderField {
  createdAt
  metric
  type
  updatedAt
}

enum CustomChartType {
  MonitorCrawlCompare
}

type CustomDashboard {
  createdAt: DateTime!
  customCharts(
    after: String
    before: String
    """
    Filtering options for CustomCharts returned from the connection.
    """
    filter: CustomChartConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for CustomCharts returned from the connection.
    """
    orderBy: [CustomChartOrder!]
  ): CustomChartConnection
  customTables(
    after: String
    before: String
    """
    Filtering options for CustomTables returned from the connection.
    """
    filter: CustomTableConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for CustomTables returned from the connection.
    """
    orderBy: [CustomTableOrder!]
  ): CustomTableConnection
  id: ObjectID!
  name: String!
  rawID: String!
  type: CustomDashboardType!
  updatedAt: DateTime!
}

type CustomDashboardConnection {
  """
  A list of edges.
  """
  edges: [CustomDashboardEdge!]!
  """
  A list of nodes.
  """
  nodes: [CustomDashboard!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of CustomDashboards in the connection.
  """
  totalCount: Int!
}

input CustomDashboardConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [CustomDashboardConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [CustomDashboardConnectionFilterInput!]
  accountId: ConnectionObjectIDFilterInput
  """
  CustomDashboardConnectionFilterInput.and will be removed. Use CustomDashboardConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: CustomDashboardConnectionFilterInput
  createdAt: ConnectionDateFilterInput
  name: ConnectionStringFilterInput
  type: ConnectionCustomDashboardTypeFilterInput
  updatedAt: ConnectionDateFilterInput
}

type CustomDashboardEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: CustomDashboard!
}

input CustomDashboardOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order CustomDashboards by.
  """
  field: CustomDashboardOrderField!
}

enum CustomDashboardOrderField {
  createdAt
  name
  type
  updatedAt
}

enum CustomDashboardType {
  Monitor
}

type CustomDnsSetting {
  hostname: String!
  ipAddress: String!
}

input CustomDnsSettingInput {
  hostname: String!
  ipAddress: String!
}

type CustomExtractionSetting {
  cleanHtmlTags: Boolean
  label: String!
  matchNumberFrom: Int!
  matchNumberTo: Int!
  regex: String!
  regexFilter: String
  reportTemplateCode: String!
}

input CustomExtractionSettingInput {
  cleanHtmlTags: Boolean! = false
  label: String!
  matchNumberFrom: Int! = 0
  matchNumberTo: Int! = 1
  regex: String!
  regexFilter: String
}

type CustomMetricContainer {
  account: Account!
  createdAt: DateTime!
  description: String
  """
  The name of the method within your code that CustomMetricContainer calls to execute your function.
  """
  handler: String
  id: ObjectID!
  """
  If enabled all projects will have this CustomMetricContainer enabled by default.
  """
  isDefault: Boolean!
  isGlobal: Boolean!
  """
  Latest successfully processed version.
  """
  latestVersion: CustomMetricContainerVersion
  name: String!
  rawID: String!
  """
  Which source types the container extracts metrics from.
  """
  sourceTypes: [CustomMetricContainerSourceType!]
  updatedAt: DateTime!
  versions(
    after: String
    before: String
    """
    Filtering options for CustomMetricContainerVersions returned from the connection.
    """
    filter: CustomMetricContainerVersionConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for CustomMetricContainerVersions returned from the connection.
    """
    orderBy: [CustomMetricContainerVersionOrder!]
  ): CustomMetricContainerVersionConnection
}

type CustomMetricContainerConnection {
  """
  A list of edges.
  """
  edges: [CustomMetricContainerEdge!]!
  """
  A list of nodes.
  """
  nodes: [CustomMetricContainer!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of CustomMetricContainers in the connection.
  """
  totalCount: Int!
}

input CustomMetricContainerConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [CustomMetricContainerConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [CustomMetricContainerConnectionFilterInput!]
  """
  CustomMetricContainerConnectionFilterInput.and will be removed. Use CustomMetricContainerConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: CustomMetricContainerConnectionFilterInput
  name: ConnectionStringFilterInput
}

type CustomMetricContainerEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: CustomMetricContainer!
}

input CustomMetricContainerOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order CustomMetricContainers by.
  """
  field: CustomMetricContainerOrderField!
}

enum CustomMetricContainerOrderField {
  id
}

"""
The type of source that the custom metric container is based on.
"""
enum CustomMetricContainerSourceType {
  Document
  Image
  Script
  Stylesheet
}

type CustomMetricContainerVersion {
  avroSchema: JSONObject
  createdAt: DateTime!
  customMetricContainer: CustomMetricContainer!
  """
  Presigned S3 download URL
  """
  downloadUrl: String
  failedAt: DateTime
  failureReason: String
  fieldsMapping: JSONObject
  id: ObjectID!
  processedAt: DateTime
  processingAt: DateTime
  rawID: String!
  status: CustomMetricContainerVersionStatus!
  updatedAt: DateTime!
  """
  Presigned S3 upload URL
  """
  uploadUrl: String
  version: Int!
}

type CustomMetricContainerVersionConnection {
  """
  A list of edges.
  """
  edges: [CustomMetricContainerVersionEdge!]!
  """
  A list of nodes.
  """
  nodes: [CustomMetricContainerVersion!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of CustomMetricContainerVersions in the connection.
  """
  totalCount: Int!
}

input CustomMetricContainerVersionConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [CustomMetricContainerVersionConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [CustomMetricContainerVersionConnectionFilterInput!]
  """
  CustomMetricContainerVersionConnectionFilterInput.and will be removed. Use CustomMetricContainerVersionConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: CustomMetricContainerVersionConnectionFilterInput
  failedAt: ConnectionDateFilterInput
  processedAt: ConnectionDateFilterInput
  processingAt: ConnectionDateFilterInput
}

type CustomMetricContainerVersionEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: CustomMetricContainerVersion!
}

input CustomMetricContainerVersionOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order CustomMetricContainerVersions by.
  """
  field: CustomMetricContainerVersionOrderField!
}

enum CustomMetricContainerVersionOrderField {
  failedAt
  id
  processedAt
  processingAt
}

enum CustomMetricContainerVersionStatus {
  Draft
  Errored
  Processed
  Processing
}

input CustomRequestHeaderInput {
  key: String!
  value: String!
}

type CustomTable {
  columns: [String!]!
  createdAt: DateTime!
  filter: JSONObject
  id: ObjectID!
  orderBy: [JSONObject!]
  rawID: String!
  type: CustomTableType!
  updatedAt: DateTime!
}

type CustomTableConnection {
  """
  A list of edges.
  """
  edges: [CustomTableEdge!]!
  """
  A list of nodes.
  """
  nodes: [CustomTable!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of CustomTables in the connection.
  """
  totalCount: Int!
}

input CustomTableConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [CustomTableConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [CustomTableConnectionFilterInput!]
  """
  CustomTableConnectionFilterInput.and will be removed. Use CustomTableConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: CustomTableConnectionFilterInput
  createdAt: ConnectionDateFilterInput
  type: ConnectionCustomTableTypeFilterInput
  updatedAt: ConnectionDateFilterInput
}

type CustomTableEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: CustomTable!
}

input CustomTableOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order CustomTables by.
  """
  field: CustomTableOrderField!
}

enum CustomTableOrderField {
  createdAt
  type
  updatedAt
}

enum CustomTableType {
  MonitorProjects
}

type Datasource {
  code: String! @deprecated(reason: "Use datasourceCode instead.")
  datasourceCode: DatasourceCode!
  metrics: [Metric!]!
  version: Int!
}

enum DatasourceCode {
  CrawlDuplicateUrls
  CrawlHreflangs
  CrawlLinkedDomains
  CrawlLinks
  CrawlSitemapDiscoveries
  CrawlSitemaps
  CrawlUncrawledUrls
  CrawlUniqueLinks
  CrawlUrls
  CrawlWebCrawlDepths
}

"""
The javascript `Date` as string. Type represents date and time as the ISO Date string.
"""
scalar DateTime

type DateTimeRange {
  end: DateTime!
  start: DateTime!
}

input DeleteAccountUserInput {
  accountId: ObjectID!
  userId: ObjectID!
}

type DeleteAccountUserPayload {
  account: Account!
  deleted: Boolean!
}

input DeleteAdobeAnalyticsProjectReportSuiteInput {
  adobeAnalyticsProjectReportSuiteId: ObjectID!
}

type DeleteAdobeAnalyticsProjectReportSuitePayload {
  adobeAnalyticsProjectReportSuite: AdobeAnalyticsProjectReportSuite!
}

input DeleteAdobeConnectionInput {
  adobeConnectionId: ObjectID!
}

type DeleteAdobeConnectionPayload {
  adobeConnection: AdobeConnection!
}

input DeleteBuildScheduleInput {
  buildScheduleId: ObjectID!
}

type DeleteBuildSchedulePayload {
  buildSchedule: BuildSchedule!
}

input DeleteCrawlInput {
  crawlId: ObjectID!
}

type DeleteCrawlPayload {
  crawl: Crawl!
}

type DeleteCustomChartPayload {
  customChart: CustomChart!
}

type DeleteCustomDashboardPayload {
  customDashboard: CustomDashboard!
}

type DeleteCustomTablePayload {
  customTable: CustomTable!
}

input DeleteGoogleAnalyticsProjectViewInput {
  projectId: ObjectID!
}

type DeleteGoogleAnalyticsProjectViewPayload {
  googleAnalyticsProjectView: GoogleAnalyticsProjectView!
}

input DeleteGoogleConnectionInput {
  googleConnectionId: ObjectID!
}

type DeleteGoogleConnectionPayload {
  googleConnection: GoogleConnection!
}

input DeleteGoogleSearchConsoleConfigurationInput {
  projectId: ObjectID!
}

type DeleteGoogleSearchConsoleConfigurationPayload {
  googleSearchConsoleConfiguration: GoogleSearchConsoleConfiguration!
}

input DeleteGoogleSearchConsolePropertyInput {
  googleSearchConsolePropertyId: ObjectID!
}

type DeleteGoogleSearchConsolePropertyPayload {
  googleSearchConsoleProperty: GoogleSearchConsoleProperty!
}

input DeleteJiraAuthenticationInput {
  jiraAuthenticationId: ObjectID!
}

type DeleteJiraAuthenticationPayload {
  jiraAuthentication: JiraAuthentication!
}

input DeleteJiraIntegrationInput {
  jiraIntegrationId: ObjectID!
}

type DeleteJiraIntegrationPayload {
  jiraIntegration: JiraIntegration!
}

input DeleteLegacyTaskInput {
  legacyTaskId: ObjectID!
}

type DeleteLegacyTaskPayload {
  legacyTask: LegacyTask!
}

input DeleteLogzioConnectionInput {
  logzioConnectionId: ObjectID!
}

type DeleteLogzioConnectionPayload {
  logzioConnection: LogzioConnection!
}

input DeleteLogzioProjectQueryInput {
  logzioProjectQueryId: ObjectID!
}

type DeleteLogzioProjectQueryPayload {
  logzioProjectQuery: LogzioProjectQuery!
}

type DeleteProjectPayload {
  project: Project!
}

input DeleteReportDownloadInput {
  reportDownloadId: ObjectID!
}

type DeleteReportDownloadPayload {
  reportDownload: ReportDownload!
}

input DeleteScheduleInput {
  scheduleId: ObjectID!
}

type DeleteSchedulePayload {
  schedule: Schedule!
}

input DeleteSegmentInput {
  segmentId: ObjectID!
}

type DeleteSegmentPayload {
  segment: Segment!
}

input DeleteSlackWebhookInput {
  slackWebhookId: ObjectID!
}

type DeleteSlackWebhookPayload {
  slackWebhook: SlackWebhook!
}

input DeleteSplunkConnectionInput {
  splunkConnectionId: ObjectID!
}

type DeleteSplunkConnectionPayload {
  splunkConnection: SplunkConnection!
}

input DeleteSplunkProjectQueryInput {
  splunkProjectQueryId: ObjectID!
}

type DeleteSplunkProjectQueryPayload {
  splunkProjectQuery: SplunkProjectQuery!
}

input DeleteTestInput {
  testId: ObjectID!
}

type DeleteTestPayload {
  test: Test!
}

input DeleteTestSuiteEmailAlertInput {
  testSuiteEmailAlertId: ObjectID!
}

type DeleteTestSuiteEmailAlertPayload {
  testSuiteEmailAlert: TestSuiteEmailAlert!
}

input DeleteTestSuiteInput {
  testSuiteId: ObjectID!
}

type DeleteTestSuitePayload {
  testSuite: TestSuite!
}

input DeleteTestsInput {
  testIds: [ObjectID!]!
}

type DeleteTestsPayload {
  tests: [Test!]!
}

input DeleteUrlFileUploadInput {
  urlFileUploadId: ObjectID!
}

type DeleteUrlFileUploadPayload {
  urlFileUpload: UrlFileUpload!
}

input DeleteUserKeyInput {
  userKeyId: ObjectID!
}

type DeleteUserKeyPayload {
  userKey: UserKey!
}

input DisableSitemapInput {
  projectId: ObjectID!
  urlDigest: String!
}

type DisableSitemapPayload {
  sitemaps: [Sitemap!]!
}

input DisableSitemapsInput {
  projectId: ObjectID!
}

type DisableSitemapsPayload {
  sitemaps: [Sitemap!]!
}

type DomainCheckVariant {
  domain: String!
  redirectsTo: String
  redirectsToStatusCode: Int
  statusCode: Int
}

enum EmailAlertType {
  Fail
  Pass
  Warning
}

input EnableSitemapInput {
  projectId: ObjectID!
  urlDigest: String!
}

type EnableSitemapPayload {
  sitemaps: [Sitemap!]!
}

input EnableSitemapsInput {
  projectId: ObjectID!
}

type EnableSitemapsPayload {
  sitemaps: [Sitemap!]!
}

union Entity =
    Account
  | AdobeAnalyticsProjectReportSuite
  | AdobeConnection
  | Build
  | BuildSchedule
  | BuildScheduleRun
  | BuildScheduleTestSuite
  | Crawl
  | CrawlSetting
  | CrawlTypeMetadata
  | CreditReportExport
  | CustomChart
  | CustomDashboard
  | CustomMetricContainer
  | CustomMetricContainerVersion
  | CustomTable
  | GoogleAnalyticsProjectView
  | GoogleConnection
  | GoogleSearchConsoleProperty
  | JiraAuthentication
  | JiraIntegration
  | LegacyTask
  | Location
  | LogzioConnection
  | LogzioProjectQuery
  | Project
  | Report
  | ReportDownload
  | ReportTemplate
  | Schedule
  | Segment
  | SlackWebhook
  | SplunkConnection
  | SplunkProjectQuery
  | Test
  | TestResult
  | TestSuite
  | TestSuiteEmailAlert
  | TestSuiteJiraIntegration
  | UrlFileUpload
  | UrlFileUploadType
  | User

type FeatureFlag {
  enabled: Boolean!
  name: String!
}

input GetJiraIssueTypesInput {
  jiraAuthenticationId: ObjectID!
  jiraProjectId: String!
}

input GetJiraProjectsInput {
  jiraAuthenticationId: ObjectID!
  nameContains: String
}

input GetReportInputType {
  crawlId: ObjectID!
  reportTemplateCode: String!
  reportTypeCode: ReportTypeCode!
  segmentId: ObjectID
}

type GoogleAnalyticsProjectView {
  accountName: String!
  createdAt: DateTime!
  googleConnection: GoogleConnection!
  id: ObjectID!
  inheritFromSchedulePeriodOverride: Boolean!
  lastNDays: Int!
  project: Project!
  rawID: String!
  sessionNumberMin: Int!
  updatedAt: DateTime!
  viewId: String!
  viewName: String!
  webPropertyId: String!
  websiteUrl: String!
}

type GoogleAnalyticsView {
  accountName: String
  viewId: String
  viewName: String
  webPropertyId: String
  websiteUrl: String
}

type GoogleConnection {
  analyticsViews: [GoogleAnalyticsView!]
  connectionType: GoogleConnectionType!
  createdAt: DateTime!
  id: ObjectID!
  isWorking: Boolean
  name: String!
  rawID: String!
  scopes: [GoogleScope!]!
  searchConsoleSites: [GoogleSearchConsoleSite!]
  updatedAt: DateTime!
}

type GoogleConnectionConnection {
  """
  A list of edges.
  """
  edges: [GoogleConnectionEdge!]!
  """
  A list of nodes.
  """
  nodes: [GoogleConnection!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of GoogleConnections in the connection.
  """
  totalCount: Int!
}

type GoogleConnectionEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: GoogleConnection!
}

enum GoogleConnectionType {
  ServiceAccount
  Web
}

type GoogleScope {
  name: String!
}

type GoogleSearchConsoleConfiguration {
  country: String
  createdAt: DateTime!
  excludeQueries: [String!]
  includeQueries: [String!]
  inheritFromSchedulePeriodOverride: Boolean!
  lastNDays: Int!
  minClicks: Int!
  searchType: GoogleSearchConsoleSearchType!
  updatedAt: DateTime!
  useSearchConsolePropertyDomainsAsStartUrls: Boolean!
}

type GoogleSearchConsoleProperty {
  country: String
  createdAt: DateTime!
  excludeQueries: [String!]
  googleConnection: GoogleConnection!
  id: ObjectID!
  includeQueries: [String!]
  inheritFromSchedulePeriodOverride: Boolean!
  lastNDays: Int!
  minClicks: Int!
  permissionLevel: String
  project: Project!
  rawID: String!
  searchType: GoogleSearchConsoleSearchType!
  siteUrl: String!
  updatedAt: DateTime!
}

type GoogleSearchConsolePropertyConnection {
  """
  A list of edges.
  """
  edges: [GoogleSearchConsolePropertyEdge!]!
  """
  A list of nodes.
  """
  nodes: [GoogleSearchConsoleProperty!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of GoogleSearchConsoleProperties in the connection.
  """
  totalCount: Int!
}

type GoogleSearchConsolePropertyEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: GoogleSearchConsoleProperty!
}

input GoogleSearchConsolePropertyOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order GoogleSearchConsoleProperties by.
  """
  field: GoogleSearchConsolePropertyOrderField!
}

enum GoogleSearchConsolePropertyOrderField {
  createdAt
  siteUrl
  updatedAt
}

enum GoogleSearchConsoleSearchType {
  Image
  Video
  Web
}

type GoogleSearchConsoleSite {
  permissionLevel: String
  siteUrl: String
}

"""
The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
"""
scalar JSONObject
  @specifiedBy(
    url: "http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf"
  )

type JiraAuthentication {
  cloudId: String!
  createdAt: DateTime!
  id: ObjectID!
  jiraIntegrations(
    after: String
    before: String
    first: Int = 15
    last: Int
  ): JiraIntegrationConnection!
  jiraUrl: String!
  name: String!
  rawID: String!
  updatedAt: DateTime!
}

type JiraAuthenticationConnection {
  """
  A list of edges.
  """
  edges: [JiraAuthenticationEdge!]!
  """
  A list of nodes.
  """
  nodes: [JiraAuthentication!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of JiraAuthentications in the connection.
  """
  totalCount: Int!
}

type JiraAuthenticationEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: JiraAuthentication!
}

type JiraIntegration {
  createdAt: DateTime!
  id: ObjectID!
  jiraIssueTypeId: String!
  jiraIssueTypeName: String!
  jiraProjectId: String!
  jiraProjectName: String!
  jiraUrl: String!
  name: String!
  rawID: String!
  testSuiteJiraIntegrations(
    after: String
    before: String
    first: Int = 15
    last: Int
  ): TestSuiteJiraIntegrationConnection!
  updatedAt: DateTime!
}

type JiraIntegrationConnection {
  """
  A list of edges.
  """
  edges: [JiraIntegrationEdge!]!
  """
  A list of nodes.
  """
  nodes: [JiraIntegration!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of JiraIntegrations in the connection.
  """
  totalCount: Int!
}

type JiraIntegrationEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: JiraIntegration!
}

type JiraIssueType {
  id: String!
  name: String!
}

type JiraProject {
  id: String!
  key: String!
  name: String!
}

type JiraSettings {
  """
  Authentication callback URL set up on Atlassian developer console for the current environment.
  """
  authCallbackUrl: String!
  """
  Client ID set up on Atlassian developer console for the current environment.
  """
  clientId: String!
}

type LegacyReportRowConnection {
  """
  A list of edges.
  """
  edges: [LegacyReportRowEdge!]!
  """
  A list of nodes.
  """
  nodes: [JSONObject!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of LegacyReportRows in the connection.
  """
  totalCount: Int!
}

type LegacyReportRowEdge {
  """
  Used in `before` and `after` args
  """
  cursor: String!
  node: JSONObject!
}

type LegacyTask {
  actions: String
  assignedTo: [String!]
  connectionFilter: JSONObject
  crawlId: ObjectID
  createdAt: DateTime!
  deadlineAt: DateTime
  description: String
  discoveredAt: DateTime
  dismissed: Boolean!
  filters: JSONObject
  fixedAt: DateTime
  id: ObjectID!
  identified: Int
  priority: LegacyTaskPriority!
  project: Project!
  rawID: String!
  remaining: Int
  reportTemplate: ReportTemplate
  reportTemplateId: Int
  reportType: ReportType
  reportTypeId: Int
  segment: Segment
  title: String!
  trend: [LegacyTaskTrendEntry!]
  updatedAt: DateTime!
}

type LegacyTaskConnection {
  """
  A list of edges.
  """
  edges: [LegacyTaskEdge!]!
  """
  A list of nodes.
  """
  nodes: [LegacyTask!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of LegacyTasks in the connection.
  """
  totalCount: Int!
}

input LegacyTaskConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [LegacyTaskConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [LegacyTaskConnectionFilterInput!]
  """
  LegacyTaskConnectionFilterInput.and will be removed. Use LegacyTaskConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: LegacyTaskConnectionFilterInput
  description: ConnectionStringFilterInput
  fixedAt: ConnectionDateFilterInput
  identified: ConnectionIntFilterInput
  priority: ConnectionLegacyTaskPriorityFilterInput
  remaining: ConnectionIntFilterInput
  segmentId: ConnectionObjectIDFilterInput
  title: ConnectionStringFilterInput
}

type LegacyTaskEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: LegacyTask!
}

input LegacyTaskOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order LegacyTasks by.
  """
  field: LegacyTaskOrderField!
}

enum LegacyTaskOrderField {
  createdAt
  description
  identified
  priority
  remaining
  title
  updatedAt
}

enum LegacyTaskPriority {
  Critical
  High
  Low
  Medium
  Note
}

type LegacyTaskTrendEntry {
  crawlFinishedAt: DateTime!
  crawlId: ObjectID
  identified: Int
}

type LevelProgress {
  level: Int
  stepsProcessed: Int!
}

input LinkChildTestSuiteToParentTestSuiteInput {
  childTestSuiteId: ObjectID!
  parentTestSuiteId: ObjectID!
}

type LinkChildTestSuiteToParentTestSuitePayload {
  childTestSuite: TestSuite!
  parentTestSuite: TestSuite!
}

input LinkCustomMetricContainerToProjectInput {
  customMetricContainerId: ObjectID!
  projectId: ObjectID!
}

type LinkCustomMetricContainerToProjectPayload {
  customMetricContainer: CustomMetricContainer!
  project: Project!
}

input LinkJiraIntegrationToTestSuiteInput {
  jiraIntegrationId: ObjectID!
  testSuiteId: ObjectID!
}

type LinkJiraIntegrationToTestSuitePayload {
  testSuiteJiraIntegration: TestSuiteJiraIntegration!
}

input LinkTestSuiteToBuildScheduleInput {
  buildScheduleId: ObjectID!
  testSuiteId: ObjectID!
}

type LinkTestSuiteToBuildSchedulePayload {
  buildScheduleTestSuite: BuildScheduleTestSuite!
}

type Location {
  code: LocationCode!
  enabled: Boolean!
  id: ObjectID!
  name: String!
  rawID: String!
  type: LocationType!
}

enum LocationCode {
  Australia
  Austria
  Belgium
  Canada
  China
  Custom
  Default
  Egypt
  France
  Germany
  Global
  GreatBritain
  India
  Italy
  Japan
  Netherlands
  Singapore
  Spain
  Switzerland
  Turkey
  UnitedStates
  Uzbekistan
}

enum LocationType {
  Country
  CustomIP
  DynamicIP
  Global
  StaticIP
}

enum LogzioAPIRegion {
  AsiaPacificSydney
  CanadaCentral
  EuropeFrankfurt
  EuropeLondon
  USEastNorthernVirginia
  WestEuropeNetherlands
  WestUS2Washington
}

type LogzioConnection {
  createdAt: DateTime!
  id: ObjectID!
  isWorking: Boolean!
  label: String
  logzioProjectQueries(
    after: String
    before: String
    """
    Filtering options for LogzioProjectQueries returned from the connection.
    """
    filter: LogzioProjectQueryConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for LogzioProjectQueries returned from the connection.
    """
    orderBy: [LogzioProjectQueryOrder!]
  ): LogzioProjectQueryConnection!
  rawID: String!
  region: LogzioAPIRegion!
  token: String!
  updatedAt: DateTime!
}

type LogzioConnectionConnection {
  """
  A list of edges.
  """
  edges: [LogzioConnectionEdge!]!
  """
  A list of nodes.
  """
  nodes: [LogzioConnection!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of LogzioConnections in the connection.
  """
  totalCount: Int!
}

input LogzioConnectionConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [LogzioConnectionConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [LogzioConnectionConnectionFilterInput!]
  """
  LogzioConnectionConnectionFilterInput.and will be removed. Use LogzioConnectionConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: LogzioConnectionConnectionFilterInput
  createdAt: ConnectionDateFilterInput
  label: ConnectionStringFilterInput
  updatedAt: ConnectionDateFilterInput
}

type LogzioConnectionEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: LogzioConnection!
}

input LogzioConnectionOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order LogzioConnections by.
  """
  field: LogzioConnectionOrderField!
}

enum LogzioConnectionOrderField {
  createdAt
  label
  updatedAt
}

type LogzioProjectQuery {
  baseUrl: String
  createdAt: DateTime!
  dateRange: Int!
  desktopUaRegexp: String!
  enabled: Boolean!
  id: ObjectID!
  logzioConnection: LogzioConnection
  maxRows: Int!
  mobileUaRegexp: String!
  pathFieldName: String!
  project: Project!
  queryFilter: JSONObject
  rawID: String!
  updatedAt: DateTime!
  useLastCrawlDate: Boolean!
  userAgentFieldName: String!
}

type LogzioProjectQueryConnection {
  """
  A list of edges.
  """
  edges: [LogzioProjectQueryEdge!]!
  """
  A list of nodes.
  """
  nodes: [LogzioProjectQuery!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of LogzioProjectQueries in the connection.
  """
  totalCount: Int!
}

input LogzioProjectQueryConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [LogzioProjectQueryConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [LogzioProjectQueryConnectionFilterInput!]
  """
  LogzioProjectQueryConnectionFilterInput.and will be removed. Use LogzioProjectQueryConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: LogzioProjectQueryConnectionFilterInput
  createdAt: ConnectionDateFilterInput
  dateRange: ConnectionIntFilterInput
  enabled: ConnectionBooleanFilterInput
  maxRows: ConnectionIntFilterInput
  updatedAt: ConnectionDateFilterInput
  useLastCrawlDate: ConnectionBooleanFilterInput
}

type LogzioProjectQueryEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: LogzioProjectQuery!
}

input LogzioProjectQueryOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order LogzioProjectQueries by.
  """
  field: LogzioProjectQueryOrderField!
}

enum LogzioProjectQueryOrderField {
  createdAt
  dateRange
  enabled
  maxRows
  updatedAt
  useLastCrawlDate
}

type MajesticConfiguration {
  createdAt: DateTime!
  enabled: Boolean!
  maxRows: Int!
  updatedAt: DateTime!
  useHistoricData: Boolean!
  useRootDomain: Boolean!
}

type Metric {
  code: String!
  connectionPredicates: [ConnectionPredicateMetadata!]!
  description: String!
  metadata: MetricMetadata
  name: String!
  type: MetricType!
}

type MetricMetadata {
  abbreviation: String
  crawlType: CrawlType
  rendererOnly: Boolean
  thresholds: MetricMetadataThresholds
  unit: String
}

type MetricMetadataThresholds {
  fast: String!
  medium: String!
  slow: String!
}

enum MetricType {
  Array
  Bit
  Boolean
  Date
  Decimal
  Integer
  String
}

type MetricsGrouping {
  metrics: [Metric!]!
}

enum MetricsServerId {
  ElasticSearch7Cluster1
}

type Mutation {
  abortBuild(input: AbortBuildInput!): AbortBuildPayload!
  acceptTermsAndConditions: User!
  addAccountUser(input: AddAccountUserInput!): AddAccountUserPayload!
  addCustomSitemaps(input: AddCustomSitemapsInput!): AddCustomSitemapsPayload!
  cancelBuild(input: CancelBuildInput!): CancelBuildPayload!
  """
  Cancels crawling.
  """
  cancelCrawling(input: CancelCrawlingInput!): CancelCrawlingPayload!
  checkDomain(input: CheckDomainInput!): CheckDomainPayload!
  cloneTestSuite(input: CloneTestSuiteInput!): CloneTestSuitePayload!
  confirmEmail(input: ConfirmEmailInput!): ConfirmEmailPayload!
  createAdobeAnalyticsProjectReportSuite(
    input: CreateAdobeAnalyticsProjectReportSuiteInput!
  ): CreateAdobeAnalyticsProjectReportSuitePayload!
  createAdobeConnection(
    input: CreateAdobeConnectionInput!
  ): CreateAdobeConnectionPayload!
  """
  Creates a build and immediately runs a crawl for it.
  """
  createAndRunBuild(input: CreateAndRunBuildInput!): CreateAndRunBuildPayload!
  """
  Creates a build of trigger type Manual and immediately runs a crawl for it.
  """
  createAndRunManualBuild(
    input: CreateAndRunBuildInput!
  ): CreateAndRunBuildPayload!
  """
  Generates auth token, that has 120 days expiration time.
  """
  createAutomatorAuthToken: AuthToken!
  createAutomatorSlackWebhook(
    input: CreateSlackWebhookInput!
  ): CreateSlackWebhookPayload!
  createBuildSchedule(
    input: CreateBuildScheduleInput!
  ): CreateBuildSchedulePayload!
  createCrawlUrlSegment(
    input: CreateCrawlUrlSegmentInput!
  ): CreateCrawlUrlSegmentPayload!
  createCreditReportExport(
    input: CreateCreditReportExportInput!
  ): CreateCreditReportExportPayload!
  createCustomChart(input: CreateCustomChartInput!): CreateCustomChartPayload!
  createCustomDashboard(
    input: CreateCustomDashboardInput!
  ): CreateCustomDashboardPayload!
  createCustomMetricContainer(
    input: CreateCustomMetricContainerInput!
  ): CreateCustomMetricContainerPayload!
  createCustomMetricContainerVersion(
    input: CreateCustomMetricContainerVersionInput!
  ): CreateCustomMetricContainerVersionPayload!
  createCustomTable(input: CreateCustomTableInput!): CreateCustomTablePayload!
  createGoogleAnalyticsProjectView(
    input: CreateGoogleAnalyticsProjectViewInput!
  ): CreateGoogleAnalyticsProjectViewPayload!
  """
  Creates a Google Analytics connection.
  """
  createGoogleConnection(
    input: CreateGoogleConnectionInput!
  ): CreateGoogleConnectionPayload!
  createGoogleSearchConsoleConfiguration(
    input: CreateGoogleSearchConsoleConfigurationInput!
  ): CreateGoogleSearchConsoleConfigurationPayload!
  createGoogleSearchConsoleProperty(
    input: CreateGoogleSearchConsolePropertyInput!
  ): CreateGoogleSearchConsolePropertyPayload!
  createJiraAuthentication(
    input: CreateJiraAuthenticationInput!
  ): CreateJiraAuthenticationPayload!
  createJiraIntegration(
    input: CreateJiraIntegrationInput!
  ): CreateJiraIntegrationPayload!
  createLogzioConnection(
    input: CreateLogzioConnectionInput!
  ): CreateLogzioConnectionPayload!
  createLogzioProjectQuery(
    input: CreateLogzioProjectQueryInput!
  ): CreateLogzioProjectQueryPayload!
  createMajesticConfiguration(
    input: CreateMajesticConfigurationInput!
  ): CreateMajesticConfigurationPayload!
  createProject(input: CreateProjectInput!): CreateProjectPayload!
  createProjectLegacyTask(
    input: CreateProjectLegacyTaskInput!
  ): CreateLegacyTaskPayload!
  createReportDownload(
    input: CreateReportDownloadInput!
  ): CreateReportDownloadPayload!
  createReportLegacyTask(
    input: CreateReportLegacyTaskInput!
  ): CreateLegacyTaskPayload!
  createSchedule(input: CreateScheduleInput!): CreateSchedulePayload!
  """
  Creates new session using UserKey's id and secret.
  """
  createSessionUsingUserKey(
    input: CreateSessionUsingUserKeyInputType!
  ): Session!
  """
  Creates new session using username and password.
  """
  createSessionUsingUsername(
    input: CreateSessionUsingUsernameInputType!
  ): Session!
    @deprecated(
      reason: "To authenticate with API use `createSessionUsingUserKey` mutation instead."
    )
  createSplunkConnection(
    input: CreateSplunkConnectionInput!
  ): CreateSplunkConnectionPayload!
  createSplunkProjectQuery(
    input: CreateSplunkProjectQueryInput!
  ): CreateSplunkProjectQueryPayload!
  createTest(input: CreateTestInput!): CreateTestPayload!
  createTestSuite(input: CreateTestSuiteInput!): CreateTestSuitePayload!
  createTestSuiteEmailAlert(
    input: CreateTestSuiteEmailAlertInput!
  ): CreateTestSuiteEmailAlertPayload!
  createTests(inputs: [CreateTestInput!]!): CreateTestsPayload!
  createUrlFileUploadForProject(
    file: Upload
    input: CreateUrlFileUploadForProjectInput!
  ): CreateUrlFileUploadPayload!
  createUrlFileUploadForTestSuite(
    file: Upload
    input: CreateUrlFileUploadForTestSuiteInput!
  ): CreateUrlFileUploadPayload!
  """
  Generates a new personal API key for authentication.
  """
  createUserKey(input: CreateUserKeyInput): UserKey!
  deleteAccountUser(input: DeleteAccountUserInput!): DeleteAccountUserPayload!
  deleteAdobeAnalyticsProjectReportSuite(
    input: DeleteAdobeAnalyticsProjectReportSuiteInput!
  ): DeleteAdobeAnalyticsProjectReportSuitePayload!
  deleteAdobeConnection(
    input: DeleteAdobeConnectionInput!
  ): DeleteAdobeConnectionPayload!
  deleteAutomatorSlackWebhook(
    input: DeleteSlackWebhookInput!
  ): DeleteSlackWebhookPayload!
  deleteBuildSchedule(
    input: DeleteBuildScheduleInput!
  ): DeleteBuildSchedulePayload!
  deleteCrawl(input: DeleteCrawlInput!): DeleteCrawlPayload!
  deleteCustomChart(customChartId: ObjectID!): DeleteCustomChartPayload!
  deleteCustomDashboard(
    customDashboardId: ObjectID!
  ): DeleteCustomDashboardPayload!
  deleteCustomTable(customTableId: ObjectID!): DeleteCustomTablePayload!
  deleteGoogleAnalyticsProjectView(
    input: DeleteGoogleAnalyticsProjectViewInput!
  ): DeleteGoogleAnalyticsProjectViewPayload!
  deleteGoogleConnection(
    input: DeleteGoogleConnectionInput!
  ): DeleteGoogleConnectionPayload!
  deleteGoogleSearchConsoleConfiguration(
    input: DeleteGoogleSearchConsoleConfigurationInput!
  ): DeleteGoogleSearchConsoleConfigurationPayload!
  deleteGoogleSearchConsoleProperty(
    input: DeleteGoogleSearchConsolePropertyInput!
  ): DeleteGoogleSearchConsolePropertyPayload!
  deleteJiraAuthentication(
    input: DeleteJiraAuthenticationInput!
  ): DeleteJiraAuthenticationPayload!
  deleteJiraIntegration(
    input: DeleteJiraIntegrationInput!
  ): DeleteJiraIntegrationPayload!
  deleteLegacyTask(input: DeleteLegacyTaskInput!): DeleteLegacyTaskPayload!
  deleteLogzioConnection(
    input: DeleteLogzioConnectionInput!
  ): DeleteLogzioConnectionPayload!
  deleteLogzioProjectQuery(
    input: DeleteLogzioProjectQueryInput!
  ): DeleteLogzioProjectQueryPayload!
  deleteProject(projectId: ObjectID!): DeleteProjectPayload!
  deleteReportDownload(
    input: DeleteReportDownloadInput!
  ): DeleteReportDownloadPayload!
  deleteSchedule(input: DeleteScheduleInput!): DeleteSchedulePayload!
  deleteSegment(input: DeleteSegmentInput!): DeleteSegmentPayload!
  """
  Destroys current session.
  """
  deleteSession: Session!
  deleteSplunkConnection(
    input: DeleteSplunkConnectionInput!
  ): DeleteSplunkConnectionPayload!
  deleteSplunkProjectQuery(
    input: DeleteSplunkProjectQueryInput!
  ): DeleteSplunkProjectQueryPayload!
  deleteTest(input: DeleteTestInput!): DeleteTestPayload!
  deleteTestSuite(input: DeleteTestSuiteInput!): DeleteTestSuitePayload!
  deleteTestSuiteEmailAlert(
    input: DeleteTestSuiteEmailAlertInput!
  ): DeleteTestSuiteEmailAlertPayload!
  deleteTests(input: DeleteTestsInput!): DeleteTestsPayload!
  deleteUrlFileUpload(
    input: DeleteUrlFileUploadInput!
  ): DeleteUrlFileUploadPayload!
  deleteUserKey(input: DeleteUserKeyInput!): DeleteUserKeyPayload!
  disableSitemap(input: DisableSitemapInput!): DisableSitemapPayload!
  disableSitemaps(input: DisableSitemapsInput!): DisableSitemapsPayload!
  enableSitemap(input: EnableSitemapInput!): EnableSitemapPayload!
  enableSitemaps(input: EnableSitemapsInput!): EnableSitemapsPayload!
  linkChildTestSuiteToParentTestSuite(
    input: LinkChildTestSuiteToParentTestSuiteInput!
  ): LinkChildTestSuiteToParentTestSuitePayload!
  linkCustomMetricContainerToProject(
    input: LinkCustomMetricContainerToProjectInput!
  ): LinkCustomMetricContainerToProjectPayload!
  linkJiraIntegrationToTestSuite(
    input: LinkJiraIntegrationToTestSuiteInput!
  ): LinkJiraIntegrationToTestSuitePayload!
  linkTestSuiteToBuildSchedule(
    input: LinkTestSuiteToBuildScheduleInput!
  ): LinkTestSuiteToBuildSchedulePayload!
  """
  Pauses crawling.
  """
  pauseCrawling(input: PauseCrawlingInput!): PauseCrawlingPayload!
  requestPasswordReset(input: RequestPasswordResetInput!): Boolean!
  resendAccountUserInvite(
    input: ResendAccountUserInviteInput!
  ): ResendAccountUserPayload!
  resetPassword(input: ResetPasswordInput!): ResetPasswordPayload!
  """
  Resumes crawling.
  """
  resumeCrawling(input: ResumeCrawlingInput!): ResumeCrawlingPayload!
  """
  Creates a crawl and immediately runs it.
  """
  runCrawlForProject(
    input: RunCrawlForProjectInput!
  ): RunCrawlForProjectPayload!
  setBuildScheduleTestSuites(
    input: SetBuildScheduleTestSuitesInput!
  ): SetBuildScheduleTestSuitesPayload!
  """
  Generates a shareable token to give viewer access to specific project
  """
  shareProject(input: ShareProjectInput!): ShareProjectPayload!
  """
  Unarchives crawl.
  """
  unarchiveCrawl(input: UnarchiveCrawlInput!): RunCrawlForProjectPayload!
  unlinkChildTestSuiteFromParentTestSuite(
    input: UnlinkChildTestSuiteFromParentTestSuiteInput!
  ): UnlinkChildTestSuiteFromParentTestSuitePayload!
  unlinkCustomMetricContainerFromProject(
    input: UnlinkCustomMetricContainerFromProjectInput!
  ): UnlinkCustomMetricContainerFromProjectPayload!
  unlinkJiraIntegrationFromTestSuite(
    input: UnlinkJiraIntegrationFromTestSuiteInput!
  ): UnlinkJiraIntegrationFromTestSuitePayload!
  unlinkTestSuiteFromBuildSchedule(
    input: UnlinkTestSuiteFromBuildScheduleInput!
  ): UnlinkTestSuiteFromBuildSchedulePayload!
  updateAccount(input: UpdateAccountInput!): UpdateAccountPayload!
  updateAccountUser(input: UpdateAccountUserInput!): UpdateAccountUserPayload!
  updateAdobeAnalyticsProjectReportSuite(
    input: UpdateAdobeAnalyticsProjectReportSuiteInput!
  ): UpdateAdobeAnalyticsProjectReportSuitePayload!
  updateAdobeConnection(
    input: UpdateAdobeConnectionInput!
  ): UpdateAdobeConnectionPayload!
  updateAutomatorSlackWebhook(
    input: UpdateSlackWebhookInput!
  ): CreateSlackWebhookPayload!
  updateBuildSchedule(
    input: UpdateBuildScheduleInput!
  ): UpdateBuildSchedulePayload!
  updateCurrentUser(input: UpdateCurrentUserInput!): UpdateCurrentUserPayload!
  updateCustomChart(input: UpdateCustomChartInput!): UpdateCustomChartPayload!
  updateCustomDashboard(
    input: UpdateCustomDashboardInput!
  ): UpdateCustomDashboardPayload!
  updateCustomTable(input: UpdateCustomTableInput!): UpdateCustomTablePayload!
  updateGoogleAnalyticsProjectView(
    input: UpdateGoogleAnalyticsProjectViewInput!
  ): UpdateGoogleAnalyticsProjectViewPayload!
  updateGoogleSearchConsoleConfiguration(
    input: UpdateGoogleSearchConsoleConfigurationInput!
  ): UpdateGoogleSearchConsoleConfigurationPayload!
  updateGoogleSearchConsoleProperty(
    input: UpdateGoogleSearchConsolePropertyInput!
  ): UpdateGoogleSearchConsolePropertyPayload!
  updateJiraAuthentication(
    input: UpdateJiraAuthenticationInput!
  ): UpdateJiraAuthenticationPayload!
  updateJiraIntegration(
    input: UpdateJiraIntegrationInput!
  ): UpdateJiraIntegrationPayload!
  updateLegacyTask(input: UpdateLegacyTaskInput!): UpdateLegacyTaskPayload!
  updateLogzioConnection(
    input: UpdateLogzioConnectionInput!
  ): UpdateLogzioConnectionPayload!
  updateLogzioProjectQuery(
    input: UpdateLogzioProjectQueryInput!
  ): UpdateLogzioProjectQueryPayload!
  updateMajesticConfiguration(
    input: UpdateMajesticConfigurationInput!
  ): UpdateMajesticConfigurationPayload!
  updateMonitorNotificationsStatus(
    input: UpdateMonitorNotificationsStatusInput!
  ): UpdateMonitorNotificationsStatusPayload!
  updatePassword(input: UpdatePasswordInput!): UpdatePasswordPayload!
  updateProject(input: UpdateProjectInput!): UpdateProjectPayload!
  updateSchedule(input: UpdateScheduleInput!): UpdateSchedulePayload!
  updateSegment(input: UpdateSegmentInput!): UpdateSegmentPayload!
  updateSplunkConnection(
    input: UpdateSplunkConnectionInput!
  ): UpdateSplunkConnectionPayload!
  updateSplunkProjectQuery(
    input: UpdateSplunkProjectQueryInput!
  ): UpdateSplunkProjectQueryPayload!
  updateTest(input: UpdateTestInput!): UpdateTestPayload!
  updateTestResult(input: UpdateTestResultInput!): UpdateTestResultPayload!
  updateTestSuite(input: UpdateTestSuiteInput!): UpdateTestSuitePayload!
  updateTestSuiteEmailAlert(
    input: UpdateTestSuiteEmailAlertInput!
  ): CreateTestSuiteEmailAlertPayload!
  updateTests(inputs: [UpdateTestInput!]!): UpdateTestsPayload!
  updateUrlFileUpload(
    input: UpdateUrlFileUploadInput!
  ): UpdateUrlFileUploadPayload!
}

"""
The ObjectID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ObjectID type appears in a JSON response as a String; however, it is not intended to be human-readable.
"""
scalar ObjectID

"""
Possible directions in which to order a list of items when provided an `orderBy` argument.
"""
enum OrderDirection {
  ASC
  DESC
}

type PageInfo {
  endCursor: String
  hasNextPage: Boolean!
  hasPreviousPage: Boolean!
  startCursor: String
}

input PauseCrawlingInput {
  crawlId: ObjectID!
}

type PauseCrawlingPayload {
  crawl: Crawl!
}

enum PauseReason {
  CreditLimit
  CustomExtractionTimeout
  LevelLimit
  Manual
  PageGroupingTimeout
  UrlLimit
  UrlsExcludedTimeout
  UrlsIncludedTimeout
}

type Permission {
  code: PermissionCode!
}

enum PermissionCode {
  Admin
  AdminGrant
  Beta
  Dev
  SsoClient
}

type PredicateMetadata {
  key: SegmentRulePredicate!
  name: String!
  type: PrimitiveType!
}

enum PrimitiveType {
  Array
  Boolean
  Date
  Number
  String
}

type Project implements BaseProject {
  account: Account!
  adobeAnalyticsProjectReportSuite: AdobeAnalyticsProjectReportSuite
  alertEmails: [String!]
  alertSetting: AlertSetting!
  allPagesTotal: Int
  apiCallbackHeaders: [APICallbackHeader!]
  apiCallbackUrl: String
  autoFinalizeOnCrawlLimits: Boolean!
  compareToCrawl: CompareToCrawl
  coreUIUrl: String!
  crawlDisallowedUrls1stLevel: Boolean!
  crawlHyperlinksExternal: Boolean!
  crawlHyperlinksInternal: Boolean!
  crawlImagesExternal: Boolean!
  crawlImagesInternal: Boolean!
  crawlNofollowHyperlinks: Boolean!
  crawlNonHtml: Boolean!
  crawlNotIncluded1stLevel: Boolean!
  crawlOtherRelExternal: Boolean!
  crawlOtherRelInternal: Boolean!
  crawlRate: Float! @deprecated(reason: "Renamed to maximumCrawlRate.")
  crawlRedirectsExternal: Boolean!
  crawlRedirectsInternal: Boolean!
  crawlRelAmphtmlExternal: Boolean!
  crawlRelAmphtmlInternal: Boolean!
  crawlRelCanonicalsExternal: Boolean!
  crawlRelCanonicalsInternal: Boolean!
  crawlRelHreflangsExternal: Boolean!
  crawlRelHreflangsInternal: Boolean!
  crawlRelMobileExternal: Boolean!
  crawlRelMobileInternal: Boolean!
  crawlRelNextPrevExternal: Boolean!
  crawlRelNextPrevInternal: Boolean!
  crawlRobotsTxtNoindex: Boolean!
  crawlScriptsExternal: Boolean!
  crawlScriptsInternal: Boolean!
  crawlSitemapsExternal: Boolean!
  crawlSitemapsInternal: Boolean!
  crawlStylesheetsExternal: Boolean!
  crawlStylesheetsInternal: Boolean!
  crawlTestSite: Boolean!
  crawlTypes: [CrawlType!]!
  crawlingAt: DateTime
  crawls(
    after: String
    before: String
    """
    Filtering options for Crawls returned from the connection.
    """
    filter: CrawlConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for Crawls returned from the connection.
    """
    orderBy: [CrawlOrder!]
  ): CrawlConnection!
  crawlsTotalCount: Int!
  createdAt: DateTime!
  customDns: [CustomDnsSetting!]
  """
  Use regular expressions to extract custom information from pages when they are crawled.
  """
  customExtractions: [CustomExtractionSetting!]
  customHeaderUserAgent: String
    @deprecated(reason: "Renamed to userAgentString.")
  customHeaderUserAgentShort: String
    @deprecated(reason: "Renamed to userAgentToken.")
  customMetricContainers(
    after: String
    before: String
    """
    Filtering options for CustomMetricContainers returned from the connection.
    """
    filter: CustomMetricContainerConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for CustomMetricContainers returned from the connection.
    """
    orderBy: [CustomMetricContainerOrder!]
  ): CustomMetricContainerConnection!
  customRequestHeaders: JSONObject
  discoverSitemapsInRobotsTxt: Boolean!
  duplicatePrecision: Float!
  emptyPageThreshold: Int
  excludeUrlPatterns: [String!]
  finishedAt: DateTime
  forceMonitorApp: Boolean!
  gaDateRange: Int!
  googleAnalyticsProjectView: GoogleAnalyticsProjectView
  googleSearchConsoleConfiguration: GoogleSearchConsoleConfiguration
  googleSearchConsoleProperties(
    after: String
    before: String
    first: Int = 15
    last: Int
    """
    Ordering options for GoogleSearchConsoleProperties returned from the connection.
    """
    orderBy: [GoogleSearchConsolePropertyOrder!]
  ): GoogleSearchConsolePropertyConnection
  hasTestSitePassword: Boolean!
  highLogSummaryRequests: Int!
    @deprecated(reason: "Renamed to logSummaryRequestsHigh.")
  id: ObjectID!
  ignoreInvalidSSLCertificate: Boolean
  includeHttpAndHttps: Boolean!
  includeSubdomains: Boolean!
  includeUrlPatterns: [String!]
  isTestSuite: Boolean!
  """
  Same as crawlingAt, but includes dates of deleted crawls.
  """
  lastCrawlCrawlingAt: DateTime
  lastCrawlStatus: CrawlStatus
  lastFinishedCrawl: Crawl
  legacyTasks(
    after: String
    before: String
    """
    Filtering options for LegacyTasks returned from the connection.
    """
    filter: LegacyTaskConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for LegacyTasks returned from the connection.
    """
    orderBy: [LegacyTaskOrder!]
  ): LegacyTaskConnection!
  legacyTasksTotalCount: Int!
  limitLevelsMax: Int!
  limitPagesMax: Int! @deprecated(reason: "Renamed to limitUrlsMax.")
  limitUrlsMax: Int!
  location: Location!
  logSummaryRequestsHigh: Int!
  logSummaryRequestsLow: Int!
  logzioProjectQueries(
    after: String
    before: String
    """
    Filtering options for LogzioProjectQueries returned from the connection.
    """
    filter: LogzioProjectQueryConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for LogzioProjectQueries returned from the connection.
    """
    orderBy: [LogzioProjectQueryOrder!]
  ): LogzioProjectQueryConnection!
  lowLogSummaryRequests: Int!
    @deprecated(reason: "Renamed to logSummaryRequestsLow.")
  majesticConfiguration: MajesticConfiguration
  maxBodyContentLength: Int
  maxContentSize: Int! @deprecated(reason: "Renamed to maxBodyContentLength.")
  maxDescriptionLength: Int
  maxExternalLinks: Int
  maxHtmlSize: Int
  maxLinks: Int
  maxLinksProcessed: Int!
  maxLoadTime: Float
  maxRedirections: Int!
  maxTitleWidth: Int!
  maxUrlLength: Int
  maximumCrawlRate: Float!
  maximumCrawlRateAdvanced: [AdvancedCrawlRate!]
  minContentRatio: Float
  minDescriptionLength: Int!
  minTitleLength: Int!
  minVisits: Int!
  mobileHomepageUrl: String
  mobileUrlPattern: String
  mobileUserAgent: UserAgent
  name: String!
  primaryDomain: String!
  rawID: String!
  rawTrends(
    reportTemplateCodes: [String!]!
    trendLimit: Int! = 30
  ): [JSONObject!]!
  rendererBlockAds: Boolean!
  rendererBlockAnalytics: Boolean!
  rendererBlockCustom: [String!]
  rendererJsString: String
  rendererJsUrls: [String!]
  robotsOverwrite: String
  schedule: Schedule
  schedulesTotalCount: Int!
  secondaryDomains: [String!]
  segments(
    after: String
    before: String
    """
    Filtering options for Segments returned from the connection.
    """
    filter: SegmentConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for Segments returned from the connection.
    """
    orderBy: [SegmentOrder!]
  ): SegmentConnection
  segmentsTotalCount: Int!
  sitePrimary: String! @deprecated(reason: "Renamed to primaryDomain.")
  siteTest: String @deprecated(reason: "Renamed to testSiteDomain.")
  siteTestUser: String @deprecated(reason: "Renamed to testSiteUsername.")
  sitemapUrls: [String!]
  sitemaps: [Sitemap!]!
  splunkProjectQueries(
    after: String
    before: String
    """
    Filtering options for SplunkProjectQueries returned from the connection.
    """
    filter: SplunkProjectQueryConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for SplunkProjectQueries returned from the connection.
    """
    orderBy: [SplunkProjectQueryOrder!]
  ): SplunkProjectQueryConnection!
  startUrls: [String!]
  testSiteDomain: String
  testSiteUsername: String
  testsTotalCount: Int!
  thinPageThreshold: Int
  totalSteps: Int
  trends(
    reportTemplateCodes: [String!]!
    trendLimit: Int! = 30
  ): [ProjectTrend!]!
  updatedAt: DateTime!
  urlFileUploads(
    after: String
    before: String
    """
    Filtering options for UrlFileUploads returned from the connection.
    """
    filter: UrlFileUploadConnectionFilterInput
    first: Int = 15
    last: Int
  ): UrlFileUploadConnection!
  urlRewriteQueryParameters: [String!]
  urlRewriteRules: [UrlRewriteRule!]
  urlRewriteStripFragment: Boolean!
  urlSampling: [UrlSampling!]
  urlsExcluded: [String!] @deprecated(reason: "Renamed to excludeUrlPatterns.")
  urlsIncluded: [String!] @deprecated(reason: "Renamed to includeUrlPatterns.")
  useMobileSettings: Boolean!
  useRenderer: Boolean!
  useRobotsOverwrite: Boolean!
  useStealthMode: Boolean!
  useUrlRewriteRules: Boolean!
  userAgent: UserAgent
  userAgentString: String
  userAgentStringMobile: String
  userAgentToken: String
  userAgentTokenMobile: String
}

type ProjectConnection {
  """
  A list of edges.
  """
  edges: [ProjectEdge!]!
  """
  A list of nodes.
  """
  nodes: [Project!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of Projects in the connection.
  """
  totalCount: Int!
}

input ProjectConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [ProjectConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [ProjectConnectionFilterInput!]
  allPagesTotal: ConnectionIntFilterInput
  """
  ProjectConnectionFilterInput.and will be removed. Use ProjectConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: ProjectConnectionFilterInput
  crawlRate: ConnectionFloatFilterInput
  crawlingAt: ConnectionDateFilterInput
  crawlsTotalCount: ConnectionIntFilterInput
  createdAt: ConnectionDateFilterInput
  duplicatePrecision: ConnectionFloatFilterInput
  emptyPageThreshold: ConnectionIntFilterInput
  finishedAt: ConnectionDateFilterInput
  forceMonitorApp: ConnectionBooleanFilterInput
  highLogSummaryRequests: ConnectionIntFilterInput
  isTestSuite: ConnectionBooleanFilterInput
  lastCrawlCrawlingAt: ConnectionDateFilterInput
  lastCrawlStatus: ConnectionCrawlStatusFilterInput
  legacyTasksTotalCount: ConnectionIntFilterInput
  limitPagesMax: ConnectionIntFilterInput
  lowLogSummaryRequests: ConnectionIntFilterInput
  maxContentSize: ConnectionIntFilterInput
  maxDescriptionLength: ConnectionIntFilterInput
  maxExternalLinks: ConnectionIntFilterInput
  maxHtmlSize: ConnectionIntFilterInput
  maxLinks: ConnectionIntFilterInput
  maxLoadTime: ConnectionFloatFilterInput
  maxRedirections: ConnectionIntFilterInput
  maxTitleWidth: ConnectionIntFilterInput
  maxUrlLength: ConnectionIntFilterInput
  minContentRatio: ConnectionFloatFilterInput
  minDescriptionLength: ConnectionIntFilterInput
  minTitleLength: ConnectionIntFilterInput
  name: ConnectionStringFilterInput
  rendererBlockAds: ConnectionBooleanFilterInput
  rendererBlockAnalytics: ConnectionBooleanFilterInput
  rendererJsString: ConnectionStringFilterInput
  robotsOverwrite: ConnectionStringFilterInput
  schedulesTotalCount: ConnectionIntFilterInput
  segmentsTotalCount: ConnectionIntFilterInput
  sitePrimary: ConnectionStringFilterInput
  siteTest: ConnectionStringFilterInput
  testsTotalCount: ConnectionIntFilterInput
  thinPageThreshold: ConnectionIntFilterInput
  totalSteps: ConnectionIntFilterInput
  updatedAt: ConnectionDateFilterInput
  useRenderer: ConnectionBooleanFilterInput
  useRobotsOverwrite: ConnectionBooleanFilterInput
}

type ProjectEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: Project!
}

input ProjectOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order Projects by.
  """
  field: ProjectOrderField!
}

enum ProjectOrderField {
  allPagesTotal
  crawlRate
  crawlingAt
  crawlsTotalCount
  createdAt
  duplicatePrecision
  emptyPageThreshold
  finishedAt
  highLogSummaryRequests
  id
  isTestSuite
  lastCrawlCrawlingAt
  lastCrawlStatus
  legacyTasksTotalCount
  limitPagesMax
  lowLogSummaryRequests
  maxContentSize
  maxDescriptionLength
  maxExternalLinks
  maxHtmlSize
  maxLinks
  maxLoadTime
  maxRedirections
  maxTitleWidth
  maxUrlLength
  minContentRatio
  minDescriptionLength
  minTitleLength
  name
  rendererBlockAds
  rendererBlockAnalytics
  rendererJsString
  robotsOverwrite
  schedulesTotalCount
  segmentsTotalCount
  sitePrimary
  siteTest
  testsTotalCount
  thinPageThreshold
  totalSteps
  updatedAt
  useRenderer
  useRobotsOverwrite
}

type ProjectTrend {
  reportTemplateCode: String!
  trendReports: [TrendReport!]!
}

enum ProjectUploadType {
  AdobeAnalyticsCSV
  AdwordsFinalUrlCSV
  AhrefsBacklinksCSV
  AhrefsBacklinksCSV2
  AnalyticsCSV
  BacklinksCSV
  Custom
  GenericBacklinksCSV
  GenericLogfileCSV
  GoogleAnalyticsCSV
  ListTxt
  LogzioLogfileDesktopCSV
  LogzioLogfileMobileCSV
  MajesticBacklinksCSV
  MajesticBacklinksCSV2
  OSEBacklinksCSV
  ReducedAdobeAnalyticsCSV
  ScreamingFrogLogfileBaiduCSV
  ScreamingFrogLogfileBingbotCSV
  ScreamingFrogLogfileGooglebotCSV
  ScreamingFrogLogfileGooglebotOnlyCSV
  ScreamingFrogLogfileGooglebotOnlyCSV2
  ScreamingFrogLogfileYandexCSV
  Sitemap
  SplunkLogfileBingCSV
  SplunkLogfileDesktopCSV
  SplunkLogfileGoogleCSV
  SplunkLogfileMobileCSV
}

type Query {
  datasource(
    code: String @deprecated(reason: "Use datasourceCode instead.")
    datasourceCode: DatasourceCode
  ): Datasource
  datasources: [Datasource!]!
  """
  Look up account by ObjectID.
  """
  getAccount(id: ObjectID!): Account
  """
  List of available alert settings.
  """
  getAlertSettings: [AlertSetting!]!
  """
  Look up automator account statistics by account ObjectID.
  """
  getAutomatorAccountStatistics(
    accountId: ObjectID!
  ): AutomatorAccountStatistics!
  """
  Find Automator Report Templates by connection arguments.
  """
  getAutomatorReportTemplates(
    after: String
    before: String
    """
    Filtering options for ReportTemplates returned from the connection.
    """
    filter: ReportTemplateConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for ReportTemplates returned from the connection.
    """
    orderBy: [ReportTemplateOrder!]
  ): ReportTemplateConnection!
  """
  Look up crawl by ObjectID.
  """
  getCrawl(id: ObjectID!): Crawl
  """
  List of available CrawlTypes.
  """
  getCrawlTypesMetadata: [CrawlTypeMetadata!]!
  """
  Look up custom chart by ObjectID.
  """
  getCustomChart(id: ObjectID!): CustomChart
  """
  Look up custom dashboard by ObjectID.
  """
  getCustomDashboard(id: ObjectID!): CustomDashboard
  getCustomMetricContainerVersion(
    customMetricContainerId: ObjectID!
    version: Int!
  ): CustomMetricContainerVersion
  """
  Look up custom table by ObjectID.
  """
  getCustomTable(id: ObjectID!): CustomTable
  getJiraIssueTypes(input: GetJiraIssueTypesInput!): [JiraIssueType!]!
  getJiraProjects(input: GetJiraProjectsInput!): [JiraProject!]!
  getJiraSettings: JiraSettings!
  getLegacyTasksForProjects(
    after: String
    before: String
    """
    Filtering options for LegacyTasks returned from the connection.
    """
    filter: LegacyTaskConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for LegacyTasks returned from the connection.
    """
    orderBy: [LegacyTaskOrder!]
    projectIds: [ObjectID!]!
  ): LegacyTaskConnection!
  """
  Look up project by ObjectID.
  """
  getProject(id: ObjectID!): Project
  getReport(input: GetReportInputType!): Report
  getReportCategories(
    after: String
    before: String
    """
    Filtering options for ReportCategories returned from the connection.
    """
    filter: ReportCategoryConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for ReportCategories returned from the connection.
    """
    orderBy: [ReportCategoryOrder!]
  ): ReportCategoryConnection!
  """
  Find Report Templates by connection arguments.
  """
  getReportTemplates(
    after: String
    before: String
    """
    Filtering options for ReportTemplates returned from the connection.
    """
    filter: ReportTemplateConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for ReportTemplates returned from the connection.
    """
    orderBy: [ReportTemplateOrder!]
  ): ReportTemplateConnection!
  """
  List of available report types.
  """
  getReportTypes: [ReportType!]!
  getReportsForCrawls(
    crawlIds: [ObjectID!]!
    filter: ReportConnectionFilterInput
    limit: Int = 100
    scrollId: String
  ): ReportScrollConnection!
  """
  List of available roles.
  """
  getRoles: [Role!]!
  """
  List of available schedule frequencies.
  """
  getScheduleFrequencies: [ScheduleFrequency!]!
  """
  Look up segment by ObjectID.
  """
  getSegment(id: ObjectID!): Segment
  """
  Look up testSuite by ObjectID.
  """
  getTestSuite(id: ObjectID!): TestSuite
  """
  List of locations available for test suite.
  """
  getTestSuiteLocations: [Location!]!
  """
  List of available UrlFileUploadTypes.
  """
  getUrlFileUploadTypes: [UrlFileUploadType!]!
  """
  List of all available user agents.
  """
  getUserAgents: [UserAgent!]!
  """
  The currently authenticated user.
  """
  me: User!
  """
  Fetches an object given its ID.
  """
  node(id: ObjectID!): Entity
  """
  Lookup nodes by a list of IDs.
  """
  nodes(ids: [ObjectID!]!): [Entity!]!
  segmentableMetricsMetadata: [SegmentableMetricMetadata!]!
  sharelink: Sharelink
  version: String!
}

type Redirect {
  exclusionReason: RedirectExclusionReason
  isMetaRedirect: Boolean!
  redirectsTo: String
  result: String
  statusCode: Int
  url: String!
}

enum RedirectExclusionReason {
  Disallowed
  External
}

type Report {
  change: Int
  changeWeight: Float!
  coreUIUrl: String!
  crawl: Crawl!
  crawlDuplicateUrls(
    after: String
    before: String
    """
    Filtering options for CrawlDuplicateUrls returned from the connection.
    """
    filter: CrawlDuplicateUrlConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for CrawlDuplicateUrls returned from the connection.
    """
    orderBy: [CrawlDuplicateUrlOrder!]
  ): CrawlDuplicateUrlConnection
  crawlHreflangs(
    after: String
    before: String
    """
    Filtering options for CrawlHreflangs returned from the connection.
    """
    filter: CrawlHreflangsConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for CrawlHreflangs returned from the connection.
    """
    orderBy: [CrawlHreflangsOrder!]
  ): CrawlHreflangsConnection
  crawlId: ObjectID!
  crawlLinkedDomains(
    after: String
    before: String
    """
    Filtering options for CrawlLinkedDomains returned from the connection.
    """
    filter: CrawlLinkedDomainConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for CrawlLinkedDomains returned from the connection.
    """
    orderBy: [CrawlLinkedDomainOrder!]
  ): CrawlLinkedDomainConnection
  crawlLinks(
    after: String
    before: String
    """
    Filtering options for CrawlLinks returned from the connection.
    """
    filter: CrawlLinkConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for CrawlLinks returned from the connection.
    """
    orderBy: [CrawlLinkOrder!]
  ): CrawlLinkConnection
  crawlSegment: CrawlSegment
  crawlSitemaps(
    after: String
    before: String
    """
    Filtering options for CrawlSitemaps returned from the connection.
    """
    filter: CrawlSitemapConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for CrawlSitemaps returned from the connection.
    """
    orderBy: [CrawlSitemapOrder!]
  ): CrawlSitemapConnection
  crawlUncrawledUrls(
    after: String
    before: String
    """
    Filtering options for CrawlUncrawledUrls returned from the connection.
    """
    filter: CrawlUncrawledUrlConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for CrawlUncrawledUrls returned from the connection.
    """
    orderBy: [CrawlUncrawledUrlOrder!]
  ): CrawlUncrawledUrlConnection
  crawlUniqueLinks(
    after: String
    before: String
    """
    Filtering options for CrawlUniqueLinks returned from the connection.
    """
    filter: CrawlUniqueLinkConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for CrawlUniqueLinks returned from the connection.
    """
    orderBy: [CrawlUniqueLinkOrder!]
  ): CrawlUniqueLinkConnection
  crawlUrls(
    after: String
    before: String
    """
    Filtering options for CrawlUrls returned from the connection.
    """
    filter: CrawlUrlConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for CrawlUrls returned from the connection.
    """
    orderBy: [CrawlUrlOrder!]
  ): CrawlUrlConnection
  crawlUrlsAggregates(
    dimensions: [CrawlUrlAggregateDimension!]! = []
    filter: CrawlUrlConnectionFilterInput
    """
    Ordering options for CrawlUrlAggregates returned from the connection.
    """
    orderBy: [CrawlUrlAggregateOrder!]! = []
  ): [CrawlUrlAggregate!]
  crawlWebCrawlDepths(
    after: String
    before: String
    """
    Filtering options for CrawlWebCrawlDepths returned from the connection.
    """
    filter: CrawlWebCrawlDepthConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for CrawlWebCrawlDepths returned from the connection.
    """
    orderBy: [CrawlWebCrawlDepthOrder!]
  ): CrawlWebCrawlDepthConnection
  createdAt: DateTime!
  datasource: Datasource!
  datasourceCode: String! @deprecated(reason: "Use datasourceCodeEnum instead.")
  datasourceCodeEnum: DatasourceCode!
  diffReportTotals(
    """
    Filters can be provided to get a filtered totalRows from other report types.
    """
    filter: JSONObject
    """
    Whether to include totalRows from the same Report as the parent Object.
    """
    includeSelf: Boolean! = false
  ): [ReportTotalRows!]!
  hasChanges: Boolean
  id: ObjectID!
  legacyRows(
    after: String
    before: String
    filter: JSONObject
    first: Int = 15
    last: Int
    orderBy: [JSONObject!]
  ): LegacyReportRowConnection
  legacyTasks(
    after: String
    before: String
    """
    Filtering options for LegacyTasks returned from the connection.
    """
    filter: LegacyTaskConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for LegacyTasks returned from the connection.
    """
    orderBy: [LegacyTaskOrder!]
  ): LegacyTaskConnection!
  paginatedCrawlUrlsAggregates(
    after: String
    dimensions: [CrawlUrlAggregateDimension!]! = []
    filter: CrawlUrlConnectionFilterInput
    first: Int = 100
    """
    Ordering options for CrawlUrlAggregates returned from the connection.
    """
    orderBy: [CrawlUrlAggregateOrder!]! = []
  ): CrawlUrlAggregateConnection
  project: Project!
  projectId: ObjectID!
  queryVersion: Int
  rawID: String!
  rawTrends: [JSONObject!]!
  reportDownloads(
    after: String
    before: String
    """
    Filtering options for ReportDownloads returned from the connection.
    """
    filter: ReportDownloadConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for ReportDownloads returned from the connection.
    """
    orderBy: [ReportDownloadOrder!]
  ): ReportDownloadConnection
  reportTemplate: ReportTemplate!
  reportTemplateCode: String!
  reportTypeCode: String! @deprecated(reason: "Use reportTypeCodeEnum instead.")
  reportTypeCodeEnum: ReportTypeCode!
  rows(
    after: String
    before: String
    filter: JSONObject
    first: Int = 15
    last: Int
    orderBy: [JSONObject!]
  ): ReportRowConnection
  rowsWithAllMetrics(
    after: String
    before: String
    filter: JSONObject
    first: Int = 15
    last: Int
    orderBy: [JSONObject!]
  ): AllMetricsReportRowConnection
  segment: Segment
  segmentVersion: Int
  totalRows: Int
  totalWeight: Float
  trend: [Report!]!
  type: ReportType!
  typeCode: ReportTypeCode!
}

type ReportCategory {
  code: String!
  healthScore: Boolean!
  name: String!
  parentCode: String
  position: Int!
}

type ReportCategoryConnection {
  """
  A list of edges.
  """
  edges: [ReportCategoryEdge!]!
  """
  A list of nodes.
  """
  nodes: [ReportCategory!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of ReportCategories in the connection.
  """
  totalCount: Int!
}

input ReportCategoryConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [ReportCategoryConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [ReportCategoryConnectionFilterInput!]
  """
  ReportCategoryConnectionFilterInput.and will be removed. Use ReportCategoryConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: ReportCategoryConnectionFilterInput
  code: ConnectionStringFilterInput
  healthScore: ConnectionBooleanFilterInput
  name: ConnectionStringFilterInput
  parentCode: ConnectionStringFilterInput
  position: ConnectionIntFilterInput
}

type ReportCategoryEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: ReportCategory!
}

input ReportCategoryOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order ReportCategories by.
  """
  field: ReportCategoryOrderField!
}

enum ReportCategoryOrderField {
  code
  healthScore
  name
  parentCode
  position
}

type ReportConnection {
  """
  A list of edges.
  """
  edges: [ReportEdge!]!
  """
  A list of nodes.
  """
  nodes: [Report!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of Reports in the connection.
  """
  totalCount: Int!
}

input ReportConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [ReportConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [ReportConnectionFilterInput!]
  """
  ReportConnectionFilterInput.and will be removed. Use ReportConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: ReportConnectionFilterInput
  change: ConnectionIntFilterInput
  createdAt: ConnectionDateFilterInput
  datasourceCode: ConnectionStringFilterInput
  datasourceCodeEnum: ConnectionDatasourceCodeFilterInput
  hasChanges: ConnectionBooleanFilterInput
  queryVersion: ConnectionIntFilterInput
  reportTemplateCode: ConnectionStringFilterInput
  reportTypeCode: ConnectionStringFilterInput
  reportTypeCodeEnum: ConnectionReportTypeCodeFilterInput
  segmentId: ConnectionObjectIDFilterInput
  totalRows: ConnectionIntFilterInput
  totalWeight: ConnectionFloatFilterInput
}

type ReportDownload {
  crawl: Crawl!
  createdAt: DateTime!
  fileURL: String
  filter: String
  id: ObjectID!
  outputType: ReportDownloadOutputType!
  rawID: String!
  report: Report!
  reportTemplate: ReportTemplate!
  reportedAt: DateTime
  reportingAt: DateTime
  selectedMetrics: [String!]
  status: ReportDownloadStatus!
  totalRows: Float
  updatedAt: DateTime!
}

type ReportDownloadConnection {
  """
  A list of edges.
  """
  edges: [ReportDownloadEdge!]!
  """
  A list of nodes.
  """
  nodes: [ReportDownload!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of ReportDownloads in the connection.
  """
  totalCount: Int!
}

input ReportDownloadConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [ReportDownloadConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [ReportDownloadConnectionFilterInput!]
  """
  ReportDownloadConnectionFilterInput.and will be removed. Use ReportDownloadConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: ReportDownloadConnectionFilterInput
  createdAt: ConnectionDateFilterInput
  segmentId: ConnectionObjectIDFilterInput
  totalRows: ConnectionFloatFilterInput
  updatedAt: ConnectionDateFilterInput
}

type ReportDownloadEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: ReportDownload!
}

input ReportDownloadOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order ReportDownloads by.
  """
  field: ReportDownloadOrderField!
}

enum ReportDownloadOrderField {
  createdAt
  totalRows
  updatedAt
}

enum ReportDownloadOutputType {
  CompactCsvZip
  CsvGzip
  CsvZip
  XmlZip
}

enum ReportDownloadStatus {
  Draft
  Generated
  Generating
}

type ReportEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: Report!
}

input ReportOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order Reports by.
  """
  field: ReportOrderField!
}

enum ReportOrderField {
  change
  createdAt
  datasourceCode
  datasourceCodeEnum
  generationTime
  hasChanges
  queryVersion
  reportTemplateCode
  reportTypeCode
  reportTypeCodeEnum
  totalRows
  totalWeight
}

union ReportRow =
    CrawlDuplicateUrl
  | CrawlHreflangs
  | CrawlLink
  | CrawlLinkedDomain
  | CrawlSitemap
  | CrawlUncrawledUrl
  | CrawlUniqueLink
  | CrawlUrl
  | CrawlWebCrawlDepth

type ReportRowConnection {
  edges: [ReportRowEdge!]!
  nodes: [ReportRow!]!
  pageInfo: PageInfo!
  totalCount: Int!
}

type ReportRowEdge {
  """
  Used in `before` and `after` args
  """
  cursor: String!
  node: ReportRow!
}

type ReportScrollConnection {
  nodes: [Report!]!
  scrollId: String!
  totalCount: Int!
}

type ReportTemplate {
  """
  A list of allowed output types when generating ReportDownloads.
  """
  allowedOutputTypes: [ReportDownloadOutputType!]!
  automatorSummary: String
  beta: Boolean!
  categories: [String!]!
  changeSign: Float
  changeWeight: Float
  code: String!
  createdAt: DateTime!
  datasource: Datasource!
  datasourceCode: String! @deprecated(reason: "Use datasourceCodeEnum instead.")
  datasourceCodeEnum: DatasourceCode!
  """
  A list of metrics recommended for this report template.
  """
  defaultMetrics: [String!]!
  defaultOrderBy: [JSONObject!]!
  deletedAt: DateTime
  description: String
  healthscoreCategory: String
  healthscoreSubcategories: [String!]!
  id: ObjectID!
  metricsGroupings: [MetricsGrouping!]!
  name: String!
  position: Float
  queryVersion: Int!
  rawID: String!
  reportCategories: [ReportCategory!]!
  reportTypes: [ReportTypeCode!]
  summary: String
  tags: [String!]
  totalSign: Float
  totalWeight: Float
  updatedAt: DateTime!
}

type ReportTemplateConnection {
  """
  A list of edges.
  """
  edges: [ReportTemplateEdge!]!
  """
  A list of nodes.
  """
  nodes: [ReportTemplate!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of ReportTemplates in the connection.
  """
  totalCount: Int!
}

input ReportTemplateConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [ReportTemplateConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [ReportTemplateConnectionFilterInput!]
  """
  ReportTemplateConnectionFilterInput.and will be removed. Use ReportTemplateConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: ReportTemplateConnectionFilterInput
  beta: ConnectionBooleanFilterInput
  categoriesRaw: ConnectionStringFilterInput
  changeSign: ConnectionFloatFilterInput
  changeWeight: ConnectionFloatFilterInput
  code: ConnectionStringFilterInput
  createdAt: ConnectionDateFilterInput
  datasourceCode: ConnectionStringFilterInput
  datasourceCodeEnum: ConnectionDatasourceCodeFilterInput
  deletedAt: ConnectionDateFilterInput
  description: ConnectionStringFilterInput
  healthscoreCategory: ConnectionStringFilterInput
  healthscoreSubcategoriesRaw: ConnectionStringFilterInput
  name: ConnectionStringFilterInput
  position: ConnectionFloatFilterInput
  subcategoriesRaw: ConnectionStringFilterInput
  summary: ConnectionStringFilterInput
  tagsRaw: ConnectionStringFilterInput
  totalSign: ConnectionFloatFilterInput
  totalWeight: ConnectionFloatFilterInput
  updatedAt: ConnectionDateFilterInput
}

type ReportTemplateEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: ReportTemplate!
}

input ReportTemplateOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order ReportTemplates by.
  """
  field: ReportTemplateOrderField!
}

enum ReportTemplateOrderField {
  beta
  changeSign
  changeWeight
  code
  createdAt
  datasourceCode
  datasourceCodeEnum
  deletedAt
  description
  healthscoreCategory
  id
  name
  position
  summary
  totalSign
  totalWeight
  updatedAt
}

type ReportTotalRows {
  reportId: ObjectID!
  reportTypeCode: ReportTypeCode!
  totalRows: Int!
}

type ReportType {
  code: ReportTypeCode!
  id: ObjectID!
  name: String!
  position: Int!
  rawID: String!
}

enum ReportTypeCode {
  Added
  Basic
  Missing
  Removed
}

input RequestPasswordResetInput {
  email: String!
}

input ResendAccountUserInviteInput {
  accountId: ObjectID!
  userId: ObjectID!
}

type ResendAccountUserPayload {
  account: Account!
}

input ResetPasswordInput {
  newPassword: String!
  passwordResetToken: String!
  """
  Skips leaked password validation using https://haveibeenpwned.com/ service.
  """
  skipLeakedPasswordValidation: Boolean! = false
}

type ResetPasswordPayload {
  passwordUpdated: Boolean!
  passwordValidationErrors: [String!]
}

enum ResolvedHttpStatusCode {
  Permanent
  Temporary
}

input ResumeCrawlingInput {
  crawlId: ObjectID!
}

type ResumeCrawlingPayload {
  crawl: Crawl!
}

type Role {
  code: RoleCode!
  name: String!
}

enum RoleCode {
  Admin
  Editor
  Viewer
}

input RunCrawlForProjectInput {
  projectId: ObjectID!
}

type RunCrawlForProjectPayload {
  crawl: Crawl!
}

type Schedule {
  createdAt: DateTime!
  id: ObjectID!
  latestRunTime: DateTime!
  nextRunTime: DateTime!
  project: Project!
  rawID: String!
  scheduleFrequency: ScheduleFrequency!
  updatedAt: DateTime!
}

type ScheduleFrequency {
  code: ScheduleFrequencyCode!
  name: String!
}

enum ScheduleFrequencyCode {
  Daily
  Fortnightly
  Hourly
  Monthly
  OneTime
  Quarterly
  Weekly
}

type Segment {
  crawlSegments(
    after: String
    before: String
    filter: CrawlSegmentConnectionFilterInput
    first: Int = 15
    last: Int
    orderBy: [CrawlSegmentOrder!]
  ): CrawlSegmentConnection
  crawlUrlFilter: JSONObject
  createdAt: DateTime!
  filter: JSONObject
  id: ObjectID!
  lastFailedAt: DateTime
  lastGeneratedAt: DateTime
  name: String!
  project: Project!
  rawID: String!
  updatedAt: DateTime!
  version: Int!
}

type SegmentConnection {
  """
  A list of edges.
  """
  edges: [SegmentEdge!]!
  """
  A list of nodes.
  """
  nodes: [Segment!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of Segments in the connection.
  """
  totalCount: Int!
}

input SegmentConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [SegmentConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [SegmentConnectionFilterInput!]
  """
  SegmentConnectionFilterInput.and will be removed. Use SegmentConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: SegmentConnectionFilterInput
  createdAt: ConnectionDateFilterInput
  name: ConnectionStringFilterInput
  updatedAt: ConnectionDateFilterInput
}

type SegmentEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: Segment!
}

input SegmentOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order Segments by.
  """
  field: SegmentOrderField!
}

enum SegmentOrderField {
  createdAt
  name
  updatedAt
}

enum SegmentRulePredicate {
  BeginsWith
  Contains
  EndsWith
  Equal
  IsEmpty
  MatchRegex
  NotContain
  NotEqual
  NotMatchRegex
}

enum SegmentableMetric {
  URL
}

type SegmentableMetricMetadata {
  key: SegmentableMetric!
  name: String!
  predicates: [PredicateMetadata!]!
}

type Session {
  expiresAt: DateTime!
  token: String!
}

input SetBuildScheduleTestSuitesInput {
  buildScheduleId: ObjectID!
  testSuiteIds: [ObjectID!]!
}

type SetBuildScheduleTestSuitesPayload {
  buildScheduleTestSuites: [BuildScheduleTestSuite!]!
}

enum Severity {
  Fail
  Warning
}

input ShareProjectInput {
  expiresAt: DateTime!
  projectId: ObjectID!
  targetUrl: String
}

type ShareProjectPayload {
  authToken: AuthToken!
  sharelink: Sharelink!
}

type Sharelink {
  account: Account!
  createdAt: DateTime!
  id: ObjectID!
  rawID: String!
  sharelinkTemplate: SharelinkTemplate!
  targetUrl: String
}

type SharelinkTemplate {
  code: String!
  name: String
}

type Sitemap {
  enabled: Boolean!
  level: Int
  linksOut: Int
  parent: String
  status: SitemapStatus!
  type: SitemapType!
  url: String!
  urlDigest: String!
}

enum SitemapStatus {
  Malformed
  Valid
}

enum SitemapType {
  Custom
  Discovered
}

enum SlackAlertType {
  Fail
  Pass
  Warning
}

type SlackWebhook {
  alertTypes: [SlackAlertType!]!
  createdAt: DateTime!
  id: ObjectID!
  rawID: String!
  testSuite: TestSuite!
  url: String!
}

type SlackWebhookConnection {
  """
  A list of edges.
  """
  edges: [SlackWebhookEdge!]!
  """
  A list of nodes.
  """
  nodes: [SlackWebhook!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of SlackWebhooks in the connection.
  """
  totalCount: Int!
}

type SlackWebhookEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: SlackWebhook!
}

input SlackWebhookOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order SlackWebhooks by.
  """
  field: SlackWebhookOrderField!
}

enum SlackWebhookOrderField {
  createdAt
}

type SplunkConnection {
  createdAt: DateTime!
  id: ObjectID!
  isWorking: Boolean!
  proxyCode: SplunkProxyCode
  rawID: String!
  splunkProjectQueries(
    after: String
    before: String
    """
    Filtering options for SplunkProjectQueries returned from the connection.
    """
    filter: SplunkProjectQueryConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for SplunkProjectQueries returned from the connection.
    """
    orderBy: [SplunkProjectQueryOrder!]
  ): SplunkProjectQueryConnection!
  updatedAt: DateTime!
  url: String!
  username: String!
}

type SplunkConnectionConnection {
  """
  A list of edges.
  """
  edges: [SplunkConnectionEdge!]!
  """
  A list of nodes.
  """
  nodes: [SplunkConnection!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of SplunkConnections in the connection.
  """
  totalCount: Int!
}

input SplunkConnectionConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [SplunkConnectionConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [SplunkConnectionConnectionFilterInput!]
  """
  SplunkConnectionConnectionFilterInput.and will be removed. Use SplunkConnectionConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: SplunkConnectionConnectionFilterInput
  createdAt: ConnectionDateFilterInput
  updatedAt: ConnectionDateFilterInput
  url: ConnectionStringFilterInput
  username: ConnectionStringFilterInput
}

type SplunkConnectionEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: SplunkConnection!
}

input SplunkConnectionOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order SplunkConnections by.
  """
  field: SplunkConnectionOrderField!
}

enum SplunkConnectionOrderField {
  createdAt
  updatedAt
  url
  username
}

type SplunkProjectQuery {
  baseUrl: String
  createdAt: DateTime!
  dateRange: Int!
  enabled: Boolean!
  id: ObjectID!
  project: Project!
  query: String!
  rawID: String!
  splunkConnection: SplunkConnection
  updatedAt: DateTime!
  useLastCrawlDate: Boolean!
}

type SplunkProjectQueryConnection {
  """
  A list of edges.
  """
  edges: [SplunkProjectQueryEdge!]!
  """
  A list of nodes.
  """
  nodes: [SplunkProjectQuery!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of SplunkProjectQueries in the connection.
  """
  totalCount: Int!
}

input SplunkProjectQueryConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [SplunkProjectQueryConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [SplunkProjectQueryConnectionFilterInput!]
  """
  SplunkProjectQueryConnectionFilterInput.and will be removed. Use SplunkProjectQueryConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: SplunkProjectQueryConnectionFilterInput
  createdAt: ConnectionDateFilterInput
  dateRange: ConnectionIntFilterInput
  enabled: ConnectionBooleanFilterInput
  query: ConnectionStringFilterInput
  updatedAt: ConnectionDateFilterInput
  useLastCrawlDate: ConnectionBooleanFilterInput
}

type SplunkProjectQueryEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: SplunkProjectQuery!
}

input SplunkProjectQueryOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order SplunkProjectQueries by.
  """
  field: SplunkProjectQueryOrderField!
}

enum SplunkProjectQueryOrderField {
  createdAt
  dateRange
  enabled
  updatedAt
  useLastCrawlDate
}

enum SplunkProxyCode {
  Custom
}

type Subscription {
  crawlUpdated(input: CrawlUpdatedSubscriptionInput!): CrawlUpdatedPayload!
}

type Test {
  """
  The absolute number of pages in the report that will fail the test.
  """
  absoluteThreshold: Int!
  """
  Whether the test's threshold should be adjusted by the automatic threshold algorithm or not.
  """
  automaticThresholdEnabled: Boolean!
  createJiraTicketOnFailure: Boolean!
  createdAt: DateTime!
  id: ObjectID!
  jiraTicketCustomNote: String
  rawID: String!
  """
  Percentage of pages in the report (relative to all crawled pages) that will fail the test.
  """
  relativeThreshold: Int!
  reportTemplate: ReportTemplate!
  reportTemplateCode: String!
  severity: Severity!
  """
  Whether the test's suggested threshold should be displayed for user acceptance or not.
  """
  suggestedThresholdEnabled: Boolean!
  """
  Relational operator for threshold used to calculate test results.
  """
  thresholdPredicate: ThresholdPredicate!
  """
  Type of threshold used to calculate test results.
  """
  thresholdType: ThresholdType!
  updatedAt: DateTime!
}

type TestConnection {
  """
  A list of edges.
  """
  edges: [TestEdge!]!
  """
  A list of nodes.
  """
  nodes: [Test!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of Tests in the connection.
  """
  totalCount: Int!
}

input TestConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [TestConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [TestConnectionFilterInput!]
  absoluteThreshold: ConnectionIntFilterInput
  """
  TestConnectionFilterInput.and will be removed. Use TestConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: TestConnectionFilterInput
  automaticThresholdEnabled: ConnectionBooleanFilterInput
  createJiraTicketOnFailure: ConnectionBooleanFilterInput
  createdAt: ConnectionDateFilterInput
  relativeThreshold: ConnectionIntFilterInput
  severity: ConnectionStringFilterInput
  suggestedThresholdEnabled: ConnectionBooleanFilterInput
  updatedAt: ConnectionDateFilterInput
}

type TestEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: Test!
}

input TestOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order Tests by.
  """
  field: TestOrderField!
}

enum TestOrderField {
  absoluteThreshold
  createdAt
  relativeThreshold
  severity
  thresholdType
  updatedAt
}

type TestResult {
  absoluteThreshold: Int
  id: ObjectID!
  passed: Boolean
  rawID: String!
  relativeThreshold: Int
  report(type: ReportTypeCode! = Basic): Report
  reportPercentage: Float
  reportTemplate: ReportTemplate!
  reportTemplateCode: String!
  reportTotalRows: Int
  severity: Severity!
  status: TestResultStatus!
  test: Test
  thresholdPredicate: ThresholdPredicate
  thresholdType: ThresholdType
}

type TestResultConnection {
  """
  A list of edges.
  """
  edges: [TestResultEdge!]!
  """
  A list of nodes.
  """
  nodes: [TestResult!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of TestResults in the connection.
  """
  totalCount: Int!
}

input TestResultConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [TestResultConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [TestResultConnectionFilterInput!]
  """
  TestResultConnectionFilterInput.and will be removed. Use TestResultConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: TestResultConnectionFilterInput
  passed: ConnectionBooleanFilterInput
  reportTemplateCode: ConnectionStringFilterInput
  severity: ConnectionStringFilterInput
  status: ConnectionTestResultStatusFilterInput
}

type TestResultEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: TestResult!
}

input TestResultOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order TestResults by.
  """
  field: TestResultOrderField!
}

enum TestResultOrderField {
  passed
  reportTemplateCode
  severity
  status
}

enum TestResultStatus {
  Done
  Read
  Unresolved
  WorkingOnIt
}

type TestSuite implements BaseProject {
  account: Account!
  alertEmails: [String!]
  allPagesTotal: Int
  apiCallbackHeaders: [APICallbackHeader!]
  apiCallbackUrl: String
  autoFinalizeOnCrawlLimits: Boolean!
  """
  Flags if threshold on all tests is calculated automatically, based on previous test results.
  """
  automaticThreshold: Boolean!
  """
  Flags if automatic thresholds are calculated for all (true) or some (false) tests.
  """
  automaticThresholdEnabledForAll: Boolean!
  builds(
    after: String
    before: String
    """
    Filtering options for Builds returned from the connection.
    """
    filter: BuildConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for Builds returned from the connection.
    """
    orderBy: [BuildOrder!]
  ): BuildConnection!
  children(
    after: String
    before: String
    """
    Filtering options for TestSuites returned from the connection.
    """
    filter: TestSuiteConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for TestSuites returned from the connection.
    """
    orderBy: [TestSuiteOrder!]
  ): TestSuiteConnection
  clonedAt: DateTime
  compareToCrawl: CompareToCrawl
  coreUIUrl: String!
  crawlDisallowedUrls1stLevel: Boolean!
  crawlHyperlinksExternal: Boolean!
  crawlHyperlinksInternal: Boolean!
  crawlImagesExternal: Boolean!
  crawlImagesInternal: Boolean!
  crawlNofollowHyperlinks: Boolean!
  crawlNonHtml: Boolean!
  crawlNotIncluded1stLevel: Boolean!
  crawlOtherRelExternal: Boolean!
  crawlOtherRelInternal: Boolean!
  crawlRate: Float! @deprecated(reason: "Renamed to maximumCrawlRate.")
  crawlRedirectsExternal: Boolean!
  crawlRedirectsInternal: Boolean!
  crawlRelAmphtmlExternal: Boolean!
  crawlRelAmphtmlInternal: Boolean!
  crawlRelCanonicalsExternal: Boolean!
  crawlRelCanonicalsInternal: Boolean!
  crawlRelHreflangsExternal: Boolean!
  crawlRelHreflangsInternal: Boolean!
  crawlRelMobileExternal: Boolean!
  crawlRelMobileInternal: Boolean!
  crawlRelNextPrevExternal: Boolean!
  crawlRelNextPrevInternal: Boolean!
  crawlRobotsTxtNoindex: Boolean!
  crawlScriptsExternal: Boolean!
  crawlScriptsInternal: Boolean!
  crawlSitemapsExternal: Boolean!
  crawlSitemapsInternal: Boolean!
  crawlStylesheetsExternal: Boolean!
  crawlStylesheetsInternal: Boolean!
  crawlTestSite: Boolean!
  crawlTypes: [TestSuiteCrawlType!]!
  crawlingAt: DateTime
  crawlsTotalCount: Int!
  createdAt: DateTime!
  customDns: [CustomDnsSetting!]
  """
  Use regular expressions to extract custom information from pages when they are crawled.
  """
  customExtractions: [CustomExtractionSetting!]
  customHeaderUserAgent: String
    @deprecated(reason: "Renamed to userAgentString.")
  customHeaderUserAgentShort: String
    @deprecated(reason: "Renamed to userAgentToken.")
  customRequestHeaders: JSONObject
  discoverSitemapsInRobotsTxt: Boolean!
  duplicatePrecision: Float!
  emailAlerts(
    after: String
    before: String
    first: Int = 15
    last: Int
    """
    Ordering options for TestSuiteEmailAlerts returned from the connection.
    """
    orderBy: [TestSuiteEmailAlertOrder!]
  ): TestSuiteEmailAlertConnection
  emptyPageThreshold: Int
  excludeUrlPatterns: [String!]
  finishedAt: DateTime
  forceMonitorApp: Boolean!
  gaDateRange: Int!
  hasTestSitePassword: Boolean!
  highLogSummaryRequests: Int!
    @deprecated(reason: "Renamed to logSummaryRequestsHigh.")
  id: ObjectID!
  ignoreInvalidSSLCertificate: Boolean
  includeHttpAndHttps: Boolean!
  includeSubdomains: Boolean!
  includeUrlPatterns: [String!]
  isTestSuite: Boolean!
  """
  Same as crawlingAt, but includes dates of deleted crawls.
  """
  lastCrawlCrawlingAt: DateTime
  lastCrawlStatus: CrawlStatus
  legacyTasksTotalCount: Int!
  limitLevelsMax: Int!
  limitPagesMax: Int! @deprecated(reason: "Renamed to limitUrlsMax.")
  limitUrlsMax: Int!
  location: Location!
  logSummaryRequestsHigh: Int!
  logSummaryRequestsLow: Int!
  lowLogSummaryRequests: Int!
    @deprecated(reason: "Renamed to logSummaryRequestsLow.")
  maxBodyContentLength: Int
  maxContentSize: Int! @deprecated(reason: "Renamed to maxBodyContentLength.")
  maxDescriptionLength: Int
  maxExternalLinks: Int
  maxHtmlSize: Int
  maxLinks: Int
  maxLinksProcessed: Int!
  maxLoadTime: Float
  maxRedirections: Int!
  maxTitleWidth: Int!
  maxUrlLength: Int
  maximumCrawlRate: Float!
  maximumCrawlRateAdvanced: [AdvancedCrawlRate!]
  minContentRatio: Float
  minDescriptionLength: Int!
  minTitleLength: Int!
  minVisits: Int!
  mobileHomepageUrl: String
  mobileUrlPattern: String
  name: String!
  parent: TestSuite
  parentLinkedAt: DateTime
  primaryDomain: String!
  rawID: String!
  rendererBlockAds: Boolean!
  rendererBlockAnalytics: Boolean!
  rendererBlockCustom: [String!]
  rendererJsString: String
  rendererJsUrls: [String!]
  robotsOverwrite: String
  schedulesTotalCount: Int!
  secondaryDomains: [String!]
  segmentsTotalCount: Int!
  sitePrimary: String! @deprecated(reason: "Renamed to primaryDomain.")
  siteTest: String @deprecated(reason: "Renamed to testSiteDomain.")
  siteTestUser: String @deprecated(reason: "Renamed to testSiteUsername.")
  sitemapUrls: [String!]
  slackWebhooks(
    after: String
    before: String
    first: Int = 15
    last: Int
    """
    Ordering options for SlackWebhooks returned from the connection.
    """
    orderBy: [SlackWebhookOrder!]
  ): SlackWebhookConnection
  startUrls: [String!]
  testSiteDomain: String
  testSiteUsername: String
  testSuiteJiraIntegration: TestSuiteJiraIntegration
  tests(
    after: String
    before: String
    """
    Filtering options for Tests returned from the connection.
    """
    filter: TestConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for Tests returned from the connection.
    """
    orderBy: [TestOrder!]
  ): TestConnection!
  testsTotalCount: Int!
  thinPageThreshold: Int
  totalSteps: Int
  updatedAt: DateTime!
  urlFileUploads(
    after: String
    before: String
    """
    Filtering options for UrlFileUploads returned from the connection.
    """
    filter: UrlFileUploadConnectionFilterInput
    first: Int = 15
    last: Int
  ): UrlFileUploadConnection!
  urlRewriteQueryParameters: [String!]
  urlRewriteRules: [UrlRewriteRule!]
  urlRewriteStripFragment: Boolean!
  urlSampling: [UrlSampling!]
  urlsExcluded: [String!] @deprecated(reason: "Renamed to excludeUrlPatterns.")
  urlsIncluded: [String!] @deprecated(reason: "Renamed to includeUrlPatterns.")
  useMobileSettings: Boolean!
  useRenderer: Boolean!
  useRobotsOverwrite: Boolean!
  useStealthMode: Boolean!
  useUrlRewriteRules: Boolean!
  userAgentString: String
  userAgentStringMobile: String
  userAgentToken: String
  userAgentTokenMobile: String
}

type TestSuiteConnection {
  """
  A list of edges.
  """
  edges: [TestSuiteEdge!]!
  """
  A list of nodes.
  """
  nodes: [TestSuite!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of TestSuites in the connection.
  """
  totalCount: Int!
}

input TestSuiteConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [TestSuiteConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [TestSuiteConnectionFilterInput!]
  allPagesTotal: ConnectionIntFilterInput
  """
  TestSuiteConnectionFilterInput.and will be removed. Use TestSuiteConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: TestSuiteConnectionFilterInput
  clonedAt: ConnectionDateFilterInput
  crawlRate: ConnectionFloatFilterInput
  crawlingAt: ConnectionDateFilterInput
  crawlsTotalCount: ConnectionIntFilterInput
  createdAt: ConnectionDateFilterInput
  duplicatePrecision: ConnectionFloatFilterInput
  emptyPageThreshold: ConnectionIntFilterInput
  finishedAt: ConnectionDateFilterInput
  forceMonitorApp: ConnectionBooleanFilterInput
  highLogSummaryRequests: ConnectionIntFilterInput
  isTestSuite: ConnectionBooleanFilterInput
  lastCrawlCrawlingAt: ConnectionDateFilterInput
  lastCrawlStatus: ConnectionCrawlStatusFilterInput
  legacyTasksTotalCount: ConnectionIntFilterInput
  limitPagesMax: ConnectionIntFilterInput
  lowLogSummaryRequests: ConnectionIntFilterInput
  maxContentSize: ConnectionIntFilterInput
  maxDescriptionLength: ConnectionIntFilterInput
  maxExternalLinks: ConnectionIntFilterInput
  maxHtmlSize: ConnectionIntFilterInput
  maxLinks: ConnectionIntFilterInput
  maxLoadTime: ConnectionFloatFilterInput
  maxRedirections: ConnectionIntFilterInput
  maxTitleWidth: ConnectionIntFilterInput
  maxUrlLength: ConnectionIntFilterInput
  minContentRatio: ConnectionFloatFilterInput
  minDescriptionLength: ConnectionIntFilterInput
  minTitleLength: ConnectionIntFilterInput
  name: ConnectionStringFilterInput
  parentLinkedAt: ConnectionDateFilterInput
  rendererBlockAds: ConnectionBooleanFilterInput
  rendererBlockAnalytics: ConnectionBooleanFilterInput
  rendererJsString: ConnectionStringFilterInput
  robotsOverwrite: ConnectionStringFilterInput
  schedulesTotalCount: ConnectionIntFilterInput
  segmentsTotalCount: ConnectionIntFilterInput
  sitePrimary: ConnectionStringFilterInput
  siteTest: ConnectionStringFilterInput
  testsTotalCount: ConnectionIntFilterInput
  thinPageThreshold: ConnectionIntFilterInput
  totalSteps: ConnectionIntFilterInput
  updatedAt: ConnectionDateFilterInput
  useRenderer: ConnectionBooleanFilterInput
  useRobotsOverwrite: ConnectionBooleanFilterInput
}

enum TestSuiteCrawlType {
  Backlinks
  GoogleAnalytics
  GoogleSearchConsole
  List
  LogSummary
  Sitemap
  Web
}

type TestSuiteEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: TestSuite!
}

type TestSuiteEmailAlert {
  alertTypes: [EmailAlertType!]!
  createdAt: DateTime!
  email: String!
  id: ObjectID!
  rawID: String!
  testSuite: TestSuite!
}

type TestSuiteEmailAlertConnection {
  """
  A list of edges.
  """
  edges: [TestSuiteEmailAlertEdge!]!
  """
  A list of nodes.
  """
  nodes: [TestSuiteEmailAlert!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of TestSuiteEmailAlerts in the connection.
  """
  totalCount: Int!
}

type TestSuiteEmailAlertEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: TestSuiteEmailAlert!
}

input TestSuiteEmailAlertOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order TestSuiteEmailAlerts by.
  """
  field: TestSuiteEmailAlertOrderField!
}

enum TestSuiteEmailAlertOrderField {
  createdAt
}

type TestSuiteJiraIntegration {
  id: ObjectID!
  jiraIntegration: JiraIntegration!
  rawID: String!
  testSuite: TestSuite!
}

type TestSuiteJiraIntegrationConnection {
  """
  A list of edges.
  """
  edges: [TestSuiteJiraIntegrationEdge!]!
  """
  A list of nodes.
  """
  nodes: [TestSuiteJiraIntegration!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of TestSuiteJiraIntegrations in the connection.
  """
  totalCount: Int!
}

type TestSuiteJiraIntegrationEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: TestSuiteJiraIntegration!
}

enum TestSuiteLocationCode {
  Custom
  Default
}

input TestSuiteOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order TestSuites by.
  """
  field: TestSuiteOrderField!
}

enum TestSuiteOrderField {
  allPagesTotal
  clonedAt
  crawlRate
  crawlingAt
  crawlsTotalCount
  createdAt
  duplicatePrecision
  emptyPageThreshold
  finishedAt
  highLogSummaryRequests
  id
  isTestSuite
  lastCrawlCrawlingAt
  lastCrawlStatus
  legacyTasksTotalCount
  limitPagesMax
  lowLogSummaryRequests
  maxContentSize
  maxDescriptionLength
  maxExternalLinks
  maxHtmlSize
  maxLinks
  maxLoadTime
  maxRedirections
  maxTitleWidth
  maxUrlLength
  minContentRatio
  minDescriptionLength
  minTitleLength
  name
  parentLinkedAt
  rendererBlockAds
  rendererBlockAnalytics
  rendererJsString
  robotsOverwrite
  schedulesTotalCount
  segmentsTotalCount
  sitePrimary
  siteTest
  testsTotalCount
  thinPageThreshold
  totalSteps
  updatedAt
  useRenderer
  useRobotsOverwrite
}

enum ThresholdPredicate {
  GreaterThanOrEqual
  LessThan
}

enum ThresholdType {
  Absolute
  Relative
}

type TrendReport {
  crawlId: Int!
  createdAt: DateTime!
  totalRows: Int
}

input UnarchiveCrawlInput {
  crawlId: ObjectID!
}

input UnlinkChildTestSuiteFromParentTestSuiteInput {
  childTestSuiteId: ObjectID!
}

type UnlinkChildTestSuiteFromParentTestSuitePayload {
  childTestSuite: TestSuite!
  parentTestSuite: TestSuite!
}

input UnlinkCustomMetricContainerFromProjectInput {
  customMetricContainerId: ObjectID!
  projectId: ObjectID!
}

type UnlinkCustomMetricContainerFromProjectPayload {
  customMetricContainer: CustomMetricContainer!
  project: Project!
}

input UnlinkJiraIntegrationFromTestSuiteInput {
  testSuiteJiraIntegrationId: ObjectID!
}

type UnlinkJiraIntegrationFromTestSuitePayload {
  testSuiteJiraIntegration: TestSuiteJiraIntegration!
}

input UnlinkTestSuiteFromBuildScheduleInput {
  buildScheduleTestSuiteId: ObjectID!
}

type UnlinkTestSuiteFromBuildSchedulePayload {
  buildScheduleTestSuite: BuildScheduleTestSuite!
}

input UpdateAccountInput {
  accountId: ObjectID!
  apiCallbackHeaders: [APICallbackHeaderInput!]
  apiCallbackUrl: String
}

type UpdateAccountPayload {
  account: Account!
}

input UpdateAccountUserInput {
  accountId: ObjectID!
  roleCode: RoleCode!
  userId: ObjectID!
}

type UpdateAccountUserPayload {
  account: Account!
}

input UpdateAdobeAnalyticsProjectReportSuiteInput {
  adobeAnalyticsProjectReportSuiteId: ObjectID!
  adobeConnectionId: ObjectID
  maxRows: Int
  minimumVisits: Int
  numberOfDays: Int
  perPage: Int
  reportSuiteId: String
  suiteName: String
}

type UpdateAdobeAnalyticsProjectReportSuitePayload {
  adobeAnalyticsProjectReportSuite: AdobeAnalyticsProjectReportSuite!
}

input UpdateAdobeConnectionInput {
  adobeConnectionId: ObjectID!
  apiUsername: String
  secret: String
}

type UpdateAdobeConnectionPayload {
  adobeConnection: AdobeConnection!
}

input UpdateBuildScheduleInput {
  buildScheduleId: ObjectID!
  name: String
  repetitionRate: BuildScheduleRepetitionRate
  startAt: DateTime
}

type UpdateBuildSchedulePayload {
  buildSchedule: BuildSchedule!
}

input UpdateCurrentUserInput {
  firstName: String
  jobTitle: String
  lastName: String
}

type UpdateCurrentUserPayload {
  user: User!
}

input UpdateCustomChartInput {
  customChartId: ObjectID!
  items: [String!]
  metadata: JSONObject
  metric: String
}

type UpdateCustomChartPayload {
  customChart: CustomChart!
}

input UpdateCustomDashboardInput {
  customDashboardId: ObjectID!
  name: String!
}

type UpdateCustomDashboardPayload {
  customDashboard: CustomDashboard!
}

input UpdateCustomTableInput {
  columns: [String!]
  customTableId: ObjectID!
  filter: JSONObject
  orderBy: [JSONObject!]
}

type UpdateCustomTablePayload {
  customTable: CustomTable!
}

input UpdateGoogleAnalyticsProjectViewInput {
  googleConnectionId: ObjectID
  inheritFromSchedulePeriodOverride: Boolean
  lastNDays: Int
  projectId: ObjectID!
  sessionNumberMin: Int
  viewId: String
}

type UpdateGoogleAnalyticsProjectViewPayload {
  googleAnalyticsProjectView: GoogleAnalyticsProjectView!
}

input UpdateGoogleSearchConsoleConfigurationInput {
  country: String
  excludeQueries: [String!]
  includeQueries: [String!]
  inheritFromSchedulePeriodOverride: Boolean
  lastNDays: Int
  minClicks: Int
  projectId: ObjectID!
  searchType: GoogleSearchConsoleSearchType
  useSearchConsolePropertyDomainsAsStartUrls: Boolean
}

type UpdateGoogleSearchConsoleConfigurationPayload {
  googleSearchConsoleConfiguration: GoogleSearchConsoleConfiguration!
}

input UpdateGoogleSearchConsolePropertyInput {
  googleConnectionId: ObjectID
  googleSearchConsolePropertyId: ObjectID!
  permissionLevel: String
  siteUrl: String
}

type UpdateGoogleSearchConsolePropertyPayload {
  googleSearchConsoleProperty: GoogleSearchConsoleProperty!
}

input UpdateJiraAuthenticationInput {
  jiraAuthenticationId: ObjectID!
  name: String!
}

type UpdateJiraAuthenticationPayload {
  jiraAuthentication: JiraAuthentication!
}

input UpdateJiraIntegrationInput {
  jiraIntegrationId: ObjectID!
  jiraIssueTypeId: String
  jiraProjectId: String
  name: String
}

type UpdateJiraIntegrationPayload {
  jiraIntegration: JiraIntegration!
}

input UpdateLegacyTaskInput {
  assignedTo: [String!]
  deadlineAt: DateTime
  description: String
  fixedAt: DateTime
  legacyTaskId: ObjectID!
  notifyAssignees: Boolean! = false
  priority: LegacyTaskPriority
  title: String
}

type UpdateLegacyTaskPayload {
  legacyTask: LegacyTask!
}

input UpdateLogzioConnectionInput {
  label: String
  logzioConnectionId: ObjectID!
  token: String
}

type UpdateLogzioConnectionPayload {
  logzioConnection: LogzioConnection!
}

input UpdateLogzioProjectQueryInput {
  baseUrl: String
  dateRange: Int
  desktopUaRegexp: String
  enabled: Boolean
  logzioConnectionId: ObjectID
  logzioProjectQueryId: ObjectID!
  maxRows: Int
  mobileUaRegexp: String
  pathFieldName: String
  queryFilter: JSONObject
  useLastCrawlDate: Boolean
  userAgentFieldName: String
}

type UpdateLogzioProjectQueryPayload {
  logzioProjectQuery: LogzioProjectQuery!
}

input UpdateMajesticConfigurationInput {
  enabled: Boolean
  maxRows: Int
  projectId: ObjectID!
  useHistoricData: Boolean
  useRootDomain: Boolean
}

type UpdateMajesticConfigurationPayload {
  majesticConfiguration: MajesticConfiguration!
}

input UpdateMonitorNotificationsStatusInput {
  accountId: ObjectID!
  """
  Filtering options for TestResults.
  """
  filter: TestResultConnectionFilterInput
  projectIds: [ObjectID!]
  testResultIds: [ObjectID!]
  toStatus: TestResultStatus!
}

type UpdateMonitorNotificationsStatusPayload {
  testResults: [TestResult!]!
  updatedTestResultsCount: Int!
}

input UpdatePasswordInput {
  newPassword: String!
  """
  Skips leaked password validation using https://haveibeenpwned.com/ service.
  """
  skipLeakedPasswordValidation: Boolean! = false
}

type UpdatePasswordPayload {
  passwordUpdated: Boolean!
  passwordValidationErrors: [String!]
}

input UpdateProjectInput {
  alertEmails: [String!]
  alertSettingCode: AlertSettingCode
  apiCallbackHeaders: [APICallbackHeaderInput!]
  apiCallbackUrl: String
  autoFinalizeOnCrawlLimits: Boolean
  compareToCrawl: CompareToCrawl
  crawlDisallowedUrls1stLevel: Boolean
  crawlHyperlinksExternal: Boolean
  crawlHyperlinksInternal: Boolean
  crawlImagesExternal: Boolean
  crawlImagesInternal: Boolean
  crawlNofollowHyperlinks: Boolean
  crawlNonHtml: Boolean
  crawlNotIncluded1stLevel: Boolean
  crawlRedirectsExternal: Boolean
  crawlRedirectsInternal: Boolean
  crawlRelAmphtmlExternal: Boolean
  crawlRelAmphtmlInternal: Boolean
  crawlRelCanonicalsExternal: Boolean
  crawlRelCanonicalsInternal: Boolean
  crawlRelHreflangsExternal: Boolean
  crawlRelHreflangsInternal: Boolean
  crawlRelMobileExternal: Boolean
  crawlRelMobileInternal: Boolean
  crawlRelNextPrevExternal: Boolean
  crawlRelNextPrevInternal: Boolean
  crawlRobotsTxtNoindex: Boolean
  crawlScriptsExternal: Boolean
  crawlScriptsInternal: Boolean
  crawlStylesheetsExternal: Boolean
  crawlStylesheetsInternal: Boolean
  crawlTestSite: Boolean
  crawlTypes: [CrawlType!]
  customDns: [CustomDnsSettingInput!]
  customExtractions: [CustomExtractionSettingInput!]
  customRequestHeaders: [CustomRequestHeaderInput!]
  discoverSitemapsInRobotsTxt: Boolean
  duplicatePrecision: Float
  emptyPageThreshold: Int
  excludeUrlPatterns: [String!]
  ignoreInvalidSSLCertificate: Boolean
  includeHttpAndHttps: Boolean
  includeSubdomains: Boolean
  includeUrlPatterns: [String!]
  limitLevelsMax: Int
  limitUrlsMax: Int
  locationCode: LocationCode
  logSummaryRequestsHigh: Int
  logSummaryRequestsLow: Int
  maxBodyContentLength: Int
  maxDescriptionLength: Int
  maxFollowedExternalLinks: Int
  maxHtmlSize: Int
  maxLinks: Int
  maxLoadTime: Float
  maxRedirections: Int
  maxTitleWidth: Int
  maxUrlLength: Int
  maximumCrawlRate: Float
  maximumCrawlRateAdvanced: [AdvancedCrawlRateInput!]
  minDescriptionLength: Int
  minTitleLength: Int
  mobileHomepageUrl: String
  mobileUrlPattern: String
  mobileUserAgentCode: String
  name: String
  primaryDomain: String
  projectId: ObjectID!
  rendererBlockAds: Boolean
  rendererBlockAnalytics: Boolean
  rendererBlockCustom: [String!]
  rendererJsString: String
  rendererJsUrls: [String!]
  robotsOverwrite: String
  secondaryDomains: [String!]
  startUrls: [String!]
  testSiteDomain: String
  testSitePassword: String
  testSiteUsername: String
  thinPageThreshold: Int
  urlRewriteQueryParameters: [String!]
  urlRewriteRules: [UrlRewriteRuleInput!]
  urlRewriteStripFragment: Boolean
  urlSampling: [UrlSamplingInput!]
  useMobileSettings: Boolean
  useRenderer: Boolean
  useRobotsOverwrite: Boolean
  useStealthMode: Boolean
  useUrlRewriteRules: Boolean
  userAgentCode: String
  userAgentString: String
  userAgentStringMobile: String
  userAgentToken: String
  userAgentTokenMobile: String
}

type UpdateProjectPayload {
  project: Project!
}

input UpdateScheduleInput {
  nextRunTime: DateTime
  scheduleFrequency: ScheduleFrequencyCode
  scheduleId: ObjectID!
}

type UpdateSchedulePayload {
  schedule: Schedule!
}

input UpdateSegmentInput {
  name: String
  segmentId: ObjectID!
}

type UpdateSegmentPayload {
  segment: Segment!
}

input UpdateSlackWebhookInput {
  alertTypes: [SlackAlertType!]!
  slackWebhookId: ObjectID!
}

input UpdateSplunkConnectionInput {
  customProxy: String
  password: String
  proxyCode: SplunkProxyCode
  splunkConnectionId: ObjectID!
  url: String
  username: String
}

type UpdateSplunkConnectionPayload {
  splunkConnection: SplunkConnection!
}

input UpdateSplunkProjectQueryInput {
  baseUrl: String
  dateRange: Int
  enabled: Boolean
  query: String
  splunkConnectionId: ObjectID
  splunkProjectQueryId: ObjectID!
  useLastCrawlDate: Boolean
}

type UpdateSplunkProjectQueryPayload {
  splunkProjectQuery: SplunkProjectQuery!
}

input UpdateTestInput {
  absoluteThreshold: Int
  automaticThresholdEnabled: Boolean
  createJiraTicketOnFailure: Boolean! = false
  jiraTicketCustomNote: String
  relativeThreshold: Int
  severity: Severity
  suggestedThresholdEnabled: Boolean
  testId: ObjectID!
  thresholdPredicate: ThresholdPredicate
  thresholdType: ThresholdType
}

type UpdateTestPayload {
  test: Test!
}

input UpdateTestResultInput {
  status: TestResultStatus!
  testResultId: ObjectID!
}

type UpdateTestResultPayload {
  testResult: TestResult!
}

input UpdateTestSuiteEmailAlertInput {
  alertTypes: [EmailAlertType!]
  email: String
  testSuiteEmailAlertId: ObjectID!
}

input UpdateTestSuiteInput {
  alertEmails: [String!]
  automaticThreshold: Boolean
  automaticThresholdEnabledForAll: Boolean
  crawlRate: Float
  crawlTypes: [TestSuiteCrawlType!]
  customDns: [CustomDnsSettingInput!]
  customExtractions: [CustomExtractionSettingInput!]
  customHeaderUserAgent: String
  customHeaderUserAgentShort: String
  duplicatePrecision: Int
  emptyPageThreshold: Int
  highLogSummaryRequests: Int
  limitPagesMax: Int
  location: TestSuiteLocationCode
  lowLogSummaryRequests: Int
  maxContentSize: Int
  maxDescriptionLength: Int
  maxExternalLinks: Int
  maxHtmlSize: Int
  maxLinks: Int
  maxLoadTime: Float
  maxRedirections: Int
  maxTitleWidth: Int
  maxUrlLength: Int
  minContentRatio: Float
  minDescriptionLength: Int
  minTitleLength: Int
  name: String
  rendererBlockAds: Boolean
  rendererBlockAnalytics: Boolean
  rendererBlockCustom: [String!]
  rendererJsString: String
  rendererJsUrls: [String!]
  robotsOverwrite: String
  sitePrimary: String
  siteTest: String
  siteTestPass: String
  siteTestUser: String
  startUrls: [String!]
  testSuiteId: ObjectID!
  thinPageThreshold: Int
  urlsExcluded: [String!]
  urlsIncluded: [String!]
  useRenderer: Boolean
  useRobotsOverwrite: Boolean
}

type UpdateTestSuitePayload {
  testSuite: TestSuite!
}

type UpdateTestsPayload {
  tests: [Test!]!
}

input UpdateUrlFileUploadInput {
  customType: Boolean
  customUploadTemplate: JSONObject
  enabled: Boolean
  projectUploadType: ProjectUploadType
  uploadBaseDomain: String
  urlFileUploadId: ObjectID!
}

type UpdateUrlFileUploadPayload {
  urlFileUpload: UrlFileUpload!
}

"""
The `Upload` scalar type represents a file upload.
"""
scalar Upload

type UrlFileUpload {
  crawlType: CrawlTypeMetadata!
  createdAt: DateTime!
  customUploadTemplate: JSONObject
  enabled: Boolean!
  fileName: String!
  fileUrl: String!
  id: ObjectID!
  isCustomizable: Boolean!
  processingFeedback: String
  rawID: String!
  sample: String!
  status: UrlFileUploadStatus!
  totalRows: Int
  updatedAt: DateTime!
  uploadBaseDomain: String
  urlFileUploadType: UrlFileUploadType
}

type UrlFileUploadConnection {
  """
  A list of edges.
  """
  edges: [UrlFileUploadEdge!]!
  """
  A list of nodes.
  """
  nodes: [UrlFileUpload!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of UrlFileUploads in the connection.
  """
  totalCount: Int!
}

input UrlFileUploadConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [UrlFileUploadConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [UrlFileUploadConnectionFilterInput!]
  """
  UrlFileUploadConnectionFilterInput.and will be removed. Use UrlFileUploadConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: UrlFileUploadConnectionFilterInput
  crawlTypeId: ConnectionObjectIDFilterInput
  fileName: ConnectionStringFilterInput
}

type UrlFileUploadEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: UrlFileUpload!
}

enum UrlFileUploadStatus {
  Draft
  Errored
  Processed
  Processing
}

type UrlFileUploadType {
  code: ProjectUploadType!
  crawlType: CrawlTypeMetadata!
  id: ObjectID!
  isCustom: Boolean
  name: String!
  rawID: String!
  uploadTemplate: JSONObject
}

enum UrlRewriteCaseOption {
  RewriteToLowercase
  RewriteToUppercase
}

type UrlRewriteRule {
  caseOption: UrlRewriteCaseOption
  matchFrom: String!
  rewriteTo: String!
}

input UrlRewriteRuleInput {
  caseOption: UrlRewriteCaseOption
  matchFrom: String!
  rewriteTo: String!
}

type UrlSampling {
  name: String!
  regexPattern: String!
  samplePercentage: Float!
}

input UrlSamplingInput {
  name: String!
  regexPattern: String!
  samplePercentage: Float!
}

type User {
  accounts(
    after: String
    before: String
    """
    Filtering options for Accounts returned from the connection.
    """
    filter: AccountConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for Accounts returned from the connection.
    """
    orderBy: [AccountOrder!]
  ): AccountConnection!
  accountsUsers(
    after: String
    before: String
    first: Int = 15
    last: Int
  ): AccountUserConnection!
  adobeConnections(
    after: String
    before: String
    """
    Filtering options for AdobeConnections returned from the connection.
    """
    filter: AdobeConnectionConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for AdobeConnections returned from the connection.
    """
    orderBy: [AdobeConnectionOrder!]
  ): AdobeConnectionConnection!
  createdAt: DateTime!
  email: String!
  firstName: String
  googleConnections(
    after: String
    before: String
    first: Int = 15
    last: Int
  ): GoogleConnectionConnection!
  id: ObjectID!
  jobTitle: String
  lastName: String
  logzioConnections(
    after: String
    before: String
    """
    Filtering options for LogzioConnections returned from the connection.
    """
    filter: LogzioConnectionConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for LogzioConnections returned from the connection.
    """
    orderBy: [LogzioConnectionOrder!]
  ): LogzioConnectionConnection!
  overallLimitLevelsMax: Int!
  overallLimitPagesMax: Int!
  permissions: [Permission!]!
  rawID: String!
  splunkConnections(
    after: String
    before: String
    """
    Filtering options for SplunkConnections returned from the connection.
    """
    filter: SplunkConnectionConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for SplunkConnections returned from the connection.
    """
    orderBy: [SplunkConnectionOrder!]
  ): SplunkConnectionConnection!
  ssoClientId: String
  termsAgreed: Boolean!
  updatedAt: DateTime!
  userKeys(
    after: String
    before: String
    filter: UserKeyConnectionFilterInput
    first: Int = 15
    last: Int
    """
    Ordering options for UserKeys returned from the connection.
    """
    orderBy: [UserKeyOrder!]
  ): UserKeyConnection!
  username: String!
}

type UserAgent {
  code: String!
  name: String!
  userAgentStrings: [UserAgentStrings!]!
}

type UserAgentStrings {
  full: String!
  short: String!
}

type UserInfo {
  firstName: String
  lastName: String
  username: String!
}

type UserKey {
  createdAt: DateTime!
  id: ObjectID!
  name: String
  """
  Plain text secret, only visible right after creation of UserKey via createUserKey.
  """
  secret: String
  updatedAt: DateTime!
  user: User!
}

type UserKeyConnection {
  """
  A list of edges.
  """
  edges: [UserKeyEdge!]!
  """
  A list of nodes.
  """
  nodes: [UserKey!]!
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of UserKeys in the connection.
  """
  totalCount: Int!
}

input UserKeyConnectionFilterInput {
  """
  Groups each filter object using AND
  """
  _and: [UserKeyConnectionFilterInput!]
  """
  Groups each filter object using OR
  """
  _or: [UserKeyConnectionFilterInput!]
  """
  UserKeyConnectionFilterInput.and will be removed. Use UserKeyConnectionFilterInput._and instead. Removal on 2020-10-15 UTC.
  """
  and: UserKeyConnectionFilterInput
  createdAt: ConnectionDateFilterInput
}

type UserKeyEdge {
  """
  A cursor to use in pagination.
  """
  cursor: String!
  """
  The item at the end of the edge.
  """
  node: UserKey!
}

input UserKeyOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection!
  """
  The field to order UserKeys by.
  """
  field: UserKeyOrderField!
}

enum UserKeyOrderField {
  createdAt
}
