US Address Enrichment API
Returns up to 350 property attributes for a US address, including property characteristics, estimated value, ownership data, and neighborhood demographics to enrich address records.
Returns up to 350 property attributes for a US address, including property characteristics, estimated value, ownership data, and neighborhood demographics to enrich address records.
openapi: 3.0.1
info:
title: us-enrichment-api
version: '1.0'
description: 'This page describes how to retrieve data from various different datasets using the Smarty US Address Enrichment API.'
contact:
url: 'https://www.smarty.com/contact/support'
email: [email protected]
name: Smarty Support
termsOfService: 'https://www.smarty.com/legal/terms-of-service'
license:
url: 'https://www.smarty.com/legal/terms-of-service'
name: Smarty License
servers:
- url: 'https://us-enrichment.api.smarty.com'
externalDocs:
description: "Extensive documentation for the US Address Enrichment API"
url: https://www.smarty.com/docs/cloud/us-address-enrichment-api
paths:
'/lookup/{smartykey}/property':
get:
operationId: get-lookup-smartykey-property
tags:
- us-enrichment
summary: Property Lookup by Smartykey
description: 'Contains all property data attributes including tax assessor and recorder data. Recorder data will be last available financial transaction for the property. When requesting the financial feature, the result will contain historical financial data pertaining to the property and property owner.'
security:
- auth-id: [ ]
auth-token: [ ]
- embedded-key: [ ]
parameters:
- $ref: '#/components/parameters/smartykey'
- $ref: '#/components/parameters/content-type'
- $ref: '#/components/parameters/etag'
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/exclude'
- $ref: '#/components/parameters/features'
responses:
'200':
$ref: '#/components/responses/PropertyResponseSmartyKey'
'304':
$ref: '#/components/responses/NotModified'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'413':
$ref: '#/components/responses/RequestTooLarge'
'422':
$ref: '#/components/responses/UnprocessableContent'
'429':
$ref: '#/components/responses/TooManyRequests'
'/lookup/search/property':
get:
operationId: get-lookup-property
tags:
- us-enrichment
summary: Property Lookup by Search Fields
description: 'Contains all property data attributes including tax assessor and recorder data. Recorder data will be last available financial transaction for the property. When requesting the financial feature, the result will contain historical financial data pertaining to the property and property owner.'
security:
- auth-id: [ ]
auth-token: [ ]
- embedded-key: [ ]
parameters:
- $ref: '#/components/parameters/content-type'
- $ref: '#/components/parameters/etag'
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/exclude'
- $ref: '#/components/parameters/features'
- $ref: '#/components/parameters/freeform'
- $ref: '#/components/parameters/street'
- $ref: '#/components/parameters/city'
- $ref: '#/components/parameters/state'
- $ref: '#/components/parameters/zipcode'
responses:
'200':
$ref: '#/components/responses/PropertyResponseSearch'
'304':
$ref: '#/components/responses/NotModified'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'413':
$ref: '#/components/responses/RequestTooLarge'
'422':
$ref: '#/components/responses/UnprocessableContent'
'429':
$ref: '#/components/responses/TooManyRequests'
'/lookup/{smarykey}/geo-reference/{dataset?}':
get:
operationId: get-lookup-smartykey-geo
tags:
- us-enrichment
summary: US Census Block and Tract Lookup by Smartykey
description: 'The Census Block and Tract Data product provides useful geographic data for geocoded addresses, such as census block id. Request legacy data, such as the 2010 and 2020 census, by specifying a data subset of 2010 or 2020. For example: To return 2010 census data, specify geo-reference/2010. To request the latest census information available, simply specify geo-reference with no trailing subset. The census version will be returned in the data_set_version property in the response.'
security:
- auth-id: [ ]
auth-token: [ ]
- embedded-key: [ ]
parameters:
- $ref: '#/components/parameters/smartykey'
- $ref: '#/components/parameters/dataset'
- $ref: '#/components/parameters/content-type'
- $ref: '#/components/parameters/etag'
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/exclude'
- $ref: '#/components/parameters/features'
responses:
'200':
$ref: '#/components/responses/CensusBlockAndTractResponseSmartyKey'
'304':
$ref: '#/components/responses/NotModified'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'413':
$ref: '#/components/responses/RequestTooLarge'
'422':
$ref: '#/components/responses/UnprocessableContent'
'429':
$ref: '#/components/responses/TooManyRequests'
'/lookup/search/geo-reference/{dataset?}':
get:
operationId: get-lookup-geo
tags:
- us-enrichment
summary: US Census Block and Tract Data Lookup by Search Fields
description: 'The Census Block and Tract Data product provides useful geographic data for geocoded addresses, such as census block id. Request legacy data, such as the 2010 and 2020 census, by specifying a data subset of 2010 or 2020. For example: To return 2010 census data, specify geo-reference/2010. To request the latest census information available, simply specify geo-reference with no trailing subset. The census version will be returned in the data_set_version property in the response.'
security:
- auth-id: [ ]
auth-token: [ ]
- embedded-key: [ ]
parameters:
- $ref: '#/components/parameters/dataset'
- $ref: '#/components/parameters/content-type'
- $ref: '#/components/parameters/etag'
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/exclude'
- $ref: '#/components/parameters/features'
- $ref: '#/components/parameters/freeform'
- $ref: '#/components/parameters/street'
- $ref: '#/components/parameters/city'
- $ref: '#/components/parameters/state'
- $ref: '#/components/parameters/zipcode'
responses:
'200':
$ref: '#/components/responses/CensusBlockAndTractResponseSearch'
'304':
$ref: '#/components/responses/NotModified'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'413':
$ref: '#/components/responses/RequestTooLarge'
'422':
$ref: '#/components/responses/UnprocessableContent'
'429':
$ref: '#/components/responses/TooManyRequests'
'/lookup/{smartykey}/secondary':
get:
operationId: get-lookup-smartykey-secondary
tags:
- us-enrichment
summary: US Secondary Data Lookup by Smartykey
description: 'The secondary data product returns all secondaries and aliases associated with a SmartyKey. The SmartyKey can be that of the root address, any of the aliases, or any of the secondaries. Each will return the same related data.'
security:
- auth-id: [ ]
auth-token: [ ]
- embedded-key: [ ]
parameters:
- $ref: '#/components/parameters/smartykey'
- $ref: '#/components/parameters/content-type'
- $ref: '#/components/parameters/etag'
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/exclude'
- $ref: '#/components/parameters/features'
responses:
'200':
$ref: '#/components/responses/SecondaryResponseSmartyKey'
'304':
$ref: '#/components/responses/NotModified'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'413':
$ref: '#/components/responses/RequestTooLarge'
'422':
$ref: '#/components/responses/UnprocessableContent'
'429':
$ref: '#/components/responses/TooManyRequests'
'/lookup/search/secondary':
get:
operationId: get-lookup-secondary
tags:
- us-enrichment
summary: US Secondary Data Lookup by Search Fields
description: 'The secondary data product returns all secondaries and aliases associated with a SmartyKey. Each will return the same related data.'
security:
- auth-id: [ ]
auth-token: [ ]
- embedded-key: [ ]
parameters:
- $ref: '#/components/parameters/content-type'
- $ref: '#/components/parameters/etag'
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/exclude'
- $ref: '#/components/parameters/features'
- $ref: '#/components/parameters/freeform'
- $ref: '#/components/parameters/street'
- $ref: '#/components/parameters/city'
- $ref: '#/components/parameters/state'
- $ref: '#/components/parameters/zipcode'
responses:
'200':
$ref: '#/components/responses/SecondaryResponseSearch'
'304':
$ref: '#/components/responses/NotModified'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'413':
$ref: '#/components/responses/RequestTooLarge'
'422':
$ref: '#/components/responses/UnprocessableContent'
'429':
$ref: '#/components/responses/TooManyRequests'
'/lookup/{smartykey}/secondary/count':
get:
operationId: get-lookup-smartykey-secondary-count
tags:
- us-enrichment
summary: US Secondary Data Lookup by Smartykey
description: 'The secondary data product returns all secondaries and aliases associated with a SmartyKey. The SmartyKey can be that of the root address, any of the aliases, or any of the secondaries. Each will return the same related data. The count subset only returns the number of secondaries associated with the SmartyKey. Detailed data is not returned.'
security:
- auth-id: [ ]
auth-token: [ ]
- embedded-key: [ ]
parameters:
- $ref: '#/components/parameters/smartykey'
- $ref: '#/components/parameters/content-type'
- $ref: '#/components/parameters/etag'
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/exclude'
- $ref: '#/components/parameters/features'
responses:
'200':
$ref: '#/components/responses/SecondaryCountResponseSmartyKey'
'304':
$ref: '#/components/responses/NotModified'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'413':
$ref: '#/components/responses/RequestTooLarge'
'422':
$ref: '#/components/responses/UnprocessableContent'
'429':
$ref: '#/components/responses/TooManyRequests'
'/lookup/search/secondary/count':
get:
operationId: get-lookup-secondary-count
tags:
- us-enrichment
summary: US Secondary Data Lookup by Search Fields
description: 'The secondary data product returns all secondaries and aliases associated with a SmartyKey. Each will return the same related data. The count subset only returns the number of secondaries associated with the SmartyKey. Detailed data is not returned.'
security:
- auth-id: [ ]
auth-token: [ ]
- embedded-key: [ ]
parameters:
- $ref: '#/components/parameters/content-type'
- $ref: '#/components/parameters/etag'
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/exclude'
- $ref: '#/components/parameters/features'
- $ref: '#/components/parameters/freeform'
- $ref: '#/components/parameters/street'
- $ref: '#/components/parameters/city'
- $ref: '#/components/parameters/state'
- $ref: '#/components/parameters/zipcode'
responses:
'200':
$ref: '#/components/responses/SecondaryCountResponseSearch'
'304':
$ref: '#/components/responses/NotModified'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'413':
$ref: '#/components/responses/RequestTooLarge'
'422':
$ref: '#/components/responses/UnprocessableContent'
'429':
$ref: '#/components/responses/TooManyRequests'
tags:
- name: us-enrichment
components:
parameters:
smartykey:
name: smartykey
in: path
required: true
schema:
type: string
description: "The unique id associated with the address you are looking for."
dataset:
name: dataset
in: path
required: false
schema:
type: string
enum: [ '2010','2020']
content-type:
name: Content-type
in: header
schema:
type: string
example: 'application/json'
description: 'The purpose of the Content-Type field is to describe the data contained in the body fully enough that the receiving user agent can pick an appropriate agent or mechanism to present the data to the user, or otherwise deal with the data in an appropriate manner.'
etag:
name: ETag
in: header
schema:
type: string
example: 'AUHQQBIPBQDAYAA'
description: 'The ETag header provides the ability to check if a record has been updated since the last query. Every query to the API will return an ETag header which represents a hash of the record in the response. This value may be stored and used in subsequent queries for that same record. If the record data has NOT been updated since the last query, it will return a 304 (Not Modified) and the client will not be charged for the query. (The 304 response does not contain a body.) If the record data HAS been updated, the latest version of the record will be returned along with a new ETag value. Important: Only the latest ETag value is valid for each record. This feature is NOT designed to retrieve past record versions. Also note that the ETag value will change if ANY data in the record has been updated, regardless of which attributes are requested using the include and exclude parameters.'
include:
name: include
in: query
schema:
type: string
description: 'List of attributes that are allowed to be included in the response. This list can include Group names and Attribute names separated by commas. All values must be lowercase. If the record in the response does not have a value for that attribute, it will not be included in the response.'
exclude:
name: exclude
in: query
schema:
type: string
description: 'List of attributes that are not allowed to be included in the response. This list can include Group names and Attribute names separated by commas. All values must be lowercase.'
features:
name: features
in: query
schema:
type: string
description: 'A comma-separated list of features. These may require a special plan that allows the feature to be used. EXAMPLE: Feature Value: financial; Description: Return the financial_history attribute. This is applicalbe only to property requests. Default: 128'
freeform:
name: freeform
in: query
schema:
type: string
description: 'A full address.'
street:
name: street
in: query
schema:
type: string
description: 'The street line of the address, or the entire address. You may also need to provide values for other component search fields.'
city:
name: city
in: query
schema:
type: string
description: 'The city name or a city, state, and ZIP Code combined. You may also need to provide values for other component search fields.'
state:
name: state
in: query
schema:
type: string
description: 'The state name or abbreviation. You may also need to provide values for other component search fields.'
zipcode:
name: zipcode
in: query
schema:
type: string
description: 'The ZIP Code. You may also need to provide values for other component search fields.'
schemas:
PropertyResponseSmartyKey:
properties:
smarty_key:
type: string
data_set_name:
type: string
data_subset_name:
type: string
attributes:
oneOf:
- allOf:
- $ref: '#/components/schemas/GroupStructuralAttributes'
- $ref: '#/components/schemas/GroupLocationAttributes'
- $ref: '#/components/schemas/GroupFinancialAttributes'
PropertyResponseSearch:
properties:
smarty_key:
type: string
data_set_name:
type: string
data_subset_name:
type: string
matched_address:
$ref: '#/components/schemas/MatchedAddress'
attributes:
oneOf:
- allOf:
- $ref: '#/components/schemas/GroupStructuralAttributes'
- $ref: '#/components/schemas/GroupLocationAttributes'
- $ref: '#/components/schemas/GroupFinancialAttributes'
CensusBlockAndTractResponseSmartyKey:
properties:
smarty_key:
type: string
data_set_name:
type: string
data_set_version:
type: string
attributes:
type: object
properties:
census_block:
$ref: '#/components/schemas/CensusBlock'
census_county_division:
$ref: '#/components/schemas/CensusCountyDivision'
census_tract:
$ref: '#/components/schemas/CensusTract'
core_based_stat_area:
$ref: '#/components/schemas/CoreBasedStatArea'
place:
$ref: '#/components/schemas/Place'
CensusBlockAndTractResponseSearch:
properties:
smarty_key:
type: string
data_set_name:
type: string
data_set_version:
type: string
matched_address:
$ref: '#/components/schemas/MatchedAddress'
attributes:
type: object
properties:
census_block:
$ref: '#/components/schemas/CensusBlock'
census_county_division:
$ref: '#/components/schemas/CensusCountyDivision'
census_tract:
$ref: '#/components/schemas/CensusTract'
core_based_stat_area:
$ref: '#/components/schemas/CoreBasedStatArea'
place:
$ref: '#/components/schemas/Place'
SecondaryResponseSmartyKey:
type: object
properties:
smarty_key:
type: string
root_address:
$ref: '#/components/schemas/RootAddress'
aliases:
type: array
items:
$ref: '#/components/schemas/Alias'
secondaries:
type: array
items:
$ref: '#/components/schemas/Secondaries'
SecondaryResponseSearch:
type: object
properties:
smarty_key:
type: string
matched_address:
$ref: '#/components/schemas/MatchedAddress'
root_address:
$ref: '#/components/schemas/RootAddress'
aliases:
type: array
items:
$ref: '#/components/schemas/Alias'
secondaries:
type: array
items:
$ref: '#/components/schemas/Secondaries'
SecondaryCountResponseSmartyKey:
type: object
properties:
smarty_key:
type: string
count:
type: integer
SecondaryCountResponseSearch:
type: object
properties:
smarty_key:
type: string
matched_address:
$ref: '#/components/schemas/MatchedAddress'
count:
type: integer
CensusBlock:
type: object
description: 'An id of up to 15 characters that identifies a geographical area for statistical analysis.'
properties:
accuracy:
type: string
description: 'Represents the accuracy of the geocode associated with the SmartyKey which was used to find the block. Values are block, tract, or county.'
geoid:
type: string
description: |-
The census geoid can have different meanings based on the accuracy field.
If geocode accuracy is parcel or rooftop, the id is the 15 character block id.
If geocode accuracy is zip9, the id is the census tract id. (first 11 digits of block id)
If geocode accuracy is less than zip9, the id is the county FIPS. (first 5 digits of block id)
CensusCountyDivision:
type: object
description: 'The county subdivision identifier and name (equivalent to townships).'
properties:
accuracy:
type: string
description: 'Represents the accuracy of the geocode associated with the SmartyKey. Less than Zip9 accuracy will be inferred. Otherwise, it will be exact.'
code:
type: string
description: 'The 10-digit census id code of the CCD.'
name:
type: string
description: 'The name of the census county division.'
CensusTract:
type: string
description: 'Geographic entities within counties (or the statistical equivalent of counties).'
properties:
code:
type: string
description: 'Census tracts within a county are identified by a 4-digit basic code between 0001 and 9999, and may have a 2-digit suffix ranging from .01 to .98; (e.g. 6059.02)'
CoreBasedStatArea:
type: object
description: 'Refers collectively to metropolitan statistical areas and micropolitan statistical areas. CBSAs consist of the county or counties (or equivalent entities) associated with at least one core (urban area) with a population of at least 10,000, plus adjacent counties having a high degree of social and economic integration with the core as measured through commuting ties.'
properties:
code:
type: string
description: 'A 5-digit unique id of the CBSA (e.g. 39340)'
name:
type: string
description: 'The name of the CBSA (e.g. Provo-Orem, UT)'
Place:
type: object
description: 'The Bureau of the Census defines a place as a concentration of population. It consists of a geographical boundary.'
properties:
accuracy:
type: string
description: 'Represents the accuracy of the geocode associated with the SmartyKey. Less than Zip9 accuracy will be inferred. Otherwise, it will be exact.'
code:
type: string
description: 'A 7-digit code that identifies the place. The first 2 digits identify the state. The last 5 identify the place within the state.'
name:
type: string
description: 'The name of the place boundary.'
type:
type: string
description: 'Indicates if the Census Place is incorporated or unincorporated.'
GroupFinancialAttributes:
type: object
description: "Financial attributes in the Financial Dataset records."
properties:
assessed_improvement_percent:
type: string
assessed_improvement_value:
type: string
assessed_land_value:
type: string
assessed_value:
type: string
assessor_last_update:
type: string
assessor_taxroll_update:
type: string
code_title_company:
type: string
company_flag:
type: string
contact_city:
type: string
contact_crrt:
type: string
contact_full_address:
type: string
contact_house_number:
type: string
contact_mail_info_format:
type: string
contact_mailing_county:
type: string
contact_mailing_fips:
type: string
contact_post_direction:
type: string
contact_pre_direction:
type: string
contact_state:
type: string
contact_street_name:
type: string
contact_suffix:
type: string
contact_unit_designator:
type: string
contact_value:
type: string
contact_zip:
type: string
contact_zip4:
type: string
deed_document_page:
type: string
deed_document_book:
type: string
deed_document_number:
type: string
deed_owner_first_name:
type: string
deed_owner_first_name2:
type: string
deed_owner_first_name3:
type: string
deed_owner_first_name4:
type: string
deed_owner_full_name:
type: string
deed_owner_full_name2:
type: string
deed_owner_full_name3:
type: string
deed_owner_full_name4:
type: string
deed_owner_last_name:
type: string
deed_owner_last_name2:
type: string
deed_owner_last_name3:
type: string
deed_owner_last_name4:
type: string
deed_owner_middle_name:
type: string
deed_owner_middle_name2:
type: string
deed_owner_middle_name3:
type: string
deed_owner_middle_name4:
type: string
deed_owner_suffix:
type: string
deed_owner_suffix2:
type: string
deed_owner_suffix3:
type: string
deed_owner_suffix4:
type: string
deed_sale_date:
type: string
deed_sale_price:
type: string
deed_transaction_id:
type: string
disabled_tax_exemption:
type: string
financial_history:
$ref: '#/components/schemas/FinancialHistoryEntry'
first_name:
type: string
first_name_2:
type: string
first_name_3:
type: string
first_name_4:
type: string
homeowner_tax_exemption:
type: string
instrument_date:
type: string
interest_rate:
type: string
interest_rate_type_2:
type: string
last_name:
type: string
last_name_2:
type: string
last_name_3:
type: string
last_name_4:
type: string
lender_address:
type: string
lender_address_2:
type: string
lender_city:
type: string
lender_city_2:
type: string
lender_code_2:
type: string
lender_first_name:
type: string
lender_first_name_2:
type: string
lender_last_name:
type: string
lender_last_name_2:
type: string
lender_name:
type: string
lender_name_2:
type: string
lender_seller_carry_back:
type: string
lender_seller_carry_back_2:
type: string
lender_state:
type: string
lender_state_2:
type: string
lender_zip:
type: string
lender_zip_2:
type: string
lender_zip_extended:
type: string
lender_zip_extended_2:
type: string
loan_amount:
type: string
market_improvement_percent:
type: string
market_improvement_value:
type: string
market_land_value:
type: string
market_value_year:
type: string
middle_name:
type: string
middle_name_2:
type: string
middle_name_3:
type: string
middle_name_4:
type: string
mortgage_amount_2:
type: string
mortgage_due_date:
type: string
mortgage_due_date_2:
type: string
mortgage_interest_type:
type: string
mortgage_lender_code:
type: string
mortgage_start_date:
type: string
mortgage_start_date_2:
type: string
mortgage_term:
type: string
mortgage_term_2:
type: string
mortgage_term_type:
type: string
mortgage_term_type_2:
type: string
mortgage_type:
type: string
mortgage_type_2:
type: string
mortgage_rate_2:
type: string
multi_parcel_flag:
type: string
name_title_company:
type: string
other_tax_exemption:
type: string
owner_full_name:
type: string
owner_full_name_2:
type: string
owner_full_name_3:
type: string
owner_full_name_4:
type: string
owner_occupancy_status:
type: string
ownership_transfer_date:
type: string
ownership_transfer_doc_number:
type: string
ownership_transfer_transaction_id:
type: string
ownership_type:
type: string
ownership_type_2:
type: string
ownership_vesting_relation_code:
type: string
previous_assessed_value:
type: string
prior_sale_amount:
type: string
prior_sale_date:
type: string
sale_amount:
type: string
sale_date:
type: string
sale_price:
type: string
senior_tax_exemption:
type: string
suffix:
type: string
suffix_2:
type: string
suffix_3:
type: string
suffix_4:
type: string
tax_assess_year:
type: string
tax_billed_amount:
type: string
tax_delinquent_year:
type: string
tax_fiscal_year:
type: string
tax_rate_area:
type: string
total_market_value:
type: string
trust_description:
type: string
veteran_tax_exemption:
type: string
widow_tax_exemption:
type: string
GroupLocationAttributes:
type: object
description: "Location attributes in the Principal Dataset records."
properties:
block1:
type: string
block2:
type: string
carrier_route_code:
type: string
cbsa_code:
type: string
cbsa_name:
type: string
census_block:
type: string
census_block_group:
type: string
census_fips_place_code:
type: string
census_tract:
type: string
city:
type: string
combined_statistical_area:
type: string
congressional_district:
type: string
elevation_feet:
type: string
fips_code:
type: string
geo_quality:
type: string
house_number:
type: string
land_use_code:
type: string
land_use_group:
type: string
la
# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/smarty/refs/heads/main/openapi/smarty-us-address-enrichment-api-openapi.yml