Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.smartsend.io/llms.txt

Use this file to discover all available pages before exploring further.

The Smart Send API can return customer-facing strings in several languages. Use the Accept-Language header to tell the API which language you prefer, and the API will negotiate the best available match.

What gets translated

Only strings that are likely to be shown to an end user in a UI are translated. Examples include service display names, addon descriptions, and human-readable status messages. Identifiers, keys, enum values, and other machine-readable fields are not translated. Their values are stable across languages so your integration can rely on them for logic and storage. For example, a shipping service might be returned as:
{
  "carrier": "postnord",
  "service": "mypack_collect",
  "name": "MyPack Collect"
}
The carrier and service keys remain identical regardless of the requested language, while name is translated to match the Accept-Language header.

Accept-Language header

Set the Accept-Language header on each request to indicate your preferred languages. The header follows RFC 9110 and supports quality values for ranking preferences.
Example
Accept-Language: da-DK, da;q=0.9, en;q=0.5
If you do not send an Accept-Language header, the API falls back to its default language.

Language negotiation

The API picks the best available translation by matching your Accept-Language preferences against the languages it supports:
  1. The most preferred language that the API supports is used.
  2. If no preferred language is supported, the API falls back to its default language.
  3. If a specific string has not been translated into the negotiated language, the default language is used for that string.
This means you will always receive a usable response, even if your preferred language is not fully supported for every field.