openapi: 3.0.1
info:
title: International Address Autocomplete Lookup street-address API
version: '0.9'
description: "This API returns suggestions that are fully verified global addresses.\nUses fuzzy logic during searching to:\nAllow for missing directionals and street suffixes.\nAllow substitution of street suffixes and unit designators. E.g., ST is accepted for AVE; APT is accepted for UNIT, etc.\nAllow full or partial spelling of street suffixes and unit designators. E.g., ST can be spelled as STR or STREET and still match.\nFilters and preferences allow for multiple cities in a single country.\nNote: Effective with the adoption of the V2 version of International Address Autocomplete, lookup usage will be based on the final selection of an address rather than per keystroke.\n\nBy default, the character set returned will be the native set for that country. If any latin characters are provided in the input (excluding numerics), the latin set will be returned. Character sets include:\nCyrillic\nGreek\nHebrew\nKanji (Japanese)\nSimplified Chinese\nArabic\nThai\nHangul (Korean)\n\nSupports the following 242 countries: \nAfghanistan\tAFG\nAlbania\tALB\nAlgeria\tDZA\nAndorra\tAND\nAngola\tAGO\nAnguilla\tAIA\nAntarctica\tATA\nAntigua and Barbuda\tATG\nArgentina\tARG\nArmenia\tARM\nAruba\tABW\nAustralia\tAUS\nAustria\tAUT\nAzerbaijan\tAZE\nBahamas\tBHS\nBahrain\tBHR\nBangladesh\tBGD\nBarbados\tBRB\nBelarus\tBLR\nBelgium\tBEL\nBelize\tBLZ\nBenin\tBEN\nBermuda\tBMU\nBhutan\tBTN\nBolivia\tBOL\nBonaire, Sint Eustatius and Saba\tBES\nBosnia and Herzegovina\tBIH\nBotswana\tBWA\nBouvet Island\tBVT\nBrazil\tBRA\nBritish Indian Ocean Territory\tIOT\nBrunei Darussalam\tBRN\nBulgaria\tBGR\nBurkina Faso\tBFA\nBurundi\tBDI\nCambodia\tKHM\nCameroon\tCMR\nCanada\tCAN\nCabo Verde\tCPV\nCayman Islands\tCYM\nCentral African Republic\tCAF\nChad\tTCD\nChile\tCHL\nChina\tCHN\nChristmas Island\tCXR\nCocos (Keeling) Islands\tCCK\nColombia\tCOL\nComoros\tCOM\nCongo\tCOG\nDemocratic Republic of the Congo\tCOD\nCook Islands\tCOK\nCosta Rica\tCRI\nCroatia\tHRV\nCuba\tCUB\nCuraçao\tCUW\nCyprus\tCYP\nCzechia\tCZE\nIvory Coast\tCIV\nDenmark\tDNK\nDjibouti\tDJI\nDominica\tDMA\nDominican Republic\tDOM\nEcuador\tECU\nEgypt\tEGY\nEl Salvador\tSLV\nEquatorial Guinea\tGNQ\nEritrea\tERI\nEstonia\tEST\nEswatini\tSWZ\nEthiopia\tETH\nFalkland Islands\tFLK\nFaroe Islands\tFRO\nFiji\tFJI\nFinland\tFIN\nFrance\tFRA\nFrench Guiana\tGUF\nFrench Polynesia\tPYF\nFrench Southern Territories\tATF\nGabon\tGAB\nGambia\tGMB\nGeorgia\tGEO\nGermany\tDEU\nGhana\tGHA\nGibraltar\tGIB\nGreece\tGRC\nGreenland\tGRL\nGrenada\tGRD\nGuadeloupe\tGLP\nGuatemala\tGTM\nGuernsey\tGGY\nGuinea\tGIN\nGuinea-Bissau\tGNB\nGuyana\tGUY\nHaiti\tHTI\nHeard Island and McDonald Islands\tHMD\nHoly See\tVAT\nHonduras\tHND\nHong Kong\tHKG\nHungary\tHUN\nIceland\tISL\nIndia\tIND\nIndonesia\tIDN\nIslamic Republic of Iran\tIRN\nIraq\tIRQ\nIreland\tIRL\nIsle of Man\tIMN\nIsrael\tISR\nItaly\tITA\nJamaica\tJAM\nJapan\tJPN\nJersey\tJEY\nJordan\tJOR\nKazakhstan\tKAZ\nKenya\tKEN\nKiribati\tKIR\nDemocratic People's Republic of Korea (North Korea)\tPRK\nRepublic of Korea\tKOR\nKosovo\tXKX\nKuwait\tKWT\nKyrgyzstan\tKGZ\nLao People's Democratic Republic\tLAO\nLatvia\tLVA\nLebanon\tLBN\nLesotho\tLSO\nLiberia\tLBR\nLibya\tLBY\nLiechtenstein\tLIE\nLithuania\tLTU\nLuxembourg\tLUX\nMacao\tMAC\nRepublic of North Macedonia\tMKD\nMadagascar\tMDG\nMalawi\tMWI\nMalaysia\tMYS\nMaldives\tMDV\nMali\tMLI\nMalta\tMLT\nMartinique\tMTQ\nMauritania\tMRT\nMauritius\tMUS\nMayotte\tMYT\nMexico\tMEX\nFederated States of Micronesia\tFSM\nRepublic of Moldova\tMDA\nMonaco\tMCO\nMongolia\tMNG\nMontenegro\tMNE\nMontserrat\tMSR\nMorocco\tMAR\nMozambique\tMOZ\nMyanmar\tMMR\nNamibia\tNAM\nNauru\tNRU\nNepal\tNPL\nNetherlands\tNLD\nNew Caledonia\tNCL\nNew Zealand\tNZL\nNicaragua\tNIC\nNiger\tNER\nNigeria\tNGA\nNiue\tNIU\nNorfolk Island\tNFK\nNorway\tNOR\nOman\tOMN\nPakistan\tPAK\nPalau\tPLW\nState of Palestine\tPSE\nPanama\tPAN\nPapua New Guinea\tPNG\nParaguay\tPRY\nPeru\tPER\nPhilippines\tPHL\nPitcairn\tPCN\nPoland\tPOL\nPortugal\tPRT\nQatar\tQAT\nSouth Sudan\tSSD\nRomania\tROU\nRussian Federation\tRUS\nRwanda\tRWA\nRéunion\tREU\nSaint Barthélemy\tBLM\nSaint Helena, Ascension and Tristan da Cunha\tSHN\nSaint Kitts and Nevis\tKNA\nSaint Lucia\tLCA\nSaint Martin\tMAF\nSaint Pierre and Miquelon\tSPM\nSaint Vincent and the Grenadines\tVCT\nSamoa\tWSM\nSan Marino\tSMR\nSao Tome and Principe\tSTP\nSaudi Arabia\tSAU\nSenegal\tSEN\nSerbia\tSRB\nSeychelles\tSYC\nSierra Leone\tSLE\nSingapore\tSGP\nSint Maarten (Dutch)\tSXM\nSlovakia\tSVK\nSlovenia\tSVN\nSolomon Islands\tSLB\nSomalia\tSOM\nSouth Africa\tZAF\nSouth Georgia and the South Sandwich Islands\tSGS\nSpain\tESP\nSri Lanka\tLKA\nSudan\tSDN\nSuriname\tSUR\nSvalbard and Jan Mayen Islands\tSJM\nSweden\tSWE\nSwitzerland\tCHE\nSyrian Arab Republic\tSYR\nTaiwan\tTWN\nTajikistan\tTJK\nUnited Republic of Tanzania\tTZA\nThailand\tTHA\nTimor-Leste\tTLS\nTogo\tTGO\nTokelau\tTKL\nTonga\tTON\nTrinidad and Tobago\tTTO\nTunisia\tTUN\nTürkiye (Turkey)\tTUR\nTurkmenistan\tTKM\nTurks and Caicos Islands\tTCA\nTuvalu\tTUV\nUganda\tUGA\nUkraine\tUKR\nUnited Arab Emirates\tARE\nUnited Kingdom\tGBR\nUruguay\tURY\nUzbekistan\tUZB\nVanuatu\tVUT\nBolivarian Republic of Venezuela\tVEN\nViet Nam\tVNM\nBritish Virgin Islands\tVGB\nWallis and Futuna\tWLF\nWestern Sahara\tESH\nYemen\tYEM\nZambia\tZMB\nZimbabwe\tZWE\nÅland Islands\tALA\n"
termsOfService: https://smartystreets.com/legal/terms-of-service
license:
url: https://www.smarty.com/legal/terms-of-service
name: Smarty License
contact:
name: Smarty Support
email: support@smartystreets.com
servers:
- url: https://international-autocomplete.api.smarty.com
tags:
- name: street-address
paths:
/street-address:
parameters: []
get:
summary: Single Address Validation
tags:
- street-address
security:
- auth-id: []
auth-token: []
- embedded-key: []
operationId: get-street-address
responses:
'200':
$ref: '#/components/responses/SuccessfulResponse'
'400':
description: 'Bad Request (Malformed Payload): A GET request lacked a street field, or the request body of a POST request contained malformed JSON. (example: submitting an integer value in the ZIP Code field when a string is expected)'
'401':
description: 'Unauthorized: The credentials were provided incorrectly or did not match any existing, active credentials.'
'402':
description: 'Payment Required: There is no active subscription for the account associated with the credentials submitted with the request.'
'429':
description: 'Too Many Requests: When using public embedded key authentication, we restrict the number of requests coming from a given source over too short of a time. If you use embedded key authentication, you can avoid this error by adding your IP address as an authorized host for the embedded key in question.'
description: "To send one (and only one) address to our API, simply encode the input field names from the table below along with the corresponding input values as query string parameters in the URL of your request. Here's an example that uses the street, city, state, and candidates fields (line breaks added for readability):\n```\ncurl -v 'https://us-street.api.smarty.com/street-address?\n auth-id=YOUR+AUTH-ID+HERE&\n auth-token=YOUR+AUTH-TOKEN+HERE&\n street=1600+amphitheatre+pkwy&\n city=mountain+view&\n state=CA&\n candidates=10'\n```\nPlease note that all query string parameter values must be url-encoded (spaces become + or %20, for example) to ensure that the data is transferred correctly. A common mistake we see is a non-encoded pound sign (#) like in an apartment number (# 409). This character, when properly encoded in a URL, becomes %23. When not encoded this character functions as the fragment identifier, which is ignored by our API servers.\n"
parameters:
- schema:
type: string
example: 'Content-Type: application/json'
in: header
name: Content-Type
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.
required: true
- schema:
type: string
example: 'Host: us-street.api.smarty.com'
in: header
name: Host
description: The Host request header field specifies the internet host of the resource being requested. Optionally, it can also specify a non-default port number.
required: true
- $ref: '#/components/parameters/input_id'
- $ref: '#/components/parameters/street'
- $ref: '#/components/parameters/street2'
- $ref: '#/components/parameters/secondary'
- $ref: '#/components/parameters/city'
- $ref: '#/components/parameters/state'
- $ref: '#/components/parameters/zipcode'
- $ref: '#/components/parameters/lastline'
- $ref: '#/components/parameters/addressee'
- $ref: '#/components/parameters/urbanization'
- $ref: '#/components/parameters/candidates'
- $ref: '#/components/parameters/match'
- $ref: '#/components/parameters/format'
- $ref: '#/components/parameters/county_source'
- $ref: '#/components/parameters/features'
post:
summary: Multiple Address Validation
tags:
- street-address
operationId: post-street-address
security:
- auth-id: []
auth-token: []
- embedded-key: []
responses:
'200':
$ref: '#/components/responses/SuccessfulResponse'
'400':
description: 'Bad Request (Malformed Payload): A GET request lacked a street field, or the request body of a POST request contained malformed JSON. (example: submitting an integer value in the ZIP Code field when a string is expected)'
'401':
description: 'Unauthorized: The credentials were provided incorrectly or did not match any existing, active credentials.'
'402':
description: 'Payment Required: There is no active subscription for the account associated with the credentials submitted with the request.'
'413':
description: 'Request Entity too large: The maxmimum size for a request body to this API is 32K (32,768 bytes).'
'422':
description: 'Unprocessable entity: A POST request lacked a street field.'
'429':
description: 'Too Many Requests: When using public embedded key authentication, we restrict the number of requests coming from a given source over too short of a time. If you use embedded key authentication, you can avoid this error by adding your IP address as an authorized host for the embedded key in question.'
description: "A POST request allows a larger volume of data (MAX: 100 addresses or 32K per request) to be sent in the HTTP Request Body. In this case, the data should be encoded as a JSON array where each element in the array is a JSON object with field names identical to those in the field listing below. Here's a sample request with two addresses being sent (line breaks added for readability):\n```bash\ncurl -v 'https://us-street.api.smarty.com/street-address?\n auth-id=YOUR+AUTH-ID+HERE&\n auth-token=YOUR+AUTH-TOKEN+HERE&'\n -H \"Content-Type: application/json; charset=utf-8\"\n --data-binary '\n [\n {\n \"street\":\"1 Santa Claus\",\n \"city\":\"North Pole\",\n \"state\":\"AK\",\n \"candidates\":10\n },\n {\n \"addressee\":\"Apple Inc\",\n \"street\":\"1 infinite loop\",\n \"city\":\"cupertino\",\n \"state\":\"CA\",\n \"zipcode\":\"95014\",\n \"candidates\":10\n }\n ]'\n```\n"
parameters:
- schema:
type: string
example: 'Content-Type: application/json'
in: header
name: Content-Type
required: true
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.
- schema:
type: string
example: 'Host: us-street.api.smarty.com'
in: header
required: true
name: Host
description: The Host request header field specifies the internet host of the resource being requested. Optionally, it can also specify a non-default port number.
requestBody:
$ref: '#/components/requestBodies/MultipleAddressRequest'
components:
schemas:
RequestObject:
type: object
x-examples:
Example 1:
input_id: string
street: string
street2: string
secondary: string
city: string
state: string
zipcode: string
lastline: string
addressee: string
urbanization: string
candidates: 1
match: strict
properties:
input_id:
type: string
maxLength: 36
description: A unique identifier for this address used in your application; this field will be copied into the output.
street:
type: string
maxLength: 50
description: 'The street line of the address, or the entire address ("freeform" input).
Freeform input can be up to 100 characters but only the first 50 will be considered for the street portion of the address. Freeform inputs should NOT include any form of country information (like "USA").'
street2:
type: string
maxLength: 50
description: 'Any extra address information
(e.g., Leave it on the front porch.)'
secondary:
type: string
maxLength: 32
description: 'Apartment, suite, or office number
(e.g., "Apt 52" or simply "52"; not "Apt52".)'
city:
type: string
maxLength: 64
description: The city name
state:
type: string
maxLength: 32
description: The state name or abbreviation
zipcode:
type: string
maxLength: 16
description: The ZIP Code
lastline:
type: string
maxLength: 64
description: City, state, and ZIP Code combined
addressee:
type: string
maxLength: 64
description: The name of the person or company at this address
urbanization:
type: string
maxLength: 64
description: The neighborhood (only Puerto Rican addresses)
candidates:
type: integer
minimum: 1
maximum: 10
description: The maximum number of addresses returned when the input is ambiguous
match:
type: string
description: "The match output strategy to be employed for this lookup. Valid values are:\nstrict The API will return detailed output only if a valid match is found. Otherwise the API response will be an empty array.\ninvalid The API will return detailed output for both valid and invalid addresses. To find out if the address is valid, check the dpv_match_code. Values of Y, S, or D indicate a valid address. \nenhanced The API will return detailed output based on a more aggressive matching mechanism. It also includes a more comprehensive address dataset beyond just the postal address data. Requires a US Core license or a US Rooftop Geocoding license. Note: A freeform address, that we can't find a match for, will respond with an empty\narray, \"[]\".\nNotes:\n(1) The invalid setting is not compatible with freeform address input. For all addresses submitted freeform, the API will automatically employ a strict match output strategy.\n(2) When submitting addresses in components, setting match to invalid will prevent the API from finding valid matches for ambiguous address input."
maxLength: 8
default: strict
format:
type: string
description: 'The output format to be employed for this lookup, with an appropriate product subscription. Valid values are:
default The API will return the address in the default format.
project-usa The API will return the address in Project US@ format.'
county_source:
type: string
description: 'The authoritative source to be used for the county information of the address. Valid values are:
postal The API will return county information based on the postal delivery information of the address. This is the default option.
geographic The API will return county information based on the physical location of the address.'
features:
type: string
description: Component Analysis is available in the US Address Verification 42-day Free Trial and certain custom plans. If you have a subscription that allows for component analysis details, to return the component analysis details include the features parameters as features=components-analysis. Component analysis details can be applied to multiple addresses.
description: 'Each address submitted must have non-blank values for one of the following field combinations to be eligible for a positive address match:
street + city + state
street + zipcode
street (entire address in the street field — what we call a "freeform" input)'
title: Request Object
Components:
title: Components
type: object
description: Object representing the different components of a verified address
properties:
urbanization:
type: string
maxLength: 64
description: The neighborhood, or city subdivision; used with Puerto Rican addresses
primary_number:
type: string
description: The house, PO Box, or building number
maxLength: 30
street_name:
type: string
description: The name of the street
maxLength: 64
street_predirection:
type: string
maxLength: 16
description: Directional information before a street name (N, SW, etc.)
street_postdirection:
type: string
description: Directional information after a street name (N, SW, etc.)
maxLength: 16
street_suffix:
type: string
description: Abbreviated value describing the street (St, Ave, Blvd, etc.)
maxLength: 16
secondary_number:
type: string
description: Apartment or suite number, if any
maxLength: 32
secondary_designator:
type: string
description: Describes location within a complex/building (Ste, Apt, etc.)
maxLength: 16
extra_secondary_number:
type: string
description: "Descriptive information about the location of a building within a campus \n(e.g., E-5 in \"5619 Loop 1604, Bldg E-5, Ste. 101 San Antonio TX\")"
maxLength: 32
extra_secondary_designator:
type: string
description: "Description of the location type within a campus \n(e.g., Bldg, Unit, Lot, etc.)"
maxLength: 16
pmb_designator:
type: string
description: The private mailbox unit designator, assigned by a CMRA
maxLength: 16
pmb_number:
type: string
description: The private mailbox number, assigned by a CMRA
maxLength: 16
city_name:
type: string
description: The USPS-preferred city name for this particular address, or an acceptable alternate if provided by the user
maxLength: 64
default_city_name:
type: string
description: The default city name for this 5-digit ZIP Code
maxLength: 64
state_abbreviation:
type: string
description: The two-letter state abbreviation
maxLength: 2
zipcode:
type: string
description: The 5-digit ZIP Code
maxLength: 5
plus4_code:
type: string
description: The 4-digit add-on code (more specific than 5-digit ZIP)
maxLength: 4
delivery_point:
type: string
description: The last two digits of the house/box number, unless an "H" record is matched, in which case this is the secondary unit number representing the delivery point information to form the delivery point barcode (DPBC).
maxLength: 2
delivery_point_check_digit:
type: string
description: Correction character, or check digit, for the 11-digit barcode
maxLength: 1
Component-Analysis:
title: Component-Analysis
type: object
properties:
status:
type: string
description: 'Indicates the match classification of the given component.
confirmed - This indicates that the component is valid in the returned response.
unconfirmed - This indicates that the component was derived from the input, but is not a confirmed component of a fully matched address. For example, a match to a root address may contain an unconfirmed secondary. In this case, the secondary number and designator will show "unconfirmed" as their status.
missing - This indicates that the component is required for a fully validated response. This is most common in cases where secondary address components are required for delivery.'
change:
type: string
description: 'Indicates the change that Smarty performed on the input component.
abbreviation - The component was changed according to standard abbreviation rules. This is common in cases like direcitonals (NORTH -> N) and suffixes (STREET -> ST).
replaced - The input had a valid option for this component, but it was replaced for the correct component information. This value is only possible in components where there is a set number of valid options, such as: street_predirection, street_suffix, street_postdirection, secondary_designator, zipcode.
spelling - The input was corrected according to spelling rules.
added - The component was added as a result.
alias - Based on authoritative sources, the preferred value is returned.'
description: When the features=component-analysis parameter is specified, component analysis details will be returned and can be applied to multiple addresses.
Analysis:
title: Analysis
type: object
properties:
dpv_match_code:
type: string
maxLength: 1
description: "Status of the Delivery Point Validation (DPV). This indicates whether or not the address is present in the USPS data. \n\nY — Confirmed; entire address is present in the USPS data. (To be certain the address is actually deliverable, verify that the dpv_vacant field has a value of N. You may also want to verify that the dpv_no_stat field has a value of N. However, the USPS is often several months behind in updating this data point, so only rely on the dpv_no_stat data if you are fully aware of its weaknesses and limitations.) \n(e.g., 1600 Amphitheatre Pkwy Mountain View, CA)\nN — Not confirmed; address is not present in the USPS data.\nS — Confirmed by ignoring secondary info; the main address is present in the USPS data, but the submitted secondary information (apartment, suite, etc.) was not recognized. \n(e.g., 62 Ea Darden Dr Apt 298 Anniston, AL)\nD — Confirmed but missing secondary info; the main address is present in the USPS data, but it is missing secondary information (apartment, suite, etc.). \n(e.g., 122 Mast Rd Lee, NH)\n[blank or null] — The address is not present in the USPS database."
dpv_footnotes:
type: string
maxLength: 32
description: 'Information related to the delivery point validation of this address. All these footnotes have a length of 2 characters, and there may be up to 14 footnotes.
AA — Street name, city, state, and ZIP are all valid.
(e.g., 2335 S State St Ste 300 Provo UT)
A1 — Address not present in USPS data.
(e.g., 3214 N University Ave New York NY)
BB — Entire address is valid.
(e.g., 2335 S State St Ste 300 Provo UT)
CC — The submitted secondary information (apartment, suite, etc.) was not recognized. Secondary number is NOT REQUIRED for delivery.
(e.g., 3331 Erie Ave Apt 2 Cincinnati OH 45208)
C1 — The submitted secondary information (apartment, suite, etc.) was not recognized. Secondary number IS REQUIRED for delivery.
(e.g., 2335 S State St Ste 500 Provo UT)
F1 — Military or diplomatic address
(e.g., Unit 2050 Box 4190 APO AP 96278)
G1 — General delivery address
(e.g., General Delivery Provo UT 84601)
M1 — Primary number (e.g., house number) is missing.
(e.g., N University Ave Provo UT)
M3 — Primary number (e.g., house number) is invalid.
(e.g., 16 N University Ave Provo UT)
N1 — Address is missing secondary information (apartment, suite, etc.).
(e.g., 2335 S State St Provo UT)
PB — PO Box street style address.
(e.g., 555 S B B King Blvd Unit 1 Memphis TN 38103)
P1 — PO, RR, or HC box number is missing.
(e.g., Dept 126 Denver CO 802910126)
P3 — PO, RR, or HC box number is invalid.
(e.g., PO BOX 60780 FAIRBANKS AK 99706)
RR — Confirmed address with private mailbox (PMB) info.
(e.g., 3214 N University Ave #409 Provo UT)
R1 — Confirmed address without private mailbox (PMB) info.
(e.g., 3214 N University Ave Provo UT)
R7 — Confirmed as a valid address that doesn''t currently receive US Postal Service street delivery.
(e.g., 6D Cruz Bay St John VI 00830)
TA — Primary number was matched by dropping trailing alpha.
(e.g., 4-C PENINSULA CTR RANCHO PALOS VERDES CA 90274)
U1 — Address has a "unique" ZIP Code.
(e.g., 100 North Happy Street 12345)
Here are some common combinations:
AABB - ZIP, state, city, street name, and primary number match.
AABBCC - ZIP, state, city, street name, and primary number match, but secondary does not. A secondary is NOT required for delivery.
AAC1 - ZIP, state, city, street name, and primary number match, but secondary does not. A secondary is required for delivery.
AAM1 - ZIP, state, city, and street name match, but the primary number is missing.
AAM3 - ZIP, state, city, and street name match, but the primary number is invalid.
AAN1 - ZIP, state, city, street name, and primary number match, but there is secondary information such as apartment or suite that would be helpful.
AABBR1 - ZIP, state, city, street name, and primary number match. Address confirmed without private mailbox (PMB) info.'
dpv_cmra:
type: string
maxLength: 1
description: "Indicates whether the address is associated with a Commercial Mail Receiving Agency (CMRA), also known as a private mailbox (PMB) operator. A CMRA is a business through which USPS mail may be sent or received, for example the UPS Store and Mailboxes Etc. \n\nY — Address is associated with a valid CMRA.\nN — Address is not associated with a valid CMRA.\n[blank] — Address was not submitted for CMRA verification."
dpv_vacant:
type: string
maxLength: 1
description: "Indicates that a delivery point was active in the past but is currently vacant (in most cases, unoccupied over 90 days) and is not receiving deliveries. This status is often obtained when mail receptacles aren't being emptied and are filling up, so mail is held at the post office for a certain number of days before the delivery point is marked vacant. \n\nY — Address is vacant.\nN — Address is not vacant.\n[blank] — Address was not submitted for vacancy verification."
dpv_no_stat:
type: string
maxLength: 1
description: "Indicates that a delivery point is listed as \"no-stat\" by the USPS. Technically, that means the USPS is temporarily declaring the address undeliverable. In practice, however, the USPS is often several months behind in removing addresses from the \"no-stat\" list, so only rely on this data point if you are fully aware of its weaknesses and limitations. \n\nY — USPS lists the address as \"no-stat.\"\nN — USPS does not list the address as \"no-stat.\"\n[blank] — Address was not submitted for \"no-stat\" verification."
active:
type: string
maxLength: 1
description: The API still returns this field, but in practical terms, it is deprecated. This field will contain a value of Y for every address submitted.
footnotes:
type: string
maxLength: 12
description: 'Indicates which changes were made to the input address. Footnotes are delimited by a # character. See the footnotes table below for details.'
lacslink_code:
type: string
maxLength: 2
description: "The reason for the LACSLink indication that was given (below) \n\nA — Match: Address provided. LACSLink record match was found, and a converted address was provided.\n00 — No Match. No converted address. No soup for you!\n09 — Match: No new address. LACSLink matched an input address to an old address which is a \"high-rise default\" address; no new address was provided.\n14 — Match: No conversion. Found a LACSLink record, but couldn't convert the data to a deliverable address.\n92 — Match: Dropped secondary number. LACSLink record was matched after dropping the secondary number from input.\n[blank] — No LACSLink lookup attempted."
lacslink_indicator:
type: string
maxLength: 1
description: "Indicates whether there is an address match in the LACSLink database. \n\nY — LACS record match; a new address could be furnished because the input record matched a record in the master file.\nS — LACS record - secondary number dropped; the record is a ZIP+4 street level or high-rise match. The input record matched a master file record, but the input address had a secondary number and the master file record did not.\nN — No match; a new address could not be furnished; the input record could not be matched to a record in the master file.\nF — False positive; a false positive record was detected.\n[blank] — No LACSLink lookup attempted."
suitelink_match:
type: string
maxLength: 5
description: "Indicates a match (or not) to the USPS SuiteLink data. SuiteLink attempts to provide secondary information such as \"suite\" or \"apartment\" whenever there is a match based on address and company name. \n\ntrue — There was a SuiteLink match and the result is provided.\nfalse — There was no SuiteLink match."
enhanced_match:
type: string
maxLength: 64
description: 'When an address is submitted with the match parameter set to "enhanced," this field will contain additional information about the result. Multiple values may be present, separated by commas. Additional values will be added from time to time. The current possible values are:
none — No address match was found.
non-postal-match — A match was found within additional, non-postal address data.
postal-match — A match was found within postal address data.
missing-secondary — The address should have a secondary (e.g., apartment), but none was found in the input.
unknown-secondary — The provided secondary information did not match a known secondary within the address data.
ignored-input — The provided input contained information that was not used for a match.'
description: Object representing the different metadata of a verified address
Metadata:
title: Metadata
type: object
properties:
# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/smarty/refs/heads/main/openapi/smarty-street-address-api-openapi.yml