WUX API GraqhQL Reference

This is Ryte's WUX API GraphQL reference. It includes the complete set of GraphQL types, queries, mutations, and their parameters.

API Endpoints
# Testing:
https://wux-api.ryte-test.com/graphql
# Production:
https://wux-api.ryte.com/graphql
Headers
Authorization: Bearer <YOUR_TOKEN_HERE>

Credentials

This API is currently not available for direct use by Ryte customers

Required Validation

An accessible projectHash is required in request's body, e.g {variables: {projectHash: PROJECT_HASH}}

Queries

allIdFieldsByIssueType

Response

Returns [String!]!

Arguments
Name Description
issueType - IssueType The Issue Type to get id fields

Example

Query
query AllIdFieldsByIssueType($issueType: IssueType) {
  allIdFieldsByIssueType(issueType: $issueType)
}
Variables
{"issueType": "broken_images"}
Response
{
  "data": {
    "allIdFieldsByIssueType": ["abc123"]
  }
}

allIgnoreRulesByProject

Description

Retrieve all the rules to ignore issue for a project

Response

Returns [IgnoreRule!]!

Arguments
Name Description
projectHash - String! The identifier of the Ryte project

Example

Query
query AllIgnoreRulesByProject($projectHash: String!) {
  allIgnoreRulesByProject(projectHash: $projectHash) {
    ruleId
    filterJson
    createdAt
    createdBy
    createdByName
    updatedAt
    updatedBy
    updatedByName
  }
}
Variables
{"projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040"}
Response
{
  "data": {
    "allIgnoreRulesByProject": [
      {
        "ruleId": "6b2ba948-39a5-48d4-b8a7-2f07b75a760b",
        "filterJson": {
          "field": "status",
          "operator": "equal",
          "value": "unresolved"
        },
        "createdAt": 1702928220,
        "createdBy": "abcdefghijklmnopqrstuz0123456789",
        "createdByName": "Golden Silver",
        "updatedAt": 1702928220,
        "updatedBy": "abcdefghijklmnopqrstuz0123456789",
        "updatedByName": "Golden Silver 2"
      }
    ]
  }
}

gscConnectionInfo

Description

Retrieve Google Search Console (GSC) connection Information for a project

Response

Returns a GscConnectionInfo!

Arguments
Name Description
projectHash - String! The identifier of the Ryte project

Example

Query
query GscConnectionInfo($projectHash: String!) {
  gscConnectionInfo(projectHash: $projectHash) {
    projectHash
    connectionStatus
  }
}
Variables
{"projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040"}
Response
{
  "data": {
    "gscConnectionInfo": {
      "projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040",
      "connectionStatus": "CONNECTED"
    }
  }
}

gscImportingInfo

Description

Retrieve Google Search Console (GSC) import information for a project

Response

Returns a GscImportingInfo!

Arguments
Name Description
projectHash - String! The identifier of the Ryte project

Example

Query
query GscImportingInfo($projectHash: String!) {
  gscImportingInfo(projectHash: $projectHash) {
    virgin {
      status
      progressBarData {
        ...GscVirginProgressBarFragment
      }
    }
    extraImport {
      status
      completedPercent
      dateImportFinish
    }
    daily {
      status
      errorCode
      errorMessage
    }
  }
}
Variables
{"projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040"}
Response
{
  "data": {
    "gscImportingInfo": {
      "virgin": GscImportingInfoVirgin,
      "extraImport": GscImportingInfoExtraImport,
      "daily": GscImportingInfoDaily
    }
  }
}

gscSetting

Description

Retrieve Google Search Console (GSC) related settings for a project

Response

Returns a GscSetting

Arguments
Name Description
projectHash - String! The identifier of the Ryte project

Example

Query
query GscSetting($projectHash: String!) {
  gscSetting(projectHash: $projectHash) {
    projectHash
    siteUrl
    globalFilter {
      country {
        ...GlobalFilterFilterByFragment
      }
      device {
        ...GlobalFilterFilterByFragment
      }
    }
  }
}
Variables
{"projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040"}
Response
{
  "data": {
    "gscSetting": {
      "projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040",
      "siteUrl": "sc-domain:ryte.com",
      "globalFilter": GlobalFilterItem
    }
  }
}

