partners.analytics.list

valid {
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.requestMetadata.experimentIds == STRING
    input.Qs.requestMetadata.locale == STRING
    input.Qs.requestMetadata.partnersSessionId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSourceId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSubId == STRING
    input.Qs.requestMetadata.userOverrides.ipAddress == STRING
    input.Qs.requestMetadata.userOverrides.userId == STRING
    input.ProviderMetadata.Region == STRING
}

partners.clientMessages.log

enum_LogMessageRequestLevel := [ "MESSAGE_LEVEL_UNSPECIFIED", "ML_FINE", "ML_INFO", "ML_WARNING", "ML_SEVERE" ]

valid {
    input.Body.clientInfo.STRING == STRING
    input.Body.details == STRING
    input.Body.level == enum_LogMessageRequestLevel[_]
    input.Body.requestMetadata.experimentIds[_] == STRING
    input.Body.requestMetadata.locale == STRING
    input.Body.requestMetadata.partnersSessionId == STRING
    input.Body.requestMetadata.trafficSource.trafficSourceId == STRING
    input.Body.requestMetadata.trafficSource.trafficSubId == STRING
    input.Body.requestMetadata.userOverrides.ipAddress == STRING
    input.Body.requestMetadata.userOverrides.userId == STRING
    input.ProviderMetadata.Region == STRING
}

partners.companies.get

enum_ViewParameter := [ "COMPANY_VIEW_UNSPECIFIED", "CV_GOOGLE_PARTNER_SEARCH" ]

valid {
    input.ReqMap.companyId == STRING
    input.Qs.address == STRING
    input.Qs.currencyCode == STRING
    input.Qs.orderBy == STRING
    input.Qs.requestMetadata.experimentIds == STRING
    input.Qs.requestMetadata.locale == STRING
    input.Qs.requestMetadata.partnersSessionId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSourceId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSubId == STRING
    input.Qs.requestMetadata.userOverrides.ipAddress == STRING
    input.Qs.requestMetadata.userOverrides.userId == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
}

partners.companies.leads.create

enum_LeadGpsMotivations := [ "GPS_MOTIVATION_UNSPECIFIED", "GPSM_HELP_WITH_ADVERTISING", "GPSM_HELP_WITH_WEBSITE", "GPSM_NO_WEBSITE" ]
enum_LeadState := [ "LEAD_STATE_UNSPECIFIED", "LEAD", "CONTACTED", "CLIENT", "OTHER" ]
enum_LeadType := [ "LEAD_TYPE_UNSPECIFIED", "LT_GPS" ]

valid {
    input.Body.lead.adwordsCustomerId == STRING
    input.Body.lead.comments == STRING
    input.Body.lead.createTime == STRING
    input.Body.lead.email == STRING
    input.Body.lead.familyName == STRING
    input.Body.lead.givenName == STRING
    input.Body.lead.gpsMotivations[_] == enum_LeadGpsMotivations[_]
    input.Body.lead.id == STRING
    input.Body.lead.languageCode == STRING
    input.Body.lead.marketingOptIn == BOOLEAN
    input.Body.lead.minMonthlyBudget.currencyCode == STRING
    input.Body.lead.minMonthlyBudget.nanos == INTEGER
    input.Body.lead.minMonthlyBudget.units == STRING
    input.Body.lead.phoneNumber == STRING
    input.Body.lead.state == enum_LeadState[_]
    input.Body.lead.type == enum_LeadType[_]
    input.Body.lead.websiteUrl == STRING
    input.Body.recaptchaChallenge.id == STRING
    input.Body.recaptchaChallenge.response == STRING
    input.Body.requestMetadata.experimentIds[_] == STRING
    input.Body.requestMetadata.locale == STRING
    input.Body.requestMetadata.partnersSessionId == STRING
    input.Body.requestMetadata.trafficSource.trafficSourceId == STRING
    input.Body.requestMetadata.trafficSource.trafficSubId == STRING
    input.Body.requestMetadata.userOverrides.ipAddress == STRING
    input.Body.requestMetadata.userOverrides.userId == STRING
    input.ReqMap.companyId == STRING
    input.ProviderMetadata.Region == STRING
}

partners.companies.list

enum_GpsMotivationsParameter := [ "GPS_MOTIVATION_UNSPECIFIED", "GPSM_HELP_WITH_ADVERTISING", "GPSM_HELP_WITH_WEBSITE", "GPSM_NO_WEBSITE" ]
enum_IndustriesParameter := [ "INDUSTRY_UNSPECIFIED", "I_AUTOMOTIVE", "I_BUSINESS_TO_BUSINESS", "I_CONSUMER_PACKAGED_GOODS", "I_EDUCATION", "I_FINANCE", "I_HEALTHCARE", "I_MEDIA_AND_ENTERTAINMENT", "I_RETAIL", "I_TECHNOLOGY", "I_TRAVEL" ]
enum_ServicesParameter := [ "SERVICE_UNSPECIFIED", "S_ADVANCED_ADWORDS_SUPPORT", "S_ADVERTISING_ON_GOOGLE", "S_AN_ENHANCED_WEBSITE", "S_AN_ONLINE_MARKETING_PLAN", "S_MOBILE_AND_VIDEO_ADS", "S_MOBILE_WEBSITE_SERVICES" ]
enum_SpecializationsParameter := [ "BADGE_SPECIALIZATION_UNKNOWN", "BADGE_SPECIALIZATION_ADWORDS_SEARCH", "BADGE_SPECIALIZATION_ADWORDS_DISPLAY", "BADGE_SPECIALIZATION_ADWORDS_MOBILE", "BADGE_SPECIALIZATION_ADWORDS_VIDEO", "BADGE_SPECIALIZATION_ADWORDS_SHOPPING" ]
enum_ViewParameter := [ "COMPANY_VIEW_UNSPECIFIED", "CV_GOOGLE_PARTNER_SEARCH" ]

