Smarty street-address API

The street-address API from Smarty — 1 operation(s) for street-address.

Operations 2

GET /street-address Single Address Validation #
POST /street-address Multiple Address Validation #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/smarty-street-address-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

smarty-street-address-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Smarty US Verifier Street Address API
  version: '5.3'
  description: ''
  contact:
    url: https://www.smarty.com/contact/support
    email: support@smarty.com
    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: us-street.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:
  parameters:
    street2:
      name: street2
      in: query
      description: '**Street2** *Example: Leave it on the front porch* Any extra address information.'
      schema:
        type: string
    county_source:
      name: county_source
      in: query
      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.'
      schema:
        type: string
    candidates:
      name: candidates
      in: query
      description: '**Candidates** *Example: 1* The maximum number of valid addresses returned when the input is ambiguous (Max Value: 10).'
      schema:
        type: string
    state:
      name: state
      in: query
      description: '**State** *Example: UT* State name or two-letter abbreviation.'
      schema:
        type: string
    secondary:
      name: secondary
      in: query
      description: '**Secondary** *Example: Apt 52* Apartment, suite, or office number.'
      schema:
        type: string
    lastline:
      name: lastline
      in: query
      description: '**Last Line** *Example: Provo, UT 84604* City, state, and ZIP Code combined.'
      schema:
        type: string
    zipcode:
      name: zipcode
      in: query
      description: '**Zip code** *Example: 84604* The ZIP Code.'
      schema:
        type: string
    street:
      name: street
      in: query
      description: '**Street** *Example: 1600+amphitheatre+pkwy* The street line of the address, or the entire address(''freeform'' input).'
      schema:
        type: string
        maxLength: 50
    features:
      name: features
      in: query
      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.
      schema:
        type: string
    format:
      name: format
      in: query
      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.'
      schema:
        type: string
    urbanization:
      name: urbanization
      in: query
      description: '**Urbanization** Only used with Puerto Rico.'
      schema:
        type: string
    match:
      name: match
      in: query
      description: '**Match Type** *Example: invalid* The match output strategy to be employted for this lookup. Valid values are: **strict**: The API will ONLY return candidates that are valid USPS addresses. **range**: The API will return candidates that are valid USPS addresses, as well as invalid addresses with primary numbers that fall within a valid range for the street. **invalid**: The API will return a single candidate for every properly submitted address, even if invalid or ambiguous.'
      schema:
        type: string
    city:
      name: city
      in: query
      description: '**City** *Example: Provo* The city name.'
      schema:
        type: string
    addressee:
      name: addressee
      in: query
      description: '**Addressee** *Example: John Doe* The name of the recipient, firm, or company at this address.'
      schema:
        type: string
    input_id:
      name: input_id
      in: query
      description: '**Input ID** *Example: 867-5309* A unique identifier for this address used in your application; this field will be copied to the output'
      schema:
        type: string
        maxLength: 36
  schemas:
    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.
    Metadata:
      title: Metadata
      type: object
      properties:
        record_type:
          type: string
          maxLength: 1
          description: "Indicates the type of record that was matched. Only given if a DPV match is made. \n\nF — Firm; the finest level of match available for an address. \n(e.g., Julie Julia 11300 Center Ave Gilroy CA 95020-9257)\nG — General Delivery; for mail to be held at local post offices. \n(e.g., General Delivery Provo UT 84601)\nH — High-rise; address contains apartment or building sub-units. \n(e.g., 1600 Pennsylvania Ave SE Washington DC 20003-3228)\nP — Post Office box \n(e.g., PO Box 4735 Tulsa OK 74159-0735)\nR — Rural Route or Highway Contract; may have box number ranges. \n(e.g., RR 2 Box 4560 Anasco PR 00610-9393)\nS — Street; address contains a valid primary number range. \n(e.g., 16990 Monterey Rd Lake Elsinore CA 92530-7529)\n[blank] — No record type because address did not make a valid DPV match"
        zip_type:
          type: string
          maxLength: 32
          description: "Indicates the type of the ZIP Code for the address that was matched. Only given if a 5-digit match is made. \n\nUnique — The ZIP Code consists of a single delivery point, pertaining to a US Postal Service customer (like a large business or government agency) that routes all of its own mail internally.\nMilitary — The ZIP Code pertains to military units and diplomatic organizations, often in foreign locations.\nPOBox — The ZIP Code is a PO Box ZIP Code and is assigned to a collection of Post Office Boxes.\nStandard — The ZIP Code does not pertain to any of the above categories."
        county_fips:
          type: string
          maxLength: 5
          description: The 5-digit county FIPS (Federal Information Processing Standards) code. It is a combination of a 2-digit state FIPS code and a 3-digit county code assigned by the NIST (National Institute of Standards and Technology).
        county_name:
          type: string
          maxLength: 5
          description: The name of the county in which the address is located
        ews_match:
          type: string
          maxLength: 5
          description: "Early warning system flag; a positive result indicates the street of the address is not yet ready for mail delivery and that the address will soon be added to the master ZIP+4 file in the coming weeks or months. This commonly occurs for new streets or streets undergoing a name change. \n\ntrue — The address was flagged by EWS, preventing a ZIP+4 match.\n[blank] — Address was not flagged by EWS."
        carrier_route:
          type: string
          maxLength: 4
          description: "The postal carrier route for the address. Consists of a one-letter prefix followed by a three-digit route designator. \n(e.g., C007, R123) \n\nC — Carrier Route (commonly termed \"City Route\")\nR — Rural Route\nH — Highway Contract Route\nB — Post Office Box Section\nG — General Delivery Unit\n\nRoutes C770 through C779 pertain to PO Box Street Addresses."
        congressional_district:
          type: string
          maxLength: 2
          description: The congressional district to which the address belongs. Output will be two digits from 01 - 53 or "AL." "AL" means that the entire state (or territory) is covered by a single congressional district. These include Alaska, Delaware, Montana, North Dakota, South Dakota, Vermont, Wyoming, Washington DC, Virgin Islands, and other territories.
        building_default_indicator:
          type: string
          maxLength: 1
          description: "Indicates whether the address is the \"default\" address for a building; for example, the main lobby \n\nY — Yes\nN — No"
        rdi:
          type: string
          maxLength: 12
          description: "Residential Delivery Indicator (residential or commercial) \n\nResidential — The address is a residential address.\nCommercial — The address is a commercial address.\n[blank] — This happens when the address is invalid or we don't have enough information to ascertain RDI status. The Bulk Address Validation Tool translates a [blank] RDI value to \"Unknown.\"\n\nNote: For some reason, known only to the US Postal Service, PO Boxes are always marked as \"Residential.\""
        elot_sequence:
          type: string
          maxLength: 4
          description: eLOT (Enhanced Line of Travel) 4-digit sequence number
        elot_sort:
          type: string
          maxLength: 4
          description: "eLOT (Enhanced Line of Travel) product was developed to give mailers the ability to sort their mailings by line of travel sequence. \n\nA — Ascending\nD — Descending\n[blank] — Address not submitted for eLOT"
        latitude:
          type: number
          description: The horizontal component used for geographic positioning. It is the angle between 0° (the equator) and ±90° (north or south) at the poles. It is the first value in an ordered pair of (latitude, longitude). A negative number denotes a location below the equator; a positive number is above the equator. Combining lat/long values enables you to pinpoint addresses on a map.
        longitude:
          type: number
          description: The vertical component used for geographic positioning. It is the angle between 0° (the Prime Meridian) and ±180° (westward or eastward). It is the second number in an ordered pair of (latitude, longitude). A negative number indicates a location west of Greenwich, England; a positive number east. Combining lat/long values enables you to pinpoint addresses on a map.
        coordinate_license:
          type: integer
          description: The license ID for the geographic coordinate returned. See the licensing table below for more details.
        precision:
          type: string
          maxLength: 18
          description: "Indicates the precision of the latitude and longitude values. \n\nUnknown — Coordinates not known. Reasons could include: address is invalid, military address (APO or FPO), lat/lon coordinates not available.\nZip5 — Accurate to a 5-digit ZIP Code level (least precise)\nZip6 — Accurate to a 6-digit ZIP Code level\nZip7 — Accurate to a 7-digit ZIP Code level\nZip8 — Accurate to an 8-digit ZIP Code level\nZip9 — Accurate to a 9-digit ZIP Code level (most precise with the basic subscription)\nStreet — Accurate to a position along the street proportional to the house/building number.\nParcel — Accurate to the centroid of a property parcel. Requires the US Rooftop Geocoding subscription.\nRooftop — Accurate to the rooftop of a structure for this address. Requires the US Rooftop Geocoding subscription.\n\nNote: Concerning addresses for which the ZIP9 precision is not available, the ZIP# precision is interpolated based on neighboring addresses. Thus, ZIP7 is an average of all the lat/long coordinates of nearby ZIP Codes that share those first 7 digits."
        time_zone:
          type: string
          maxLength: 48
          description: "Indicates the common name of the time zone associated with the address. \n\nValid Responses\nAlaska, Atlantic, Central, Eastern, Hawaii, Mountain, None, Pacific, Samoa, UTC+9, UTC+10, UTC+11, UTC+12"
        utc_offset:
          type: number
          description: "Indicates the number of hours the time zone is offset from Universal Time Coordinated (UTC), the international time standard, also known as Greenwich Meridian Time (GMT). \n\nValid Responses\n-11, -10, -9, -8, -7, -6, -5, -4, 0, 9, 10, 11, 12"
        dst:
          type: string
          maxLength: 5
          description: "Indicates if the time zone \"obeys,\" or, in other words, adjusts their clocks forward and back with the seasons. This information is particularly useful to determine time in other time zones with areas that may or may not use daylight saving time - for example, Arizona, Hawaii, and, of all places, Indiana. \n\ntrue — Time zone observes daylight saving time. \n\nIf dst is absent from the response, then time zone does not observe daylight saving time."
      description: Object representing the different metadata of a verified address
    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
    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: 3

# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/smarty/refs/heads/main/openapi/smarty-street-address-api-openapi.yml