import {z} from 'zod' export type EnrichmentV2DatasetKeys = {global_address_key: string}; export type EnrichmentV2AttributesGeocode = 'latitude' | 'longitude' | 'match_level'; export type EnrichmentV2AttributesUsaRegionalGeocodes = 'latitude' | 'longitude' | 'match_level' | 'census_tract' | 'census_block' | 'core_based_statistical_area' | 'congressional_district_code' | 'county_code'; export type EnrichmentV2AttributesAusRegionalGeocodes = 'latitude' | 'longitude' | 'match_level' | 'sa1' | 'meshblock' | 'lga_code' | 'lga_name' | 'street_pid' | 'locality_pid' | 'geocode_level_code' | 'geocode_level_description' | 'geocode_type_code' | 'geocode_type_description' | 'highest_level_longitude' | 'highest_level_latitude' | 'highest_level_elevation' | 'highest_level_planimetric_accuracy' | 'highest_level_boundary_extent' | 'highest_level_geocode_reliability_code' | 'highest_level_geocode_reliability_description' | 'confidence_level_code' | 'confidence_level_description' | '2021_meshblock_id' | '2021_meshblock_code' | '2021_meshblock_match_code' | '2021_meshblock_match_description' | '2016_meshblock_id' | '2016_meshblock_code' | '2016_meshblock_match_code' | '2016_meshblock_match_description' | 'address_type_code' | 'primary_address_pid' | 'address_join_type' | 'collector_district_id' | 'collector_district_code' | 'commonwealth_electoral_boundary_id' | 'commonwealth_electoral_boundary_name' | 'statistical_local_area_id' | 'statistical_local_area_code' | 'statistical_local_area_name' | 'state_electoral_boundary_id' | 'state_electoral_boundary_name' | 'state_electoral_effective_start' | 'state_electoral_effective_end' | 'state_electoral_new_pid' | 'state_electoral_new_name' | 'state_electoral_new_effective_start' | 'state_electoral_new_effective_end' | 'address_level_longitude' | 'address_level_latitude' | 'address_level_elevation' | 'address_level_planimetric_accuracy' | 'address_level_boundary_extent' | 'address_level_geocode_reliability_code' | 'address_level_geocode_reliability_description' | 'street_level_longitude' | 'street_level_latitude' | 'street_level_planimetric_accuracy' | 'street_level_boundary_extent' | 'street_level_geocode_reliability_code' | 'street_level_geocode_reliability_description' | 'locality_level_longitude' | 'locality_level_latitude' | 'locality_level_planimetric_accuracy' | 'locality_level_geocode_reliability_code' | 'locality_level_geocode_reliability_description' | 'gnaf_legal_parcel_identifier' | 'locality_class_code'; export type EnrichmentV2AttributesNzlRegionalGeocodes = 'front_of_property_nztm_x_coordinate' | 'front_of_property_nztm_y_coordinate' | 'centroid_of_property_nztm_x_coordinate' | 'centroid_of_property_nztm_y_coordinate' | 'linz_parcel_id' | 'property_purpose_type' | 'addressable' | 'mesh_block_code' | 'territorial_authority_code' | 'territorial_authority_name' | 'regional_council_code' | 'regional_council_name' | 'general_electorate_code' | 'general_electorate_name' | 'maori_electorate_code' | 'maori_electorate_name' | 'front_of_property_latitude' | 'front_of_property_longitude' | 'centroid_of_property_latitude' | 'centroid_of_property_longitude' | 'match_level'; export type EnrichmentV2AttributesUkLocationComplete = 'latitude' | 'longitude' | 'match_level' | 'udprn' | 'uprn' | 'x_coordinate' | 'y_coordinate'; export type EnrichmentV2AttributesUkLocationEssential = 'latitude' | 'longitude' | 'match_level' | 'udprn' | 'uprn' | 'x_coordinate' | 'y_coordinate'; export type EnrichmentV2AttributesGbrGovernment = 'eer_code' | 'eer_code_pre_2011' | 'eer_name' | 'gor_code' | 'gor_code_pre_2011' | 'gor_name' | 'lea_code' | 'lea_name' | 'la_code' | 'la_code_pre_2011' | 'la_name' | 'ward_code' | 'ward_code_pre_2011' | 'ward_name' | 'cens_out_area'; export type EnrichmentV2AttributesGbrHealth = 'authority_code' | 'authority_code_2011' | 'authority_name' | 'pclh_code' | 'pclh_code_2011' | 'pclh_name' | 'ward_code' | 'ward_code_2011' | 'ward_name' | 'ccg_code' | 'ccg_name' | 'doh_code'; export type EnrichmentV2AttributesPremiumLocationInsight = 'geocodes' | 'geocodes_building_xy' | 'geocodes_access' | 'time'; export type EnrichmentV2AttributesWhat3Words = 'latitude' | 'longitude' | 'name' | 'description'; export type EnrichmentV2DatasetAttributes = {geocodes?: (Array | null) | undefined, usa_regional_geocodes?: (Array | null) | undefined, aus_regional_geocodes?: (Array | null) | undefined, nzl_regional_geocodes?: (Array | null) | undefined, uk_location_complete?: (Array | null) | undefined, uk_location_essential?: (Array | null) | undefined, gbr_government?: (Array | null) | undefined, gbr_health?: (Array | null) | undefined, premium_location_insight?: (Array | null) | undefined, what3words?: (Array | null) | undefined}; export type EnrichmentV2Request = {country_iso?: (string | null) | undefined, keys: EnrichmentV2DatasetKeys, attributes: EnrichmentV2DatasetAttributes}; export type CreateApiEnrichmentV2Args = {'Add-Metadata'?: boolean | undefined, 'Reference-Id'?: string | undefined, 'Timeout-Seconds'?: number | undefined, body: EnrichmentV2Request}; export type CreateApiEnrichmentV2Options = {baseUrl?: string | undefined, OAuth2?: string | undefined, fetch?: typeof fetch | undefined}; export const responseError = z.object({type: z.string().nullable().optional(), title: z.string().nullable().optional(), detail: z.string().nullable().optional(), instance: z.string().nullable().optional()}); export const enrichmentV2DatasetGeocodes = z.object({latitude: z.number().nullable().optional(), longitude: z.number().nullable().optional(), match_level: z.string().nullable().optional()}); export const enrichmentV2DatasetUsaRegionalGeocodes = z.object({latitude: z.number().nullable().optional(), longitude: z.number().nullable().optional(), match_level: z.string().nullable().optional(), census_tract: z.string().nullable().optional(), census_block: z.string().nullable().optional(), core_based_statistical_area: z.string().nullable().optional(), congressional_district_code: z.string().nullable().optional(), county_code: z.string().nullable().optional()}); export const enrichmentV2DatasetAusRegionalGeocodes = z.object({latitude: z.number().nullable().optional(), longitude: z.number().nullable().optional(), match_level: z.string().nullable().optional(), sa1: z.string().nullable().optional(), meshblock: z.string().nullable().optional(), lga_code: z.string().nullable().optional(), lga_name: z.string().nullable().optional(), street_pid: z.string().nullable().optional(), locality_pid: z.string().nullable().optional(), geocode_level_code: z.string().nullable().optional(), geocode_level_description: z.string().nullable().optional(), geocode_type_code: z.string().nullable().optional(), geocode_type_description: z.string().nullable().optional(), highest_level_longitude: z.number().nullable().optional(), highest_level_latitude: z.number().nullable().optional(), highest_level_elevation: z.string().nullable().optional(), highest_level_planimetric_accuracy: z.string().nullable().optional(), highest_level_boundary_extent: z.string().nullable().optional(), highest_level_geocode_reliability_code: z.string().nullable().optional(), highest_level_geocode_reliability_description: z.string().nullable().optional(), confidence_level_code: z.string().nullable().optional(), confidence_level_description: z.string().nullable().optional(), "2021_meshblock_id": z.string().nullable().optional(), "2021_meshblock_code": z.string().nullable().optional(), "2021_meshblock_match_code": z.string().nullable().optional(), "2021_meshblock_match_description": z.string().nullable().optional(), "2016_meshblock_id": z.string().nullable().optional(), "2016_meshblock_code": z.string().nullable().optional(), "2016_meshblock_match_code": z.string().nullable().optional(), "2016_meshblock_match_description": z.string().nullable().optional(), address_type_code: z.string().nullable().optional(), primary_address_pid: z.string().nullable().optional(), address_join_type: z.string().nullable().optional(), collector_district_id: z.string().nullable().optional(), collector_district_code: z.string().nullable().optional(), commonwealth_electoral_boundary_id: z.string().nullable().optional(), commonwealth_electoral_boundary_name: z.string().nullable().optional(), statistical_local_area_id: z.string().nullable().optional(), statistical_local_area_code: z.string().nullable().optional(), statistical_local_area_name: z.string().nullable().optional(), state_electoral_boundary_id: z.string().nullable().optional(), state_electoral_boundary_name: z.string().nullable().optional(), state_electoral_effective_start: z.string().nullable().optional(), state_electoral_effective_end: z.string().nullable().optional(), state_electoral_new_pid: z.string().nullable().optional(), state_electoral_new_name: z.string().nullable().optional(), state_electoral_new_effective_start: z.string().nullable().optional(), state_electoral_new_effective_end: z.string().nullable().optional(), address_level_longitude: z.number().nullable().optional(), address_level_latitude: z.number().nullable().optional(), address_level_elevation: z.string().nullable().optional(), address_level_planimetric_accuracy: z.string().nullable().optional(), address_level_boundary_extent: z.string().nullable().optional(), address_level_geocode_reliability_code: z.string().nullable().optional(), address_level_geocode_reliability_description: z.string().nullable().optional(), street_level_longitude: z.number().nullable().optional(), street_level_latitude: z.number().nullable().optional(), street_level_planimetric_accuracy: z.string().nullable().optional(), street_level_boundary_extent: z.string().nullable().optional(), street_level_geocode_reliability_code: z.string().nullable().optional(), street_level_geocode_reliability_description: z.string().nullable().optional(), locality_level_longitude: z.number().nullable().optional(), locality_level_latitude: z.number().nullable().optional(), locality_level_planimetric_accuracy: z.string().nullable().optional(), locality_level_geocode_reliability_code: z.string().nullable().optional(), locality_level_geocode_reliability_description: z.string().nullable().optional(), gnaf_legal_parcel_identifier: z.string().nullable().optional(), locality_class_code: z.string().nullable().optional()}); export const enrichmentV2DatasetNzlRegionalGeocodes = z.object({front_of_property_nztm_x_coordinate: z.number().nullable().optional(), front_of_property_nztm_y_coordinate: z.number().nullable().optional(), centroid_of_property_nztm_x_coordinate: z.number().nullable().optional(), centroid_of_property_nztm_y_coordinate: z.number().nullable().optional(), linz_parcel_id: z.string().nullable().optional(), property_purpose_type: z.string().nullable().optional(), addressable: z.string().nullable().optional(), mesh_block_code: z.string().nullable().optional(), territorial_authority_code: z.string().nullable().optional(), territorial_authority_name: z.string().nullable().optional(), regional_council_code: z.string().nullable().optional(), regional_council_name: z.string().nullable().optional(), general_electorate_code: z.string().nullable().optional(), general_electorate_name: z.string().nullable().optional(), maori_electorate_code: z.string().nullable().optional(), maori_electorate_name: z.string().nullable().optional(), front_of_property_latitude: z.number().nullable().optional(), front_of_property_longitude: z.number().nullable().optional(), centroid_of_property_latitude: z.number().nullable().optional(), centroid_of_property_longitude: z.number().nullable().optional(), match_level: z.string().nullable().optional()}); export const enrichmentV2DatasetUkLocationComplete = z.object({latitude: z.number().nullable().optional(), longitude: z.number().nullable().optional(), match_level: z.string().nullable().optional(), udprn: z.string().nullable().optional(), uprn: z.string().nullable().optional(), x_coordinate: z.number().nullable().optional(), y_coordinate: z.number().nullable().optional()}); export const enrichmentV2DatasetUkLocationEssential = z.object({latitude: z.number().nullable().optional(), longitude: z.number().nullable().optional(), match_level: z.string().nullable().optional(), udprn: z.string().nullable().optional(), uprn: z.string().nullable().optional(), x_coordinate: z.number().nullable().optional(), y_coordinate: z.number().nullable().optional()}); export const enrichmentV2DatasetGbrGovernment = z.object({eer_code: z.string().nullable().optional(), eer_code_pre_2011: z.string().nullable().optional(), eer_name: z.string().nullable().optional(), gor_code: z.string().nullable().optional(), gor_code_pre_2011: z.string().nullable().optional(), gor_name: z.string().nullable().optional(), lea_code: z.string().nullable().optional(), lea_name: z.string().nullable().optional(), la_code: z.string().nullable().optional(), la_code_pre_2011: z.string().nullable().optional(), la_name: z.string().nullable().optional(), ward_code: z.string().nullable().optional(), ward_code_pre_2011: z.string().nullable().optional(), ward_name: z.string().nullable().optional(), cens_out_area: z.string().nullable().optional()}); export const enrichmentV2DatasetGbrHealth = z.object({authority_code: z.string().nullable().optional(), authority_code_2011: z.string().nullable().optional(), authority_name: z.string().nullable().optional(), pclh_code: z.string().nullable().optional(), pclh_code_2011: z.string().nullable().optional(), pclh_name: z.string().nullable().optional(), ward_code: z.string().nullable().optional(), ward_code_2011: z.string().nullable().optional(), ward_name: z.string().nullable().optional(), ccg_code: z.string().nullable().optional(), ccg_name: z.string().nullable().optional(), doh_code: z.string().nullable().optional()}); export const premiumLocationInsightGeocodes = z.object({latitude: z.number().nullable().optional(), longitude: z.number().nullable().optional(), match_level: z.string().nullable().optional()}); export const premiumLocationInsightGeocodesBuildingXy = z.object({x_coordinate: z.number().nullable().optional(), y_coordinate: z.number().nullable().optional()}); export const premiumLocationInsightGeocodesAccess = z.object({latitude: z.number().nullable().optional(), longitude: z.number().nullable().optional()}); export const premiumLocationInsightReferenceTime = z.object({tag: z.string().nullable().optional(), standard_offset: z.string().nullable().optional(), daylight_savings: z.string().nullable().optional(), sunrise: z.string().nullable().optional(), sunset: z.string().nullable().optional()}); export const premiumLocationInsightTimeTransition = z.object({tag: z.string().nullable().optional(), standard_offset: z.string().nullable().optional(), daylight_savings: z.string().nullable().optional(), utc_start: z.string().nullable().optional(), utc_end: z.string().nullable().optional()}); export const premiumLocationInsightTime = z.object({time_zone_id: z.string().nullable().optional(), generic: z.string().nullable().optional(), standard: z.string().nullable().optional(), daylight: z.string().nullable().optional(), reference_time: premiumLocationInsightReferenceTime.optional(), time_transition: z.array(premiumLocationInsightTimeTransition).nullable().optional()}); export const enrichmentV2DatasetPremiumLocationInsight = z.object({geocodes: premiumLocationInsightGeocodes.optional(), geocodes_building_xy: premiumLocationInsightGeocodesBuildingXy.optional(), geocodes_access: z.array(premiumLocationInsightGeocodesAccess).nullable().optional(), time: z.array(premiumLocationInsightTime).nullable().optional()}); export const enrichmentV2DatasetWhat3Words = z.object({latitude: z.number().nullable().optional(), longitude: z.number().nullable().optional(), name: z.string().nullable().optional(), description: z.string().nullable().optional()}); export const enrichmentV2Result = z.object({geocodes: enrichmentV2DatasetGeocodes.optional(), usa_regional_geocodes: enrichmentV2DatasetUsaRegionalGeocodes.optional(), aus_regional_geocodes: enrichmentV2DatasetAusRegionalGeocodes.optional(), nzl_regional_geocodes: enrichmentV2DatasetNzlRegionalGeocodes.optional(), uk_location_complete: enrichmentV2DatasetUkLocationComplete.optional(), uk_location_essential: enrichmentV2DatasetUkLocationEssential.optional(), gbr_government: enrichmentV2DatasetGbrGovernment.optional(), gbr_health: enrichmentV2DatasetGbrHealth.optional(), premium_location_insight: enrichmentV2DatasetPremiumLocationInsight.optional(), what3words: enrichmentV2DatasetWhat3Words.optional()}); export const datasetMetadata = z.object({code: z.string().nullable().optional(), message: z.string().nullable().optional(), value: z.string().nullable().optional()}); export const enrichmentV2GeocodesMetadata = z.object({latitude: datasetMetadata.optional(), longitude: datasetMetadata.optional(), match_level: datasetMetadata.optional()}); export const enrichmentV2UsaRegionalGeocodesMetadata = z.object({latitude: datasetMetadata.optional(), longitude: datasetMetadata.optional(), match_level: datasetMetadata.optional(), census_tract: datasetMetadata.optional(), census_block: datasetMetadata.optional(), core_based_statistical_area: datasetMetadata.optional(), congressional_district_code: datasetMetadata.optional(), county_code: datasetMetadata.optional()}); export const enrichmentV2AusRegionalGeocodesMetadata = z.object({latitude: datasetMetadata.optional(), longitude: datasetMetadata.optional(), match_level: datasetMetadata.optional(), sa1: datasetMetadata.optional(), meshblock: datasetMetadata.optional(), lga_code: datasetMetadata.optional(), lga_name: datasetMetadata.optional(), street_pid: datasetMetadata.optional(), locality_pid: datasetMetadata.optional(), geocode_level_code: datasetMetadata.optional(), geocode_level_description: datasetMetadata.optional(), geocode_type_code: datasetMetadata.optional(), geocode_type_description: datasetMetadata.optional(), highest_level_longitude: datasetMetadata.optional(), highest_level_latitude: datasetMetadata.optional(), highest_level_elevation: datasetMetadata.optional(), highest_level_planimetric_accuracy: datasetMetadata.optional(), highest_level_boundary_extent: datasetMetadata.optional(), highest_level_geocode_reliability_code: datasetMetadata.optional(), highest_level_geocode_reliability_description: datasetMetadata.optional(), confidence_level_code: datasetMetadata.optional(), confidence_level_description: datasetMetadata.optional(), "2021_meshblock_id": datasetMetadata.optional(), "2021_meshblock_code": datasetMetadata.optional(), "2021_meshblock_match_code": datasetMetadata.optional(), "2021_meshblock_match_description": datasetMetadata.optional(), "2016_meshblock_id": datasetMetadata.optional(), "2016_meshblock_code": datasetMetadata.optional(), "2016_meshblock_match_code": datasetMetadata.optional(), "2016_meshblock_match_description": datasetMetadata.optional(), address_type_code: datasetMetadata.optional(), primary_address_pid: datasetMetadata.optional(), address_join_type: datasetMetadata.optional(), collector_district_id: datasetMetadata.optional(), collector_district_code: datasetMetadata.optional(), commonwealth_electoral_boundary_id: datasetMetadata.optional(), commonwealth_electoral_boundary_name: datasetMetadata.optional(), statistical_local_area_id: datasetMetadata.optional(), statistical_local_area_code: datasetMetadata.optional(), statistical_local_area_name: datasetMetadata.optional(), state_electoral_boundary_id: datasetMetadata.optional(), state_electoral_boundary_name: datasetMetadata.optional(), state_electoral_effective_start: datasetMetadata.optional(), state_electoral_effective_end: datasetMetadata.optional(), state_electoral_new_pid: datasetMetadata.optional(), state_electoral_new_name: datasetMetadata.optional(), state_electoral_new_effective_start: datasetMetadata.optional(), state_electoral_new_effective_end: datasetMetadata.optional(), address_level_longitude: datasetMetadata.optional(), address_level_latitude: datasetMetadata.optional(), address_level_elevation: datasetMetadata.optional(), address_level_planimetric_accuracy: datasetMetadata.optional(), address_level_boundary_extent: datasetMetadata.optional(), address_level_geocode_reliability_code: datasetMetadata.optional(), address_level_geocode_reliability_description: datasetMetadata.optional(), street_level_longitude: datasetMetadata.optional(), street_level_latitude: datasetMetadata.optional(), street_level_planimetric_accuracy: datasetMetadata.optional(), street_level_boundary_extent: datasetMetadata.optional(), street_level_geocode_reliability_code: datasetMetadata.optional(), street_level_geocode_reliability_description: datasetMetadata.optional(), locality_level_longitude: datasetMetadata.optional(), locality_level_latitude: datasetMetadata.optional(), locality_level_planimetric_accuracy: datasetMetadata.optional(), locality_level_geocode_reliability_code: datasetMetadata.optional(), locality_level_geocode_reliability_description: datasetMetadata.optional(), gnaf_legal_parcel_identifier: datasetMetadata.optional(), locality_class_code: datasetMetadata.optional()}); export const enrichmentV2NzlRegionalGeocodesMetadata = z.object({front_of_property_nztm_x_coordinate: datasetMetadata.optional(), front_of_property_nztm_y_coordinate: datasetMetadata.optional(), centroid_of_property_nztm_x_coordinate: datasetMetadata.optional(), centroid_of_property_nztm_y_coordinate: datasetMetadata.optional(), linz_parcel_id: datasetMetadata.optional(), property_purpose_type: datasetMetadata.optional(), addressable: datasetMetadata.optional(), mesh_block_code: datasetMetadata.optional(), territorial_authority_code: datasetMetadata.optional(), territorial_authority_name: datasetMetadata.optional(), regional_council_code: datasetMetadata.optional(), regional_council_name: datasetMetadata.optional(), general_electorate_code: datasetMetadata.optional(), general_electorate_name: datasetMetadata.optional(), maori_electorate_code: datasetMetadata.optional(), maori_electorate_name: datasetMetadata.optional(), front_of_property_latitude: datasetMetadata.optional(), front_of_property_longitude: datasetMetadata.optional(), centroid_of_property_latitude: datasetMetadata.optional(), centroid_of_property_longitude: datasetMetadata.optional(), match_level: datasetMetadata.optional()}); export const enrichmentV2UkLocationCompleteMetadata = z.object({latitude: datasetMetadata.optional(), longitude: datasetMetadata.optional(), match_level: datasetMetadata.optional(), udprn: datasetMetadata.optional(), uprn: datasetMetadata.optional(), x_coordinate: datasetMetadata.optional(), y_coordinate: datasetMetadata.optional()}); export const enrichmentV2UkLocationEssentialMetadata = z.object({latitude: datasetMetadata.optional(), longitude: datasetMetadata.optional(), match_level: datasetMetadata.optional(), udprn: datasetMetadata.optional(), uprn: datasetMetadata.optional(), x_coordinate: datasetMetadata.optional(), y_coordinate: datasetMetadata.optional()}); export const enrichmentV2GbrGovernmentMetadata = z.object({eer_code: datasetMetadata.optional(), eer_code_pre_2011: datasetMetadata.optional(), eer_name: datasetMetadata.optional(), gor_code: datasetMetadata.optional(), gor_code_pre_2011: datasetMetadata.optional(), gor_name: datasetMetadata.optional(), lea_code: datasetMetadata.optional(), lea_name: datasetMetadata.optional(), la_code: datasetMetadata.optional(), la_code_pre_2011: datasetMetadata.optional(), la_name: datasetMetadata.optional(), ward_code: datasetMetadata.optional(), ward_code_pre_2011: datasetMetadata.optional(), ward_name: datasetMetadata.optional(), cens_out_area: datasetMetadata.optional()}); export const enrichmentV2GbrHealthMetadata = z.object({authority_code: datasetMetadata.optional(), authority_code_2011: datasetMetadata.optional(), authority_name: datasetMetadata.optional(), pclh_code: datasetMetadata.optional(), pclh_code_2011: datasetMetadata.optional(), pclh_name: datasetMetadata.optional(), ward_code: datasetMetadata.optional(), ward_code_2011: datasetMetadata.optional(), ward_name: datasetMetadata.optional(), ccg_code: datasetMetadata.optional(), ccg_name: datasetMetadata.optional(), doh_code: datasetMetadata.optional()}); export const enrichmentV2PremiumLocationInsightMetadata = z.object({geocodes: datasetMetadata.optional(), geocodes_building_xy: datasetMetadata.optional(), geocodes_access: datasetMetadata.optional(), time: datasetMetadata.optional()}); export const enrichmentV2What3WordsMetadata = z.object({latitude: datasetMetadata.optional(), longitude: datasetMetadata.optional(), name: datasetMetadata.optional(), description: datasetMetadata.optional()}); export const enrichmentV2MetadataDatasets = z.object({geocodes: enrichmentV2GeocodesMetadata.optional(), usa_regional_geocodes: enrichmentV2UsaRegionalGeocodesMetadata.optional(), aus_regional_geocodes: enrichmentV2AusRegionalGeocodesMetadata.optional(), nzl_regional_geocodes: enrichmentV2NzlRegionalGeocodesMetadata.optional(), uk_location_complete: enrichmentV2UkLocationCompleteMetadata.optional(), uk_location_essential: enrichmentV2UkLocationEssentialMetadata.optional(), gbr_government: enrichmentV2GbrGovernmentMetadata.optional(), gbr_health: enrichmentV2GbrHealthMetadata.optional(), premium_location_insight: enrichmentV2PremiumLocationInsightMetadata.optional(), what3words: enrichmentV2What3WordsMetadata.optional()}); export const enrichmentV2Metadata = z.object({code: z.string().nullable().optional(), message: z.string().nullable().optional(), detail: z.string().nullable().optional(), datasets: enrichmentV2MetadataDatasets.optional()}); export const enrichmentV2Response = z.object({reference_id: z.string().nullable().optional(), transaction_id: z.string().nullable().optional(), error: responseError.optional(), result: enrichmentV2Result.optional(), metadata: enrichmentV2Metadata.optional()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Submits an enrichment request to the service and returns enriched data for the given search keys and specified attributes. * * POST /enrichment/v2 * * Also accepts auth: Auth-Token */ export const createApiEnrichmentV2 = async (args: CreateApiEnrichmentV2Args, options?: CreateApiEnrichmentV2Options) => { const {baseUrl = "https://api.experianaperture.io", fetch: fetchFn = fetch, OAuth2} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "application/json") if (args['Add-Metadata'] != null) headers.set("Add-Metadata", String(args['Add-Metadata'])) if (args['Reference-Id'] != null) headers.set("Reference-Id", String(args['Reference-Id'])) if (args['Timeout-Seconds'] != null) headers.set("Timeout-Seconds", String(args['Timeout-Seconds'])) if (OAuth2 !== undefined) headers.set('authorization', `Bearer ${OAuth2}`) const url = `${baseUrl.replace(/\/+$/, '')}/enrichment/v2${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(enrichmentV2Response, await res.json()) };