---
title: "Validate an address"
method: POST
path: "/addresses/validate"
tags: ["Address", "Returns", "Shipments"]
---

# Validate an address

`POST /addresses/validate`

This address validation endpoint allows you to validate shipping addresses before using them.
By validating addresses in advance, you can ensure that the shipping information is accurate and complete,
reducing the risk of delivery issues and improving overall shipping efficiency.
Providing the carrier helps to tailor the address validation process according to specific carrier requirements.
Using additional validation methods can further enhance the accuracy of the address verification.

The default Sendcloud validation, will always be applied, has in 2 steps:
1. checks the address against the carrier limits
(e.g. maximum length of the address line, existence of the postal code for the country, etc.). 
see also [Carrier address limits](/docs/addresses/address-field-limits#address-field-limits).

2. optimizes (washes) the address to fit within the carrier limits.
(e.g. deduplication of address lines, abbreviations, etc.)

## Headers

- `Sendcloud-Partner-Id` string

## Request body

- AddressWasherRequest — Address Washer Request object model
  - `address` RawAddress, required — Raw address object
    - `address_line_1` string — First line of the address
    - `house_number` string — House number of the address
    - `address_line_2` string — Additional address information, e.g. 2nd level
    - `postal_code` string — Zip code of the address
    - `city` string — City of the address
    - `po_box` string, nullable — Code required in case of PO Box or post locker delivery
    - `state_province_code` string — The character state code of the customer represented as ISO 3166-2 code. This field is required for certain countries. See [international shipping](/docs/shipments/international-shipping#required-fields-for-international-shipments) for details.
    - `country_code` string — The country code of the customer represented as ISO 3166-1 alpha-2
  - `carrier_code` string, required — The code of the carrier to be used for the address validation. Only carriers available to your account can be used.
  - `validation_methods` AddressValidationMethodEnum[] — An array of optional address validation methods to be applied The default Sendcloud validation will always be applied.

## Response `200`

Address validation successful

- AddressWasherResponse — Address Washer Response object model
  - `input_address_is_valid` boolean, nullable — Indicates if the input address is valid. In case null is returned, the address is not valid and the details are not available (f.e.the address validator is not available).
  - `results` object[] — The results of the address validation.
    - `address` RawAddress — Raw address object
      - `address_line_1` string — First line of the address
      - `house_number` string — House number of the address
      - `address_line_2` string — Additional address information, e.g. 2nd level
      - `postal_code` string — Zip code of the address
      - `city` string — City of the address
      - `po_box` string, nullable — Code required in case of PO Box or post locker delivery
      - `state_province_code` string — The character state code of the customer represented as ISO 3166-2 code. This field is required for certain countries. See [international shipping](/docs/shipments/international-shipping#required-fields-for-international-shipments) for details.
      - `country_code` string — The country code of the customer represented as ISO 3166-1 alpha-2
    - `validation_method` 'here'
    - `recommended` boolean — Indicates if the address is recommended after validation.
    - `analysis` object, nullable — Analysis details of the address validation process. In case null is returned no analysis details are available.
      - `validation_result` object — The result of the validation process.
        - `is_valid` boolean — Indicates if the address is valid.
        - `reasons` union[] — List of reasons for the validation result.
          - union
            - 'ADDRESS_TOO_LONG' — The address line exceeds the maximum length.
            - 'HOUSE_NUMBER_TOO_LONG' — The house number exceeds the maximum length.
            - 'HOUSE_NUMBER_TOO_SHORT' — The house number is too short.
            - 'ADDRESS_NOT_VALID' — The address does not exist.
            - 'COUNTRY_CODE_MISSING' — The country code is missing.
            - 'POSTAL_CODE_MISSING' — The postal code is missing.
            - 'STATE_MISSING' — The state is missing.
            - 'PROVINCE_MISSING' — The province is missing.
      - `changed_attributes` string[] — List of changed attributes.
      - `invalid_attributes` string[] — List of attributes that are invalid (i.e. below the field-level validation threshold).

## Other responses

- `400` — Bad Request

---

[API](https://skmtc.dev/sendcloud/apis/shipments.md) · [All operations](https://skmtc.dev/sendcloud/apis/shipments/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sendcloud/shipments/revisions/4dbce94b69be/schema)
