Validate Address
Standardize and verify a free-form US shipping address via the Google Address Validation API. Returns USPS-standardized components (street / unit / city / state / ZIP), a confidence verdict (high / medium / low), whether Google corrected anything, and which components are missing. Ideal for: confirming a deliverable address collected in chat before placing an order, surfacing the corrected form for the user to approve rather than re-type.
Catalog action Integrations
Standardize and verify a free-form US shipping address via the Google Address Validation API. Returns USPS-standardized components (street / unit / city / state / ZIP), a confidence verdict (high / medium / low), whether Google corrected anything, and which components are missing. Ideal for: confirming a deliverable address collected in chat before placing an order, surfacing the corrected form for the user to approve rather than re-type.
At a Glance
| Field | Value |
|---|---|
| Action ID | validate-address |
| Category | Integrations |
| Connector | Not required |
| Requires gas | No |
| Funds movement | None declared |
| Tags | shopping, address, lookup, read |
Payload Schema
| Field | Type | Required | Description |
|---|---|---|---|
addressLines | array | Yes | Free-form address lines, roughly street-first (e.g. ["9149 sepulvda blvd", "los angeles 90045"]). One combined line is accepted too — Google splits it. |
regionCode | string | No | CLDR region code. Only 'US' is supported today (shipping is US-only). |
Result Schema
| Field | Type | Required | Description |
|---|---|---|---|
confidence | string | Yes | high = complete, nothing unconfirmed (safe to ship after user confirm); medium = complete but Google inferred/replaced/spell-corrected components (show the corrected form for confirm); low = incomplete or unconfirmable (caller should fall back to its own handling). |
corrected | boolean | Yes | True when the standardized address differs materially from what the user typed. |
formattedAddress | string | null | Yes | Google's single-line formatted address (no recipient name). |
standardized | object | null | Yes | USPS-standardized components — null when confidence is low. |
missingComponents | array | Yes | Google component types the input lacked (e.g. 'subpremise') — useful for a targeted re-ask. |
Examples
json{ "type": "validate-address", "payload": { "addressLines": [] }, "children": []}
bashcurl -X POST "https://api.b3os.org/v1/actions/validate-address/test" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "inputs": { "addressLines": [] }}'
Payload fields can use workflow expressions such as {{$trigger.body.amount}}, {{$nodes.fetch.result.price}}, and {{$props.asset}} when the value should come from a trigger, prior node, or reusable workflow prop.
