Project Configuration and Updates

This guide explains how to adjust project settings, assign teams, and modify translation preferences to meet your changing needs within the TextUnited system.

Project configuration allows you to customize your project settings to align with your changing objectives and requirements. Whether you are adjusting project settings, reassigning team members, or altering translation preferences, project configuration enables you to tailor your project to meet specific needs and goals.

Why Configure Your Multilingual Project?

  • Adaptability: Tailor your project to new requirements without starting from scratch.
  • Efficiency: Optimize workflows by adjusting settings based on real-time needs.
  • Collaboration: Dynamically enhance team collaboration by reassigning roles and responsibilities.
  • Quality Assurance: Fine-tune translation preferences to ensure consistency and accuracy across all versions.

Updating Multilingual Projects

Prerequisites

Before proceeding with project configuration, ensure you have:

  • API Credentials: If you're using Basic Authentication, get your Company ID and API Key. For Bearer JWT Authentication, you'll need your JWT Access Token. Refer to our guides on Obtaining Your API Key and Company ID and Obtaining JWT Token for details.
  • Project ID: The unique identifier of the project you wish to configure.
  • Understanding of API Basics: Familiarity with RESTful APIs, HTTP methods (GET, PUT), and JSON format.

Step-by-Step Guide to Configuring Your Multilingual Project

Step 1: Identify Content to Update

Determine which parts of your project's content require updates. This could involve correcting typos, updating terminology, or revising the overall message to better suit your audience.

Step 2: Prepare Your Update Data

Prepare the content updates in JSON format. For example, if you're updating a segment, your JSON might look like this:

{
  "customId": "<your_custom_id>",
  "taskId": "<your_task_id>",
  "name": "<your_project_name>",
  "description": "<description_of_your_project>",
  "startDateUtc": "<start_date_in_UTC>",
  "endDateUtc": "<end_date_in_UTC>",
  "sourceLanguageCode": "<your_source_language_code>",
  "targetLanguages": [
    {
      "targetLanguageCode": "<your_target_language_code>",
      "managedProject": <true_or_false>,
      "serviceTranslation": <true_or_false>,
      "serviceProofreading": <true_or_false>,
      "serviceAutomaticTranslation": <true_or_false>,
      "state": "<status_of_project>",
      "team": [
        {
          "id": <user_id>,
          "name": "<first_and_last_name>",
          "username": "<your_email_address>",
          "phone": "<user_phone_number>",
          "isProjectManager": <true_or_false>,
          "isTranslator": <true_or_false>,
          "isProofreader": <true_or_false>,
          "isInCountryReviewer": <true_or_false>
        }
      ],
      "referenceNumber": "<monolingual_project_reference_number>",
      "customField1": "<custom_monolingual_project_information>",
      "customField2": "<custom_monolingual_project_information>",
      "additionalInfo": "<monolingual_project_additional_information>"
    },
    {
      "targetLanguageCode": "<your_target_language_code>",
      "managedProject": <true_or_false>,
      "serviceTranslation": <true_or_false>,
      "serviceProofreading": <true_or_false>,
      "serviceAutomaticTranslation": <true_or_false>,
      "state": "<status_of_project>",
      "team": [
        {
          "id": <user_id>,
          "name": "<first_and_last_name>",
          "username": "<your_email_address>",
          "phone": "<user phone number>",
          "isProjectManager": <true_or_false>,
          "isTranslator": <true_or_false>,
          "isProofreader": <true_or_false>,
          "isInCountryReviewer": <true_or_false>
        }
      ],
      "referenceNumber": "your_reference_number>",
      "customField1": "<custom_project_information>",
      "customField2": "<custom_project_information>",
      "additionalInfo": "<additional_information>"
    }
  ],
  "segments": [
    {
      "customId": "<your_segment_custom_Id>",
      "content": "<content_of_your_segment>",
      "notes": "<notes_for_your_segment>",
      "taskId": "<identifier_for_the_task>",
      "languageSpecificNotes": [
        {
          "languageCode": "<your_language_code>",
          "note": "<note_for_specific_language>",
          "languageId": <your_language_Id>
        },
        {
          "languageId": <your_language_Id>,
          "languageCode": "<your_language_code>",
          "note": "<note_for_specific_language>"
        }
      ]
    },
    {
        "customId": "<your_segment_custom_Id>",
        "content": "<content_of_your_segment>",
        "notes": "<notes_for_your_segment>",
        "taskId": "<identifier_for_the_task>",
        "languageSpecificNotes": [
        {
          "languageCode": "<your_language_code>",
          "note": "<note_for_specific_language>",
          "languageId": <your_language_Id>
        },
        {
          "languageId": <your_language_Id>,
          "languageCode": "<your_language_code>",
          "note": "<note_for_specific_language>"
        }
      ]
    },
    {
        "customId": "<your_segment_custom_Id>",
        "content": "<content_of_your_segment>",
        "notes": "<notes_for_your_segment>",
        "taskId": "<identifier_for_the_task>",
        "languageSpecificNotes": [
            {
                "languageCode": "<your_language_code>",
                "note": "<note_for_specific_language>",
                "languageId": <your_language_Id>
            },
            {
                "languageId": <your_language_code>,
                "languageCode": "<your_language_code>",
                "note": "<note_for_specific_language>"
            }
        ]
    }
  ],
  "referenceNumber": "<your_project_reference_number>",
  "customField1": "<custom_project_information>",
  "customField2": "<custom_project_information>"
}

