Check codes or names

Got a spreadsheet column of area codes or names? Check up to 500 at once against a boundary release before you join data to it. Each comes back as valid, superseded, ambiguous and so on, with the reason.

get
/areas:validate

Good to know

  • Repeat value once for each code or name, like value=Bristol&value=E07000026.
  • geographystringoptional

    The geography of the boundary release to validate. Supply with release, or omit both to infer a likely compiled release.

  • releasestringoptional

    An exact boundary release id. Supply with geography, or omit both to infer a likely compiled release.

  • valuestring[]required

    A code or name to validate. Repeatable, in input order.

  • parentstring[]optional

    A parent code or name for the corresponding value. When supplied, repeat once per value in the same order.

  • formatstringoptional

    json returns the diagnostic and matching manifest. csv downloads its row-preserving report.

    One ofjsoncsv
    Defaultjson

Returns

Envelope

A result for every value, in input order, and a summary.

  • apiVersionv1required
  • atlasReleasestringrequired

    The immutable /atlas-release releaseId for the artifacts that produced this response.

  • metaobjectrequired
    Show1 child field
    • nextCursorstring | nullrequired

      Opaque cursor for the next page, or null at the end.

  • 400A query parameter is malformed or its cursor is not valid for this result set.
  • 404No resource matches that identity.

Every error has the same shape. See Errors for how to handle them.

Show the precise behaviour

With geography and release, checks each value against one exact boundary release before a caller joins data to it. Omit both to rank compiled geography/releases by exact resolutions and report the likely one; this is a diagnosis, never an automatic join or conversion. Where other releases resolve exactly as many values, the likely one is the newest of them and likely.tiedWith names the rest, since the values alone cannot tell them apart. At most 500 values may be sent in one GET; POST the column as JSON or CSV to send more. A value shaped like an area code is valid when the release holds it. Otherwise it is superseded or not-yet-current when only older or newer releases of the geography hold it, absent-from-release when releases on both sides do, other-geography when only another geography holds it, unknown when nothing does, and malformed-code when it is a letter followed by other than eight digits. Any other value is a name. It is matched only exactly, through a published alias, or with an administrative title such as "City of" set aside, never by prefix or similarity. A name meaning several areas is ambiguous and lists them all; an unmatched name lists the other releases of the geography where it does match. Repeat parent alongside value to settle a shared name with a parent code or name. It resolves only when exactly one candidate has a published containment relationship to that parent. Each result says in normalised whether the value was trimmed or re-cased to be read, and in duplicateOf whether it repeats an earlier value. summary.joinable is true only when every value names exactly one area of the release. Every JSON result carries a versioned matching manifest with the Atlas release, exact submitted values and their digest, candidate decision and published-path recommendations. Use format=csv to download the same row-preserving result for a local join or audit.