Records Response

The Returned List of records

GovernmentPostal ServiceShippingLogisticsAddress ValidationPackage Tracking

Properties

Name Type Description
numberOfMonths integer Number of months passed for for Change of Address
recordCount integer Number of Records in records Array returned to customer.
COABeyondMonthsCount integer Number of Records matched with a new address but outside requested number of Months.
COAMatchCount integer Number of Records returning a new address (within requested number of Months).
COANoMatchCount integer Number of Records with no COA found on file.
COAFoundCount integer Number of Records matched but no new address was available (e.g., MLNA, BCNO, new side wouldn't +4 code).
COANotAllowedMatchCount integer Number of Records returned for COA match not allowed (e.g., middle name mismatch, conflicting directions, etc).
records array Contains the records
View JSON Schema on GitHub

JSON Schema

usps-records-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/usps/json-schema/usps-records-response-schema.json",
  "title": "Records Response",
  "description": "The Returned List of records",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/usps-ncoa-openapi.yml#/components/schemas/RecordsResponse",
  "type": "object",
  "properties": {
    "numberOfMonths": {
      "type": "integer",
      "maximum": 48,
      "minimum": 1,
      "description": "Number of months passed for for Change of Address"
    },
    "recordCount": {
      "title": "Number of Records",
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "description": "Number of Records in records Array returned to customer."
    },
    "COABeyondMonthsCount": {
      "title": "Number of Records outside requested number of Months",
      "type": "integer",
      "description": "Number of Records matched with a new address but outside requested number of Months.",
      "minimum": 0,
      "maximum": 200
    },
    "COAMatchCount": {
      "title": "Number of Records returning a new address",
      "type": "integer",
      "description": "Number of Records returning a new address (within requested number of Months).",
      "minimum": 0,
      "maximum": 200
    },
    "COANoMatchCount": {
      "title": "Number of Records returned with no COA",
      "type": "integer",
      "description": "Number of Records with no COA found on file.",
      "minimum": 0,
      "maximum": 200
    },
    "COAFoundCount": {
      "title": "Number of Records returned for matching COA but no new address",
      "type": "integer",
      "description": "Number of Records matched but no new address was available (e.g., MLNA, BCNO, new side wouldn't +4 code).",
      "minimum": 0,
      "maximum": 200
    },
    "COANotAllowedMatchCount": {
      "title": "Number of Records returned for COA match not allowed",
      "type": "integer",
      "description": "Number of Records returned for COA match not allowed (e.g., middle name mismatch, conflicting directions, etc).",
      "minimum": 0,
      "maximum": 200
    },
    "records": {
      "description": "Contains the records",
      "type": "array",
      "minItems": 0,
      "items": {
        "$ref": "#/$defs/Records"
      }
    }
  },
  "$defs": {
    "AddressObject": {
      "title": "Address Information",
      "required": [
        "address",
        "returnCode"
      ],
      "type": "object",
      "properties": {
        "returnCode": {
          "maxLength": 2,
          "type": [
            "string",
            "null"
          ],
          "description": "The return code from the address match. * `32` - Default Match * `31` - Single Match * `22` - Multiple Response Match * `21` - Address Not Found * `13` - Invalid City * `12` - Invalid State Code * `11` - Invalid ZIP Code * `10` - Invalid Address"
        },
        "returnCodeText": {
          "type": "string",
          "minLength": 0,
          "maxLength": 255,
          "description": "This is a description of the return code\n* \"Default address: The address you entered was found but more information is needed (such as an apartment, suite, or box number) to match to a specific address\"\n* \"Single Response – exact match\"\n* \"Multiple addresses were found for the information you entered, and no default exists.\"\n* \"Address Not Found\"\n* \"Invalid City\"\n* \"Invalid State Code\"\n* \"Invalid ZIP Code\"\n* \"Invalid Address\"\n"
        },
        "footnotes": {
          "type": [
            "string",
            "null"
          ],
          "description": "The Address Matching Engine (AME) footnotes.",
          "maxLength": 2
        },
        "address": {
          "description": "Contains the address",
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/DomesticAddress"
            }
          ]
        },
        "countyName": {
          "maxLength": 25,
          "minLength": 0,
          "type": "string",
          "description": "This is the county name associated with the delivery point (values unspecified)."
        },
        "carrierRoute": {
          "maxLength": 4,
          "type": [
            "string",
            "null"
          ],
          "description": "Carrier Route ID"
        },
        "recordType": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "Record Type"
        },
        "DPVConfirmation": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "Delivery Point Verification (DPV®) Return Code confirmation for address (Y/S/D/N)"
        },
        "DPVBusiness": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "Address is a business (Y/N)"
        },
        "DPVCMRA": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "Address is a Commercial Mail Receiving Agency (CMRA) (Y/N)"
        },
        "DPVDrop": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "Address is a drop - mail is dropped by USPS for further distribution (Y/N)"
        },
        "DPVEducational": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "Address is an Educational location (Y/N)"
        },
        "DPVDropCount": {
          "maxLength": 3,
          "type": [
            "string",
            "null"
          ],
          "description": "Drop Count - number of customers serviced where mail is dropped by USPS (001-999)"
        },
        "DPVLACS": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "Address is an old side LACS address (Y/N)"
        },
        "DPVNoDoorDelivery": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "No door delivery flag - for situations where door is not accessible (Y/N)"
        },
        "DPVNostatReasonCode": {
          "maxLength": 2,
          "type": [
            "string",
            "null"
          ],
          "description": "Nostat reason code - 01-06 reasons that a delivery point is not counted for statistical purposes"
        },
        "DPVNostatReasonCodeDesc": {
          "type": "string",
          "description": "Indicates the reason description for nostat flag. * \"IDA (Internal Drop Address)\" * \"CDS Nostat\" * \"CMZ Nostat\" * \"Regular Nostat\" * \"Secondary Required\"",
          "enum": [
            "INTERNAL_DROP_ADDRESS",
            "CDS_NOSTAT",
            "CMZ_NOSTAT",
            "REGULAR_NOSTAT",
            "SECONDARY_REQUIRED"
          ]
        },
        "DPVSeasonal": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "Address is seasonal - aka snowbird (Y/N)"
        },
        "DPVThrowback": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "Throwback Flag - mail is delivered to a PO Box instead of this address (Y/N)"
        },
        "DPVNoSecureLocation": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "No secure Location flag - address has been flagged as such"
        },
        "DPVVacant": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "Address is vacant (Y/N)"
        },
        "DPVNostat": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "Nostat Flag - Not counted for statistical purposes (Y/N)"
        },
        "DPVNonDeliveryDaysFlag": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "Non-delivery days flag - If 'Y' there are day(s) that mail is not delivered."
        },
        "DPVNonDeliveryDaysValues": {
          "maxLength": 255,
          "type": [
            "string",
            "null"
          ],
          "description": "Non-delivery days values - comma-delimited days that mail is not delivered."
        },
        "DPVCurbDelivery": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "Address is Curb type of delivery (Y/N)"
        },
        "DPVNDCBUDelivery": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "Address is NDCBU type of delivery (Y/N)"
        },
        "DPVCentralBoxDelivery": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "Address is Central Box type of delivery (Y/N)"
        },
        "DPVOtherDelivery": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "Address is Other type of delivery (Y/N)"
        },
        "DPVDeliveryType": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "Address Delivery Type of 1 - 4"
        },
        "DPVEnhancedConfirmation": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "Enhanced DPV Confirmation Code - Indicates whether all the information needed to deliver to this address is present."
        },
        "DPVFootnotes": {
          "maxLength": 10,
          "type": [
            "string",
            "null"
          ],
          "description": "DPV Footnotes"
        },
        "DPVPBSA": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "Indicates a PO Box Street Address (Y/N)"
        },
        "DPVFalseConfirmation": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "False Confirmation Indicator - If 'Y' the address is flagged as a false confirmation."
        },
        "DPVUsageCode": {
          "maxLength": 1,
          "type": "string",
          "description": "DPV Usage Code - indicates the type of location for the address. A - Residential B - Business C - Mixed, mostly Residential D - Mixed, mostly Business G - General Delivery [Space] - Unknown",
          "enum": [
            "A",
            "B",
            "C",
            "D",
            "G",
            " "
          ]
        },
        "foreign1": {
          "maxLength": 37,
          "type": [
            "string",
            "null"
          ],
          "description": "International Freeform addresses - only valid for new addresses"
        },
        "foreign2": {
          "maxLength": 37,
          "type": [
            "string",
            "null"
          ],
          "description": "International Freeform addresses - only valid for new addresses"
        },
        "foreign3": {
          "maxLength": 59,
          "type": [
            "string",
            "null"
          ],
          "description": "International Freeform addresses - only valid for new addresses"
        },
        "suiteLinkIndicator": {
          "maxLength": 2,
          "type": [
            "string",
            "null"
          ],
          "description": "SuiteLink Indicator - Flag to indicate if we matched in SuiteLink."
        },
        "LACSLinkIndicator": {
          "maxLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "LACSLink Indicator - Y/N flag to indicate whether a match is made in LACSLink®."
        },
        "LACSLinkReturnCode": {
          "maxLength": 2,
          "type": [
            "string",
            "null"
          ],
          "description": "LACSLink Return Code - Flag to indicate if we matched in LACSLink."
        },
        "postOfficeCity": {
          "type": "string",
          "maxLength": 50,
          "minLength": 0,
          "description": "The city associated with the delivery post office."
        },
        "postOfficeState": {
          "type": "string",
          "maxLength": 2,
          "minLength": 0,
          "description": "The state associated with the delivery post office."
        },
        "countyNumber": {
          "type": "string",
          "description": "The county number for the address."
        },
        "autoZoneIndicator": {
          "type": "string",
          "description": "The automated zone indicator for the delivery unit. * `A` - Carrier Route Sort Rates Apply - Merge Allowed. * `B` - Carrier Route Sort Rates Apply - Merge Not Allowed. * `C` - Carrier Route Sort Rates Do Not Apply - Merge Allowed. * `D` - Carrier Route Sort Rates Do Not Apply - Merge Not Allowed.",
          "enum": [
            "A",
            "B",
            "C",
            "D"
          ]
        },
        "miscLine": {
          "type": "string",
          "description": "Extraneous information removed from the address line not used to match the address."
        },
        "ZIP5Valid": {
          "type": "string",
          "description": "Indicates if the returned ZIP Code corresponds to the returned City/State. * `Y` - The ZIP Code matches the City/State. * `N` - The ZIP Code doesn't match the City/State.",
          "enum": [
            "Y",
            "N"
          ]
        },
        "POBoxOnlyZIP": {
          "type": "string",
          "description": "Indicates if the returned ZIP Code only serves PO Box addresses. * `Y` - The ZIP Code only serves PO Box addresses. * `N` - The ZIP Code serves non-PO Box addresses.",
          "enum": [
            "Y",
            "N"
          ]
        },
        "defaultFlag": {
          "type": "string",
          "description": "Indicates the address matched is a default. * `Y` - The address matched is a default. * `N` - The address matched is not a default.",
          "enum": [
            "Y",
            "N"
          ]
        },
        "matchedPrimaryNumber": {
          "type": "string",
          "description": "The value of the matched primary number."
        },
        "matchedSecondaryNumber": {
          "type": "string",
          "description": "The value of the matched secondary number."
        },
        "secondaryInfo": {
          "type": "string",
          "description": "The value of the secondary information."
        },
        "parsedPMBDesignator": {
          "type": "string",
          "description": "The value of the parsed PMB Designator."
        },
        "parsedPMBNumber": {
          "type": "string",
          "description": "The value of the PMB number."
        },
        "financeNumber": {
          "type": "string",
          "description": "Finance number associated with address."
        },
        "baseAlternateCode": {
          "type": "string",
          "description": "Base/Alternate code associated with ZIP + 4® record. * `A` - Alternate record. * `B` - Base record.",
          "enum": [
            "A",
            "B"
          ]
        },
        "eLOTCode": {
          "type": "string",
          "description": "eLOT Ascending/Descending Code * `A` - eLOT Number Ascending * `D` - eLOT Number Descending",
          "enum": [
            "A",
            "D"
          ]
        },
        "eLOTNumber": {
          "type": "string",
          "maxLength": 3,
          "minLength": 0,
          "description": "eLOT Number"
        },
        "electricVehicleRoute": {
          "type": [
            "string",
            "null"
          ],
          "description": "Electric Vehicle Route Indicator (Y/N)"
        }
      },
      "description": "The Address Information of the request user."
    },
    "DomesticAddress": {
      "title": "Domestic Address",
      "type": "object",
      "description": "Address fields for US locations",
      "properties": {
        "streetAddress": {
          "maxLength": 64,
          "type": [
            "string",
            "null"
          ],
          "description": "Primary and Secondary Address Information"
        },
        "streetAddressAbbreviation": {
          "maxLength": 50,
          "minLength": 0,
          "type": "string",
          "description": "This is the abbreviation of the primary street address line for the address.",
          "readOnly": true
        },
        "secondaryAddress": {
          "maxLength": 50,
          "type": "string",
          "description": "The secondary unit designator, such as apartment(APT) or suite(STE) number, defining the exact location of the address within a building.  For more information please see [Postal Explorer](https://pe.usps.com/text/pub28/28c2_003.htm)."
        },
        "lastline": {
          "maxLength": 42,
          "type": [
            "string",
            "null"
          ],
          "description": "Return/Standardized City State ZIP Code™"
        },
        "urbanization": {
          "$ref": "#/$defs/Urbanization"
        },
        "city": {
          "type": [
            "string",
            "null"
          ],
          "description": "City Name",
          "maxLength": 28
        },
        "cityAbbreviation": {
          "type": "string",
          "description": "This is the abbreviation of the city name for the address.",
          "maxLength": 28
        },
        "stateAbbr": {
          "maxLength": 2,
          "type": [
            "string",
            "null"
          ],
          "description": "State Abbreviation"
        },
        "ZIPCode": {
          "pattern": "^\\d{5}$",
          "type": [
            "string",
            "null"
          ],
          "description": "Return/Standardize ZIP Code™",
          "maxLength": 5
        },
        "ZIPPlus4": {
          "pattern": "^\\d{4}$",
          "type": [
            "string",
            "null"
          ],
          "description": "This is the 4-digit component of the ZIP+4 code.",
          "maxLength": 4
        },
        "deliveryPoint": {
          "maxLength": 2,
          "type": [
            "string",
            "null"
          ],
          "description": "Return/Standardize Delivery Point"
        }
      }
    },
    "Records": {
      "title": "Records",
      "description": "List of Records returned from found Old and New Address Information",
      "required": [
        "changeOfAddressInformation",
        "oldAddressInformation"
      ],
      "type": "object",
      "properties": {
        "changeOfAddressInformation": {
          "title": "Change Of Address",
          "type": "object",
          "properties": {
            "errorCode": {
              "maxLength": 3,
              "type": "string",
              "description": "Processing Error Code"
            },
            "errorDescription": {
              "maxLength": 255,
              "type": "string",
              "description": "Processing Error Description"
            },
            "beyondMonths": {
              "maxLength": 1,
              "type": "string",
              "description": "Change of address is beyond requested number of months. New address will not be returned.",
              "pattern": "^[YN]$"
            },
            "returnCode": {
              "maxLength": 2,
              "type": "string",
              "description": "NCOA Return Code - status of match to NCOA."
            },
            "moveEffectiveDate": {
              "type": "string",
              "format": "date",
              "description": "Change of address Move Effective Date: YYYY-MM-DD."
            },
            "moveType": {
              "type": "string",
              "enum": [
                "B",
                "F",
                "I"
              ],
              "description": "Indicates the type of move Business (B), Family (F) or Individual (I).",
              "pattern": "^[BFI]$"
            },
            "origFullName": {
              "maxLength": 66,
              "type": "string",
              "description": "Change of Address Original Full Name"
            },
            "matchedBusinessName": {
              "maxLength": 66,
              "type": "string",
              "description": "Returned result of the matched Business Name."
            },
            "matchedFirstName": {
              "maxLength": 15,
              "type": "string",
              "description": "Returned result of the matched First Name."
            },
            "matchedLastName": {
              "maxLength": 20,
              "type": "string",
              "description": "Returned result of the matched Last Name."
            },
            "matchedSuffixName": {
              "maxLength": 6,
              "type": "string",
              "description": "Returned result of the matched Suffix Name."
            },
            "middleNameTwoChars": {
              "maxLength": 2,
              "type": "string",
              "description": "Returned result of the matched Middle Name,"
            }
          },
          "description": "Information pertaining to the Change of address"
        },
        "oldAddressInformation": {
          "$ref": "#/$defs/AddressObject"
        },
        "newAddressInformation": {
          "$ref": "#/$defs/AddressObject"
        }
      }
    },
    "Urbanization": {
      "title": "Urbanization",
      "maxLength": 28,
      "type": [
        "string",
        "null"
      ],
      "description": "An area, sector, or residential development within a geographic area (typically used for addresses in Puerto Rico)"
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/usps-records-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.