This JSON object represents an update to a single segment within your project along with your already existing segments. Replace the placeholders with your actual values.

Step 3: Prepare Your API Request

To update the content of an existing translation project, you'll send a PUT request to the TextUnited API. The URL for the request will be as follows:

PUT /segments/projects

Step 4: Send the API Request

Next, you'll send this JSON object as the body of a PUT request to the TextUnited API. The base URL for this request is https://api.textunited.com.

❗️

Note

Include your API credentials in the request headers for authentication. Here's an example using curl:

curl --request PUT \
     --url https://api.textunited.com/segments/projects \
     --header 'Authorization: Bearer <your_api_token>' \
     --header 'Content-Type: application/json' \
     --header 'accept: application/json'

Replace "<your_api_token>" with your actual JWT Access token that can be obtained by calling the Obtain JWT endpoint.

ℹ️

Try out your Request

To make your request and view your response directly on our documentation platform, you can refer to our API Reference on Updating a Multilingual Project.

Step 5: Verify the Update

After sending the request, you will get a response with your updated project details. Here's an example response payload:

{
  "id": <auto_generated_project_identifier>,
  "customId": "<your_custom_id>",
  "taskId": "<your_task_id>",
  "name": "<your_project_name>",
  "description": "<description_of_your_project>",
  "creationDateUtc": <creation_date>,
  "startDateUtc": "<start_date_in_UTC>",
  "endDateUtc": "<end_date_in_UTC>",
  "sourceLanguageId": <your_source_language_id>,
  "sourceLanguageCode": "<your_source_language_code>",
  "targetLanguages": [
    {
      "id": <translation_project_id>,
      "targetLanguageId": <your_target_language_id>,
      "targetLanguageCode": "<your_target_language_code>",
      "managedProject": <true_or_false>,
      "serviceTranslation": <true_or_false>,
      "serviceProofreading": <true_or_false>,
      "serviceAutomaticTranslation": <true_or_false>,
      "progress": <progress_status>,
      "flag": <flag>,
      "state": "<status_of_project>",
      "team": [
        {
          "id": <user_id>,
          "name": "<first_and_last_name>",
          "username": "<your_email_address>",
          "phone": "<user phone number>",
          "isProjectManager": <true_or_false>,
          "isTranslator": <true_or_false>,
          "isProofreader": <true_or_false>,
          "isInCountryReviewer": <true_or_false>,
          "translationRate": <translation_rate>,
          "translationProductivity": <translation_productivity>,
          "proofreadedBy": <proofreader>,
          "proofreadingRate": <proofreading_rate>,
          "proofreadingProductivity": <proofreading_productivity>
        }
      ],
      "referenceNumber": "<your_reference_number>",
      "customField1": "<custom_project_information>",
      "customField2": "<custom_project_information>",
      "additionalInfo": "<additional_information>"
    },
    {
          "id": <user_id>,
          "name": "<first_and_last_name>",
          "username": "<your_email_address>",
          "phone": "<user phone number>",
          "isProjectManager": <true_or_false>,
          "isTranslator": <true_or_false>,
          "isProofreader": <true_or_false>,
          "isInCountryReviewer": <true_or_false>,
          "translationRate": <translation_rate>,
          "translationProductivity": <translation_productivity>,
          "proofreadedBy": <proofreader>,
          "proofreadingRate": <proofreading_rate>,
          "proofreadingProductivity": <proofreading_productivity>
        }
      ],
      "referenceNumber": "<your_reference_number>",
      "customField1": "<custom_project_information>",
      "customField2": "<custom_project_information>",
      "additionalInfo": "<additional_information>"
    },
  ],
  "domain": <domain>,
  "segments": [
    {
      "id": <your_segment_id>,
      "customId": "<your_segment_custom_Id>",
      "content": "<content_of_your_segment>",
      "notes": "<notes_for_your_segment>",
      "taskId": "<identifier_for_the_task>",
      "languageSpecificNotes": [
        {
          "languageId": <your_language_id>,
          "languageCode": "<your_language_code>",
          "note": "<note_for_specific_language>"
        },
        {
          "languageId": <your_language_id>,
          "languageCode": "<your_language_code>",
          "note": "<note_for_specific_language>"
        }
      ]
    },
    {
      "id": <your_segment_id>,
      "customId": "<your_segment_custom_Id>",
      "content": "<content_of_your_segment>",
      "notes": "<notes_for_your_segment>",
      "taskId": "<identifier_for_the_task>",
      "languageSpecificNotes": [
        {
          "languageId": <your_language_id>,
          "languageCode": "<your_language_code>",
          "note": "<note_for_specific_language>"
        },
        {
          "languageId": <your_language_id>,
          "languageCode": "<your_language_code>",
          "note": "<note_for_specific_language>"
        }
      ]
    },
    {
       "id": <your_segment_id>,
      "customId": "<your_segment_custom_Id>",
      "content": "<content_of_your_segment>",
      "notes": "<notes_for_your_segment>",
      "taskId": "<identifier_for_the_task>",
      "languageSpecificNotes": [
        {
          "languageId": <your_language_id>,
          "languageCode": "<your_language_code>",
          "note": "<note_for_specific_language>"
        },
        {
          "languageId": <your_language_id>,
          "languageCode": "<your_language_code>",
          "note": "<note_for_specific_language>"
        }
      ]
    }
  ],
  "referenceNumber": "<your_reference_number>",
  "customField1": "<custom_project_information>",
  "customField2": "<custom_project_information>"
}