issueByTypeDelta

Response

Returns [IssueByTypeDelta!]!

Arguments
Name Description
projectHash - String! The identifier of the Ryte project
filter - IssueLogicalFilter Logical filter to filter issues
currentTimestamp - AWSTimestamp! The current timestamp for which to query data
previousTimestamp - AWSTimestamp! The previous timestamp for which to query data

Example

Query
query IssueByTypeDelta(
  $projectHash: String!,
  $filter: IssueLogicalFilter,
  $currentTimestamp: AWSTimestamp!,
  $previousTimestamp: AWSTimestamp!
) {
  issueByTypeDelta(
    projectHash: $projectHash,
    filter: $filter,
    currentTimestamp: $currentTimestamp,
    previousTimestamp: $previousTimestamp
  ) {
    issueType
    totalImpact
    count
  }
}
Variables
{
  "projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040",
  "filter": IssueLogicalFilter,
  "currentTimestamp": 1702928220,
  "previousTimestamp": 1702928220
}
Response
{
  "data": {
    "issueByTypeDelta": [
      {"issueType": "broken_images", "totalImpact": 1.78, "count": 671}
    ]
  }
}

issueGroups

Description

Retrieve grouped Issues for a project

Response

Returns [IssueGroup!]!

Arguments
Name Description
projectHash - String! The identifier of the Ryte project
groupBy - IssueGroupBy! The attribute by which to group the Issues
filter - IssueLogicalFilter Logical filter to filter issues
timeTravelTo - AWSTimestamp The timestamp for which to query historical data, if not provided, the latest data is used

Example

Query
query IssueGroups(
  $projectHash: String!,
  $groupBy: IssueGroupBy!,
  $filter: IssueLogicalFilter,
  $timeTravelTo: AWSTimestamp
) {
  issueGroups(
    projectHash: $projectHash,
    groupBy: $groupBy,
    filter: $filter,
    timeTravelTo: $timeTravelTo
  ) {
    issueType
    totalImpact
    count
    issuePriority
  }
}
Variables
{
  "projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040",
  "groupBy": "issueType",
  "filter": IssueLogicalFilter,
  "timeTravelTo": 1702928220
}
Response
{
  "data": {
    "issueGroups": [
      {
        "issueType": "broken_images",
        "totalImpact": 1.78,
        "count": 671,
        "issuePriority": 4
      }
    ]
  }
}

issues

Description

Retrieve individual Issues for a project (Version 2)

Response

Returns an Issues!

Arguments
Name Description
projectHash - String! The identifier of the Ryte project
filter - IssueLogicalFilter Logical filter to filter issues
timeTravelTo - AWSTimestamp The timestamp for which to query historical data, if not provided, the latest data is used
limit - Int The total number of Issues to return, if not provided the default limit is 30
pageSize - Int The number of Issues per page to return, if not provided the default page size is 10, max value is 1000
nextCursor - String The next cursor to retrieve the next page of Issues, if provided then filter, timeTravelTo and limit are ignored

Example

Query
query Issues(
  $projectHash: String!,
  $filter: IssueLogicalFilter,
  $timeTravelTo: AWSTimestamp,
  $limit: Int,
  $pageSize: Int,
  $nextCursor: String
) {
  issues(
    projectHash: $projectHash,
    filter: $filter,
    timeTravelTo: $timeTravelTo,
    limit: $limit,
    pageSize: $pageSize,
    nextCursor: $nextCursor
  ) {
    totalCount
    issues {
      issueId
      projectHash
      type
      firstDetection
      recentDetection
      resolvedAt
      affectedPage {
        ...PageTypeFragment
      }
      impact
      status
      ignored
      referenceType
      targetUrl
      xpath
    }
    nextCursor
  }
}
Variables
{
  "projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040",
  "filter": IssueLogicalFilter,
  "timeTravelTo": 1702928220,
  "limit": 30,
  "pageSize": 10,
  "nextCursor": "eyJ0eXBlIjoiZmlyc3RDb3"
}
Response
{
  "data": {
    "issues": {
      "totalCount": 123,
      "issues": [Issue],
      "nextCursor": "abc123"
    }
  }
}

