Skip to content

Get published bundle

GET
/api/v1/applications/{applicationId}/bundles/{locale}

The published translations of a locale. Called by consumer applications with a service account, at startup and when the locale changes. Pass the ETag of a cached bundle as If-None-Match to get 304 Not Modified while it is still current. Drafts are never part of a bundle.

applicationId
required

Lowercase slug that identifies an application

string
/^[a-z][a-z0-9-]{1,62}$/

Identifier of the application, a lowercase slug chosen at creation (match-tracker). Consumer applications configure it, so it never changes.

locale
required

BCP 47 language tag (language, optionally a script and a region)

string
/^[a-z]{2,3}(-[A-Z][a-z]{3})?(-([A-Z]{2}|[0-9]{3}))?$/

BCP 47 language tag of the locale (nl, en-GB)

If-None-Match
string

ETag of a bundle the client already has. When it is still the published version the response is 304 Not Modified without a body.

The published translations of the locale

The published translations of one locale. Holds only the keys that have a published translation; a consumer keeps its built-in text for every other key.

object
application
required

Lowercase slug that identifies an application

string
/^[a-z][a-z0-9-]{1,62}$/
locale
required

BCP 47 language tag (language, optionally a script and a region)

string
/^[a-z]{2,3}(-[A-Z][a-z]{3})?(-([A-Z]{2}|[0-9]{3}))?$/
version
required

Release that published this bundle

integer format: int32
publishedAt
required

Date-time (ISO 8601)

string format: date-time
messages
required

Message key to text

object
key
additional properties

Text of a message in ICU MessageFormat: plain text, {name}, {n, number}, {d, date, short}, {n, plural, one {...} other {...}} and {x, select, a {...} other {...}}. It may only use the arguments of its key.

string
<= 4000 characters
ETag
string

Version of the bundle, use as If-None-Match on a subsequent GET

The bundle of the If-None-Match header is still the published version

ETag
string

Version of the bundle

Request validation failed

object
type
required

Canonical error type identifier (URI). The values are the problem types of stratastax-http’s problem-core; stratastax-codegen fails the build of a service when the two disagree.

string
Allowed values: https://errors.stratastax.dev/authentication https://errors.stratastax.dev/authorization https://errors.stratastax.dev/validation https://errors.stratastax.dev/not-found https://errors.stratastax.dev/conflict https://errors.stratastax.dev/precondition-failed https://errors.stratastax.dev/internal
title
required

Short, human-readable summary

string
status
required

HTTP status code

integer format: int32
detail
required

Human-readable explanation

string
instance

URI of the request that caused the error

string format: uri
errors
Array<object>
object
field
required

Field or property that failed validation

string
code
required

Machine-readable validation error code, e.g. REQUIRED, VALUE_TOO_LONG, INVALID_FORMAT, OUT_OF_RANGE. Canonical list is maintained per resource in the documentation.

string
message
required

Human readable validation message

string
rejectedValue

The actual value that failed validation. Omitted if the value is sensitive.

Examples
{
"type": "https://errors.stratastax.dev/validation",
"title": "Bad Request",
"status": 400,
"detail": "Received invalid request data",
"errors": [
{
"field": "displayName",
"code": "REQUIRED",
"message": "missing required field"
}
]
}

Authentication required or token invalid

object
type
required

Canonical error type identifier (URI). The values are the problem types of stratastax-http’s problem-core; stratastax-codegen fails the build of a service when the two disagree.

string
Allowed values: https://errors.stratastax.dev/authentication https://errors.stratastax.dev/authorization https://errors.stratastax.dev/validation https://errors.stratastax.dev/not-found https://errors.stratastax.dev/conflict https://errors.stratastax.dev/precondition-failed https://errors.stratastax.dev/internal
title
required

Short, human-readable summary

string
status
required

HTTP status code

integer format: int32
detail
required

Human-readable explanation

string
instance

URI of the request that caused the error

string format: uri
Examples
{
"type": "https://errors.stratastax.dev/authentication",
"title": "Unauthorized",
"status": 401,
"detail": "Authentication required"
}

Insufficient permissions

object
type
required

Canonical error type identifier (URI). The values are the problem types of stratastax-http’s problem-core; stratastax-codegen fails the build of a service when the two disagree.

string
Allowed values: https://errors.stratastax.dev/authentication https://errors.stratastax.dev/authorization https://errors.stratastax.dev/validation https://errors.stratastax.dev/not-found https://errors.stratastax.dev/conflict https://errors.stratastax.dev/precondition-failed https://errors.stratastax.dev/internal
title
required

Short, human-readable summary

string
status
required

HTTP status code

integer format: int32
detail
required

Human-readable explanation

string
instance

URI of the request that caused the error

string format: uri
Examples
{
"type": "https://errors.stratastax.dev/authorization",
"title": "Access denied",
"status": 403,
"detail": "Insufficient permissions"
}

Resource not found

object
type
required

Canonical error type identifier (URI). The values are the problem types of stratastax-http’s problem-core; stratastax-codegen fails the build of a service when the two disagree.

string
Allowed values: https://errors.stratastax.dev/authentication https://errors.stratastax.dev/authorization https://errors.stratastax.dev/validation https://errors.stratastax.dev/not-found https://errors.stratastax.dev/conflict https://errors.stratastax.dev/precondition-failed https://errors.stratastax.dev/internal
title
required

Short, human-readable summary

string
status
required

HTTP status code

integer format: int32
detail
required

Human-readable explanation

string
instance

URI of the request that caused the error

string format: uri
Examples
{
"type": "https://errors.stratastax.dev/not-found",
"title": "Resource not found",
"status": 404,
"detail": "The requested resource could not be found"
}

Unexpected server error

object
type
required

Canonical error type identifier (URI). The values are the problem types of stratastax-http’s problem-core; stratastax-codegen fails the build of a service when the two disagree.

string
Allowed values: https://errors.stratastax.dev/authentication https://errors.stratastax.dev/authorization https://errors.stratastax.dev/validation https://errors.stratastax.dev/not-found https://errors.stratastax.dev/conflict https://errors.stratastax.dev/precondition-failed https://errors.stratastax.dev/internal
title
required

Short, human-readable summary

string
status
required

HTTP status code

integer format: int32
detail
required

Human-readable explanation

string
instance

URI of the request that caused the error

string format: uri
Examples
{
"type": "https://errors.stratastax.dev/internal",
"title": "Oops! Something went wrong.",
"status": 500,
"detail": "Try again later."
}