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.
Terms of Service
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": ["xyz789"]
}
}
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
}
]
}
}
issueStatistics
Description
Retrieve historic Issue Statistics and count of unresolved Issues, ignored Issues for a project
Response
Returns [IssueStatistic!]!
Arguments
| Name | Description |
|---|---|
projectHash - String!
|
Required. The identifier of the Ryte project |
filter - IssueLogicalFilter
|
Logical filter to filter issue statistics |
startTimestamp - AWSTimestamp
|
The start time to query data based on ts field. If not provided, the default is no start time |
endTimestamp - AWSTimestamp
|
The end time to query data based on ts field. If not provided, the default is the current time |
limit - Int
|
Limit the number of results returned. If not provided, there is no limit |
Example
Query
query IssueStatistics(
$projectHash: String!,
$filter: IssueLogicalFilter,
$startTimestamp: AWSTimestamp,
$endTimestamp: AWSTimestamp,
$limit: Int
) {
issueStatistics(
projectHash: $projectHash,
filter: $filter,
startTimestamp: $startTimestamp,
endTimestamp: $endTimestamp,
limit: $limit
) {
unresolvedIssues
unresolvedIgnoredIssues
totalImpact
ignoredImpact
ts
issueType
}
}
Variables
{
"projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040",
"filter": IssueLogicalFilter,
"startTimestamp": 1702928220,
"endTimestamp": 1706316820,
"limit": 30
}
Response
{
"data": {
"issueStatistics": [
{
"unresolvedIssues": 671,
"unresolvedIgnoredIssues": 25,
"totalImpact": 9.82,
"ignoredImpact": 0.69,
"ts": 1702928220,
"issueType": "broken_images"
}
]
}
}
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
context
}
nextCursor
}
}
Variables
{
"projectHash": "p5ce7324c9aa4504ad3d85c9c1fce040",
"filter": IssueLogicalFilter,
"timeTravelTo": 1702928220,
"limit": 30,
"pageSize": 10,
"nextCursor": "eyJ0eXBlIjoiZmlyc3RDb3"
}
Response
{
"data": {
"issues": {
"totalCount": 987,
"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
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": "abc123"
}
}
}
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": 123,
"errorMessage": "abc123"
}
}
}
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": 987,
"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": "xyz789"
}
}
}
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.
Example
true
FilterOperator
Description
Defines the operators that can be used for the IssueLogicalFilter
Values
| Enum Value | Description |
|---|---|
|
|
Used for equality checks |
|
|
Used for inequality checks |
|
|
Used for greater than checks |
|
|
Used for greater than or equal checks |
|
|
Used for less than checks |
|
|
Used for less than or equal checks |
|
|
Used for string contains checks |
|
|
Used for string not contains checks |
|
|
Used for string regex matching expression checks |
|
|
Used for string not regex matching expression checks |
|
|
Used for checking whether an element exists in an array. |
|
|
Used for checking whether an element does not exist in an array. |
Example
"equal"
Float
Description
The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
987.65
GSCConnectionStatus
Values
| Enum Value | Description |
|---|---|
|
|
The project is linked to a GSC property, the connection is 'healthy' |
|
|
The project is not linked to any GSC property |
|
|
The project is linked to a GSC property, the connection has a permission issue and currently cannot be used to import data |
|
|
The project is currently not linked to a GSC property but was linked before |
Example
"CONNECTED"
GSCDailyStatus
Values
| Enum Value | Description |
|---|---|
|
|
The nightly import of GSC data increments was successful |
|
|
There was an error during nightly import of GSC data |
Example
"HEALTHY"
GSCExtraImportStatus
Values
| Enum Value | Description |
|---|---|
|
|
The extra data (16 months data) GSC data import has finished and data is available to the platform |
|
|
The extra data (16 months data) GSC data import is currently running |
|
|
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 |
|
|
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 |
|---|---|
|
|
The initial (90 days data) GSC data import has finished and data is available to the platform |
|
|
The initial (90 days data) GSC data import is currently running |
|
|
The initial (90 days data) GSC data import has finished data is not yet available to the platform since it is still being processed |
|
|
The initial (90 days data) GSC data import has just been saved and soon be operated in few minutes |
|
|
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
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
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
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"
}
IgnoredIssueFilter
Fields
| Input Field | Description |
|---|---|
field - String
|
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
123
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 |
context - AWSJSON
|
The context 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",
"context": {
"contextHash": "30564268106696",
"contextCssUrl": "https://example.com/pagea8/assets/css/empty.css",
"contextCssHeaderStatus": "401"
}
}
IssueByTypeDelta
Description
A group of Issues by type to compare the amount of Issues and its impact between two timestamps
Example
{"issueType": "broken_images", "totalImpact": 1.78, "count": 671}
IssueGroup
Description
A group of 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 |
|---|---|
|
|
The Issue Type to group by |
Example
"issueType"
IssueLogicalFilter
Fields
| Input Field | Description |
|---|---|
field - String
|
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\"}]"]
}
IssueStatistic
Description
The breakdown of the WUX Score into its individual issue types
Fields
| Field Name | Description |
|---|---|
unresolvedIssues - Int!
|
The amount of unresolved Issues at that point in time |
unresolvedIgnoredIssues - Int
|
The amount of unresolved ignored Issues at that point in time |
totalImpact - Float!
|
The total impact of all unresolved Issues at that point in time |
ignoredImpact - Float
|
The total impact of all unresolved ignored issues at that point in time |
ts - AWSTimestamp!
|
The timestamp when the issue statistic was measured |
issueType - String!
|
The type of the Issue |
Example
{
"unresolvedIssues": 671,
"unresolvedIgnoredIssues": 25,
"totalImpact": 9.82,
"ignoredImpact": 0.69,
"ts": 1702928220,
"issueType": "broken_images"
}
IssueType
Values
| Enum Value | Description |
|---|---|
|
|
Issue: Blocked CSS. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"blocked_css"
Issues
Description
A list of Issues
Example
{
"totalCount": 123,
"issues": [Issue],
"nextCursor": "xyz789"
}
PageType
ProcessingStatus
Values
| Enum Value | Description |
|---|---|
|
|
Crawl data is currently being processed - Issues/WUX Score might be inconsistent during this state |
|
|
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
Example
{
"statusCode": 201,
"ruleId": "6b2ba948-39a5-48d4-b8a7-2f07b75a760b",
"errorMessage": "Error message"
}
ResponseInterface
Status
Values
| Enum Value | Description |
|---|---|
|
|
At the timestamp for which to query data, the issue was not resolved |
|
|
The issue was resolved |
|
|
The issue could no longer be tracked and evaluated for more than 30 days (e.g. because the page it affected was removed or redirected) |
|
|
The issue could no longer be tracked and evaluated during the last 30 days (e.g. because the page it affected was removed or redirected) |
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
"xyz789"
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
}