projectStatus

Description

Retrieve information for a project whether Issue data is currently being processed

Response

Returns a ProjectStatus!

Arguments
Name Description
projectHash - String! The identifier of the Ryte project

Example

Query
query ProjectStatus($projectHash: String!) {
  projectStatus(projectHash: $projectHash) {
    processingStatus
  }
}
Variables
{"projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040"}
Response
{"data": {"projectStatus": {"processingStatus": "processing"}}}

wuxStatistics

Description

Retrieve historic WUX Statistics and count of unresolved Issues, ignored Issues for a project

Response

Returns [WuxStatistics!]!

Arguments
Name Description
projectHash - String! The identifier of the Ryte project
periodStart - AWSTimestamp The first timestamp for which to query data
periodEnd - AWSTimestamp The last timestamp for which to query data

Example

Query
query WuxStatistics(
  $projectHash: String!,
  $periodStart: AWSTimestamp,
  $periodEnd: AWSTimestamp
) {
  wuxStatistics(
    projectHash: $projectHash,
    periodStart: $periodStart,
    periodEnd: $periodEnd
  ) {
    globalWuxScore
    ts
    unresolvedIssues
    ignoredImpact
    unresolvedIgnoredIssues
  }
}
Variables
{
  "projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040",
  "periodStart": 1702928220,
  "periodEnd": 1706316820
}
Response
{
  "data": {
    "wuxStatistics": [
      {
        "globalWuxScore": 79.82,
        "ts": 1702928220,
        "unresolvedIssues": 671,
        "ignoredImpact": 0.69,
        "unresolvedIgnoredIssues": 25
      }
    ]
  }
}

Mutations

createGscSetting

Description

Create Google Search Console (GSC) related settings for a project

Response

Returns a GscSetting

Arguments
Name Description
projectHash - String! The identifier of the Ryte project
siteUrl - String! The identifier of the GSC property
globalFilter - GlobalFilterItemInput A definition of filters which restrict the imported data

Example

Query
mutation CreateGscSetting(
  $projectHash: String!,
  $siteUrl: String!,
  $globalFilter: GlobalFilterItemInput
) {
  createGscSetting(
    projectHash: $projectHash,
    siteUrl: $siteUrl,
    globalFilter: $globalFilter
  ) {
    projectHash
    siteUrl
    globalFilter {
      country {
        ...GlobalFilterFilterByFragment
      }
      device {
        ...GlobalFilterFilterByFragment
      }
    }
  }
}
Variables
{
  "projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040",
  "siteUrl": "sc-domain:ryte.com",
  "globalFilter": GlobalFilterItemInput
}
Response
{
  "data": {
    "createGscSetting": {
      "projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040",
      "siteUrl": "sc-domain:ryte.com",
      "globalFilter": GlobalFilterItem
    }
  }
}

createIgnoreRule

Response

Returns a ResponseCreateIgnoreRule

Arguments
Name Description
projectHash - String! The identifier of the Ryte project
filter - IgnoredIssueFilter! A condition to filter issues to ignore

Example

Query
mutation CreateIgnoreRule(
  $projectHash: String!,
  $filter: IgnoredIssueFilter!
) {
  createIgnoreRule(
    projectHash: $projectHash,
    filter: $filter
  ) {
    statusCode
    ruleId
    errorMessage
  }
}
Variables
{
  "projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040",
  "filter": "[{field: \"issueType\", operator: \"equal\", value: \"broken_images\"}]"
}
Response
{
  "data": {
    "createIgnoreRule": {
      "statusCode": 201,
      "ruleId": "6b2ba948-39a5-48d4-b8a7-2f07b75a760b",
      "errorMessage": "Error message"
    }
  }
}

deleteGscSetting

Description

Delete Google Search Console (GSC) related settings for a project

Response

Returns a GscSetting

Arguments
Name Description
projectHash - String! Project hash of Google Search Console (GSC) related settings for a project that should be deleted

Example

