Update Contact Info

View as Markdown
### Update the authenticated user's full contact information. **Available to:** All authenticated users **Environments:** Live <!-- handler gate: returns "Request should be sent to Live server" on Demo --> **[Rate Limit](/api/authentication#request-rate-limits-and-time-penalties):** No endpoint-specific limit Replaces the contact information on file for the user identified by `userId`. The request carries the full contact record: required `firstName`, `lastName`, `streetAddress1`, `city`, `country` (two-letter code), and `phone`, plus optional fields including `streetAddress2`, `state`, `postCode`, a separate mailing address (set `mailingIsDifferent` and the `mailing*` fields), and joint-account names (`jointFirstName`, `jointLastName`). Whether the change applies immediately or is held for review depends on the account. For users whose contact changes require approval and who hold one or more accounts, the update is recorded as a pending change and takes effect only after it is approved. Otherwise the update is applied directly. On success the response returns the resulting `contactInfo`. This endpoint operates against Live. On Demo it returns an error indicating the request must be sent to the Live server. To change only the name, country, and phone without sending the full address record, use [`updateContactInfoName`](/api/rest-api-endpoints/users/update-contact-info-name). <Info>Requests with `firstName` and `lastName` fields exceeding a combined 60 characters are rejected, despite each field individually allowing up to 64 characters. The same limit applies to `jointFirstName` and `jointLastName`.</Info> **Common Failure Scenarios** - A required field is missing, or `country`/`mailingCountry` is not a two-letter code. - The combined `firstName` and `lastName` length exceeds 60 characters. - The request is sent to a Demo server instead of Live. **Error Messages** | `errorText` | Trigger | |-------------|---------| | `Request should be sent to Live server` | The request was sent to a Demo server; contact-info updates are processed on Live only. | | `Failed to update contact info: <id>. Please retry` | The update could not be persisted; retry the request. | | Non-empty `errorText` | The request failed; the field describes the reason. |

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Request

This endpoint expects an object.
userIdlongRequired
firstNamestringRequired<=64 characters
lastNamestringRequired1-64 characters
streetAddress1stringRequired3-61 characters
citystringRequired2-35 characters
countrystringRequired=2 characters
phonestringRequired<=21 characters
streetAddress2stringOptional<=61 characters
statestringOptional2-64 characters
postCodestringOptional4-11 characters
mailingIsDifferentbooleanOptional
mailingStreetAddress1stringOptional<=8192 characters
mailingStreetAddress2stringOptional<=8192 characters
mailingCitystringOptional<=64 characters
mailingStatestringOptional<=64 characters
mailingPostCodestringOptional<=64 characters
mailingCountrystringOptional<=2 characters
approvedIdlongOptional>=0
jointFirstNamestringOptional<=64 characters
jointLastNamestringOptional1-64 characters

Response

UpdateContactInfoResponse
errorTextstring<=8192 characters

Non-empty if the request failed

contactInfoobject