API Reference · Lookup
Location Search
Search and normalize AON Location Registry ids for location pickers and Offer-side geographic targeting without treating lookup results as Query v1.0 viewer inputs.
Reference provenance and Query boundary
All three public Location operations on this page are implemented by the current runtime. They are documented here as a docs-curated runtime reference because the checked-in service OpenAPI does not yet include /v1/locations/*. That OpenAPI gap does not change their public runtime availability.
Use the results for registry lookup, normalization, verified ancestry, location pickers, or authoring Offer-side geographic targeting. Current Query v1.0 does not define a viewer-location input and rejects undeclared fields such as context.user_profile.location_ids.
Operations
/v1/locations/searchPublicCatalog selector, search text, and catalog-specific constraints.
catalogstringCatalog representation. Omit it or use LEGACY for the compatible three-level registry; use FULL to search every ACTIVE Google Geo Target record.
example: FULLdefault: LEGACYAllowed valuesLEGACYFULLqstringCase-insensitive search text. For FULL it matches name, canonical_name, location_id, and country code and is required unless parent_location_id is supplied; LEGACY also supports aliases and top-level levels=COUNTRY browsing.
example: Californiaparent_location_idstringNumeric parent id used for direct-child browsing. FULL restricts results to the exact verified canonical parent; LEGACY supports the Country -> Region -> City cascade.
example: 2840pattern: ^[0-9]+$countrystringOptional uppercase ISO 3166-1 alpha-2 country code used to narrow results.
example: USpattern: ^[A-Z]{2}$target_typesstring[]FULL only. Comma-separated exact raw Google Geo Target types, such as Postal Code, Neighborhood, Ward, or City; this is not a normalized AON level filter.
example: Postal Code,Neighborhoodsubdivision_codestringLEGACY only. Optional first-level subdivision lookup code, such as ISO 3166-2 `US-CA`, CLDR `USCA`, or provider short code `CA` when country is supplied. FULL rejects this parameter.
example: US-CAsubdivision_code_typestringLEGACY only. How to interpret subdivision_code. AUTO detects supported ISO 3166-2, CLDR, or country-scoped provider short forms; FULL rejects this parameter.
example: AUTOdefault: AUTOAllowed valuesAUTOISO_3166_2CLDRPROVIDER_SHORTlevelsstring[]LEGACY only. Optional comma-separated subset of COUNTRY, REGION, and CITY; FULL rejects this parameter because target_types preserves the raw source type.
example: REGION,CITYAllowed valuesCOUNTRYREGIONCITYlimitintegerMaximum results to return. Default is 20 and maximum is 50.
example: 20minimum: 1maximum: 50cursorstringFULL only. Opaque continuation cursor returned in data.next_cursor; reuse it only with the same FULL query constraints.
example: opaque-continuation-cursorlocalestringReserved for future localized names. v0.1 results use registry names.
example: enReturns matching locations in the standard success envelope; data.catalog discriminates the FULL response from the unchanged LEGACY shape.
codestringPlatform status code for the request.
example: SUCCESSAllowed valuesSUCCESSmessagestringHuman-readable status message. Empty string on normal success.
objectCatalog-aware Location Search results. Omitted catalog keeps the compatible LEGACY response shape; catalog=FULL returns the full active catalog shape.
6 nested fieldscatalogstringFULL only. Always FULL; absent from the LEGACY response shape.
example: FULLAllowed valuesFULLcatalog_versionstringFULL only. Full catalog version; absent from the LEGACY response shape.
example: v1registry_versionstringLEGACY only. AON Location Registry version; absent from the FULL response shape.
example: v1source_file_datestringPinned Google Geo Targets source file date for the selected catalog.
example: 2026-05-28format: dateobject[]Matching LEGACY registry locations or ACTIVE FULL catalog records.
14 nested fieldslocation_idstringNumeric-string location id aligned to Google Geo Target Criteria ID.
example: 21137pattern: ^[0-9]+$namestringShort display name.
example: 522410canonical_namestringProvider canonical location name.
example: California,United Statescountry_codestringUppercase ISO 3166-1 alpha-2 country code.
example: INpattern: ^[A-Z]{2}$target_typestringExact raw Google Geo Target type. FULL never normalizes this field to COUNTRY, REGION, or CITY.
example: Postal CodelevelstringLEGACY only. AON-normalized supported location level; FULL never returns level.
example: REGIONAllowed valuesCOUNTRYREGIONCITYsource_parent_location_idstring | nullFULL only. Raw Parent ID from the source CSV.
example: 20453parent_location_idstring | nullLEGACY uses the immediate registry parent; FULL uses only a verified ACTIVE source-parent edge and is null when no parent relation can be verified.
example: 2840object[]Root-to-self path. FULL includes only verified parent relations and never invents missing hierarchy segments.
8 nested fieldslocation_idstringPath node numeric location id.
example: 20453namestringPath node display name.
example: Andhra Pradeshcanonical_namestringFULL only. Path node canonical name.
example: Andhra Pradesh,Indiacountry_codestringFULL only. Path node uppercase ISO 3166-1 alpha-2 country code.
example: INtarget_typestringFULL only. Path node raw Google Geo Target type.
example: StatelevelstringLEGACY only. Path node normalized AON location level.
example: REGIONAllowed valuesCOUNTRYREGIONCITYhierarchy_precisionintegerFULL only. One-based verified depth for this path node.
example: 2minimum: 1legacy_levelstringFULL only. Optional compatible COUNTRY, REGION, or CITY label without relabeling the raw type.
example: REGIONAllowed valuesCOUNTRYREGIONCITYhierarchy_precisionintegerFULL only. One-based verified hierarchy depth used for safe targeting evaluation.
example: 3minimum: 1legacy_levelstringFULL only. Optional compatible COUNTRY, REGION, or CITY label; FULL never returns level.
example: REGIONAllowed valuesCOUNTRYREGIONCITYchain_statusstringFULL only. COMPLETE or UNRESOLVED_SOURCE_PARENT.
example: COMPLETEAllowed valuesCOMPLETEUNRESOLVED_SOURCE_PARENTunresolved_source_parent_location_idstringFULL only. Raw source parent id that could not be resolved; it is never added to path or location_ids.
example: 2364objectLEGACY only. Optional lookup aliases for supported external location code systems. Matching still uses AON location_id values.
3 nested fieldsexample: { "iso_3166_2": "US-CA", "cldr_subdivision": "USCA", "provider_short": "CA" }iso_3166_2stringISO 3166-2 subdivision code mapped to this location when available.
example: US-CApattern: ^[A-Z]{2}-[A-Z0-9]{1,3}$cldr_subdivisionstringUnicode CLDR subdivision id mapped to this location when available.
example: USCApattern: ^[A-Z]{2}[A-Z0-9]{1,3}$provider_shortstringCountry-scoped provider short subdivision code when available.
example: CAnext_cursorstringFULL only. Opaque continuation cursor; absent on the final page.
example: opaque-continuation-cursorextraobjectOptional metadata bag for warnings, pagination, or future expansion.
example: {}Behavior, compatibility, and source notes
Runtime API for selecting registry ids for location pickers, migration, normalization, and Offer-side geographic targeting authoring. Omit catalog for the compatible three-level LEGACY registry, or use catalog=FULL to search every ACTIVE Google Geo Target record.
- This route is a lookup companion to the static registry, not a caller-side offer search filter.
- Omit catalog or use LEGACY to preserve the existing Country -> Region -> City selector behavior and response shape.
- Use catalog=FULL with target_types to search raw types such as Postal Code, Neighborhood, or Ward; FULL rejects levels and subdivision-code filters.
- FULL path and hierarchy_precision expose only verified source-parent relations, so unresolved parents are visible rather than inferred.
/v1/locations/resolvePublicCatalog selector plus a LEGACY external signal or a FULL direct location_id.
location_idstringFULL only and required in FULL mode. Numeric active full-catalog location id selected from FULL search; FULL resolve rejects legacy normalization parameters.
example: 9304101pattern: ^[0-9]+$catalogstringCatalog representation. Omit it or use LEGACY to normalize external location signals; use FULL for a direct active location_id lookup.
example: FULLdefault: LEGACYAllowed valuesLEGACYFULLcountrystringLEGACY only. Optional ISO 3166-1 alpha-2 country code, required when resolving provider short subdivision codes such as `CA`. FULL rejects this parameter.
example: USpattern: ^[A-Z]{2}$subdivision_codestringLEGACY only. External first-level subdivision code to normalize before writing AON location_id values. FULL rejects this parameter.
example: US-CAsubdivision_code_typestringLEGACY only. Code family for subdivision_code. AUTO detects supported ISO 3166-2, CLDR, or provider short forms; FULL rejects this parameter.
example: ISO_3166_2default: AUTOAllowed valuesAUTOISO_3166_2CLDRPROVIDER_SHORTcitystringLEGACY only. Optional city text matched under the resolved country or subdivision. Partial city names are supported; FULL rejects this parameter.
example: San FranciscolimitintegerLEGACY only. Maximum candidates to return. Default is 10 and maximum is 50; FULL resolve returns the direct selected id and rejects this parameter.
example: 10minimum: 1maximum: 50Returns the resolved location, candidate locations, and the self-to-root location_ids chain for the selected catalog.
codestringPlatform status code for the request.
example: SUCCESSAllowed valuesSUCCESSmessagestringHuman-readable status message. Empty string on normal success.
objectResolved location and self-to-root registry ancestry for the selected catalog.
8 nested fieldscatalogstringFULL only. Always FULL; absent from the LEGACY response shape.
example: FULLAllowed valuesFULLcatalog_versionstringFULL only. Full catalog version; absent from the LEGACY response shape.
example: v1registry_versionstringLEGACY only. AON Location Registry version; absent from the FULL response shape.
example: v1source_file_datestringPinned Google Geo Targets source file date for the selected catalog.
example: 2026-05-28format: dateobjectFULL returns the direct active location_id. LEGACY returns the best normalized location; unsupported input returns an error envelope rather than a null success.
14 nested fieldslocation_idstringNumeric-string location id aligned to Google Geo Target Criteria ID.
example: 9304101pattern: ^[0-9]+$namestringShort display name.
example: 522410canonical_namestringProvider canonical location name.
example: 522410,Andhra Pradesh,Indiacountry_codestringUppercase ISO 3166-1 alpha-2 country code.
example: INpattern: ^[A-Z]{2}$target_typestringExact raw Google Geo Target type. FULL never normalizes this field to COUNTRY, REGION, or CITY.
example: Postal CodelevelstringLEGACY only. AON-normalized supported location level; FULL never returns level.
example: REGIONAllowed valuesCOUNTRYREGIONCITYsource_parent_location_idstring | nullFULL only. Raw Parent ID from the source CSV.
example: 20453parent_location_idstring | nullLEGACY uses the immediate registry parent; FULL uses only a verified ACTIVE source-parent edge.
example: 20453hierarchy_precisionintegerFULL only. One-based verified hierarchy depth used for safe targeting evaluation.
example: 3minimum: 1legacy_levelstringFULL only. Optional compatible COUNTRY, REGION, or CITY label; FULL never returns level.
example: REGIONAllowed valuesCOUNTRYREGIONCITYchain_statusstringFULL only. COMPLETE or UNRESOLVED_SOURCE_PARENT.
example: COMPLETEAllowed valuesCOMPLETEUNRESOLVED_SOURCE_PARENTunresolved_source_parent_location_idstringFULL only. Raw source parent id that could not be resolved.
example: 2364path[]object[]Root-to-self path. FULL includes only verified parent relations and never invents missing hierarchy segments.
objectLEGACY only. Lookup aliases mapped to this location when available.
3 nested fieldsexample: { "iso_3166_2": "US-CA", "cldr_subdivision": "USCA", "provider_short": "CA" }iso_3166_2stringISO 3166-2 subdivision code mapped to this location when available.
example: US-CApattern: ^[A-Z]{2}-[A-Z0-9]{1,3}$cldr_subdivisionstringUnicode CLDR subdivision id mapped to this location when available.
example: USCApattern: ^[A-Z]{2}[A-Z0-9]{1,3}$provider_shortstringCountry-scoped provider short subdivision code when available.
example: CApath[]object[]Same root-to-self path as data.location.path.
location_ids[]string[]Self-to-root registry ancestry ids for persistence and Offer-side targeting authoring. This response field is not a Query v1.0 viewer input.
example: 21137pattern: ^[0-9]+$candidates[]object[]LEGACY candidate locations after applying normalized constraints. FULL returns an empty array after direct active-id resolution.
extraobjectOptional metadata bag for warnings, pagination, or future expansion.
example: {}Behavior, compatibility, and source notes
Runtime API for normalizing external location signals in LEGACY mode or resolving an active FULL catalog location_id with its verified registry ancestry.
- Use LEGACY when an integration has external subdivision codes or edge location headers.
- Use catalog=FULL with location_id selected by FULL search; FULL rejects legacy normalization parameters and returns an empty candidates array.
- The response location_ids array is a self-to-root registry ancestry chain; current Query v1.0 does not accept it as viewer context.
- External codes are LEGACY lookup aliases only and are not Offer or Query matching keys.
/v1/locations/{location_id}PublicLegacy Registry v1 id or active FULL catalog id to resolve.
location_idstringNumeric-string location id. LEGACY accepts Registry v1 ids; FULL accepts any ACTIVE full-catalog Google Criteria ID.
example: 9304101pattern: ^[0-9]+$Catalog selector for the exact-id lookup.
catalogstringCatalog representation. Omit it or use LEGACY for Registry v1; use FULL for any ACTIVE full-catalog location id.
example: FULLdefault: LEGACYAllowed valuesLEGACYFULLReturns one location object and the self-to-root location_ids chain for the selected catalog.
codestringPlatform status code for the request.
example: SUCCESSAllowed valuesSUCCESSmessagestringHuman-readable status message. Empty string on normal success.
objectExact location lookup result and self-to-root registry ancestry for the selected catalog.
7 nested fieldscatalogstringFULL only. Always FULL; absent from the LEGACY response shape.
example: FULLAllowed valuesFULLcatalog_versionstringFULL only. Full catalog version; absent from the LEGACY response shape.
example: v1registry_versionstringLEGACY only. AON Location Registry version; absent from the FULL response shape.
example: v1source_file_datestringPinned Google Geo Targets source file date for the selected catalog.
example: 2026-05-28format: dateobjectSingle Location Search result object.
13 nested fieldslocation_idstringNumeric-string location id aligned to Google Geo Target Criteria ID.
example: 9304101pattern: ^[0-9]+$namestringShort display name.
example: 522410canonical_namestringProvider canonical location name.
example: 522410,Andhra Pradesh,Indiacountry_codestringUppercase ISO 3166-1 alpha-2 country code.
example: INpattern: ^[A-Z]{2}$target_typestringExact raw Google Geo Target type. FULL never normalizes this field to COUNTRY, REGION, or CITY.
example: Postal CodelevelstringLEGACY only. AON-normalized supported location level; FULL never returns level.
example: CITYAllowed valuesCOUNTRYREGIONCITYsource_parent_location_idstring | nullFULL only. Raw Parent ID from the source CSV.
example: 20453parent_location_idstring | nullLEGACY uses the immediate registry parent; FULL uses only a verified ACTIVE source-parent edge.
example: 20453hierarchy_precisionintegerFULL only. One-based verified hierarchy depth used for safe targeting evaluation.
example: 3minimum: 1legacy_levelstringFULL only. Optional compatible COUNTRY, REGION, or CITY label; FULL never returns level.
example: REGIONAllowed valuesCOUNTRYREGIONCITYchain_statusstringFULL only. COMPLETE or UNRESOLVED_SOURCE_PARENT.
example: COMPLETEAllowed valuesCOMPLETEUNRESOLVED_SOURCE_PARENTunresolved_source_parent_location_idstringFULL only. Raw source parent id that could not be resolved.
example: 2364path[]object[]Root-to-self path. FULL includes only verified parent relations and never invents missing hierarchy segments.
path[]object[]Same root-to-self path as data.location.path.
location_ids[]string[]Self-to-root registry ancestry ids for persistence and Offer-side targeting authoring. This response field is not a Query v1.0 viewer input.
example: 1014221pattern: ^[0-9]+$extraobjectOptional metadata bag for warnings, pagination, or future expansion.
example: {}Behavior, compatibility, and source notes
Runtime API for exact id lookup and self-to-root registry ancestry construction in the selected catalog.
- Use the returned data.location_ids array for persistence, display, or authoring Offer-side geographic targeting; current Query v1.0 does not accept it as viewer context.
- Omit catalog or use LEGACY for Registry v1; use catalog=FULL for any ACTIVE full-catalog location id.
- FULL derives the chain only from verified source-parent relations and preserves unresolved source parents in location metadata.
Implementation checklist · 3 items
- Use the static registry as the source of truth for supported ids.
- Store numeric-string location_id values rather than display names.
- Treat returned location_ids chains as registry ancestry; current Query v1.0 does not expose a viewer-location field.