ℹ️

Understanding the Response Fields

For a detailed explanation of all the fields and possible values that can be returned, refer to Comprehensive Response Fields for Project Listing.

Comprehensive Parameter List for Project Configuration

Below is a detailed table outlining the parameters required for configuring a multilingual project (or updating a multilingual project) with TextUnited's API. This table aims to clarify each parameter, ensuring you have a clear understanding of the expected input in the request body.

Field NameData TypeRequired/OptionalDescription
customIdstringOptionalA unique identifier for the project, used to associate the project with external systems or databases.

This ID is set during the project initialization and remains consistent throughout the project lifecycle.
taskIdstringOptionalA unique identifier for a specific task within the project, provided by the user.

This ID is used to track and manage individual tasks, including their status, assigned users, and due dates.

Users must ensure uniqueness and consistency of this ID across the project.
namestringRequiredA mandatory field that specifies the name of the project.

This name should be descriptive and meaningful, as it will be used to identify the project within the TextUnited platform and potentially linked with external systems or databases.
descriptionstringOptionalAn optional field that allows for a detailed narrative or explanation of the project.

This can include objectives, target audience, or any specific requirements that may influence the translation process.
startDateUtcdateRequiredThe start date and time of the project in Coordinated Universal Time (UTC).

This field must represent the current date and time at the moment of project initiation.
endDateUtcdateRequiredSpecifies the final deadline for the completion of the project in Coordinated Universal Time (UTC).