valid {
    input.Qs.address == STRING
    input.Qs.companyName == STRING
    input.Qs.gpsMotivations == enum_GpsMotivationsParameter[_]
    input.Qs.industries == enum_IndustriesParameter[_]
    input.Qs.languageCodes == STRING
    input.Qs.maxMonthlyBudget.currencyCode == STRING
    input.Qs.maxMonthlyBudget.nanos == INTEGER
    input.Qs.maxMonthlyBudget.units == STRING
    input.Qs.minMonthlyBudget.currencyCode == STRING
    input.Qs.minMonthlyBudget.nanos == INTEGER
    input.Qs.minMonthlyBudget.units == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.requestMetadata.experimentIds == STRING
    input.Qs.requestMetadata.locale == STRING
    input.Qs.requestMetadata.partnersSessionId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSourceId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSubId == STRING
    input.Qs.requestMetadata.userOverrides.ipAddress == STRING
    input.Qs.requestMetadata.userOverrides.userId == STRING
    input.Qs.services == enum_ServicesParameter[_]
    input.Qs.specializations == enum_SpecializationsParameter[_]
    input.Qs.view == enum_ViewParameter[_]
    input.Qs.websiteUrl == STRING
    input.ProviderMetadata.Region == STRING
}

partners.getPartnersstatus

valid {
    input.Qs.requestMetadata.experimentIds == STRING
    input.Qs.requestMetadata.locale == STRING
    input.Qs.requestMetadata.partnersSessionId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSourceId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSubId == STRING
    input.Qs.requestMetadata.userOverrides.ipAddress == STRING
    input.Qs.requestMetadata.userOverrides.userId == STRING
    input.ProviderMetadata.Region == STRING
}

partners.leads.list

valid {
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.requestMetadata.experimentIds == STRING
    input.Qs.requestMetadata.locale == STRING
    input.Qs.requestMetadata.partnersSessionId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSourceId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSubId == STRING
    input.Qs.requestMetadata.userOverrides.ipAddress == STRING
    input.Qs.requestMetadata.userOverrides.userId == STRING
    input.ProviderMetadata.Region == STRING
}

partners.offers.history.list

valid {
    input.Qs.entireCompany == BOOLEAN
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.requestMetadata.experimentIds == STRING
    input.Qs.requestMetadata.locale == STRING
    input.Qs.requestMetadata.partnersSessionId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSourceId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSubId == STRING
    input.Qs.requestMetadata.userOverrides.ipAddress == STRING
    input.Qs.requestMetadata.userOverrides.userId == STRING
    input.ProviderMetadata.Region == STRING
}

partners.offers.list

valid {
    input.Qs.requestMetadata.experimentIds == STRING
    input.Qs.requestMetadata.locale == STRING
    input.Qs.requestMetadata.partnersSessionId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSourceId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSubId == STRING
    input.Qs.requestMetadata.userOverrides.ipAddress == STRING
    input.Qs.requestMetadata.userOverrides.userId == STRING
    input.ProviderMetadata.Region == STRING
}

partners.updateCompanies

enum_CertificationExamStatusType := [ "CERTIFICATION_EXAM_TYPE_UNSPECIFIED", "CET_ADWORDS_FUNDAMENTALS", "CET_ADWORDS_ADVANCED_SEARCH", "CET_ADWORDS_ADVANCED_DISPLAY", "CET_VIDEO_ADS", "CET_DOUBLECLICK", "CET_ANALYTICS", "CET_SHOPPING", "CET_MOBILE", "CET_DIGITAL_SALES", "CET_MOBILE_SITES" ]
enum_CertificationStatusType := [ "CERTIFICATION_TYPE_UNSPECIFIED", "CT_ADWORDS", "CT_YOUTUBE", "CT_VIDEOADS", "CT_ANALYTICS", "CT_DOUBLECLICK", "CT_SHOPPING", "CT_MOBILE", "CT_DIGITAL_SALES", "CT_ADWORDS_SEARCH", "CT_ADWORDS_DISPLAY", "CT_MOBILE_SITES" ]
enum_CompanyBadgeTier := [ "BADGE_TIER_NONE", "BADGE_TIER_REGULAR", "BADGE_TIER_PREMIER" ]
enum_CompanyCompanyTypes := [ "COMPANY_TYPE_UNSPECIFIED", "FULL_SERVICE_AGENCY", "MEDIA_AGENCY", "CREATIVE_AGENCY", "CDIGITAL_AGENCY", "SEM_SEO", "PERFORMANCE_MARKETING", "ADVERTISING_TOOL_DEVELOPMENT", "PR", "SELF_MANAGED", "RESELLER" ]
enum_CompanyIndustries := [ "INDUSTRY_UNSPECIFIED", "I_AUTOMOTIVE", "I_BUSINESS_TO_BUSINESS", "I_CONSUMER_PACKAGED_GOODS", "I_EDUCATION", "I_FINANCE", "I_HEALTHCARE", "I_MEDIA_AND_ENTERTAINMENT", "I_RETAIL", "I_TECHNOLOGY", "I_TRAVEL" ]
enum_CompanyProfileStatus := [ "COMPANY_PROFILE_STATUS_UNSPECIFIED", "HIDDEN", "PUBLISHED", "SEARCHABLE" ]
enum_CompanyServices := [ "SERVICE_UNSPECIFIED", "S_ADVANCED_ADWORDS_SUPPORT", "S_ADVERTISING_ON_GOOGLE", "S_AN_ENHANCED_WEBSITE", "S_AN_ONLINE_MARKETING_PLAN", "S_MOBILE_AND_VIDEO_ADS", "S_MOBILE_WEBSITE_SERVICES" ]
enum_RankType := [ "RANK_TYPE_UNSPECIFIED", "RT_FINAL_SCORE" ]
enum_SpecializationStatusBadgeSpecialization := [ "BADGE_SPECIALIZATION_UNKNOWN", "BADGE_SPECIALIZATION_ADWORDS_SEARCH", "BADGE_SPECIALIZATION_ADWORDS_DISPLAY", "BADGE_SPECIALIZATION_ADWORDS_MOBILE", "BADGE_SPECIALIZATION_ADWORDS_VIDEO", "BADGE_SPECIALIZATION_ADWORDS_SHOPPING" ]
enum_SpecializationStatusBadgeSpecializationState := [ "BADGE_SPECIALIZATION_STATE_UNKNOWN", "BADGE_SPECIALIZATION_STATE_PASSED", "BADGE_SPECIALIZATION_STATE_NOT_PASSED", "BADGE_SPECIALIZATION_STATE_IN_GRACE" ]

