Update the street address, city, state, and postal code for a personal customer or their associated person.
Change Address
The /changeAddress endpoint allows personal customers to update their residential or mailing address in the Netevia system. It supports three request variants: a basic address update, a security-code-verified update, and an update targeting an associated person (such as a primary authorized person or beneficial owner). Keeping address details accurate ensures that account communications and mailings are delivered correctly.
Endpoint
POST /changeAddress
Authentication
Bearer token required. Obtain via:
POST https://api.banking.netevia.dev/api/auth/v2
Include in header: Authorization: Bearer {token}
Token lifetime: 10 minutes. Refresh via POST /api/auth/refresh.
When to use
Use this endpoint when a personal customer needs to update their address due to relocation, a change in mailing preferences, or correction of outdated information. For updates that require additional verification (e.g., high-security contexts), supply the oneTimeCode and secureOperationType fields. To update the address of an associated person such as a beneficial owner, include the associatedPersonId field instead.
Request Body
This endpoint accepts one of three request variants (oneOf). All variants share the base address fields. Choose the variant that matches your use case.
Variant 1 — Basic Address Update (changeaddressrequest)
changeaddressrequest)| Field | Type | Required | Description |
|---|---|---|---|
| streetAddress | string | Yes | Street address in the format 123 Avenue Street. Must match pattern: starts with a number followed by street name tokens. |
| extendedAddress | string | No | Optional apartment, suite, or unit designation (e.g., Apt 4B). |
| postalCode | string | Yes | 5-digit US ZIP code (e.g., "90210"). |
| city | string | Yes | City name. |
| state | integer | Yes | US state as an integer enum (1–53, corresponding to US states and territories). |
{
"streetAddress": "742 Evergreen Terrace",
"extendedAddress": "Apt 1",
"postalCode": "62701",
"city": "Springfield",
"state": 14
}Variant 2 — Secured Address Update (changeaddresssecuredrequest)
changeaddresssecuredrequest)Extends Variant 1 with OTP verification fields. Include all base fields plus:
| Field | Type | Required | Description |
|---|---|---|---|
| streetAddress | string | Yes | See Variant 1. |
| extendedAddress | string | No | See Variant 1. |
| postalCode | string | Yes | See Variant 1. |
| city | string | Yes | See Variant 1. |
| state | integer | Yes | See Variant 1. |
| oneTimeCode | string | Yes | 6-digit numeric one-time passcode sent to the customer. |
| secureOperationType | string | Yes | Verification method used. One of: "ShortMessageCode", "TimeBasedCode", "LegacyTimeBasedCode". |
{
"streetAddress": "742 Evergreen Terrace",
"extendedAddress": "Apt 1",
"postalCode": "62701",
"city": "Springfield",
"state": 14,
"oneTimeCode": "483921",
"secureOperationType": "ShortMessageCode"
}Variant 3 — Associated Person Address Update (changeassociatedpersonaddressrequest)
changeassociatedpersonaddressrequest)Extends Variant 1 to update the address of a linked person (e.g., a primary authorized person or beneficial owner). Include all base fields plus:
| Field | Type | Required | Description |
|---|---|---|---|
| streetAddress | string | Yes | See Variant 1. |
| extendedAddress | string | No | See Variant 1. |
| postalCode | string | Yes | See Variant 1. |
| city | string | Yes | See Variant 1. |
| state | integer | Yes | See Variant 1. |
| associatedPersonId | string | Yes | The ID of the primary authorized person or beneficial owner whose address is being updated. |
{
"streetAddress": "742 Evergreen Terrace",
"postalCode": "62701",
"city": "Springfield",
"state": 14,
"associatedPersonId": "ap-7f3c1e2a-84b0-4d29-a5f6-102938475610"
}State Enum Values
The state field is an integer from 1 to 53 representing US states and territories. Values map sequentially (e.g., 1 = Alabama, 2 = Alaska, ... 51 = Wyoming, 52 = District of Columbia, 53 = Puerto Rico or other territory). Verify the exact mapping with your integration team or platform documentation.
Response
200 OK
A 200 response indicates the address was successfully updated. No response body fields are returned beyond the success status.
{}Error Codes
| Code | When it happens |
|---|---|
| 400 | Missing required fields, invalid postal code format (must be 5 digits), invalid street address format, or invalid oneTimeCode format (must be 6 digits) |
| 401 | Token missing, expired, or invalid |
| 403 | Insufficient permissions to update the specified address or associated person |
| 404 | Associated person ID not found |
| 500 | Internal server error |
Common Mistakes
- Sending
postalCodewith fewer or more than 5 digits — the pattern requires exactly^\d{5}$. - Sending
streetAddressthat does not begin with a number — the format must follow123 Avenue Streetstyle (digit-first). - Using Variant 2 without having triggered an OTP flow first —
oneTimeCodewill be invalid or expired. - Confusing
associatedPersonId(Variant 3) with a customer or account ID — this field accepts only the ID of a linked person (authorized person or beneficial owner). - Omitting
secureOperationTypewhen providingoneTimeCode— both fields are required together in Variant 2.
Related Endpoints
POST /api/auth/v2— Obtain a Bearer token for authenticationPOST /api/auth/refresh— Refresh an existing Bearer token
Example
Variant 1 — Basic address update:
curl -X POST https://api.banking.netevia.dev/changeAddress \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"streetAddress": "742 Evergreen Terrace",
"extendedAddress": "Apt 1",
"postalCode": "62701",
"city": "Springfield",
"state": 14
}'Variant 2 — Secured address update with OTP:
curl -X POST https://api.banking.netevia.dev/changeAddress \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"streetAddress": "742 Evergreen Terrace",
"postalCode": "62701",
"city": "Springfield",
"state": 14,
"oneTimeCode": "483921",
"secureOperationType": "ShortMessageCode"
}'Variant 3 — Update address for an associated person:
curl -X POST https://api.banking.netevia.dev/changeAddress \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"streetAddress": "742 Evergreen Terrace",
"postalCode": "62701",
"city": "Springfield",
"state": 14,
"associatedPersonId": "ap-7f3c1e2a-84b0-4d29-a5f6-102938475610"
}' 200Success