Query
mutation DeleteGscSetting($projectHash: String!) {
  deleteGscSetting(projectHash: $projectHash) {
    projectHash
    siteUrl
    globalFilter {
      country {
        ...GlobalFilterFilterByFragment
      }
      device {
        ...GlobalFilterFilterByFragment
      }
    }
  }
}
Variables
{"projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040"}
Response
{
  "data": {
    "deleteGscSetting": {
      "projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040",
      "siteUrl": "sc-domain:ryte.com",
      "globalFilter": GlobalFilterItem
    }
  }
}

deleteIgnoreRule

Response

Returns a ResponseInterface

Arguments
Name Description
projectHash - String! The identifier of the Ryte project
ruleId - String! An unique identifier (uuid) of the rule

Example

Query
mutation DeleteIgnoreRule(
  $projectHash: String!,
  $ruleId: String!
) {
  deleteIgnoreRule(
    projectHash: $projectHash,
    ruleId: $ruleId
  ) {
    statusCode
    errorMessage
  }
}
Variables
{
  "projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040",
  "ruleId": "6b2ba948-39a5-48d4-b8a7-2f07b75a760b"
}
Response
{
  "data": {
    "deleteIgnoreRule": {
      "statusCode": 123,
      "errorMessage": "xyz789"
    }
  }
}

ignoreIssues

Response

Returns a ResponseInterface

Arguments
Name Description
projectHash - String! The identifier of the Ryte project
issueIds - [String!] A list of issues identifier id that consumer want to ignore
filter - IgnoredIssueFilter A condition to filter issues to ignore

Example

Query
mutation IgnoreIssues(
  $projectHash: String!,
  $issueIds: [String!],
  $filter: IgnoredIssueFilter
) {
  ignoreIssues(
    projectHash: $projectHash,
    issueIds: $issueIds,
    filter: $filter
  ) {
    statusCode
    errorMessage
  }
}
Variables
{
  "projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040",
  "issueIds": "d1f810066a39322333015ea3933ce9e6",
  "filter": "[{field: \"issueType\", operator: \"equal\", value: \"broken_images\"}]"
}
Response
{
  "data": {
    "ignoreIssues": {
      "statusCode": 987,
      "errorMessage": "xyz789"
    }
  }
}

unignoreIssues

Response

Returns a ResponseInterface

Arguments
Name Description
projectHash - String! The identifier of the Ryte project
issueIds - [String!] A list of issues identifier id that consumer want to remove from ignore
filter - IgnoredIssueFilter A condition to filter issues to remove from ignore

Example

Query
mutation UnignoreIssues(
  $projectHash: String!,
  $issueIds: [String!],
  $filter: IgnoredIssueFilter
) {
  unignoreIssues(
    projectHash: $projectHash,
    issueIds: $issueIds,
    filter: $filter
  ) {
    statusCode
    errorMessage
  }
}
Variables
{
  "projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040",
  "issueIds": "435cff5fb5288a1f8ec8002ee2e79761",
  "filter": "[{field: \"issueType\", operator: \"equal\", value: \"broken_images\"}]"
}
Response
{
  "data": {
    "unignoreIssues": {
      "statusCode": 123,
      "errorMessage": "xyz789"
    }
  }
}

updateIgnoreRule

Response

Returns a ResponseInterface

Arguments
Name Description
projectHash - String! The identifier of the Ryte project
ruleId - String! An unique identifier (uuid) of the rule
filter - IgnoredIssueFilter! A condition to filter issues to ignore

Example

Query
mutation UpdateIgnoreRule(
  $projectHash: String!,
  $ruleId: String!,
  $filter: IgnoredIssueFilter!
) {
  updateIgnoreRule(
    projectHash: $projectHash,
    ruleId: $ruleId,
    filter: $filter
  ) {
    statusCode
    errorMessage
  }
}
Variables
{
  "projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040",
  "ruleId": "6b2ba948-39a5-48d4-b8a7-2f07b75a760b",
  "filter": "[{field: \"issueType\", operator: \"equal\", value: \"broken_images\"}]"
}
Response
{
  "data": {
    "updateIgnoreRule": {
      "statusCode": 987,
      "errorMessage": "abc123"
    }
  }
}

