Skip to content

Dispute Setting Translations

Setting translations allow tenants to provide localized descriptions for dispute configuration entities, Categories, Reasons, Departments, and Resolutions. These translations are returned in GET responses when an Accept-Language header is provided on those endpoints.

Supported languages are configured at the tenant level. You cannot translate into a language that hasn't been set up, and you cannot translate into the tenant's default language.

Retrieving a Translation Summary

Returns a summary of translation completeness for each non-default language configured for the tenant.

Swagger Page

https://swagger-ui.aws-prod.billtrust.com/?urls.primaryName=Dispute%20Service%20v1#/DisputeSettingTranslationsV1/get_v1_tenants__tenantId__settings_translations_summary

Permission

Dispute Configuration : READ

Example Request
curl -X GET 'https://arc-aegis.billtrust.com/dispute/v1/tenants/{tenantId}/settings-translations/summary' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'X-Billtrust-Api-Key: <API key value>'
Example Response
[
  {
    "languageCode": "es",
    "languageDescription": "Spanish",
    "totalSettings": 12,
    "translatedSettings": 8,
    "pendingTranslationSettings": 4
  },
  {
    "languageCode": "fr",
    "languageDescription": "French",
    "totalSettings": 12,
    "translatedSettings": 0,
    "pendingTranslationSettings": 12
  }
]

totalSettings is the combined count of all categories, reasons, departments, and resolutions for the tenant. translatedSettings is how many of those have a non-empty translation for that language.

Retrieving Translations by Language

Returns all translatable entities (categories, reasons, departments, resolutions) for a tenant alongside their current translations for a given language. Entities with no translation for that language have translation: null.

Swagger Page

https://swagger-ui.aws-prod.billtrust.com/?urls.primaryName=Dispute%20Service%20v1#/DisputeSettingTranslationsV1/get_v1_tenants__tenantId__settings_translations_by_language__languageCode_

Permission

Dispute Configuration : READ

Example Request
curl -X GET 'https://arc-aegis.billtrust.com/dispute/v1/tenants/{tenantId}/settings-translations/by-language/{languageCode}' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'X-Billtrust-Api-Key: <API key value>'
Example Response

See DisputeSettingTranslationV1Response.

Updating Translations by Language

Updates translations for one or more entity types for a given language. Only the entity types included in the request body are processed, omit a collection to leave it unchanged.

Swagger Page

https://swagger-ui.aws-prod.billtrust.com/?urls.primaryName=Dispute%20Service%20v1#/DisputeSettingTranslationsV1/put_v1_tenants__tenantId__settings_translations_by_language__languageCode_

Permission

Dispute Configuration : UPDATE

Example Request
curl -X PUT 'https://arc-aegis.billtrust.com/dispute/v1/tenants/{tenantId}/settings-translations/by-language/{languageCode}' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'X-Billtrust-Api-Key: <API key value>' \
    -d '<request body>'
Example Request Body
{
  "categories": [
    { "categoryId": "{categoryId}", "translation": "Errores de envío" }
  ],
  "reasons": [
    { "reasonId": "{reasonId}", "translation": "Dañado en el envío" }
  ],
  "departments": [
    { "departmentId": "{departmentId}", "translation": "Envío" }
  ],
  "resolutions": [
    { "resolutionId": "{resolutionId}", "translation": "Disputa validada" }
  ]
}
Request Fields
Field Type Required Description
categories array No List of { categoryId, translation } pairs to update
reasons array No List of { reasonId, translation } pairs to update
departments array No List of { departmentId, translation } pairs to update
resolutions array No List of { resolutionId, translation } pairs to update
Behavior Notes
  • Returns the complete translation state for the language after the update, same shape as Retrieving Translations by Language.
  • Returns 400 if the language code is not configured for the tenant or is the tenant's default language.
Example Response

See DisputeSettingTranslationV1Response.

Removing All Translations for a Language

Removes all translations for the specified language across all entity types (categories, reasons, departments, and resolutions).

Swagger Page

https://swagger-ui.aws-prod.billtrust.com/?urls.primaryName=Dispute%20Service%20v1#/DisputeSettingTranslationsV1/delete_v1_tenants__tenantId__settings_translations_by_language__languageCode_

Permission

Dispute Configuration : DELETE

Example Request
curl -X DELETE 'https://arc-aegis.billtrust.com/dispute/v1/tenants/{tenantId}/settings-translations/by-language/{languageCode}' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'X-Billtrust-Api-Key: <API key value>'
Behavior Notes
  • Returns 400 if the language code is not configured or is the tenant's default language.
  • This removes all translations for the language in one operation. Individual entity translations cannot be selectively deleted, set translation to an empty string via the update endpoint if you need to clear specific entries.

Appendix

DisputeSettingTranslationV1Response

Returned by Retrieving Translations by Language and Updating Translations by Language. Contains all translatable entities with their current translation for the requested language. translation is null if no translation exists for that entity.

{
  "categories": [
    {
      "categoryId": "{categoryId}",
      "categoryCode": "SHIPPING",
      "description": "Shipping Error",
      "translation": "Errores de envío"
    }
  ],
  "reasons": [
    {
      "reasonId": "{reasonId}",
      "reasonCode": "DAMAGED",
      "description": "Damaged in Shipping",
      "translation": "Dañado en el envío"
    }
  ],
  "departments": [
    {
      "departmentId": "{departmentId}",
      "departmentCode": "SHIPDEPT",
      "description": "Shipping",
      "translation": null
    }
  ],
  "resolutions": [
    {
      "resolutionId": "{resolutionId}",
      "resolutionCode": "DISPVALID",
      "description": "Dispute Validated",
      "translation": "Disputa validada"
    }
  ]
}