US Address SaaS Working name
Developer preview. The API is not available. Everything on these pages describes a local prototype that returns simulated data; no real address data provider is connected.
Local prototype · simulated data

Errors

Errors use one envelope with a stable code to branch on, a human message, and a request_id to report.

Envelope

JSON
{
  "error": {
    "type": "invalid_request",
    "code": "invalid_query_length",
    "message": "q must be 2 to 100 characters.",
    "request_id": "req_0000000000000000docs",
    "doc_url": "https://docs.example.com/errors#invalid_query_length",
    "param": "q"
  }
}

Branch on error.code, never on message. Messages may change; codes will not change without a new API version. User input is never echoed back.

Error codes

All error codes
CodeHTTPTypeMeaningWhat to do
missing_api_key401authentication_errorNo Authorization: Bearer header was sent.Send a test key in the header.
invalid_api_key401authentication_errorThe key is unknown or has been revoked.Check the key in the console; create a new one if it was revoked.
live_keys_disabled403permission_errorA *_live_* key was used. Live keys do not exist yet.Use a test key.
origin_not_allowed403permission_errorA publishable key (or a demo/waitlist call) came from an origin that is not on the allowlist.Add the origin to the key, or call from an allowed origin.
secret_key_in_browser403permission_errorA secret key was sent with an Origin header, which means it is running in a browser.Move the call to your server, or use a publishable key.
secret_key_required403permission_errorThe endpoint (for example /v1/usage) needs a secret key.Call it from your server with a secret key.
key_in_url400invalid_requestAn API key was sent as a key or api_key query parameter.Send keys only in the Authorization header. URLs end up in logs.
invalid_query_length400invalid_requestq is shorter than 2 or longer than 100 characters.Wait for two characters before calling; trim long input.
invalid_query_characters400invalid_requestq contains characters that never appear in a street address.Strip markup and control characters.
invalid_limit400invalid_requestlimit is not an integer from 1 to 10.Use 1–10 (default 5).
invalid_state400invalid_requeststate is not a two-letter code.Use USPS codes such as NY.
invalid_zip400invalid_requestzip is not 1–5 digits.Send a ZIP or ZIP prefix.
invalid_city400invalid_requestcity is too long or has unsupported characters.Send the plain city name.
invalid_id400invalid_requestThe suggestion id is malformed.Use an id returned by autocomplete.
invalid_secondary400invalid_requestThe unit filter is too long or has unsupported characters.Send something like 4 or Apt 4.
address_not_found404not_foundNo address has this id.Run autocomplete again; ids can change when the underlying data version changes.
route_not_found404not_foundUnknown endpoint.Check the path against the reference.
method_not_allowed405invalid_requestThe HTTP method is not supported here.See the Allow response header.
rate_limit_exceeded429rate_limitedToo many requests in the current window.Wait for Retry-After seconds, then retry.
internal_error500api_errorUnexpected error in the prototype.Retry with backoff; report the request_id.
invalid_json400invalid_requestThe request body is not a JSON object.Send a JSON object.
unsupported_media_type415invalid_requestThe body was not sent as application/json.Set Content-Type: application/json.
payload_too_large413invalid_requestThe body is larger than 4 KB.Send only the documented fields.
invalid_body400invalid_requestThe waitlist body is not an object.Send a JSON object.
invalid_email400invalid_requestThe email address is not valid.Ask the user to correct it.
stale_notice_version400invalid_requestThe privacy notice version sent is not the current one.Reload the page so the user sees the current notice.
invalid_field400invalid_requestAn optional waitlist field is invalid (see param).Fix the named field.
invalid_or_expired_token400invalid_requestA confirmation, unsubscribe or deletion link is invalid, used or expired.Request a new link.

US Address SaaS is a working project name, not a registered company or trademark. All data shown is simulated.