Types

AWSJSON

Example
{"field": "status", "operator": "equal", "value": "unresolved"}

AWSTimestamp

Description

Unix timestamp in seconds (UTC)

Example
1702928220

Boolean

Description

The Boolean scalar type represents true or false.

FilterOperator

Description

Defines the operators that can be used for the IssueLogicalFilter

Values
Enum Value Description

equal

Used for equality checks

notEqual

Used for inequality checks

greater

Used for greater than checks

greaterOrEqual

Used for greater than or equal checks

less

Used for less than checks

lessOrEqual

Used for less than or equal checks

contain

Used for contains checks

notContain

Used for not contains checks

match

Used for regex matching expression checks

notMatch

Used for not regex matching expression checks
Example
"equal"

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
123.45

GSCConnectionStatus

Values
Enum Value Description

CONNECTED

The project is linked to a GSC property, the connection is 'healthy'

NOT_CONNECTED

The project is not linked to any GSC property

NO_PERMISSION

The project is linked to a GSC property, the connection has a permission issue and currently cannot be used to import data

DISCONNECTED_BUT_CONNECTED_BEFORE

The project is currently not linked to a GSC property but was linked before
Example
"CONNECTED"

GSCDailyStatus

Values
Enum Value Description

HEALTHY

The nightly import of GSC data increments was successful

ERROR

There was an error during nightly import of GSC data
Example
"HEALTHY"

GSCExtraImportStatus

Values
Enum Value Description

DONE

The extra data (16 months data) GSC data import has finished and data is available to the platform

RUNNING

The extra data (16 months data) GSC data import is currently running

WAIT_OPERATION

The extra data (16 months data) GSC data import is queued for import - extra data for another project using the same Google Account is currently being imported

WAIT_OTHER

The extra data (16 months data) GSC data import is queued for import - initial (90days) data for a project within the same Google Account is being imported
Example
"DONE"

GSCVirginStatus

Values
Enum Value Description

DONE

The initial (90 days data) GSC data import has finished and data is available to the platform

RUNNING

The initial (90 days data) GSC data import is currently running

IMPORTING_DONE

The initial (90 days data) GSC data import has finished data is not yet available to the platform since it is still being processed

WAIT_OPERATION

The initial (90 days data) GSC data import has just been saved and soon be operated in few minutes

WAIT_OTHER

The initial (90 days data) GSC data import has chained to run after another project with same GSC property
Example
"DONE"

GlobalFilterByInput

Fields
Input Field Description
value - [String]! A list of filter conditions for countries, specified by 3-letter-code (ISO 3166-1 alpha-3)
operator - GlobalFilterOperatorInput! Operator can be contains, notContains, is, isNot
Example
{
  "value": ["xyz789"],
  "operator": "contains"
}

GlobalFilterFilterBy

Description

Filter conditions for countries and

Fields
Field Name Description
value - [String]! A list of filter conditions for countries or device
operator - String! Operator to compare with the value
Example
{
  "value": ["abc123"],
  "operator": "abc123"
}

GlobalFilterItem

Description

A definition of one or multiple filter conditions which restrict the imported data

Fields
Field Name Description
country - GlobalFilterFilterBy A definition of one or multiple filter conditions for countries, specified by 3-letter-code (ISO 3166-1 alpha-3)
device - GlobalFilterFilterBy A definition of one or multiple filter conditions for countries
Example
{
  "country": GlobalFilterFilterBy,
  "device": GlobalFilterFilterBy
}

GlobalFilterItemInput

Fields
Input Field Description
country - GlobalFilterByInput A list of filter conditions for countries, specified by 3-letter-code (ISO 3166-1 alpha-3)
device - GlobalFilterByInput A list of filter conditions for device types
Example
{
  "country": GlobalFilterByInput,
  "device": GlobalFilterByInput
}

GlobalFilterOperatorInput

Values
Enum Value Description

contains

notContains

is

isNot

Example
"contains"

GscConnectionInfo

Description

Google Search Console (GSC) connection information for a project

