PLAYDEVELOPERREPORTING

playdeveloperreporting.anomalies.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

playdeveloperreporting.apps.fetchReleaseFilterOptions

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

playdeveloperreporting.apps.search

valid {
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

playdeveloperreporting.vitals.anrrate.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

playdeveloperreporting.vitals.anrrate.query

enum_GooglePlayDeveloperReportingV1beta1QueryAnrRateMetricSetRequestUserCohort := [ "USER_COHORT_UNSPECIFIED", "OS_PUBLIC", "OS_BETA", "APP_TESTERS" ]
enum_GooglePlayDeveloperReportingV1beta1TimelineSpecAggregationPeriod := [ "AGGREGATION_PERIOD_UNSPECIFIED", "HOURLY", "DAILY", "FULL_RANGE" ]

valid {
    input.Body.dimensions[_] == STRING
    input.Body.filter == STRING
    input.Body.metrics[_] == STRING
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.Body.timelineSpec.aggregationPeriod == enum_GooglePlayDeveloperReportingV1beta1TimelineSpecAggregationPeriod[_]
    input.Body.timelineSpec.endTime.day == INTEGER
    input.Body.timelineSpec.endTime.hours == INTEGER
    input.Body.timelineSpec.endTime.minutes == INTEGER
    input.Body.timelineSpec.endTime.month == INTEGER
    input.Body.timelineSpec.endTime.nanos == INTEGER
    input.Body.timelineSpec.endTime.seconds == INTEGER
    input.Body.timelineSpec.endTime.timeZone.id == STRING
    input.Body.timelineSpec.endTime.timeZone.version == STRING
    input.Body.timelineSpec.endTime.utcOffset == STRING
    input.Body.timelineSpec.endTime.year == INTEGER
    input.Body.timelineSpec.startTime.day == INTEGER
    input.Body.timelineSpec.startTime.hours == INTEGER
    input.Body.timelineSpec.startTime.minutes == INTEGER
    input.Body.timelineSpec.startTime.month == INTEGER
    input.Body.timelineSpec.startTime.nanos == INTEGER
    input.Body.timelineSpec.startTime.seconds == INTEGER
    input.Body.timelineSpec.startTime.timeZone.id == STRING
    input.Body.timelineSpec.startTime.timeZone.version == STRING
    input.Body.timelineSpec.startTime.utcOffset == STRING
    input.Body.timelineSpec.startTime.year == INTEGER
    input.Body.userCohort == enum_GooglePlayDeveloperReportingV1beta1QueryAnrRateMetricSetRequestUserCohort[_]
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

playdeveloperreporting.vitals.crashrate.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

playdeveloperreporting.vitals.crashrate.query

enum_GooglePlayDeveloperReportingV1beta1QueryCrashRateMetricSetRequestUserCohort := [ "USER_COHORT_UNSPECIFIED", "OS_PUBLIC", "OS_BETA", "APP_TESTERS" ]
enum_GooglePlayDeveloperReportingV1beta1TimelineSpecAggregationPeriod := [ "AGGREGATION_PERIOD_UNSPECIFIED", "HOURLY", "DAILY", "FULL_RANGE" ]

valid {
    input.Body.dimensions[_] == STRING
    input.Body.filter == STRING
    input.Body.metrics[_] == STRING
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.Body.timelineSpec.aggregationPeriod == enum_GooglePlayDeveloperReportingV1beta1TimelineSpecAggregationPeriod[_]
    input.Body.timelineSpec.endTime.day == INTEGER
    input.Body.timelineSpec.endTime.hours == INTEGER
    input.Body.timelineSpec.endTime.minutes == INTEGER
    input.Body.timelineSpec.endTime.month == INTEGER
    input.Body.timelineSpec.endTime.nanos == INTEGER
    input.Body.timelineSpec.endTime.seconds == INTEGER
    input.Body.timelineSpec.endTime.timeZone.id == STRING
    input.Body.timelineSpec.endTime.timeZone.version == STRING
    input.Body.timelineSpec.endTime.utcOffset == STRING
    input.Body.timelineSpec.endTime.year == INTEGER
    input.Body.timelineSpec.startTime.day == INTEGER
    input.Body.timelineSpec.startTime.hours == INTEGER
    input.Body.timelineSpec.startTime.minutes == INTEGER
    input.Body.timelineSpec.startTime.month == INTEGER
    input.Body.timelineSpec.startTime.nanos == INTEGER
    input.Body.timelineSpec.startTime.seconds == INTEGER
    input.Body.timelineSpec.startTime.timeZone.id == STRING
    input.Body.timelineSpec.startTime.timeZone.version == STRING
    input.Body.timelineSpec.startTime.utcOffset == STRING
    input.Body.timelineSpec.startTime.year == INTEGER
    input.Body.userCohort == enum_GooglePlayDeveloperReportingV1beta1QueryCrashRateMetricSetRequestUserCohort[_]
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

playdeveloperreporting.vitals.errors.counts.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

playdeveloperreporting.vitals.errors.counts.query

enum_GooglePlayDeveloperReportingV1beta1TimelineSpecAggregationPeriod := [ "AGGREGATION_PERIOD_UNSPECIFIED", "HOURLY", "DAILY", "FULL_RANGE" ]

valid {
    input.Body.dimensions[_] == STRING
    input.Body.filter == STRING
    input.Body.metrics[_] == STRING
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.Body.timelineSpec.aggregationPeriod == enum_GooglePlayDeveloperReportingV1beta1TimelineSpecAggregationPeriod[_]
    input.Body.timelineSpec.endTime.day == INTEGER
    input.Body.timelineSpec.endTime.hours == INTEGER
    input.Body.timelineSpec.endTime.minutes == INTEGER
    input.Body.timelineSpec.endTime.month == INTEGER
    input.Body.timelineSpec.endTime.nanos == INTEGER
    input.Body.timelineSpec.endTime.seconds == INTEGER
    input.Body.timelineSpec.endTime.timeZone.id == STRING
    input.Body.timelineSpec.endTime.timeZone.version == STRING
    input.Body.timelineSpec.endTime.utcOffset == STRING
    input.Body.timelineSpec.endTime.year == INTEGER
    input.Body.timelineSpec.startTime.day == INTEGER
    input.Body.timelineSpec.startTime.hours == INTEGER
    input.Body.timelineSpec.startTime.minutes == INTEGER
    input.Body.timelineSpec.startTime.month == INTEGER
    input.Body.timelineSpec.startTime.nanos == INTEGER
    input.Body.timelineSpec.startTime.seconds == INTEGER
    input.Body.timelineSpec.startTime.timeZone.id == STRING
    input.Body.timelineSpec.startTime.timeZone.version == STRING
    input.Body.timelineSpec.startTime.utcOffset == STRING
    input.Body.timelineSpec.startTime.year == INTEGER
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

playdeveloperreporting.vitals.errors.issues.search

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.interval.endTime.day == INTEGER
    input.Qs.interval.endTime.hours == INTEGER
    input.Qs.interval.endTime.minutes == INTEGER
    input.Qs.interval.endTime.month == INTEGER
    input.Qs.interval.endTime.nanos == INTEGER
    input.Qs.interval.endTime.seconds == INTEGER
    input.Qs.interval.endTime.timeZone.id == STRING
    input.Qs.interval.endTime.timeZone.version == STRING
    input.Qs.interval.endTime.utcOffset == STRING
    input.Qs.interval.endTime.year == INTEGER
    input.Qs.interval.startTime.day == INTEGER
    input.Qs.interval.startTime.hours == INTEGER
    input.Qs.interval.startTime.minutes == INTEGER
    input.Qs.interval.startTime.month == INTEGER
    input.Qs.interval.startTime.nanos == INTEGER
    input.Qs.interval.startTime.seconds == INTEGER
    input.Qs.interval.startTime.timeZone.id == STRING
    input.Qs.interval.startTime.timeZone.version == STRING
    input.Qs.interval.startTime.utcOffset == STRING
    input.Qs.interval.startTime.year == INTEGER
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.sampleErrorReportLimit == INTEGER
    input.ProviderMetadata.Region == STRING
}

playdeveloperreporting.vitals.errors.reports.search

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.interval.endTime.day == INTEGER
    input.Qs.interval.endTime.hours == INTEGER
    input.Qs.interval.endTime.minutes == INTEGER
    input.Qs.interval.endTime.month == INTEGER
    input.Qs.interval.endTime.nanos == INTEGER
    input.Qs.interval.endTime.seconds == INTEGER
    input.Qs.interval.endTime.timeZone.id == STRING
    input.Qs.interval.endTime.timeZone.version == STRING
    input.Qs.interval.endTime.utcOffset == STRING
    input.Qs.interval.endTime.year == INTEGER
    input.Qs.interval.startTime.day == INTEGER
    input.Qs.interval.startTime.hours == INTEGER
    input.Qs.interval.startTime.minutes == INTEGER
    input.Qs.interval.startTime.month == INTEGER
    input.Qs.interval.startTime.nanos == INTEGER
    input.Qs.interval.startTime.seconds == INTEGER
    input.Qs.interval.startTime.timeZone.id == STRING
    input.Qs.interval.startTime.timeZone.version == STRING
    input.Qs.interval.startTime.utcOffset == STRING
    input.Qs.interval.startTime.year == INTEGER
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

playdeveloperreporting.vitals.excessivewakeuprate.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

playdeveloperreporting.vitals.excessivewakeuprate.query

enum_GooglePlayDeveloperReportingV1beta1QueryExcessiveWakeupRateMetricSetRequestUserCohort := [ "USER_COHORT_UNSPECIFIED", "OS_PUBLIC", "OS_BETA", "APP_TESTERS" ]
enum_GooglePlayDeveloperReportingV1beta1TimelineSpecAggregationPeriod := [ "AGGREGATION_PERIOD_UNSPECIFIED", "HOURLY", "DAILY", "FULL_RANGE" ]

valid {
    input.Body.dimensions[_] == STRING
    input.Body.filter == STRING
    input.Body.metrics[_] == STRING
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.Body.timelineSpec.aggregationPeriod == enum_GooglePlayDeveloperReportingV1beta1TimelineSpecAggregationPeriod[_]
    input.Body.timelineSpec.endTime.day == INTEGER
    input.Body.timelineSpec.endTime.hours == INTEGER
    input.Body.timelineSpec.endTime.minutes == INTEGER
    input.Body.timelineSpec.endTime.month == INTEGER
    input.Body.timelineSpec.endTime.nanos == INTEGER
    input.Body.timelineSpec.endTime.seconds == INTEGER
    input.Body.timelineSpec.endTime.timeZone.id == STRING
    input.Body.timelineSpec.endTime.timeZone.version == STRING
    input.Body.timelineSpec.endTime.utcOffset == STRING
    input.Body.timelineSpec.endTime.year == INTEGER
    input.Body.timelineSpec.startTime.day == INTEGER
    input.Body.timelineSpec.startTime.hours == INTEGER
    input.Body.timelineSpec.startTime.minutes == INTEGER
    input.Body.timelineSpec.startTime.month == INTEGER
    input.Body.timelineSpec.startTime.nanos == INTEGER
    input.Body.timelineSpec.startTime.seconds == INTEGER
    input.Body.timelineSpec.startTime.timeZone.id == STRING
    input.Body.timelineSpec.startTime.timeZone.version == STRING
    input.Body.timelineSpec.startTime.utcOffset == STRING
    input.Body.timelineSpec.startTime.year == INTEGER
    input.Body.userCohort == enum_GooglePlayDeveloperReportingV1beta1QueryExcessiveWakeupRateMetricSetRequestUserCohort[_]
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

playdeveloperreporting.vitals.slowrenderingrate.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

playdeveloperreporting.vitals.slowrenderingrate.query

enum_GooglePlayDeveloperReportingV1beta1QuerySlowRenderingRateMetricSetRequestUserCohort := [ "USER_COHORT_UNSPECIFIED", "OS_PUBLIC", "OS_BETA", "APP_TESTERS" ]
enum_GooglePlayDeveloperReportingV1beta1TimelineSpecAggregationPeriod := [ "AGGREGATION_PERIOD_UNSPECIFIED", "HOURLY", "DAILY", "FULL_RANGE" ]

valid {
    input.Body.dimensions[_] == STRING
    input.Body.filter == STRING
    input.Body.metrics[_] == STRING
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.Body.timelineSpec.aggregationPeriod == enum_GooglePlayDeveloperReportingV1beta1TimelineSpecAggregationPeriod[_]
    input.Body.timelineSpec.endTime.day == INTEGER
    input.Body.timelineSpec.endTime.hours == INTEGER
    input.Body.timelineSpec.endTime.minutes == INTEGER
    input.Body.timelineSpec.endTime.month == INTEGER
    input.Body.timelineSpec.endTime.nanos == INTEGER
    input.Body.timelineSpec.endTime.seconds == INTEGER
    input.Body.timelineSpec.endTime.timeZone.id == STRING
    input.Body.timelineSpec.endTime.timeZone.version == STRING
    input.Body.timelineSpec.endTime.utcOffset == STRING
    input.Body.timelineSpec.endTime.year == INTEGER
    input.Body.timelineSpec.startTime.day == INTEGER
    input.Body.timelineSpec.startTime.hours == INTEGER
    input.Body.timelineSpec.startTime.minutes == INTEGER
    input.Body.timelineSpec.startTime.month == INTEGER
    input.Body.timelineSpec.startTime.nanos == INTEGER
    input.Body.timelineSpec.startTime.seconds == INTEGER
    input.Body.timelineSpec.startTime.timeZone.id == STRING
    input.Body.timelineSpec.startTime.timeZone.version == STRING
    input.Body.timelineSpec.startTime.utcOffset == STRING
    input.Body.timelineSpec.startTime.year == INTEGER
    input.Body.userCohort == enum_GooglePlayDeveloperReportingV1beta1QuerySlowRenderingRateMetricSetRequestUserCohort[_]
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

playdeveloperreporting.vitals.slowstartrate.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

playdeveloperreporting.vitals.slowstartrate.query

enum_GooglePlayDeveloperReportingV1beta1QuerySlowStartRateMetricSetRequestUserCohort := [ "USER_COHORT_UNSPECIFIED", "OS_PUBLIC", "OS_BETA", "APP_TESTERS" ]
enum_GooglePlayDeveloperReportingV1beta1TimelineSpecAggregationPeriod := [ "AGGREGATION_PERIOD_UNSPECIFIED", "HOURLY", "DAILY", "FULL_RANGE" ]

valid {
    input.Body.dimensions[_] == STRING
    input.Body.filter == STRING
    input.Body.metrics[_] == STRING
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.Body.timelineSpec.aggregationPeriod == enum_GooglePlayDeveloperReportingV1beta1TimelineSpecAggregationPeriod[_]
    input.Body.timelineSpec.endTime.day == INTEGER
    input.Body.timelineSpec.endTime.hours == INTEGER
    input.Body.timelineSpec.endTime.minutes == INTEGER
    input.Body.timelineSpec.endTime.month == INTEGER
    input.Body.timelineSpec.endTime.nanos == INTEGER
    input.Body.timelineSpec.endTime.seconds == INTEGER
    input.Body.timelineSpec.endTime.timeZone.id == STRING
    input.Body.timelineSpec.endTime.timeZone.version == STRING
    input.Body.timelineSpec.endTime.utcOffset == STRING
    input.Body.timelineSpec.endTime.year == INTEGER
    input.Body.timelineSpec.startTime.day == INTEGER
    input.Body.timelineSpec.startTime.hours == INTEGER
    input.Body.timelineSpec.startTime.minutes == INTEGER
    input.Body.timelineSpec.startTime.month == INTEGER
    input.Body.timelineSpec.startTime.nanos == INTEGER
    input.Body.timelineSpec.startTime.seconds == INTEGER
    input.Body.timelineSpec.startTime.timeZone.id == STRING
    input.Body.timelineSpec.startTime.timeZone.version == STRING
    input.Body.timelineSpec.startTime.utcOffset == STRING
    input.Body.timelineSpec.startTime.year == INTEGER
    input.Body.userCohort == enum_GooglePlayDeveloperReportingV1beta1QuerySlowStartRateMetricSetRequestUserCohort[_]
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

playdeveloperreporting.vitals.stuckbackgroundwakelockrate.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

playdeveloperreporting.vitals.stuckbackgroundwakelockrate.query

enum_GooglePlayDeveloperReportingV1beta1QueryStuckBackgroundWakelockRateMetricSetRequestUserCohort := [ "USER_COHORT_UNSPECIFIED", "OS_PUBLIC", "OS_BETA", "APP_TESTERS" ]
enum_GooglePlayDeveloperReportingV1beta1TimelineSpecAggregationPeriod := [ "AGGREGATION_PERIOD_UNSPECIFIED", "HOURLY", "DAILY", "FULL_RANGE" ]

valid {
    input.Body.dimensions[_] == STRING
    input.Body.filter == STRING
    input.Body.metrics[_] == STRING
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.Body.timelineSpec.aggregationPeriod == enum_GooglePlayDeveloperReportingV1beta1TimelineSpecAggregationPeriod[_]
    input.Body.timelineSpec.endTime.day == INTEGER
    input.Body.timelineSpec.endTime.hours == INTEGER
    input.Body.timelineSpec.endTime.minutes == INTEGER
    input.Body.timelineSpec.endTime.month == INTEGER
    input.Body.timelineSpec.endTime.nanos == INTEGER
    input.Body.timelineSpec.endTime.seconds == INTEGER
    input.Body.timelineSpec.endTime.timeZone.id == STRING
    input.Body.timelineSpec.endTime.timeZone.version == STRING
    input.Body.timelineSpec.endTime.utcOffset == STRING
    input.Body.timelineSpec.endTime.year == INTEGER
    input.Body.timelineSpec.startTime.day == INTEGER
    input.Body.timelineSpec.startTime.hours == INTEGER
    input.Body.timelineSpec.startTime.minutes == INTEGER
    input.Body.timelineSpec.startTime.month == INTEGER
    input.Body.timelineSpec.startTime.nanos == INTEGER
    input.Body.timelineSpec.startTime.seconds == INTEGER
    input.Body.timelineSpec.startTime.timeZone.id == STRING
    input.Body.timelineSpec.startTime.timeZone.version == STRING
    input.Body.timelineSpec.startTime.utcOffset == STRING
    input.Body.timelineSpec.startTime.year == INTEGER
    input.Body.userCohort == enum_GooglePlayDeveloperReportingV1beta1QueryStuckBackgroundWakelockRateMetricSetRequestUserCohort[_]
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}