v1

latestOpenAPI 3.1.02026-07-2665153355.3 KB
Portal Content

Upsert Content Translation

Creates or updates a translation for a content item in a specific locale. <br/><br/>This operation doesn't modify translations in other locales or other content fields.<br /> <Note>You must first add the locale in the Publisher Dashboard before adding its translation.</Note>

put/v1/portal-content/{contentId}/translations/{isoCode}

Path parameters

contentIdstring required

Content ID.

isoCodestring required

The locale code. Both ISO-639-1 language code and ISO-3166-1 alpha-2 country code formats are supported.

Headers

x-publisher-tokenstring required

Publisher token.

Request body

titlestring required

Translated title.

subTitlestring required

Translated subtitle.

bodyTextstring required

Translated body text.

headerImagestring required

Translated header image URL. Can be an external link or the URL of an image from the Assets Library.

thumbnailImagestring required

Translated thumbnail image URL. Can be an external link or the URL of an image from the Assets Library.

labelsstring[] required

Translated labels.

Example request

{
  "title": "Bienvenue dans notre jeu",
  "subTitle": "Tout ce que vous devez savoir",
  "bodyText": "Ceci est le contenu principal de l'article en français...",
  "headerImage": "https://cdn.example.com/images/header-fr.jpg",
  "thumbnailImage": "https://media.appcharge.com/media/25cb4861ec8924a6b69a0f59/book-shelf1920.jpg",
  "labels": [
    "tutoriel",
    "débutant"
  ]
}

Response

Translation upserted successfully. Returns the full updated content item.

idstring

Content ID.

titlestring

Content title.

subTitlestring

Content description.

bodyTextstring

Content body text.

headerImagestring

Content header image URL.

thumbnailImagestring

Content thumbnail image URL.

labelsstring[]

List of labels associated with the content.

state'visible' | 'hidden' | 'scheduled'

Current state of the content.

contentType'article' | 'news'

Content type.

publishDatestring date-time

Content publish date. Use for scheduling content.

slugstring

Content slug. If not provided, this value is auto-generated.

visibility'public' | 'private'

Content visibility level.

tagstring

Internal tag for organizing your content. Not visible to players.

createdAtstring date-time

Created date.

updatedAtstring date-time

Updated date.

Example response

{
  "id": "507f1f77bcf86cd799439011",
  "title": "Welcome to Our Game",
  "subTitle": "Everything you need to know",
  "bodyText": "This is the main content body with detailed information...",
  "headerImage": "https://cdn.example.com/images/header.jpg",
  "thumbnailImage": "https://media.appcharge.com/media/25cb4861ec8924a6b69a0f59/book-shelf1920.jpg",
  "labels": [
    "tutorial",
    "beginner"
  ],
  "state": "hidden",
  "contentType": "article",
  "publishDate": "2025-10-20T00:00:00.000Z",
  "slug": "welcome-to-our-game",
  "visibility": "public",
  "tag": "spring2025",
  "createdAt": "2025-10-15T10:30:00.000Z",
  "updatedAt": "2025-10-19T14:20:00.000Z",
  "translations": [
    {
      "dynamicTranslations": [
        {
          "type": "section",
          "externalId": "my-bundle-1",
          "field": "description",
          "locale": "es-ES",
          "value": "Hola!"
        }
      ],
      "staticTranslations": [
        {
          "key": "checkout.pay_button",
          "locale": "es-ES",
          "value": "Zapłać teraz"
        }
      ]
    }
  ],
  "pages": [
    {
      "id": "68b0249eb5bd5c59b9bab7e2",
      "pageName": "FAQs"
    },
    {
      "id": "692eb70d0293e07ab4895518",
      "pageName": "Events"
    }
  ]
}