Fields
Field Name Description
projectHash - String! The identifier of the Ryte project
connectionStatus - GSCConnectionStatus! The connection status of the project
Example
{
  "projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040",
  "connectionStatus": "CONNECTED"
}

GscImportingInfo

Description

Information regarding the Google Search Console (GSC) data import for a project

Fields
Field Name Description
virgin - GscImportingInfoVirgin The virgin import information (90 days of data)
extraImport - GscImportingInfoExtraImport The extra import information (16 months of data)
daily - GscImportingInfoDaily The daily import information (nightly increments)
Example
{
  "virgin": GscImportingInfoVirgin,
  "extraImport": GscImportingInfoExtraImport,
  "daily": GscImportingInfoDaily
}

GscImportingInfoDaily

Description

Information regarding the status of the daily incremental Google Search Console (GSC) data import for a project

Fields
Field Name Description
status - GSCDailyStatus! The status of the daily import
errorCode - String The error code of the daily import, empty if there is no error
errorMessage - String The error message of the daily import, empty if there is no error
Example
{
  "status": "ERROR",
  "errorCode": "GG_NO_PERMISSION",
  "errorMessage": "Error code: 403, Error message: User does not have sufficient permission for site ‘sc-domain:ryte.com’. See also: https://support.google.com/webmasters/answer/2451999"
}

GscImportingInfoExtraImport

Description

Information regarding the status of the initial 16-months Google Search Console (GSC) data import for a project

Fields
Field Name Description
status - GSCExtraImportStatus! The status of the extra import
completedPercent - Float The percentage of extra importing status, based on the number of days that have been imported
dateImportFinish - String The date of the last imported day
Example
{"status": "DONE", "completedPercent": 66.5, "dateImportFinish": "2017-03-01"}

GscImportingInfoVirgin

Description

Information regarding the status of the initial 90-days Google Search Console (GSC) data import for a project

Fields
Field Name Description
status - GSCVirginStatus! The status of the virgin import
progressBarData - GscVirginProgressBar! Extended information on the progress of the import
Example
{
  "status": "DONE",
  "progressBarData": GscVirginProgressBar
}

GscSetting

Description

Google Search Console (GSC) related settings for a project

Fields
Field Name Description
projectHash - String! The identifier of the Ryte project
siteUrl - String! The identifier of the Google Search Console (GSC) property
globalFilter - GlobalFilterItem (optional) A definition of one or multiple filter conditions which restrict the imported data
Example
{
  "projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040",
  "siteUrl": "sc-domain:ryte.com",
  "globalFilter": GlobalFilterItem
}

GscVirginProgressBar

Description

Extended information regarding the progress of the initial 90-days Google Search Console (GSC) data import for a project

Fields
Field Name Description
percent - Float The percentage of the progress bar
remainSeconds - Int The remaining seconds until the import is expected to be finished
Example
{"percent": 66.5, "remainSeconds": 987}

IgnoreRule

Description

The rule to ignore issue

Fields
Field Name Description
ruleId - String The unique identifier (uuid) of the rule
filterJson - AWSJSON A filter condition to ignore issues, under format of stringified JSON
createdAt - Int Time of the rule creation
createdBy - String Id of the rule creator in 32 characters
createdByName - String Full name of the rule creator
updatedAt - Int Time of the rule last updated
updatedBy - String Id of the rule updater in 32 characters
updatedByName - String Full name of the rule creator
Example
{
  "ruleId": "6b2ba948-39a5-48d4-b8a7-2f07b75a760b",
  "filterJson": {"field": "status", "operator": "equal", "value": "unresolved"},
  "createdAt": 1702928220,
  "createdBy": "abcdefghijklmnopqrstuz0123456789",
  "createdByName": "Golden Silver",
  "updatedAt": 1702928220,
  "updatedBy": "abcdefghijklmnopqrstuz0123456789",
  "updatedByName": "Golden Silver 2"
}

IgnoredIssueFieldForFilter

Values
Enum Value Description

issueType

The type of the Issue

affectedPage

The page affected by the Issue

referenceType

The Reference Type of the Issue

targetUrl

The Target Url of the Issue

xpath

The xPath of the Issue
Example
"issueType"

IgnoredIssueFilter