valid {
    input.Body.additionalWebsites[_] == STRING
    input.Body.autoApprovalEmailDomains[_] == STRING
    input.Body.badgeAuthorityInAwn == BOOLEAN
    input.Body.badgeTier == enum_CompanyBadgeTier[_]
    input.Body.certificationStatuses[_].examStatuses[_].numberUsersPass == INTEGER
    input.Body.certificationStatuses[_].examStatuses[_].type == enum_CertificationExamStatusType[_]
    input.Body.certificationStatuses[_].isCertified == BOOLEAN
    input.Body.certificationStatuses[_].type == enum_CertificationStatusType[_]
    input.Body.certificationStatuses[_].userCount == INTEGER
    input.Body.companyTypes[_] == enum_CompanyCompanyTypes[_]
    input.Body.convertedMinMonthlyBudget.currencyCode == STRING
    input.Body.convertedMinMonthlyBudget.nanos == INTEGER
    input.Body.convertedMinMonthlyBudget.units == STRING
    input.Body.id == STRING
    input.Body.industries[_] == enum_CompanyIndustries[_]
    input.Body.localizedInfos[_].countryCodes[_] == STRING
    input.Body.localizedInfos[_].displayName == STRING
    input.Body.localizedInfos[_].languageCode == STRING
    input.Body.localizedInfos[_].overview == STRING
    input.Body.locations[_].address == STRING
    input.Body.locations[_].addressLine[_] == STRING
    input.Body.locations[_].administrativeArea == STRING
    input.Body.locations[_].dependentLocality == STRING
    input.Body.locations[_].languageCode == STRING
    input.Body.locations[_].latLng.latitude == NUMBER
    input.Body.locations[_].latLng.longitude == NUMBER
    input.Body.locations[_].locality == STRING
    input.Body.locations[_].postalCode == STRING
    input.Body.locations[_].regionCode == STRING
    input.Body.locations[_].sortingCode == STRING
    input.Body.name == STRING
    input.Body.originalMinMonthlyBudget.currencyCode == STRING
    input.Body.originalMinMonthlyBudget.nanos == INTEGER
    input.Body.originalMinMonthlyBudget.units == STRING
    input.Body.primaryAdwordsManagerAccountId == STRING
    input.Body.primaryLanguageCode == STRING
    input.Body.primaryLocation.address == STRING
    input.Body.primaryLocation.addressLine[_] == STRING
    input.Body.primaryLocation.administrativeArea == STRING
    input.Body.primaryLocation.dependentLocality == STRING
    input.Body.primaryLocation.languageCode == STRING
    input.Body.primaryLocation.latLng.latitude == NUMBER
    input.Body.primaryLocation.latLng.longitude == NUMBER
    input.Body.primaryLocation.locality == STRING
    input.Body.primaryLocation.postalCode == STRING
    input.Body.primaryLocation.regionCode == STRING
    input.Body.primaryLocation.sortingCode == STRING
    input.Body.profileStatus == enum_CompanyProfileStatus[_]
    input.Body.publicProfile.displayImageUrl == STRING
    input.Body.publicProfile.displayName == STRING
    input.Body.publicProfile.id == STRING
    input.Body.publicProfile.profileImage == STRING
    input.Body.publicProfile.url == STRING
    input.Body.ranks[_].type == enum_RankType[_]
    input.Body.ranks[_].value == NUMBER
    input.Body.services[_] == enum_CompanyServices[_]
    input.Body.specializationStatus[_].badgeSpecialization == enum_SpecializationStatusBadgeSpecialization[_]
    input.Body.specializationStatus[_].badgeSpecializationState == enum_SpecializationStatusBadgeSpecializationState[_]
    input.Body.websiteUrl == STRING
    input.Qs.requestMetadata.experimentIds == STRING
    input.Qs.requestMetadata.locale == STRING
    input.Qs.requestMetadata.partnersSessionId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSourceId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSubId == STRING
    input.Qs.requestMetadata.userOverrides.ipAddress == STRING
    input.Qs.requestMetadata.userOverrides.userId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

partners.updateLeads

enum_LeadGpsMotivations := [ "GPS_MOTIVATION_UNSPECIFIED", "GPSM_HELP_WITH_ADVERTISING", "GPSM_HELP_WITH_WEBSITE", "GPSM_NO_WEBSITE" ]
enum_LeadState := [ "LEAD_STATE_UNSPECIFIED", "LEAD", "CONTACTED", "CLIENT", "OTHER" ]
enum_LeadType := [ "LEAD_TYPE_UNSPECIFIED", "LT_GPS" ]

valid {
    input.Body.adwordsCustomerId == STRING
    input.Body.comments == STRING
    input.Body.createTime == STRING
    input.Body.email == STRING
    input.Body.familyName == STRING
    input.Body.givenName == STRING
    input.Body.gpsMotivations[_] == enum_LeadGpsMotivations[_]
    input.Body.id == STRING
    input.Body.languageCode == STRING
    input.Body.marketingOptIn == BOOLEAN
    input.Body.minMonthlyBudget.currencyCode == STRING
    input.Body.minMonthlyBudget.nanos == INTEGER
    input.Body.minMonthlyBudget.units == STRING
    input.Body.phoneNumber == STRING
    input.Body.state == enum_LeadState[_]
    input.Body.type == enum_LeadType[_]
    input.Body.websiteUrl == STRING
    input.Qs.requestMetadata.experimentIds == STRING
    input.Qs.requestMetadata.locale == STRING
    input.Qs.requestMetadata.partnersSessionId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSourceId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSubId == STRING
    input.Qs.requestMetadata.userOverrides.ipAddress == STRING
    input.Qs.requestMetadata.userOverrides.userId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

partners.userEvents.log

enum_EventDataKey := [ "EVENT_DATA_TYPE_UNSPECIFIED", "ACTION", "AGENCY_ID", "AGENCY_NAME", "AGENCY_PHONE_NUMBER", "AGENCY_WEBSITE", "BUDGET", "CENTER_POINT", "CERTIFICATION", "COMMENT", "COUNTRY", "CURRENCY", "CURRENTLY_VIEWED_AGENCY_ID", "DISTANCE", "DISTANCE_TYPE", "EXAM", "HISTORY_TOKEN", "ID", "INDUSTRY", "INSIGHT_TAG", "LANGUAGE", "LOCATION", "MARKETING_OPT_IN", "QUERY", "SEARCH_START_INDEX", "SERVICE", "SHOW_VOW", "SOLUTION", "TRAFFIC_SOURCE_ID", "TRAFFIC_SUB_ID", "VIEW_PORT", "WEBSITE", "DETAILS", "EXPERIMENT_ID", "GPS_MOTIVATION", "URL", "ELEMENT_FOCUS", "PROGRESS" ]
enum_LeadGpsMotivations := [ "GPS_MOTIVATION_UNSPECIFIED", "GPSM_HELP_WITH_ADVERTISING", "GPSM_HELP_WITH_WEBSITE", "GPSM_NO_WEBSITE" ]
enum_LeadState := [ "LEAD_STATE_UNSPECIFIED", "LEAD", "CONTACTED", "CLIENT", "OTHER" ]
enum_LeadType := [ "LEAD_TYPE_UNSPECIFIED", "LT_GPS" ]
enum_LogUserEventRequestEventAction := [ "EVENT_ACTION_UNSPECIFIED", "SMB_CLICKED_FIND_A_PARTNER_BUTTON_BOTTOM", "SMB_CLICKED_FIND_A_PARTNER_BUTTON_TOP", "AGENCY_CLICKED_JOIN_NOW_BUTTON_BOTTOM", "AGENCY_CLICKED_JOIN_NOW_BUTTON_TOP", "SMB_CANCELED_PARTNER_CONTACT_FORM", "SMB_CLICKED_CONTACT_A_PARTNER", "SMB_COMPLETED_PARTNER_CONTACT_FORM", "SMB_ENTERED_EMAIL_IN_CONTACT_PARTNER_FORM", "SMB_ENTERED_NAME_IN_CONTACT_PARTNER_FORM", "SMB_ENTERED_PHONE_IN_CONTACT_PARTNER_FORM", "SMB_FAILED_RECAPTCHA_IN_CONTACT_PARTNER_FORM", "PARTNER_VIEWED_BY_SMB", "SMB_CANCELED_PARTNER_CONTACT_FORM_ON_GPS", "SMB_CHANGED_A_SEARCH_PARAMETER_TOP", "SMB_CLICKED_CONTACT_A_PARTNER_ON_GPS", "SMB_CLICKED_SHOW_MORE_PARTNERS_BUTTON_BOTTOM", "SMB_COMPLETED_PARTNER_CONTACT_FORM_ON_GPS", "SMB_NO_PARTNERS_AVAILABLE_WITH_SEARCH_CRITERIA", "SMB_PERFORMED_SEARCH_ON_GPS", "SMB_VIEWED_A_PARTNER_ON_GPS", "SMB_CANCELED_PARTNER_CONTACT_FORM_ON_PROFILE_PAGE", "SMB_CLICKED_CONTACT_A_PARTNER_ON_PROFILE_PAGE", "SMB_CLICKED_PARTNER_WEBSITE", "SMB_COMPLETED_PARTNER_CONTACT_FORM_ON_PROFILE_PAGE", "SMB_VIEWED_A_PARTNER_PROFILE", "AGENCY_CLICKED_ACCEPT_TOS_BUTTON", "AGENCY_CHANGED_TOS_COUNTRY", "AGENCY_ADDED_ADDRESS_IN_MY_PROFILE_PORTAL", "AGENCY_ADDED_PHONE_NUMBER_IN_MY_PROFILE_PORTAL", "AGENCY_CHANGED_PRIMARY_ACCOUNT_ASSOCIATION", "AGENCY_CHANGED_PRIMARY_COUNTRY_ASSOCIATION", "AGENCY_CLICKED_AFFILIATE_BUTTON_IN_MY_PROFILE_IN_PORTAL", "AGENCY_CLICKED_GIVE_EDIT_ACCESS_IN_MY_PROFILE_PORTAL", "AGENCY_CLICKED_LOG_OUT_IN_MY_PROFILE_PORTAL", "AGENCY_CLICKED_MY_PROFILE_LEFT_NAV_IN_PORTAL", "AGENCY_CLICKED_SAVE_AND_CONTINUE_AT_BOT_OF_COMPLETE_PROFILE", "AGENCY_CLICKED_UNAFFILIATE_IN_MY_PROFILE_PORTAL", "AGENCY_FILLED_OUT_COMP_AFFILIATION_IN_MY_PROFILE_PORTAL", "AGENCY_SUCCESSFULLY_CONNECTED_WITH_COMPANY_IN_MY_PROFILE", "AGENCY_CLICKED_CREATE_MCC_IN_MY_PROFILE_PORTAL", "AGENCY_DIDNT_HAVE_AN_MCC_ASSOCIATED_ON_COMPLETE_PROFILE", "AGENCY_HAD_AN_MCC_ASSOCIATED_ON_COMPLETE_PROFILE", "AGENCY_ADDED_JOB_FUNCTION_IN_MY_PROFILE_PORTAL", "AGENCY_LOOKED_AT_JOB_FUNCTION_DROP_DOWN", "AGENCY_SELECTED_ACCOUNT_MANAGER_AS_JOB_FUNCTION", "AGENCY_SELECTED_ACCOUNT_PLANNER_AS_JOB_FUNCTION", "AGENCY_SELECTED_ANALYTICS_AS_JOB_FUNCTION", "AGENCY_SELECTED_CREATIVE_AS_JOB_FUNCTION", "AGENCY_SELECTED_MEDIA_BUYER_AS_JOB_FUNCTION", "AGENCY_SELECTED_MEDIA_PLANNER_AS_JOB_FUNCTION", "AGENCY_SELECTED_OTHER_AS_JOB_FUNCTION", "AGENCY_SELECTED_PRODUCTION_AS_JOB_FUNCTION", "AGENCY_SELECTED_SEO_AS_JOB_FUNCTION", "AGENCY_SELECTED_SALES_REP_AS_JOB_FUNCTION", "AGENCY_SELECTED_SEARCH_SPECIALIST_AS_JOB_FUNCTION", "AGENCY_ADDED_CHANNELS_IN_MY_PROFILE_PORTAL", "AGENCY_LOOKED_AT_ADD_CHANNEL_DROP_DOWN", "AGENCY_SELECTED_CROSS_CHANNEL_FROM_ADD_CHANNEL", "AGENCY_SELECTED_DISPLAY_FROM_ADD_CHANNEL", "AGENCY_SELECTED_MOBILE_FROM_ADD_CHANNEL", "AGENCY_SELECTED_SEARCH_FROM_ADD_CHANNEL", "AGENCY_SELECTED_SOCIAL_FROM_ADD_CHANNEL", "AGENCY_SELECTED_TOOLS_FROM_ADD_CHANNEL", "AGENCY_SELECTED_YOUTUBE_FROM_ADD_CHANNEL", "AGENCY_ADDED_INDUSTRIES_IN_MY_PROFILE_PORTAL", "AGENCY_CHANGED_ADD_INDUSTRIES_DROP_DOWN", "AGENCY_ADDED_MARKETS_IN_MY_PROFILE_PORTAL", "AGENCY_CHANGED_ADD_MARKETS_DROP_DOWN", "AGENCY_CHECKED_RECIEVE_MAIL_PROMOTIONS_MYPROFILE", "AGENCY_CHECKED_RECIEVE_MAIL_PROMOTIONS_SIGNUP", "AGENCY_SELECTED_OPT_IN_BETA_TESTS_AND_MKT_RESEARCH", "AGENCY_SELECTED_OPT_IN_BETA_TESTS_IN_MY_PROFILE_PORTAL", "AGENCY_SELECTED_OPT_IN_NEWS_IN_MY_PROFILE_PORTAL", "AGENCY_SELECTED_OPT_IN_NEWS_INVITATIONS_AND_PROMOS", "AGENCY_SELECTED_OPT_IN_PERFORMANCE_SUG_IN_MY_PROFILE_PORTAL", "AGENCY_SELECTED_OPT_IN_PERFORMANCE_SUGGESTIONS", "AGENCY_SELECTED_OPT_IN_SELECT_ALL_EMAIL_NOTIFICATIONS", "AGENCY_SELECTED_SELECT_ALL_OPT_INS_IN_MY_PROFILE_PORTAL", "AGENCY_CLICKED_BACK_BUTTON_ON_CONNECT_WITH_COMPANY", "AGENCY_CLICKED_CONTINUE_TO_OVERVIEW_ON_CONNECT_WITH_COMPANY", "AGECNY_CLICKED_CREATE_MCC_CONNECT_WITH_COMPANY_NOT_FOUND", "AGECNY_CLICKED_GIVE_EDIT_ACCESS_CONNECT_WITH_COMPANY_NOT_FOUND", "AGECNY_CLICKED_LOG_OUT_CONNECT_WITH_COMPANY_NOT_FOUND", "AGENCY_CLICKED_SKIP_FOR_NOW_ON_CONNECT_WITH_COMPANY_PAGE", "AGENCY_CLOSED_CONNECTED_TO_COMPANY_X_BUTTON_WRONG_COMPANY", "AGENCY_COMPLETED_FIELD_CONNECT_WITH_COMPANY", "AGECNY_FOUND_COMPANY_TO_CONNECT_WITH", "AGENCY_SUCCESSFULLY_CREATED_COMPANY", "AGENCY_ADDED_NEW_COMPANY_LOCATION", "AGENCY_CLICKED_COMMUNITY_JOIN_NOW_LINK_IN_PORTAL_NOTIFICATIONS", "AGENCY_CLICKED_CONNECT_TO_COMPANY_LINK_IN_PORTAL_NOTIFICATIONS", "AGENCY_CLICKED_GET_CERTIFIED_LINK_IN_PORTAL_NOTIFICATIONS", "AGENCY_CLICKED_GET_VIDEO_ADS_CERTIFIED_LINK_IN_PORTAL_NOTIFICATIONS", "AGENCY_CLICKED_LINK_TO_MCC_LINK_IN_PORTAL_NOTIFICATIONS", "AGENCY_CLICKED_INSIGHT_CONTENT_IN_PORTAL", "AGENCY_CLICKED_INSIGHTS_VIEW_NOW_PITCH_DECKS_IN_PORTAL", "AGENCY_CLICKED_INSIGHTS_LEFT_NAV_IN_PORTAL", "AGENCY_CLICKED_INSIGHTS_UPLOAD_CONTENT", "AGENCY_CLICKED_INSIGHTS_VIEWED_DEPRECATED", "AGENCY_CLICKED_COMMUNITY_LEFT_NAV_IN_PORTAL", "AGENCY_CLICKED_JOIN_COMMUNITY_BUTTON_COMMUNITY_PORTAL", "AGENCY_CLICKED_CERTIFICATIONS_LEFT_NAV_IN_PORTAL", "AGENCY_CLICKED_CERTIFICATIONS_PRODUCT_LEFT_NAV_IN_PORTAL", "AGENCY_CLICKED_PARTNER_STATUS_LEFT_NAV_IN_PORTAL", "AGENCY_CLICKED_PARTNER_STATUS_PRODUCT_LEFT_NAV_IN_PORTAL", "AGENCY_CLICKED_OFFERS_LEFT_NAV_IN_PORTAL", "AGENCY_CLICKED_SEND_BUTTON_ON_OFFERS_PAGE", "AGENCY_CLICKED_EXAM_DETAILS_ON_CERT_ADWORDS_PAGE", "AGENCY_CLICKED_SEE_EXAMS_CERTIFICATION_MAIN_PAGE", "AGENCY_CLICKED_TAKE_EXAM_ON_CERT_EXAM_PAGE", "AGENCY_OPENED_LAST_ADMIN_DIALOG", "AGENCY_OPENED_DIALOG_WITH_NO_USERS", "AGENCY_PROMOTED_USER_TO_ADMIN", "AGENCY_UNAFFILIATED", "AGENCY_CHANGED_ROLES", "SMB_CLICKED_COMPANY_NAME_LINK_TO_PROFILE", "SMB_VIEWED_ADWORDS_CERTIFICATE", "SMB_VIEWED_ADWORDS_SEARCH_CERTIFICATE", "SMB_VIEWED_ADWORDS_DISPLAY_CERTIFICATE", "SMB_CLICKED_ADWORDS_CERTIFICATE_HELP_ICON", "SMB_VIEWED_ANALYTICS_CERTIFICATE", "SMB_VIEWED_DOUBLECLICK_CERTIFICATE", "SMB_VIEWED_MOBILE_SITES_CERTIFICATE", "SMB_VIEWED_VIDEO_ADS_CERTIFICATE", "SMB_VIEWED_SHOPPING_CERTIFICATE", "SMB_CLICKED_VIDEO_ADS_CERTIFICATE_HELP_ICON", "SMB_VIEWED_DIGITAL_SALES_CERTIFICATE", "CLICKED_HELP_AT_BOTTOM", "CLICKED_HELP_AT_TOP", "CLIENT_ERROR", "AGENCY_CLICKED_LEFT_NAV_STORIES", "CLICKED", "SMB_VIEWED_MOBILE_CERTIFICATE", "AGENCY_FAILED_COMPANY_VERIFICATION", "VISITED_LANDING", "VISITED_GPS", "VISITED_AGENCY_PORTAL", "CANCELLED_INDIVIDUAL_SIGN_UP", "CANCELLED_COMPANY_SIGN_UP", "AGENCY_CLICKED_SIGN_IN_BUTTON_TOP", "AGENCY_CLICKED_SAVE_AND_CONTINUE_AT_BOT_OF_INCOMPLETE_PROFILE", "AGENCY_UNSELECTED_OPT_IN_NEWS_INVITATIONS_AND_PROMOS", "AGENCY_UNSELECTED_OPT_IN_BETA_TESTS_AND_MKT_RESEARCH", "AGENCY_UNSELECTED_OPT_IN_PERFORMANCE_SUGGESTIONS", "AGENCY_SELECTED_OPT_OUT_UNSELECT_ALL_EMAIL_NOTIFICATIONS", "AGENCY_LINKED_INDIVIDUAL_MCC", "AGENCY_SUGGESTED_TO_USER", "AGENCY_IGNORED_SUGGESTED_AGENCIES_AND_SEARCHED", "AGENCY_PICKED_SUGGESTED_AGENCY", "AGENCY_SEARCHED_FOR_AGENCIES", "AGENCY_PICKED_SEARCHED_AGENCY", "AGENCY_DISMISSED_AFFILIATION_WIDGET", "AGENCY_CLICKED_INSIGHTS_DOWNLOAD_CONTENT", "AGENCY_PROGRESS_INSIGHTS_VIEW_CONTENT", "AGENCY_CLICKED_CANCEL_ACCEPT_TOS_BUTTON", "SMB_ENTERED_WEBSITE_IN_CONTACT_PARTNER_FORM", "AGENCY_SELECTED_OPT_IN_AFA_MIGRATION", "AGENCY_SELECTED_OPT_OUT_AFA_MIGRATION" ]
enum_LogUserEventRequestEventCategory := [ "EVENT_CATEGORY_UNSPECIFIED", "GOOGLE_PARTNER_SEARCH", "GOOGLE_PARTNER_SIGNUP_FLOW", "GOOGLE_PARTNER_PORTAL", "GOOGLE_PARTNER_PORTAL_MY_PROFILE", "GOOGLE_PARTNER_PORTAL_CERTIFICATIONS", "GOOGLE_PARTNER_PORTAL_COMMUNITY", "GOOGLE_PARTNER_PORTAL_INSIGHTS", "GOOGLE_PARTNER_PORTAL_CLIENTS", "GOOGLE_PARTNER_PUBLIC_USER_PROFILE", "GOOGLE_PARTNER_PANEL", "GOOGLE_PARTNER_PORTAL_LAST_ADMIN_DIALOG", "GOOGLE_PARTNER_CLIENT", "GOOGLE_PARTNER_PORTAL_COMPANY_PROFILE", "EXTERNAL_LINKS", "GOOGLE_PARTNER_LANDING" ]
enum_LogUserEventRequestEventScope := [ "EVENT_SCOPE_UNSPECIFIED", "VISITOR", "SESSION", "PAGE" ]

valid {
    input.Body.eventAction == enum_LogUserEventRequestEventAction[_]
    input.Body.eventCategory == enum_LogUserEventRequestEventCategory[_]
    input.Body.eventDatas[_].key == enum_EventDataKey[_]
    input.Body.eventDatas[_].values[_] == STRING
    input.Body.eventScope == enum_LogUserEventRequestEventScope[_]
    input.Body.lead.adwordsCustomerId == STRING
    input.Body.lead.comments == STRING
    input.Body.lead.createTime == STRING
    input.Body.lead.email == STRING
    input.Body.lead.familyName == STRING
    input.Body.lead.givenName == STRING
    input.Body.lead.gpsMotivations[_] == enum_LeadGpsMotivations[_]
    input.Body.lead.id == STRING
    input.Body.lead.languageCode == STRING
    input.Body.lead.marketingOptIn == BOOLEAN
    input.Body.lead.minMonthlyBudget.currencyCode == STRING
    input.Body.lead.minMonthlyBudget.nanos == INTEGER
    input.Body.lead.minMonthlyBudget.units == STRING
    input.Body.lead.phoneNumber == STRING
    input.Body.lead.state == enum_LeadState[_]
    input.Body.lead.type == enum_LeadType[_]
    input.Body.lead.websiteUrl == STRING
    input.Body.requestMetadata.experimentIds[_] == STRING
    input.Body.requestMetadata.locale == STRING
    input.Body.requestMetadata.partnersSessionId == STRING
    input.Body.requestMetadata.trafficSource.trafficSourceId == STRING
    input.Body.requestMetadata.trafficSource.trafficSubId == STRING
    input.Body.requestMetadata.userOverrides.ipAddress == STRING
    input.Body.requestMetadata.userOverrides.userId == STRING
    input.Body.url == STRING
    input.ProviderMetadata.Region == STRING
}

partners.userStates.list

valid {
    input.Qs.requestMetadata.experimentIds == STRING
    input.Qs.requestMetadata.locale == STRING
    input.Qs.requestMetadata.partnersSessionId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSourceId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSubId == STRING
    input.Qs.requestMetadata.userOverrides.ipAddress == STRING
    input.Qs.requestMetadata.userOverrides.userId == STRING
    input.ProviderMetadata.Region == STRING
}

partners.users.createCompanyRelation

enum_CompanyRelationBadgeTier := [ "BADGE_TIER_NONE", "BADGE_TIER_REGULAR", "BADGE_TIER_PREMIER" ]
enum_CompanyRelationSegment := [ "COMPANY_SEGMENT_UNKNOWN", "COMPANY_SEGMENT_NAL", "COMPANY_SEGMENT_PSP", "COMPANY_SEGMENT_PPSP" ]
enum_CompanyRelationState := [ "USER_COMPANY_REATION_STATE_NONE_SPECIFIED", "USER_COMPANY_RELATION_STATE_AWAIT_EMAIL", "USER_COMPANY_RELATION_STATE_AWAIT_ADMIN", "USER_COMPANY_RELATION_STATE_APPROVED" ]
enum_SpecializationStatusBadgeSpecialization := [ "BADGE_SPECIALIZATION_UNKNOWN", "BADGE_SPECIALIZATION_ADWORDS_SEARCH", "BADGE_SPECIALIZATION_ADWORDS_DISPLAY", "BADGE_SPECIALIZATION_ADWORDS_MOBILE", "BADGE_SPECIALIZATION_ADWORDS_VIDEO", "BADGE_SPECIALIZATION_ADWORDS_SHOPPING" ]
enum_SpecializationStatusBadgeSpecializationState := [ "BADGE_SPECIALIZATION_STATE_UNKNOWN", "BADGE_SPECIALIZATION_STATE_PASSED", "BADGE_SPECIALIZATION_STATE_NOT_PASSED", "BADGE_SPECIALIZATION_STATE_IN_GRACE" ]

valid {
    input.Body.address == STRING
    input.Body.badgeTier == enum_CompanyRelationBadgeTier[_]
    input.Body.companyAdmin == BOOLEAN
    input.Body.companyId == STRING
    input.Body.creationTime == STRING
    input.Body.internalCompanyId == STRING
    input.Body.isPending == BOOLEAN
    input.Body.logoUrl == STRING
    input.Body.managerAccount == STRING
    input.Body.name == STRING
    input.Body.phoneNumber == STRING
    input.Body.primaryAddress.address == STRING
    input.Body.primaryAddress.addressLine[_] == STRING
    input.Body.primaryAddress.administrativeArea == STRING
    input.Body.primaryAddress.dependentLocality == STRING
    input.Body.primaryAddress.languageCode == STRING
    input.Body.primaryAddress.latLng.latitude == NUMBER
    input.Body.primaryAddress.latLng.longitude == NUMBER
    input.Body.primaryAddress.locality == STRING
    input.Body.primaryAddress.postalCode == STRING
    input.Body.primaryAddress.regionCode == STRING
    input.Body.primaryAddress.sortingCode == STRING
    input.Body.primaryCountryCode == STRING
    input.Body.primaryLanguageCode == STRING
    input.Body.resolvedTimestamp == STRING
    input.Body.segment[_] == enum_CompanyRelationSegment[_]
    input.Body.specializationStatus[_].badgeSpecialization == enum_SpecializationStatusBadgeSpecialization[_]
    input.Body.specializationStatus[_].badgeSpecializationState == enum_SpecializationStatusBadgeSpecializationState[_]
    input.Body.state == enum_CompanyRelationState[_]
    input.Body.website == STRING
    input.ReqMap.userId == STRING
    input.Qs.requestMetadata.experimentIds == STRING
    input.Qs.requestMetadata.locale == STRING
    input.Qs.requestMetadata.partnersSessionId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSourceId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSubId == STRING
    input.Qs.requestMetadata.userOverrides.ipAddress == STRING
    input.Qs.requestMetadata.userOverrides.userId == STRING
    input.ProviderMetadata.Region == STRING
}

partners.users.deleteCompanyRelation

valid {
    input.ReqMap.userId == STRING
    input.Qs.requestMetadata.experimentIds == STRING
    input.Qs.requestMetadata.locale == STRING
    input.Qs.requestMetadata.partnersSessionId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSourceId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSubId == STRING
    input.Qs.requestMetadata.userOverrides.ipAddress == STRING
    input.Qs.requestMetadata.userOverrides.userId == STRING
    input.ProviderMetadata.Region == STRING
}

partners.users.get

enum_UserViewParameter := [ "BASIC", "PROFILE", "PUBLIC_PROFILE" ]

valid {
    input.ReqMap.userId == STRING
    input.Qs.requestMetadata.experimentIds == STRING
    input.Qs.requestMetadata.locale == STRING
    input.Qs.requestMetadata.partnersSessionId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSourceId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSubId == STRING
    input.Qs.requestMetadata.userOverrides.ipAddress == STRING
    input.Qs.requestMetadata.userOverrides.userId == STRING
    input.Qs.userView == enum_UserViewParameter[_]
    input.ProviderMetadata.Region == STRING
}

partners.users.updateProfile

valid {
    input.Body.address.address == STRING
    input.Body.address.addressLine[_] == STRING
    input.Body.address.administrativeArea == STRING
    input.Body.address.dependentLocality == STRING
    input.Body.address.languageCode == STRING
    input.Body.address.latLng.latitude == NUMBER
    input.Body.address.latLng.longitude == NUMBER
    input.Body.address.locality == STRING
    input.Body.address.postalCode == STRING
    input.Body.address.regionCode == STRING
    input.Body.address.sortingCode == STRING
    input.Body.adwordsManagerAccount == STRING
    input.Body.channels[_] == STRING
    input.Body.emailAddress == STRING
    input.Body.emailOptIns.marketComm == BOOLEAN
    input.Body.emailOptIns.performanceSuggestions == BOOLEAN
    input.Body.emailOptIns.phoneContact == BOOLEAN
    input.Body.emailOptIns.physicalMail == BOOLEAN
    input.Body.emailOptIns.specialOffers == BOOLEAN
    input.Body.familyName == STRING
    input.Body.givenName == STRING
    input.Body.industries[_] == STRING
    input.Body.jobFunctions[_] == STRING
    input.Body.languages[_] == STRING
    input.Body.markets[_] == STRING
    input.Body.migrateToAfa == BOOLEAN
    input.Body.phoneNumber == STRING
    input.Body.primaryCountryCode == STRING
    input.Body.profilePublic == BOOLEAN
    input.Qs.requestMetadata.experimentIds == STRING
    input.Qs.requestMetadata.locale == STRING
    input.Qs.requestMetadata.partnersSessionId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSourceId == STRING
    input.Qs.requestMetadata.trafficSource.trafficSubId == STRING
    input.Qs.requestMetadata.userOverrides.ipAddress == STRING
    input.Qs.requestMetadata.userOverrides.userId == STRING
    input.ProviderMetadata.Region == STRING
}