Retrieve public-facing application settings that are safe and useful for external API consumers.
GET /api/v1/app-settings
Headers:
Authorization: Bearer <api-key>
Content-Type: application/json| Parameter | Type | Description |
|---|---|---|
locale | string | Optional - ISO locale code (e.g., en, fr, es). If provided, only returns localized labels for that locale. If omitted, returns labels for the default locale (en). |
{
"success": true,
"data": {
"settings": {
"localizedLabels": {
"unitPricePropertyName": "Price per",
"unitPricePropertyValue": "kg",
"netMeasurementLabel": "Net",
"netMeasurementValue": "Weight"
},
"mergeMatchingLineItems": true
}
},
"error": null,
"meta": {},
"requestId": "optional-request-id"
}| Field | Type | Description |
|---|---|---|
success | boolean | Indicates whether the request was successful |
data | object | Response data object |
data.settings | AppSettings | Application settings object |
data.settings.localizedLabels | LocalizedLabels | Localized labels for the app. Structure depends on whether a locale query parameter is provided. |
data.settings.mergeMatchingLineItems | boolean | undefined | Indicates whether the app is configured to merge matching line items in the cart. true means multiple cart additions with the same product/variant and options will be merged into a single line item. |
error | object | null | Error object if the request failed, null if successful |
meta | object | Metadata object |
requestId | string | undefined | Optional request identifier for tracking |
| Status code | Description |
|---|---|
| 401 | Unauthorized - Invalid or missing API key |
| 429 | Too Many Requests - Rate limit exceeded (if rate limiting enabled) |
| 500 | Internal Server Error - Server-side error occurred |
Note
Cache-Control header with a max-age of 300 seconds (5 minutes). Clients should respect this cache directive.undefined for localizedLabels.en) is used.{keyId}:{secret}Authorization header is not provided, the API will attempt to read the key from form data with the key name key.lastUsedAt timestamp for the API key. This update is performed asynchronously and does not block the response.Related:
Request:
GET /api/v1/app-settings?locale=frResponse:
{
"success": true,
"data": {
"settings": {
"localizedLabels": {
"unitPricePropertyName": "Prix par",
"unitPricePropertyValue": "kg",
"netMeasurementLabel": "Net",
"netMeasurementValue": "Poids"
},
"mergeMatchingLineItems": true
}
},
"error": null
}