Fields
Input Field Description
field - IgnoredIssueFieldForFilter The field to filter issues to ignore
operator - FilterOperator The operator to compare with the value (e.g. equal, greater, lessOrEqual, ... )
value - String The value to compare with
AND - [IgnoredIssueFilter] Add condition AND with the next filter
OR - [IgnoredIssueFilter] Add condition OR with the next filter
Example
{
  "field": "issueType",
  "operator": "equal",
  "value": "unresolved",
  "AND": ["[{field: \"status\", operator: \"equal\", value: \"unresolved\"}]"],
  "OR": ["[{field: \"status\", operator: \"equal\", value: \"resolved\"}]"]
}

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
987

Issue

Description

An Issue is something that potentially negatively affects a website in regards to Website User Experience (WUX).

Fields
Field Name Description
issueId - String! The identifier of an individual issue
projectHash - String! The identifier of the Ryte project
type - String! The type of the Issue
firstDetection - AWSTimestamp! The timestamp when the Issue was initially detected
recentDetection - AWSTimestamp! The timestamp when the Issue was last detected
resolvedAt - AWSTimestamp The timestamp when the Issue was resolved
affectedPage - PageType! The page affected by the Issue
impact - Float! The Impact of the Issue on the WUX Score
status - Status! The status of issue at the corresponding recent detection
ignored - Boolean! Indicates whether the issue is ignored
referenceType - String The Reference Type of the Issue
targetUrl - String The Target Url of the Issue
xpath - String The xPath of the Issue
Example
{
  "issueId": "435cff5fb5288a1f8ec8002ee2e79761",
  "projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040",
  "type": "broken_images",
  "firstDetection": 1702928220,
  "recentDetection": 1706316820,
  "resolvedAt": 1706316820,
  "affectedPage": PageType,
  "impact": 0.04,
  "status": "resolved",
  "ignored": "True",
  "referenceType": "meta_canonical",
  "targetUrl": "http://abc.com",
  "xpath": "/html[1]/body[1]/div[2]a[1]"
}

IssueByTypeDelta

Description

A group of Issues by type to compare the amount of Issues and its impact between two timestamps

Fields
Field Name Description
issueType - String! The type of the grouped Issues (e.g. broken_images)
totalImpact - Float! The sum of the Impact of all Issues in the group
count - Int! The amount of Issues in the group
Example
{"issueType": "broken_images", "totalImpact": 1.78, "count": 671}

IssueFieldForFilter

Values
Enum Value Description

issueType

The type of the Issue

status

The status of the issue

affectedPage

The page affected by the Issue

firstDetection

The timestamp when the Issue was initially detected

recentDetection

The timestamp when the Issue was last detected

resolvedAt

The timestamp when the Issue was resolved

impact

The Impact of the Issue on the WUX Score

ignored

Indicates whether the issue is ignored

referenceType

The Reference Type of the Issue

targetUrl

The Target Url of the Issue

xpath

The xPath of the Issue
Example
"issueType"

IssueGroup

Description

A group of Issues

Fields
Field Name Description
issueType - String! The type of the grouped Issues (e.g. broken_images)
totalImpact - Float! The sum of the Impact of all Issues in the group
count - Int! The amount of Issues in the group
issuePriority - Int! The priority of the grouped Issues
Example
{
  "issueType": "broken_images",
  "totalImpact": 1.78,
  "count": 671,
  "issuePriority": 4
}

IssueGroupBy

Description

Defines the attribute(s) by which an IssueGroup should be grouped by

Values
Enum Value Description

issueType

The Issue Type to group by
Example
"issueType"

IssueLogicalFilter

Fields
Input Field Description
field - IssueFieldForFilter The field to filter by
operator - FilterOperator The operator to compare with the value (e.g. equal, greater, lessOrEqual, ... )
value - String The value to compare with
AND - [IssueLogicalFilter] Add condition AND with the next filter
OR - [IssueLogicalFilter] Add condition OR with the next filter
Example
{
  "field": "status",
  "operator": "equal",
  "value": "unresolved",
  "AND": ["[{field: \"status\", operator: \"equal\", value: \"unresolved\"}]"],
  "OR": ["[{field: \"status\", operator: \"equal\", value: \"resolved\"}]"]
}

