Added

Version 2

Version 2 introduces locale output format standardization and new response metadata for review language filtering transparency. This changelog documents the key API changes and differences between V1 and V2.


Locale code format: underscored to dashed

V2 standardizes all locale codes in API responses to use the dashed format (BCP 47), replacing the underscored format used in V1.

V1 formatV2 format
en_USen-US
es_MXes-MX
fr_FRfr-FR
pt_BRpt-BR
zh_CNzh-CN

This affects the language field on all translation objects (names, descriptions, addresses, and other translated content arrays).

Example — V1 response:

{
  "names": [
    {"language": "es_MX", "value": "El Bistró de Locale", "primary": false}
  ]
}

Example — V2 response:

{
  "names": [
    {"language": "es-MX", "value": "El Bistró de Locale", "primary": false}
  ]
}
📘

Migration note: If your integration parses or matches on the language field in translation objects, update your code to expect dashed locale codes (e.g. es-MX instead of es_MX) when using V2. The locale query parameter accepts dashed format in both V1 and V2.


language_meta object on reviews responses

V2 adds a language_meta metadata object to the reviews endpoint response. This object provides transparency into how language filtering interacts with your review pool, specifically, how many reviews exist in your pool vs. how many matched your language filter.

Response structure:

{
  "data": [ ... ],
  "pagination": { ... },
  "language_meta": {
    "requested_language": "fr",
    "total_in_pool": 25,
    "matched_language": 8,
    "pool_definition": "recent_count"
  }
}

Field reference:

FieldTypeDescription
requested_languagestringThe language used to filter reviews in this response. Matches the supplied language query parameter, or en if none was specified.
total_in_poolintegerTotal number of reviews in your review pool before language filtering was applied.
matched_languageintegerNumber of reviews in the pool that matched the requested language. This count is before additional filters like rating_atleast or trip_type are applied.
pool_definitionstringThe strategy used to define your review pool: recent_count (fixed number of most recent reviews) or recent_months (all reviews within a configured time window).

When language_meta appears:

  • Present when a language filter is active (from the language query parameter or your delivery configuration).
  • Omitted when no language filter is applied.

Example scenarios:

Scenariototal_in_poolmatched_languageExplanation
25-review pool, requesting language=fr2588 of 25 most recent reviews have French content
25-review pool, requesting language=en252424 of 25 have English content
Time-window pool (6 months), requesting language=ja42342 reviews in window, 3 have Japanese
25-review pool, requesting language=primary2525All reviews have an original-language version

For more context on how the review pool works and how language filtering interacts with it, see the Supported Languages for Reviews guide.