This date marks the cutoff point after which no further work on the project is expected to be done.
sourceLanguageIdint64OptionalThe numeric identifier of the source language.

This parameter is optional and can be omitted if the sourceLanguageCode is provided instead.
sourceLanguageCodestringOptionalThe ISO 639-1 code of the source language.

This parameter is optional; if provided, it should match the language of the original content.
targetLanguagesArray of ObjectsRequiredAn array of objects, each specifying a target language for the translation.

Each object must include the ISO language code (e.g., "EN" for English, "FR" for French).

This parameter defines the languages into which the source content will be translated.
targetLanguageIdint64OptionalThe numeric identifier of the target language. This parameter is optional if the targetLanguageCode is provided.

It corresponds to the internal language code used by TextUnited to identify languages.

For example, the identifier for English (US) is 41.
targetLanguageCodestringOptionalSpecifies the language code for the target language in a standardized format (e.g., en-US).

This parameter is optional and should only be used if the targetLanguageId is not defined.

It allows for more precise specification of dialects or regional variations beyond what may be covered by the targetLanguageId.
managedProjectBooleanOptionalIndicates whether the project management will be handled by TextUnited or internally by the company.

Set to true if TextUnited should manage the project, including task distribution, progress tracking, and notifications.

Set to false if the company prefers to handle project management internally, possibly requiring manual intervention for task assignments and progress updates.
serviceTranslationBooleanOptionalSpecifies whether to request human translation services for the project.

Setting this to true indicates that human translation is desired, while false implies automatic translation or no translation action is requested.
serviceProofreadingBooleanOptionalSpecifies whether human proofreading services should be requested for the project.

Setting this to true indicates that proofreading is desired, while false indicates no proofreading is required.
serviceAutomaticTranslationBooleanOptionalSpecifies whether to automatically translate the project content upon creation.

Setting this to true enables automatic translation services, potentially saving time and effort by generating initial translations without manual intervention.
statestringOptionalSpecifies the initial status of the project.

Options include "InProgress" for projects ready to start immediately, or "InPreparation" for projects requiring manual setup or preparation before beginning.

The default value is "InProgress".
teamArray of ObjectsOptionalAn array detailing users and their roles within the project.

Each object in the array specifies a user's ID and role designation (e.g., Project Manager, Translator).

This parameter is optional and only required when manual translation is selected. For automatic translations, this parameter can be omitted.
idIntegerRequiredA unique integer value representing the user's identifier within the TextUnited system.

This ID is essential for assigning specific roles to users within project teams, enabling personalized access and permissions based on the user's responsibilities.
namestringRequiredCombined first and last names of the user, used to identify the user in the system.
usernamestringRequiredEmail address registered with the system, serving as the user's unique identifier.

This email address is used to authenticate the user and grant access to the project based on permissions and roles assigned to it.
phonestringOptionalUser's contact phone number, used for communication purposes related to the project.

This can include notifications, updates, or direct inquiries regarding the project's progress or requirements.
isProjectManagerBooleanOptionalIndicates whether the user has been assigned the Project Manager role for the project.

