--- title: "Validating Contact Address" slug: "validating-contact-address" updated: 2026-06-10T21:13:56Z published: 2026-06-10T21:13:56Z canonical: "help.idibilling.com/validating-contact-address" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.idibilling.com/llms.txt > Use this file to discover all available pages before exploring further. # Validating Contact Address This article describes a set of steps that can be used to complete an address validation of a contact through CostGuard Web APIs. ## Determine Customer ID CostGuard Web APIs use internal IDs to identify resources which are generally not known externally. To determine the internal ID externally known information will need to be used to look up the internal ID. For customers the most common way of accomplishing this is through a customer account search using the Customer Management service. **Example Call:** *https://api.idibilling.com/CustomerManagement/2x/{environment}/api/customer/accountSearch?$filter=AccountNumber eq ‘{AccountNumber}’* - **environment:** Name of the environment you are working in. - **AccountNumber:** Account number assigned to the customer **Important Response Information:** - **CustomerID:** This field is the customer internal ID for future API Calls. ## Get the Contact Type The information to determine what type of validation the contact requires is stored on the contact type. The contact type is defined on a customer at the time of creation. This determines what type of validation will occur when the address is validated. Querying the Contact Type oData will provide the AddressValidationTypeID which is required to make an address validation call. **API:** [**Data Service – Contact Type**](http://engvault/docs/Data%20Service%20API%20Documentation/#operation/ContactType) **Content-Type:** application/json **Example Call:** *https://api.idibilling.com/data/1xa/{environment}/CoreDataService/ContactType()?$filter=Description eq ‘{Description}’* - **environment:** Name of the environment you are working in. - **Description:** The Description of the contact type you are attempting to lookup **Important Response Information:** - **AddressValidationTypeID:** This ID is required for the next step to validate the address. ## Validate the Address The next step is to attempt to validate the address. Using the AddressValidationTypeID found in the previous step along with the complete address information you can create a validation request. **API:** [**Address Validation Management – Validate Address**](http://engvault/docs/Address%20Validation%20Management%20API%20Documentation/#operation/ValidateAddress) **Content-Type:** application/json **Example Call:** *https://api.idibilling.com/AddressValidationManagement/2x/{environment}/api/validateAddress* - **environment:** Name of the environment you are working in. **Important Response Information:** - **ActualValidationType:** This may be different than the requested if incomplete information was provided or the address could not be validated using the requested type**.** - **IsValidated:** True or False depending on if the address was successfully validated using. ## Translate the result The response back from the AddressValidation API needs to be translated to the CustomerService API when modifying a contacts address information. Take the AddressValidationManagement result and convert it to the AddressValidationInformation object and contact info found under the CustomerService Modify Customer operation. **Example 2x Response**: ```plaintext { "actualValidationType": "USPS", "addressStandardized": [ { "address": { "City": "Rochester", "Country": "USA", "County": "Monroe", "Latitude": 40.020000, "Longitude": -105.240000, "Name": "Justin Winslow", "State": "NY", "Street1": "445 Mount Eden Road", "Street2": "Apt 104", "Street3": "", "ZipCode": 14653 }, "fipsCode": "0801307850", "taxSpecialDistricts": [ { "code": "01PPJ00124" }] } ], "attemptedValidationType": "USPS", "errorCode": "", "excludeReasonID": "", "failureCount": "", "isPOBox": true, "isValidated": true, "requestedValidationType": "USPS", "validationDate": "2019-05-01T18:00:00.000Z" } ``` Translate to 1x Request to pass to the Customer Service (AddressValidationInformation object example below) **Important Information:** - **AddressValidationType:** When using Core Logic you need to convert the type from “Core Logic” to “Proxix” due to the naming change from 1x to 2x service. ## Modify the Customer Once the validation information has been determined you need to update the customer contact address with the result. The result from the AddressValidationManagement service needs to be transformed into the CustomerService address structure which is a slightly different format. **API:** [**Customer Service – Modify Customer**](http://engvault/docs/Customer%20Service%20API%20Documentation/#operation/ModifyCustomer) **Content-Type:** application/soap+xml; charset=utf-8; action=\”https://webservices.idibilling.com/customer/ModifyCustomer” **Example Call:** *https://api.idibilling.com/customercare/1xa/{environment}/* ```plaintext            AuthToken                                                                USPS USPS                    2019-05-01T00:00:00                 Rochester IDI 542178 2 USA Monroe helpdesk@idibilling.com Work Justin Winslow 40.020000 -105.240000 M 5854536500 Work NY 445 mount Eden Road Apt 104 14653   AuthKey {CustomerID}           ``` - **environment:** Name of the environment you are working in. - **CustomerID:** Internal customer ID retrieved using [**Determine Service ID**](/v1/docs/validating-contact-address#determine-customer-id) **Example Response** (Extra information excluded from Response): ```plaintext                        123456 1 Residential Monthly on the 7th 2 Justin Winslow            Billable USPS 231 0 USPS 0229054150 01PPJ00484 2019-05-01T00:00:00 123 Primary Customer Contact 1            1                             ```