IssueType

Values
Enum Value Description

blocked_css

Issue: Blocked CSS.

blocked_javascript

broken_canonicals

broken_images

broken_image

broken_javascripts

broken_links

broken_outbound_content

broken_pages

broken_redirects

broken_xml

pages_robots_conflict

cross_domain_canonical

duplicate_content

pages_with_duplicate_h1

duplicate_descriptions

pages_with_duplicate_title

hreflang_tags_with_errors

images_missing_alt_tags

indexable_pages_missing_in_sitemap

internal_nofollow_links

internal_temporary_redirects

suspicious_sites

missing_file_category

pages_noindex_nofollow

non_indexable_pages_in_sitemap

nonindexable_with_high_relevance

pages_without_internal_follow_links

broken_css

pages_without_facebook_preview

pages_without_twitter_preview

large_pages

low_word_count

broken_hreflang_attribute

pages_with_few_internal_incoming_links

invalid_canonicals

pages_with_long_clickpath

pages_without_compression

slow_pages

unsecure_technology_flash

urls_with_special_chars

illegible_text

missing_file_type

missing_viewport_tag

overlapping_tap_targets

poor_web_vitals

poor_lcp

poor_cls

Example
"blocked_css"

Issues

Description

A list of Issues

Fields
Field Name Description
totalCount - Int! The total count of Issues that match the filter criteria
issues - [Issue]! The list of Issues that match the filter criteria, limited by the input limit parameter
nextCursor - String The next cursor to retrieve the next page of Issues
Example
{
  "totalCount": 987,
  "issues": [Issue],
  "nextCursor": "abc123"
}

PageType

Description

A webpage

Fields
Field Name Description
url - String! The URL of the page
metaTitle - String! The meta title of the page
pageValue - Int! The page value
Example
{
  "url": "https://en.ryte.com?param=value",
  "metaTitle": "The #1 Platform for Website User Experience",
  "pageValue": 2
}

ProcessingStatus

Values
Enum Value Description

processing

Crawl data is currently being processed - Issues/WUX Score might be inconsistent during this state

not_processing

No crawl data is currently being processed
Example
"processing"

ProjectStatus

Description

Project related information

Fields
Field Name Description
processingStatus - ProcessingStatus Indicates whether analysis data of a project is currently being processed. During this process Issues/WUX Score might be inconsistent.
Example
{"processingStatus": "processing"}

ResponseCreateIgnoreRule

Fields
Field Name Description
statusCode - Int! The statusCode will return 201 for success creation
ruleId - String The ruleId if the creation is successful
errorMessage - String The errorMessage will return the error message if the creation is failed
Example
{
  "statusCode": 201,
  "ruleId": "6b2ba948-39a5-48d4-b8a7-2f07b75a760b",
  "errorMessage": "Error message"
}

ResponseInterface

Fields
Field Name Description
statusCode - Int!
errorMessage - String
Example
{
  "statusCode": 123,
  "errorMessage": "abc123"
}

Status

Values
Enum Value Description

unresolved

At the timestamp for which to query data, the issue was not resolved

resolved

The issue was resolved

stale

The issue became stale since it was not seen for the last 30 days
Example
"unresolved"

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"abc123"

WuxStatistics

Description

The WUX Statistics indicates by which degree a website is optimized regarding Website User Experience (WUX). It is obtained by subtracting the total Impact of all unresolved Issues affecting a website from 100

Fields
Field Name Description
globalWuxScore - Float! The WUX Score at a certain point in time
ts - AWSTimestamp! The timestamp when the WUX Score was measured
unresolvedIssues - Int! The amount of unresolved Issues at that point in time
ignoredImpact - Float The total impact of all unresolved ignored issues at that point in time
unresolvedIgnoredIssues - Int The amount of unresolved ignored Issues at that point in time
Example
{
  "globalWuxScore": 79.82,
  "ts": 1702928220,
  "unresolvedIssues": 671,
  "ignoredImpact": 0.69,
  "unresolvedIgnoredIssues": 25
}