Set to true if the user is the project manager; otherwise, false.
isTranslatorBooleanOptionalIndicates whether the user is designated as a translator for the project.

When set to true, it assigns the user the role of a translator, granting them access to translation tasks and responsibilities within the project.
isProofreaderBooleanOptionalIndicates whether the user is designated as a proofreader for the project.

When set to true, the user is responsible for reviewing translations for accuracy and adherence to style guidelines.
isInCountryReviewerBooleanOptionalIndicates whether the user is designated as an In-Country Reviewer.

An In-Country Reviewer is responsible for reviewing content within the local cultural and linguistic context to ensure accuracy and appropriateness.

Setting this to true assigns the reviewer role to the user for the project.
referenceNumberstringOptionalA user-defined string that represents a custom value for the project, such as a project code or internal identifier.

This allows for easy association and identification of the project within the user's internal systems or workflows.
customField1stringOptionalStores additional information that uniquely identifies the project within an external system.

This field is useful for linking TextUnited projects with records in other platforms or databases, enhancing interoperability and data consistency.
customField2stringOptionalStores additional information that uniquely identifies the project within an external system.

This field is useful for linking TextUnited projects with records in other platforms or databases, enhancing interoperability and data consistency.
additionalInfostringOptionalFree-form text field for providing supplementary information about the project, such as urgency levels, special instructions, or contextual notes.

This can be used to convey important details that may affect the translation process or project timeline.
segmentsArray of ObjectsRequiredAn array containing objects that represent individual segments of content to be translated.

Each object must specify the segment's content and may include additional metadata such as the original language, file name, or any custom identifiers.
customIdstringOptionalA unique identifier for a segment within an external system, used to track and manage segments outside of TextUnited.

This ID is typically prefixed with a recognizable string to easily identify the origin or system of the segment.
contentstringRequiredThe plain text or HTML markup content of the segment to be translated.

This field contains the actual text or HTML that needs to be localized. For example, "This is a sample text."
notesstringOptionalAdditional guidance or instructions for translators, such as specific style guidelines or important cultural considerations.

This field is optional and can be used to provide extra context or emphasis on certain aspects of the translation task.
taskIdstringOptionalA custom identifier for a specific task within the project, set during project creation or update.

This ID is used to uniquely identify and manage individual tasks, facilitating targeted actions and reporting.
languageSpecificNotesArray of ObjectsOptionalAn array of objects, each containing language-specific notes for a particular segment.

This allows for detailed instructions or annotations tailored to specific languages, enhancing the accuracy and cultural appropriateness of translations.
languageIdint64OptionalThe unique identifier for the target language, used to specify the language in which the project's content should be translated.

This optional parameter allows for precise targeting of specific languages, especially useful in projects involving many languages or when working with less commonly used language codes.
languageCodestringOptionalThe ISO 639-1 code of the target language for the segment.

This optional parameter allows specifying the language for individual segments, especially useful in projects involving multiple languages or when translating specific parts of the content into different languages.
notestringOptionalLanguage-specific instructions or annotations provided to translators for better context or guidance on translation.

This can include stylistic cues, cultural considerations, or specific terminology to use.
referenceNumberstringOptionalA unique reference number for the multilingual project, used for internal tracking or association with external systems.

This optional field allows for additional identification beyond the standard project ID, facilitating easier retrieval or cross-referencing of projects.
customField1stringOptionalAn optional field for entering additional information that uniquely identifies the project within an external system or database.

This can be useful for linking project data across different platforms or for storing metadata relevant to the project's context.
customField2stringOptionalAn optional field for storing additional information that uniquely identifies the project within an external system or database.

This can be used for cross-system referencing or for storing metadata relevant to the project's context outside of TextUnited.

ℹ️

Note

This guide assumes familiarity with basic API usage principles. If you encounter issues, refer to TextUnited's API reference for updating a multilingual project or contact our support for assistance.