Module crowdin_api.api_resources

Sub-modules

crowdin_api.api_resources.abstract
crowdin_api.api_resources.application
crowdin_api.api_resources.bundles
crowdin_api.api_resources.dictionaries
crowdin_api.api_resources.distributions
crowdin_api.api_resources.enums
crowdin_api.api_resources.fields
crowdin_api.api_resources.glossaries
crowdin_api.api_resources.groups
crowdin_api.api_resources.labels
crowdin_api.api_resources.languages
crowdin_api.api_resources.machine_translation_engines
crowdin_api.api_resources.notifications
crowdin_api.api_resources.projects
crowdin_api.api_resources.reports
crowdin_api.api_resources.screenshots
crowdin_api.api_resources.security_logs
crowdin_api.api_resources.source_files
crowdin_api.api_resources.source_strings
crowdin_api.api_resources.storages
crowdin_api.api_resources.string_comments
crowdin_api.api_resources.string_translations
crowdin_api.api_resources.tasks
crowdin_api.api_resources.teams
crowdin_api.api_resources.translation_memory
crowdin_api.api_resources.translation_status
crowdin_api.api_resources.translations
crowdin_api.api_resources.users
crowdin_api.api_resources.vendors
crowdin_api.api_resources.webhooks
crowdin_api.api_resources.workflows

Classes

class ApplicationResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Crowdin Apps are web applications that can be integrated with Crowdin to extend its functionality.

Use the API to manage the necessary app data.

Link to documentation: https://developer.crowdin.com/api/v2/#tag/Applications

Link to documentation for enterprise: https://developer.crowdin.com/enterprise/api/v2/#tag/Applications

Ancestors

Methods

def add_application_data(self, applicationIdentifier: str, path: str, data: dict)
def delete_application_data(self, applicationIdentifier: str, path: str)
def delete_application_installation(self, identifier: str, force: Optional[bool] = None)
def edit_application_data(self, applicationIdentifier: str, path: str, data: dict)
def edit_applicatoin_installation(self, identifier: str, data: Iterable[ApplicationInstallationPatchRequest])

Edit Application Installation

def get_application_data(self, applicationIdentifier: str, path: str)
def get_application_installation(self, identifier: str)
def get_application_installations_path(self, identifier: Optional[str] = None)
def get_application_path(self, applicationIdentifier: str, path: str)
def install_application(self, url: str, permissions: Optional[ApplicationPermissions] = None)
def list_application_installations(self, offset: Optional[int] = None, limit: Optional[int] = None)
def update_application_data(self, applicationIdentifier: str, path: str, data: dict)
class BundlesResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Bundles.

Link to documentation: https://developer.crowdin.com/api/v2/#tag/Bundles

Link to documentation for enterprise: https://developer.crowdin.com/enterprise/api/v2/#tag/Bundles

Ancestors

Methods

def add_bundle(self, name: str, format: str, sourcePatterns: Iterable[str], exportPattern: str, projectId: Optional[int] = None, ignorePatterns: Optional[Iterable[str]] = None, isMultilingual: Optional[bool] = None, includeProjectSourceLanguage: Optional[bool] = None, labelIds: Optional[Iterable[int]] = None, excludeLabelIds: Optional[Iterable[int]] = None)
def check_bundle_export_status(self, bundleId: int, exportId: str, projectId: Optional[int] = None)
def delete_bundle(self, bundleId: int, projectId: Optional[int] = None)
def download_bundle(self, bundleId: int, exportId: str, projectId: Optional[int] = None)
def edit_bundle(self, bundleId: int, data: Iterable[BundlePatchRequest], projectId: Optional[int] = None)
def export_bundle(self, bundleId: int, projectId: Optional[int] = None)
def get_bundle(self, bundleId: int, projectId: Optional[int] = None)
def get_bundle_list_files(self, bundleId: int, projectId: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def get_bundles_exports_path(self, projectId: int, bundleId: int, exportId: Optional[str] = None)
def get_bundles_path(self, projectId: int, bundleId: Optional[int] = None)
def list_bundles(self, projectId: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
class DictionariesResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Dictionaries.

Dictionaries allow you to create a storage of words that should be skipped by the spell checker.

Use API to get the list of organization dictionaries and to edit a specific dictionary.

Link to documentation: https://developer.crowdin.com/api/v2/#tag/Dictionaries

Ancestors

Methods

def edit_dictionary(self, languageId: str, data: Iterable[DictionaryPatchPath], projectId: Optional[int] = None)
def list_dictionaries(self, projectId: Optional[int] = None, languageIds: Optional[Iterable[str]] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
class DistributionsResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Distributions.

Link to documentation: https://developer.crowdin.com/api/v2/#tag/Distributions

Ancestors

Methods

def add_distribution(self, name: str, projectId: Optional[int] = None, fileIds: Optional[Iterable[int]] = None, bundleIds: Optional[Iterable[int]] = None, exportMode: Optional[ExportMode] = ExportMode.DEFAULT)
def delete_distribution(self, hash: str, projectId: Optional[int] = None)
def edit_distribution(self, hash: str, data: Iterable[DistributionPatchRequest], projectId: Optional[int] = None)
def get_distribution(self, hash: str, projectId: Optional[int] = None)
def get_distribution_release(self, hash: str, projectId: Optional[int] = None)
def get_distributions_path(self, projectId: int, hash: Optional[str] = None)
def list_distributions(self, projectId: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def release_distribution(self, hash: str, projectId: Optional[int] = None)
class EnterpriseReportsResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Enterprise Reports.

Reports help to estimate costs, calculate translation costs, and identify the top members.

Use API to generate Cost Estimate, Translation Cost, and Top Members reports. You can then export reports in .xlsx or .csv file formats. Report generation is an asynchronous operation and shall be completed with a sequence of API methods.

Link to documentation: https://developer.crowdin.com/enterprise/api/v2/#tag/Reports

Ancestors

Static methods

def get_group_reports_path(group_id: int, report_id: Optional[str] = None)
def get_organization_reports_path(report_id: Optional[str] = None)

Methods

def generate_fuzzy_cost_estimate_report(self, projectId: Optional[int] = None, unit: Optional[Unit] = None, currency: Optional[Currency] = None, languageId: Optional[str] = None, fileIds: Optional[Iterable[int]] = None, format: Optional[Format] = Format.XLSX, stepTypes: Optional[Iterable[StepTypes]] = None, dateFrom: Optional[datetime.datetime] = None, dateTo: Optional[datetime.datetime] = None)

Generate Report(Cost Estimate Fuzzy Mode).

Links to documentation: https://developer.crowdin.com/enterprise/api/v2/#operation/api.projects.reports.post

def generate_fuzzy_translation_cost_report(self, projectId: Optional[int] = None, unit: Optional[Unit] = None, currency: Optional[Currency] = None, format: Optional[Format] = Format.XLSX, groupBy: Optional[GroupBy] = None, stepTypes: Optional[Iterable[StepTypes]] = None, dateFrom: Optional[datetime.datetime] = None, dateTo: Optional[datetime.datetime] = None)

Generate Report(Translation Cost Fuzzy Mode).

Link to documentation: https://developer.crowdin.com/enterprise/api/v2/#operation/api.projects.reports.post

def generate_group_report(self, group_id: int, request_data: Dict[~KT, ~VT])

Generate Group Report.

Link to documentation for enterprise: https://developer.crowdin.com/enterprise/api/v2/#operation/api.groups.reports.post

def generate_group_translation_costs_post_editing_general_report(self, group_id: int, base_rates: BaseRates, individual_rates: Iterable[IndividualRate], net_rate_schemes: NetRateSchemes, project_ids: Optional[Iterable[int]] = None, unit: Optional[Unit] = None, currency: Optional[Currency] = None, format: Optional[Format] = None, group_by: Optional[GroupBy] = None, date_from: Optional[datetime.datetime] = None, date_to: Optional[datetime.datetime] = None, user_ids: Optional[Iterable[int]] = None)

Generate Group Report (General).

Link to documentation: https://developer.crowdin.com/enterprise/api/v2/#operation/api.groups.reports.post

def generate_organization_translation_costs_post_editing_general_report(self, base_rates: BaseRates, individual_rates: Iterable[IndividualRate], net_rate_schemes: NetRateSchemes, project_ids: Optional[Iterable[int]] = None, unit: Optional[Unit] = None, currency: Optional[Currency] = None, format: Optional[Format] = None, group_by: Optional[GroupBy] = None, date_from: Optional[datetime.datetime] = None, date_to: Optional[datetime.datetime] = None, user_ids: Optional[Iterable[int]] = None)

Generate Organization Report (General).

Link to documentation: https://developer.crowdin.com/enterprise/api/v2/#operation/api.reports.post

def generate_simple_cost_estimate_report(self, projectId: Optional[int] = None, unit: Optional[Unit] = None, currency: Optional[Currency] = None, languageId: Optional[str] = None, fileIds: Optional[Iterable[int]] = None, format: Optional[Format] = Format.XLSX, stepTypes: Optional[Iterable[StepTypes]] = None, dateFrom: Optional[datetime.datetime] = None, dateTo: Optional[datetime.datetime] = None)

Generate Report(Cost Estimate schema).

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.projects.reports.post

def generate_simple_translation_cost_report(self, projectId: Optional[int] = None, unit: Optional[Unit] = None, currency: Optional[Currency] = None, format: Optional[Format] = Format.XLSX, groupBy: Optional[GroupBy] = None, stepTypes: Optional[Iterable[StepTypes]] = None, dateFrom: Optional[datetime.datetime] = None, dateTo: Optional[datetime.datetime] = None)

Generate Report(Translation Cost).

Link to documentation: https://developer.crowdin.com/enterprise/api/v2/#operation/api.projects.reports.post

Inherited members

class EnterpriseTasksResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Tasks.

Create and assign tasks to get files translated or proofread by specific people. You can set the due dates, split words between people, and receive notifications about the changes and updates on tasks. Tasks are project-specific, so you’ll have to create them within a project.

Use API to create, modify, and delete specific tasks.

Link to documentation: https://developer.crowdin.com/enterprise/api/v2/#tag/Tasks

Ancestors

Methods

def add_task_settings_template(self, name: str, config: EnterpriseTaskSettingsTemplateLanguages, projectId: Optional[int] = None)

Inherited members

class EnterpriseUsersResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Enterprise platform Users.

Users API gives you the possibility to get profile information about the currently authenticated user.

Link to documentation: https://developer.crowdin.com/enterprise/api/v2/#tag/Users

Ancestors

Methods

def add_project_member(self, userIds: Iterable[int], projectId: Optional[int] = None, accessToAllWorkflowSteps: Optional[bool] = None, managerAccess: Optional[bool] = None, permissions: Optional[Dict[~KT, ~VT]] = None, roles: Optional[Iterable[ProjectMemberRole]] = None)
def delete_member_from_project(self, memberId: int, projectId: Optional[int] = None)
def delete_user(self, userId: int)
def edit_user(self, userId: int, data: Iterable[UserPatchRequest])
def get_users_path(self, userId: Optional[int] = None)
def invite_user(self, email: str, firstName: Optional[str] = None, lastName: Optional[str] = None, timezone: Optional[str] = None)
def list_project_members(self, projectId: Optional[int] = None, search: Optional[str] = None, workflowStepId: Optional[int] = None, languageId: Optional[str] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)

List Project Members.

Link to documentation for enterprise: https://developer.crowdin.com/enterprise/api/v2/#operation/api.projects.members.getMany

def replace_project_member_permissions(self, memberId: int, projectId: Optional[int] = None, accessToAllWorkflowSteps: Optional[bool] = None, managerAccess: Optional[bool] = None, permissions: Optional[Dict[~KT, ~VT]] = None, roles: Optional[Iterable[ProjectMemberRole]] = None)

Replace Project Member Permissions.

Link to documentation: https://developer.crowdin.com/enterprise/api/v2/#operation/api.projects.members.put

class FieldsResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Fields.

Link to documentation: https://developer.crowdin.com/enterprise/api/v2/#tag/Fields

Ancestors

Methods

def add_field(self, name: str, slug: str, type: FieldType, entities: Iterable[FieldEntity], description: Optional[str] = None, config: Union[ListFieldConfigNumberFieldConfigOtherFieldConfig, None] = None)
def delete_field(self, fieldId: int)
def edit_field(self, fieldId: int, data: Iterable[FieldPatchRequest])
def get_field(self, fieldId: int)
def get_fields_path(self, fieldId: Optional[int] = None)
def list_fields(self, search: Optional[str] = None, entity: Optional[FieldEntity] = None, type: Optional[FieldType] = None, limit: Optional[int] = None, offset: Optional[int] = None)
class GlossariesResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Glossaries.

Glossaries help to explain some specific terms or the ones often used in the project so that they can be properly and consistently translated.

Use API to manage glossaries or specific terms. Glossary export and import are asynchronous operations and shall be completed with sequence of API methods.

Link to documentation: https://developer.crowdin.com/api/v2/#tag/Glossaries

Ancestors

Methods

def add_glossary(self, name: str, languageId: str)
def add_term(self, glossaryId: int, languageId: str, text: str, description: Optional[str] = None, partOfSpeech: Optional[TermPartOfSpeech] = None, status: Optional[TermStatus] = None, type: Optional[TermType] = None, gender: Optional[TermGender] = None, note: Optional[str] = None, url: Optional[str] = None, conceptId: Optional[int] = None)
def check_glossary_export_status(self, glossaryId: int, exportId: str)

Check Glossary Export Status.

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.glossaries.exports.get

def check_glossary_import_status(self, glossaryId: int, importId: str)

Check Glossary Import Status.

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.glossaries.imports.get

def clear_glossary(self, glossaryId: int, languageId: Optional[str] = None, conceptId: Optional[int] = None)
def concordance_search_in_glossaries(self, sourceLanguageId: str, targetLanguageId: str, expressions: Iterable[str], projectId: Optional[int] = None)
def delete_concept(self, glossaryId: int, conceptId: int)
def delete_glossary(self, glossaryId: int)
def delete_term(self, glossaryId: int, termId: int)
def download_glossary(self, glossaryId: int, exportId: str)
def edit_glossary(self, glossaryId: int, data: Iterable[GlossaryPatchRequest])
def edit_term(self, glossaryId: int, termId: int, data: Iterable[TermPatchRequest])
def export_glossary(self, glossaryId: int, data: Optional[GlossarySchemaRequest] = None)
def get_concept(self, glossaryId: int, conceptId: int)
def get_concepts_path(self, glossaryId: int, conceptId: Optional[int] = None)
def get_glossaries_path(self, glossaryId: Optional[int] = None)
def get_glossary(self, glossaryId: int)
def get_glossary_export_path(self, glossaryId: int, exportId: Optional[str] = None)
def get_term(self, glossaryId: int, termId: int)
def get_terms_path(self, glossaryId: int, termId: Optional[int] = None)
def import_glossary(self, glossaryId: int, storageId: int, scheme: Optional[Dict[~KT, ~VT]] = None, firstLineContainsHeader: Optional[bool] = None)
def list_concepts(self, glossaryId: int, offset: Optional[int] = None, limit: Optional[int] = None)
def list_glossaries(self, groupId: Optional[int] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def list_terms(self, glossaryId: int, userId: Optional[int] = None, languageId: Optional[str] = None, conceptId: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def update_concept(self, glossaryId: int, conceptId: int, languagesDetails: Iterable[LanguagesDetails], subject: Optional[str] = None, definition: Optional[str] = None, note: Optional[str] = None, url: Optional[str] = None, figure: Optional[str] = None)
class GroupsResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Groups.

Groups allow you to organize your projects based on specific characteristics. Using projects, you can keep your source files sorted.

Use API to manage projects and groups, change their settings, or remove them from organization if required.

Link to documentation: https://developer.crowdin.com/enterprise/api/v2/#tag/Projects-and-Groups

Ancestors

Methods

def add_group(self, name: str, parentId: Optional[int] = None, description: Optional[str] = None)
def delete_group(self, groupId: int)
def edit_group(self, groupId: int, data: Iterable[GroupPatchRequest])
def get_group(self, groupId: int)
def get_groups_path(self, groupId: Optional[int] = None)
def list_groups(self, parentId: Optional[int] = None, limit: Optional[int] = None, offset: Optional[int] = None)
class LabelsResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Labels.

Link to documentation: https://developer.crowdin.com/api/v2/#tag/Labels

Ancestors

Methods

def add_label(self, title: str, projectId: Optional[int] = None)
def assign_label_to_screenshots(self, label_id: int, screenshot_ids: Iterable[int], project_id: Optional[int] = None)
def assign_label_to_strings(self, labelId: int, stringIds: Iterable[int], projectId: Optional[int] = None)
def delete_label(self, labelId: int, projectId: Optional[int] = None)
def edit_label(self, labelId: int, data: Iterable[LabelsPatchRequest], projectId: Optional[int] = None)
def get_label(self, labelId: int, projectId: Optional[int] = None)
def get_labels_path(self, projectId: int, labelId: Optional[int] = None)
def get_screenshots_path(self, project_id: int, label_id: int)
def list_labels(self, projectId: Optional[int] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def unassign_label_from_screenshots(self, label_id: int, screenshot_ids: Iterable[int], project_id: Optional[int] = None)
def unassign_label_from_strings(self, labelId: int, stringIds: Iterable[int], projectId: Optional[int] = None)
class LanguagesResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Languages.

Crowdin supports more than 300 world languages and custom languages created in the system.

Use API to get the list of all supported languages and retrieve additional details (e.g. text direction, internal code) on specific language.

Link to documentation: https://developer.crowdin.com/api/v2/#tag/Languages

Ancestors

Methods

def add_custom_language(self, name: str, code: str, localeCode: str, textDirection: LanguageTextDirection, pluralCategoryNames: Iterable[str], threeLettersCode: str, twoLettersCode: Optional[str] = None, dialectOf: Optional[str] = None)

Add Custom Language.

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.languages.post

def delete_custom_language(self, languageId: str)

Delete Custom Language.

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.languages.delete

def edit_custom_language(self, languageId: str, data: Iterable[LanguagesPatchRequest])

Edit Custom Language.

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.languages.patch

def get_language(self, languageId: str)
def get_languages_path(self, languageId: Optional[str] = None)
def list_supported_languages(self, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)

List Supported Languages.

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.languages.getMany

class MachineTranslationEnginesResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Machine Translation Engines.

Machine Translation Engines (MTE) are the sources for pre-translations. You can currently connect Google Translate, Microsoft Translator, Yandex. Translate, DeepL Pro, Amazon Translate, and Watson (IBM) Translate engines.

Use API to add, update, and delete specific MTE.

Link to documentation: https://developer.crowdin.com/api/v2/#tag/Machine-Translation-Engines

Ancestors

Methods

def get_mt(self, mtId: int)
def get_mts_path(self, mtId: Optional[int] = None)
def list_mts(self, limit: Optional[int] = None, offset: Optional[int] = None)
def translate_via_mt(self, mtId: int, targetLanguageId: str = None, languageRecognitionProvider: Optional[LanguageRecognitionProvider] = None, sourceLanguageId: Optional[str] = None, strings: Optional[Iterable[str]] = None)
class ProjectsResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Storages.

Using projects, you can keep your source files sorted. Use API to manage projects, change their settings, or remove them if required.

Link to documentation: https://developer.crowdin.com/api/v2/#tag/Projects

Ancestors

Methods

def add_file_based_project(self, name: str, sourceLanguageId: str, type: Optional[ProjectType] = None, normalizePlaceholder: Optional[bool] = None, saveMetaInfoInSource: Optional[bool] = None, notificationSettings: Optional[NotificationSettings] = None, identifier: Optional[str] = None, targetLanguageIds: Optional[Iterable[str]] = None, visibility: Optional[ProjectVisibility] = None, languageAccessPolicy: Optional[ProjectLanguageAccessPolicy] = None, cname: Optional[str] = None, description: Optional[str] = None, translateDuplicates: Optional[ProjectTranslateDuplicates] = None, isMtAllowed: Optional[bool] = None, autoSubstitution: Optional[bool] = None, autoTranslateDialects: Optional[bool] = None, skipUntranslatedStrings: Optional[bool] = None, skipUntranslatedFiles: Optional[bool] = None, exportApprovedOnly: Optional[bool] = None)

Add Project(Files Based Project Form).

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.projects.post

def add_project(self, request_data: Dict[~KT, ~VT])
def add_project_file_format_settings(self, format: str, settings: Union[PropertyFileFormatSettingsXmlFileFormatSettingsSpecificFileFormatSettingsDocxFileFormatSettingsMediaWikiFileFormatSettingsTxtFileFormatSettingsOtherFileFormatSettings], projectId: Optional[int] = None)
def add_project_strings_exporter_settings(self, format: str, settings: Union[AndroidStringsExporterSettingsMacOSXStringsExporterSettingsXliffStringsExporterSettings], projectId: Optional[int] = None)

Add Project Strings Exporter Settings.

Link to documetation: https://developer.crowdin.com/api/v2/#operation/api.projects.strings-exporter-settings.post

def add_strings_based_project(self, name: str, sourceLanguageId: str, identifier: Optional[str] = None, type: Optional[ProjectType] = None, targetLanguageIds: Optional[Iterable[str]] = None, visibility: Optional[ProjectVisibility] = None, languageAccessPolicy: Optional[ProjectLanguageAccessPolicy] = None, cname: Optional[str] = None, description: Optional[str] = None, translateDuplicates: Optional[ProjectTranslateDuplicates] = None, isMtAllowed: Optional[bool] = None, autoSubstitution: Optional[bool] = None, autoTranslateDialects: Optional[bool] = None, publicDownloads: Optional[bool] = None, hiddenStringsProofreadersAccess: Optional[bool] = None, useGlobalTm: Optional[bool] = None, skipUntranslatedStrings: Optional[bool] = None, skipUntranslatedFiles: Optional[bool] = None, exportApprovedOnly: Optional[bool] = None, inContextProcessHiddenStrings: Optional[bool] = None, inContextPseudoLanguageId: Optional[str] = None, qaCheckIsActive: Optional[bool] = None, qaCheckCategories: Optional[QACheckCategories] = None, qaChecksIgnorableCategories: Optional[QAChecksIgnorableCategories] = None, languageMapping: Optional[Dict[~KT, ~VT]] = None, glossaryAccess: Optional[bool] = None, notificationSettings: Optional[NotificationSettings] = None)

Add Project(Strings Based Project Form).

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.projects.post

def delete_project(self, projectId: Optional[int] = None)
def delete_project_file_format_settings(self, fileFormatSettingsId: int, projectId: Optional[int] = None)

Delete Project File Format Settings.

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.projects.file-format-settings.delete

def delete_project_strings_exporter_settings(self, systemStringExporterSettingsId: int, projectId: Optional[int] = None)

Delete Project Strings Exporter Settings.

Link to documetation: https://developer.crowdin.com/api/v2/#operation/api.projects.strings-exporter-settings.delete

def download_project_file_custom_segmentation(self, fileFormatSettingsId: int, projectId: Optional[int] = None)

Download Project File Format Settings Custom Segmentation.

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.projects.file-format-settings.custom-segmentations.get

def edit_project(self, data: Iterable[ProjectPatchRequest], projectId: Optional[int] = None)
def edit_project_file_format_settings(self, fileFormatSettingsId: int, data: Iterable[ProjectFilePatchRequest], projectId: Optional[int] = None)

Edit Project File Format Settings.

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.projects.file-format-settings.patch

def edit_project_strings_exporter_settings(self, systemStringExporterSettingsId: int, format: str, settings: Union[AndroidStringsExporterSettingsMacOSXStringsExporterSettingsXliffStringsExporterSettings], projectId: Optional[int] = None)

Edit Project Strings Exporter Settings.

Link to documetation: https://developer.crowdin.com/api/v2/#operation/api.projects.strings-exporter-settings.patch

def get_project(self, projectId: Optional[int] = None)
def get_project_file_format_settings(self, fileFormatSettingsId: int, projectId: Optional[int] = None)

Get Project File Format Settings.

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.projects.file-format-settings.get

def get_project_file_format_settings_path(self, projectId: int, fileFormatSettingsId: Optional[int] = None)
def get_project_strings_exporter_settings(self, systemStringExporterSettingsId: int, projectId: Optional[int] = None)

Get Project Strings Exporter Settings

Link to documetation: https://developer.crowdin.com/api/v2/#operation/api.projects.strings-exporter-settings.get

def get_projects_path(self, projectId: Optional[int] = None)
def get_strings_exporter_path(self, projectId: int, systemStringExporterSettingsId: Optional[int] = None)
def list_project_file_format_settings(self, projectId: Optional[int] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def list_project_strings_exporter_settings(self, projectId: Optional[int] = None)
def list_projects(self, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None, groupId: Optional[int] = None, userId: Union[int, str, None] = None, hasManagerAccess: Optional[HasManagerAccess] = None)
def reset_project_file_custom_segmentation(self, fileFormatSettingsId: int, projectId: Optional[int] = None)

Reset Project File Format Settings Custom Segmentation.

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.projects.file-format-settings.custom-segmentations.delete

class ReportsResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Reports.

Reports help to estimate costs, calculate translation costs, and identify the top members.

Use API to generate Cost Estimate, Translation Cost, and Top Members reports. You can then export reports in .xlsx or .csv file formats. Report generation is an asynchronous operation and shall be completed with a sequence of API methods.

Link to documentation: https://developer.crowdin.com/api/v2/#tag/Reports

Ancestors

Methods

def generate_fuzzy_cost_estimate_report(self, projectId: Optional[int] = None, unit: Optional[Unit] = None, currency: Optional[Currency] = None, languageId: Optional[str] = None, fileIds: Optional[Iterable[int]] = None, format: Optional[Format] = Format.XLSX, calculateInternalFuzzyMatches: Optional[bool] = None, regularRates: Optional[Iterable[FuzzyRegularRate]] = None, individualRates: Optional[Iterable[FuzzyIndividualRate]] = None, dateFrom: Optional[datetime.datetime] = None, dateTo: Optional[datetime.datetime] = None)

Generate Report(Cost Estimate Fuzzy Mode).

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.projects.reports.post

def generate_fuzzy_translation_cost_report(self, projectId: Optional[int] = None, unit: Optional[Unit] = None, currency: Optional[Currency] = None, format: Optional[Format] = Format.XLSX, groupBy: Optional[GroupBy] = None, regularRates: Optional[Iterable[FuzzyRegularRate]] = None, individualRates: Optional[Iterable[FuzzyIndividualRate]] = None, dateFrom: Optional[datetime.datetime] = None, dateTo: Optional[datetime.datetime] = None)

Generate Report(Translation Fuzzy Cost).

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.projects.reports.post

def generate_simple_cost_estimate_report(self, projectId: Optional[int] = None, unit: Optional[Unit] = None, currency: Optional[Currency] = None, languageId: Optional[str] = None, fileIds: Optional[Iterable[int]] = None, format: Optional[Format] = Format.XLSX, regularRates: Optional[Iterable[SimpleRegularRate]] = None, individualRates: Optional[Iterable[SimpleIndividualRate]] = None, dateFrom: Optional[datetime.datetime] = None, dateTo: Optional[datetime.datetime] = None)

Generate Report(Cost Estimate Schema).

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.projects.reports.post

def generate_simple_translation_cost_report(self, projectId: Optional[int] = None, unit: Optional[Unit] = None, currency: Optional[Currency] = None, format: Optional[Format] = Format.XLSX, groupBy: Optional[GroupBy] = None, regularRates: Optional[Iterable[SimpleRegularRate]] = None, individualRates: Optional[Iterable[SimpleIndividualRate]] = None, dateFrom: Optional[datetime.datetime] = None, dateTo: Optional[datetime.datetime] = None)

Generate Report(Translation Cost).

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.projects.reports.post

Inherited members

class ScreenshotsResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Screenshots.

Screenshots provide translators with additional context for the source strings. Screenshot tags allow specifying which source strings are displayed on each screenshot.

Use API to manage screenshots and their tags.

Link to documentation: https://developer.crowdin.com/api/v2/#tag/Screenshots

Ancestors

Methods

def add_screenshot(self, storageId: int, name: str, projectId: Optional[int] = None, autoTag: Optional[bool] = None, fileId: Optional[int] = None, branchId: Optional[int] = None, directoryId: Optional[int] = None, labelIds: Optional[Iterable[int]] = None)
def add_tag(self, screenshotId: int, data: Iterable[AddTagRequest], projectId: Optional[int] = None)
def auto_tag(self, screenshotId: int, autoTag: bool, projectId: Optional[int] = None)
def clear_tags(self, screenshotId: int, projectId: Optional[int] = None)
def delete_screenshot(self, screenshotId: int, projectId: Optional[int] = None)
def delete_tag(self, screenshotId: int, tagId: int, projectId: Optional[int] = None)
def edit_screenshot(self, screenshotId: int, data: Iterable[ScreenshotPatchRequest], projectId: Optional[int] = None)
def edit_tag(self, screenshotId: int, tagId: int, data: Iterable[TagPatchRequest], projectId: Optional[int] = None)
def get_screenshot(self, screenshotId: int, projectId: Optional[int] = None)
def get_screenshots_path(self, projectId: int, screenshotId: Optional[int] = None)
def get_tag(self, screenshotId: int, tagId: int, projectId: Optional[int] = None)
def get_tags_path(self, projectId: int, screenshotId: int, tagId: Optional[int] = None)
def list_screenshots(self, projectId: Optional[int] = None, stringId: Optional[int] = None, labelIds: Optional[Iterable[int]] = None, excludeLabelIds: Optional[Iterable[int]] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def list_tags(self, screenshotId: int, projectId: Optional[int] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def replace_tags(self, screenshotId: int, data: Iterable[AddTagRequest], projectId: Optional[int] = None)
def update_screenshot(self, screenshotId: int, storageId: int, name: str, projectId: Optional[int] = None)
class SecurityLogsResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Security Logs

Link to documentaion: https://developer.crowdin.com/api/v2/#tag/Security-Logs

Link to documentation for enterprise: https://developer.crowdin.com/enterprise/api/v2/#tag/Security-Logs

Ancestors

Methods

def get_organization_security_log(self, securityLogId: int)
def get_organization_security_logs_path(self, securityLogId: Optional[int] = None)
def get_user_security_log(self, userId: int, securityLogId: int)
def get_user_security_logs_path(self, userId: int, securityLogId: Optional[int] = None)
def list_organization_security_logs(self, event: Optional[SecurityLogEvent] = None, createdAfter: Optional[datetime.datetime] = None, createdBefore: Optional[datetime.datetime] = None, ipAddress: Optional[str] = None, userId: Optional[int] = None, limit: Optional[int] = None, offset: Optional[int] = None, page: Optional[int] = None)
def list_user_security_logs(self, userId: int, event: Optional[SecurityLogEvent] = None, createdAfter: Optional[datetime.datetime] = None, createdBefore: Optional[datetime.datetime] = None, ipAddress: Optional[str] = None, limit: Optional[int] = None, offset: Optional[int] = None, page: Optional[int] = None)
class SourceFilesResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Source Files.

Source files are resources for translation. You can keep files structure using folders or manage different versions of the content via branches.

Use API to keep the source files up to date, check on file revisions, and manage project branches. Before adding source files to the project, upload each file to the Storage first.

Note: If you use branches, make sure your master branch is the first one you integrate with Crowdin.

Link to documentation: https://developer.crowdin.com/api/v2/#tag/Source-Files

Ancestors

Methods

def add_branch(self, name: str, projectId: Optional[int] = None, title: Optional[str] = None, exportPattern: Optional[str] = None, priority: Optional[Priority] = None)
def add_directory(self, name: str, projectId: Optional[int] = None, branchId: Optional[int] = None, directoryId: Optional[int] = None, title: Optional[int] = None, exportPattern: Optional[str] = None, priority: Optional[Priority] = None)
def add_file(self, storageId: int, name: str, projectId: Optional[int] = None, branchId: Optional[int] = None, directoryId: Optional[int] = None, title: Optional[int] = None, context: Optional[str] = None, type: Optional[FileType] = FileType.AUTO, importOptions: Union[SpreadsheetImportOptionsXmlImportOptionsDocxFileImportOptionsOtherImportOptionsHtmlFileImportOptionsHtmlWithFrontMatterFileImportOptionsMdxV1FileImportOptionsMdxV2FileImportOptions, None] = None, exportOptions: Union[PropertyExportOptionsGeneralExportOptionsJavascriptExportOptions, None] = None, excludedTargetLanguages: Optional[Iterable[str]] = None, attachLabelIds: Optional[Iterable[int]] = None)
def delete_branch(self, branchId: int, projectId: Optional[int] = None)
def delete_directory(self, directoryId: int, projectId: Optional[int] = None)
def delete_file(self, fileId: int, projectId: Optional[int] = None)
def download_file(self, fileId: int, projectId: Optional[int] = None)
def download_file_preview(self, fileId: int, projectId: Optional[int] = None)
def edit_branch(self, branchId: int, data: Iterable[BranchPatchRequest], projectId: Optional[int] = None)
def edit_directory(self, directoryId: int, data: Iterable[DirectoryPatchRequest], projectId: Optional[int] = None)
def edit_file(self, fileId: int, data: Iterable[FilePatchRequest], projectId: Optional[int] = None)
def get_branch(self, branchId: int, projectId: Optional[int] = None)
def get_branch_path(self, projectId: int, branchId: Optional[int] = None)
def get_directory(self, directoryId: int, projectId: Optional[int] = None)
def get_directory_path(self, projectId: int, directoryId: Optional[int] = None)
def get_file(self, fileId: int, projectId: Optional[int] = None)
def get_file_path(self, projectId: int, fileId: Optional[int] = None)
def get_file_revision(self, fileId: int, revisionId: int, projectId: Optional[int] = None)
def get_file_revisions_path(self, projectId: int, fileId: int, revisionId: Optional[int] = None)
def list_directories(self, projectId: Optional[int] = None, branchId: Optional[int] = None, directoryId: Optional[int] = None, filter: Optional[str] = None, recursion=None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def list_file_revisions(self, fileId: int, projectId: Optional[int] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def list_files(self, projectId: Optional[int] = None, branchId: Optional[int] = None, directoryId: Optional[int] = None, filter: Optional[str] = None, recursion: Any = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def list_project_branches(self, projectId: Optional[int] = None, name: Optional[str] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def restore_file(self, fileId: int, revisionId: int, projectId: Optional[int] = None)
def update_file(self, fileId: int, storageId: int, projectId: Optional[int] = None, updateOption: Optional[FileUpdateOption] = None, importOptions: Union[SpreadsheetImportOptionsXmlImportOptionsDocxFileImportOptionsOtherImportOptionsHtmlFileImportOptionsHtmlWithFrontMatterFileImportOptionsMdxV1FileImportOptionsMdxV2FileImportOptions, None] = None, exportOptions: Union[PropertyExportOptionsGeneralExportOptionsJavascriptExportOptions, None] = None, attachLabelIds: Optional[Iterable[int]] = None, detachLabelIds: Optional[Iterable[int]] = None)
class SourceStringsResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Source Strings.

Source strings are the text units for translation. Instead of modifying source files, you can manage source strings one by one.

Use API to add, edit, or delete some specific strings in the source-based and files-based projects (available only for the following file formats: CSV, RESX, JSON, Android XML, iOS strings, PROPERTIES, XLIFF).

Link to documentation: https://developer.crowdin.com/api/v2/#tag/Source-Strings

Ancestors

Methods

def add_string(self, text: str, projectId: Optional[int] = None, identifier: Optional[str] = None, fileId: Optional[int] = None, context: Optional[str] = None, isHidden: Optional[bool] = None, maxLength: Optional[int] = None, labelIds: Optional[Iterable[int]] = None)
def delete_string(self, stringId: int, projectId: Optional[int] = None)
def edit_string(self, stringId: int, data: Iterable[SourceStringsPatchRequest], projectId: Optional[int] = None)
def get_source_strings_path(self, projectId: int, stringId: Optional[int] = None)
def get_string(self, stringId: int, projectId: Optional[int] = None)
def list_strings(self, projectId: Optional[int] = None, fileId: Optional[int] = None, branchId: Optional[int] = None, denormalizePlaceholders: Optional[DenormalizePlaceholders] = None, labelIds: Optional[Iterable[int]] = None, croql: Optional[str] = None, filter: Optional[str] = None, scope: Optional[ScopeFilter] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def string_batch_operation(self, data: Iterable[StringBatchOperationPatchRequest], projectId: Optional[int] = None)
class StoragesResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Storages.

Storage is a separate container for each file. You need to use Add Storage method before adding files to your projects via API. Files that should be uploaded into storage include files for localization, screenshots, Glossaries, and Translation Memories.

Storage id is the identifier of the file uploaded to the Storage.

Note: Storage is periodically cleared. The files that were already uploaded to your account will be removed from storage and will remain in your account.

Link to documentation: https://developer.crowdin.com/api/v2/#tag/Storage

Ancestors

Methods

def add_storage(self, file: )
def delete_storage(self, storageId: int)
def get_storage(self, storageId: int)
def get_storages_path(self, storageId: Optional[int] = None)
def list_storages(self, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
class StringCommentsResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for String Comments.

Use API to add or remove strings translations, approvals, and votes.

Link to documentation: https://developer.crowdin.com/api/v2/#tag/String-Comments

Ancestors

Methods

def add_string_comment(self, text: str, stringId: int, targetLanguageId: str, type: StringCommentType, projectId: Optional[int] = None, issueType: Optional[StringCommentIssueType] = None)
def delete_string_comment(self, stringCommentId: int, projectId: Optional[int] = None)
def edit_string_comment(self, stringCommentId: int, data: Iterable[StringCommentPatchRequest], projectId: Optional[int] = None)
def get_string_comment(self, stringCommentId: int, projectId: Optional[int] = None)
def get_string_comments_path(self, projectId: int, stringCommentId: Optional[int] = None)
def list_string_comments(self, projectId: Optional[int] = None, stringId: Optional[int] = None, type: Optional[StringCommentType] = None, issueType: Optional[Iterable[StringCommentIssueType]] = None, issueStatus: Optional[StringCommentIssueStatus] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
class StringTranslationsResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for String Translations.

Use API to add or remove strings translations, approvals, and votes.

Link to documentation: https://developer.crowdin.com/api/v2/#tag/String-Translations

Ancestors

Methods

def add_approval(self, translationId: int, projectId: Optional[int] = None)
def add_translation(self, stringId: int, languageId: str, text: str, projectId: Optional[int] = None, pluralCategoryName: Optional[PluralCategoryName] = None)
def add_vote(self, mark: VoteMark, translationId: int, projectId: Optional[int] = None)
def cancel_vote(self, voteId: int, projectId: Optional[int] = None)
def delete_string_translations(self, stringId: int, languageId: str, projectId: Optional[int] = None)
def delete_translation(self, translationId: int, projectId: Optional[int] = None)
def get_approval(self, approvalId: int, projectId: Optional[int] = None)
def get_approvals_path(self, projectId: int, approvalId: Optional[int] = None)
def get_translation(self, translationId: int, projectId: Optional[int] = None)
def get_translation_votes_path(self, projectId: int, voteId: Optional[int] = None)
def get_translations_path(self, projectId: int, translationId: Optional[int] = None)
def get_vote(self, voteId: int, projectId: Optional[int] = None)
def list_language_translations(self, languageId: str, projectId: Optional[int] = None, stringIds: Optional[Iterable[int]] = None, labelIds: Optional[Iterable[int]] = None, fileId: Optional[int] = None, branchId: Optional[int] = None, directoryId: Optional[int] = None, croql: Optional[str] = None, denormalizePlaceholders: Optional[DenormalizePlaceholders] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def list_string_translations(self, projectId: Optional[int] = None, stringId: Optional[int] = None, languageId: Optional[str] = None, denormalizePlaceholders: Optional[DenormalizePlaceholders] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def list_translation_approvals(self, projectId: Optional[int] = None, fileId: Optional[int] = None, labelIds: Optional[str] = None, excludeLabelIds: Optional[str] = None, stringId: Optional[int] = None, languageId: Optional[str] = None, translationId: Optional[int] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def list_translation_votes(self, projectId: Optional[int] = None, stringId: Optional[int] = None, languageId: Optional[str] = None, translationId: Optional[int] = None, fileId: Optional[int] = None, labelIds: Optional[str] = None, excludeLabelIds: Optional[str] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def remove_approval(self, approvalId: int, projectId: Optional[int] = None)
def restore_translation(self, translationId: int, projectId: Optional[int] = None)
def translation_alignment(self, sourceLanguageId: str, targetLanguageId: str, text: str, projectId: Optional[int] = None)
class TasksResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Tasks.

Create and assign tasks to get files translated or proofread by specific people. You can set the due dates, split words between people, and receive notifications about the changes and updates on tasks. Tasks are project-specific, so you’ll have to create them within a project.

Use API to create, modify, and delete specific tasks.

Link to documentation: https://developer.crowdin.com/api/v2/#tag/Tasks

Ancestors

Subclasses

Methods

def add_general_task(self, title: str, languageId: str, fileIds: Iterable[int], type: CrowdinGeneralTaskType, projectId: Optional[int] = None, status: Optional[CrowdinTaskStatus] = None, description: Optional[str] = None, splitFiles: Optional[bool] = None, skipAssignedStrings: Optional[bool] = None, skipUntranslatedStrings: Optional[bool] = None, includePreTranslatedStringsOnly: Optional[bool] = None, labelIds: Optional[Iterable[int]] = None, excludeLabelIds: Optional[Iterable[int]] = None, assignees: Optional[Iterable[CrowdinTaskAssignee]] = None, deadline: Optional[datetime.datetime] = None, startedAt: Optional[datetime.datetime] = None, dateFrom: Optional[datetime.datetime] = None, dateTo: Optional[datetime.datetime] = None)

Add Task(Crowdin Task Create Form).

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.projects.tasks.post

def add_language_service_task(self, title: str, languageId: str, fileIds: Iterable[str], type: LanguageServiceTaskType, projectId: Optional[int] = None, status: Optional[CrowdinTaskStatus] = None, description: Optional[str] = None, labelIds: Optional[Iterable[int]] = None, excludeLabelIds: Optional[Iterable[int]] = None, skipUntranslatedStrings: Optional[bool] = None, includePreTranslatedStringsOnly: Optional[bool] = None, includeUntranslatedStringsOnly: Optional[bool] = None, dateFrom: Optional[datetime.datetime] = None, dateTo: Optional[datetime.datetime] = None)

Add Task(Crowdin Language Service Task Create Form).

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.projects.tasks.post

def add_task(self, request_data: Dict[~KT, ~VT], projectId: Optional[int] = None)
def add_task_settings_template(self, name: str, config: TaskSettingsTemplateLanguages, projectId: Optional[int] = None)
def add_vendor_gengo_task(self, title: str, languageId: str, fileIds: Iterable[int], type: GengoCrowdinTaskType, projectId: Optional[int] = None, status: Optional[CrowdinTaskStatus] = None, description: Optional[str] = None, expertise: Optional[GengoCrowdinTaskExpertise] = None, tone: Optional[GengoCrowdinTaskTone] = None, purpose: Optional[GengoCrowdinTaskPurpose] = None, customerMessage: Optional[str] = None, usePreferred: Optional[bool] = None, editService: Optional[bool] = None, labelIds: Optional[Iterable[int]] = None, excludeLabelIds: Optional[Iterable[int]] = None, dateFrom: Optional[datetime.datetime] = None, dateTo: Optional[datetime.datetime] = None)

Add Task(Crowdin Vendor Gengo Task Create Form).

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.projects.tasks.post

def add_vendor_manual_task(self, title: str, languageId: str, fileIds: Iterable[int], type: ManualCrowdinTaskType, vendor: ManualCrowdinVendors, projectId: Optional[int] = None, status: Optional[CrowdinTaskStatus] = None, description: Optional[str] = None, skipAssignedStrings: Optional[bool] = None, skipUntranslatedStrings: Optional[bool] = None, includePreTranslatedStringsOnly: Optional[bool] = None, labelIds: Optional[Iterable[int]] = None, excludeLabelIds: Optional[Iterable[int]] = None, assignees: Optional[Iterable[CrowdinTaskAssignee]] = None, deadline: Optional[datetime.datetime] = None, startedAt: Optional[datetime.datetime] = None, dateFrom: Optional[datetime.datetime] = None, dateTo: Optional[datetime.datetime] = None)

Add Task(Crowdin Vendor Manual Task Create Form).

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.projects.tasks.post

def add_vendor_oht_task(self, title: str, languageId: str, fileIds: Iterable[int], type: OhtCrowdinTaskType, projectId: Optional[int] = None, status: Optional[CrowdinTaskStatus] = None, description: Optional[str] = None, expertise: Optional[OhtCrowdinTaskExpertise] = None, labelIds: Optional[Iterable[int]] = None, excludeLabelIds: Optional[Iterable[int]] = None, skipUntranslatedStrings: Optional[bool] = None, includePreTranslatedStringsOnly: Optional[bool] = None, includeUntranslatedStringsOnly: Optional[bool] = None, dateFrom: Optional[datetime.datetime] = None, dateTo: Optional[datetime.datetime] = None)

Add Task(Crowdin Vendor Oht Task Create Form).

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.projects.tasks.post

def add_vendor_translated_task(self, title: str, languageId: str, fileIds: Iterable[int], type: TranslatedCrowdinTaskType, projectId: Optional[int] = None, status: Optional[CrowdinTaskStatus] = None, description: Optional[str] = None, expertise: Optional[TranslatedCrowdinTaskExpertise] = None, subject: Optional[TranslatedCrowdinTaskSubjects] = None, labelIds: Optional[Iterable[int]] = None, excludeLabelIds: Optional[Iterable[int]] = None, dateFrom: Optional[datetime.datetime] = None, dateTo: Optional[datetime.datetime] = None)

Add Task(Crowdin Vendor Translated Task Create Form).

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.projects.tasks.post

def delete_task(self, taskId: int, projectId: Optional[int] = None)
def delete_task_settings_template(self, taskSettingsTemplateId: int, projectId: Optional[int] = None)
def edit_task(self, taskId: int, data: Union[Iterable[VendorPatchRequest], Iterable[TaskPatchRequest]], projectId: Optional[int] = None)
def edit_task_archived_status(self, taskId: int, isArchived: bool = True, projectId: Optional[int] = None)

Edit Task Archived Status.

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.user.tasks.patch

def edit_task_settings_template(self, taskSettingsTemplateId: int, data: Iterable[ConfigPatchRequest], projectId: Optional[int] = None)
def export_task_strings(self, taskId: int, projectId: Optional[int] = None)
def get_task(self, taskId: int, projectId: Optional[int] = None)
def get_task_settings_template(self, taskSettingsTemplateId: int, projectId: Optional[int] = None)
def get_task_settings_templates_path(self, projectId: int, taskSettingsTemplateId: Optional[int] = None)
def get_tasks_path(self, projectId: int, taskId: Optional[int] = None)
def list_task_settings_templates(self, projectId: Optional[int] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def list_tasks(self, projectId: Optional[int] = None, assigneeId: Optional[int] = None, status: Optional[CrowdinTaskStatus] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def list_user_tasks(self, status: Optional[CrowdinTaskStatus] = None, isArchived: Optional[bool] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
class TeamsResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Teams.

Organization teams.

Use API to create, modify, and delete specific teams and members.

Link to documentation: https://developer.crowdin.com/enterprise/api/v2/#tag/Teams

Ancestors

Methods

def add_team(self, name: str)
def add_team_members(self, teamId: int, userIds: Iterable[int])
def add_team_to_project(self, teamId: int, projectId: Optional[int] = None, accessToAllWorkflowSteps: bool = True, managerAccess: bool = False, permissions: Optional[Permissions] = None, roles: Optional[Iterable[TeamByProjectRole]] = None)
def delete_all_team_members(self, teamId: int)
def delete_team(self, teamId: int)
def delete_team_member(self, teamId: int, memberId: int)
def edit_team(self, teamId: int, data: Iterable[TeamPatchRequest])
def get_members_path(self, teamId: int, memberId: Optional[int] = None)
def get_team(self, teamId: int)
def get_teams_path(self, teamId: Optional[int] = None)
def list_teams(self, offset: Optional[int] = None, limit: Optional[int] = None)
def teams_member_list(self, teamId: int, offset: Optional[int] = None, limit: Optional[int] = None)
class TranslationMemoryResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Translation Memory.

Translation Memory (TM) is a vault of translations that were previously made in other projects. Those translations can be reused to speed up the translation process. Every translation made in the project is automatically added to the project Translation Memory.

Use API to create, upload, download, or remove specific TM. Translation Memory export and import are asynchronous operations and shall be completed with sequence of API methods.

Link to documentation: https://developer.crowdin.com/api/v2/#tag/Translation-Memory

Ancestors

Methods

def add_tm(self, name: str, languageId: str)
def check_tm_export_status(self, tmId: int, exportId: str)

Check TM Export Status.

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.tms.exports.get

def check_tm_import_status(self, tmId: int, importId: str)

Check TM Import Status.

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.tms.imports.get

def clear_tm(self, tmId: int)
def concordance_search_in_tms(self, sourceLanguageId: str, targetLanguageId: str, autoSubstitution: bool, minRelevant: int, expressions: Iterable[str], projectId: Optional[int] = None)
def create_tm_segment(self, tmId: int, records: Iterable[TranslationMemorySegmentRecord])
def delete_tm(self, tmId: int)
def delete_tm_segment(self, tmId: int, segmentId: int)
def download_tm(self, tmId: int, exportId: str)
def edit_tm(self, tmId: int, data: Iterable[TranslationMemoryPatchRequest])
def edit_tm_segment(self, tmId: int, segmentId: int, data: Iterable[Union[TranslationMemorySegmentRecordOperationAddTranslationMemorySegmentRecordOperationReplaceTranslationMemorySegmentRecordOperationRemove]])
def export_tm(self, tmId: int, sourceLanguageId: Optional[str] = None, targetLanguageId: Optional[str] = None, format: Optional[ExportFormat] = None)
def get_tm(self, tmId: int)
def get_tm_export_path(self, tmId: int, exportId: Optional[str] = None)
def get_tm_segment(self, tmId: int, segmentId: int)
def get_tm_segments_path(self, tmId: int, segmentId: Optional[int] = None)
def get_tms_path(self, tmId: Optional[int] = None)
def import_tm(self, tmId: int, storageId: int, scheme: Optional[Dict[~KT, ~VT]] = None, firstLineContainsHeader: Optional[bool] = None)
def list_tm_segments(self, tmId: int, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def list_tms(self, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
class TranslationStatusResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Translation Status.

Status represents the general localization progress on both translations and proofreading.

Use API to check translation and proofreading progress on different levels: file, language, branch, directory.

Link to documentation: https://developer.crowdin.com/api/v2/#tag/Translation-Status

Ancestors

Methods

def get_branch_progress(self, branchId: int, projectId: Optional[int] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def get_directory_progress(self, directoryId: int, projectId: Optional[int] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def get_file_progress(self, fileId: int, projectId: Optional[int] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def get_language_progress(self, languageId: str, projectId: Optional[int] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def get_project_progress(self, projectId: Optional[int] = None, languageIds: Optional[Iterable[str]] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def list_qa_check_issues(self, projectId: Optional[int] = None, category: Optional[Iterable[Category]] = None, validation: Optional[Iterable[Validation]] = None, languageIds: Optional[Iterable[str]] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
class TranslationsResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Translations.

Translators can work with entirely untranslated project or you can pre-translate the files to ease the translations process.

Use API to pre-translate files via Machine Translation (MT) or Translation Memory (TM), upload your existing translations, and download translations correspondingly. Pre-translate and build are asynchronous operations and shall be completed with sequence of API methods.

Link to documentation: https://developer.crowdin.com/api/v2/#tag/Translations

Ancestors

Methods

def apply_pre_translation(self, languageIds: Iterable[str], fileIds: Iterable[int], projectId: Optional[int] = None, method: Optional[PreTranslationApplyMethod] = None, engineId: Optional[int] = None, autoApproveOption: Optional[PreTranslationAutoApproveOption] = None, duplicateTranslations: Optional[bool] = None, translateUntranslatedOnly: Optional[bool] = None, translateWithPerfectMatchOnly: Optional[bool] = None, labelIds: Optional[Iterable[int]] = None, excludeLabelIds: Optional[Iterable[int]] = None)
def build_crowdin_project_translation(self, projectId: Optional[int] = None, branchId: Optional[int] = None, targetLanguageIds: Optional[Iterable[str]] = None, skipUntranslatedStrings: Optional[bool] = None, skipUntranslatedFiles: Optional[bool] = None, exportApprovedOnly: Optional[bool] = None, exportWithMinApprovalsCount: Optional[int] = None)

Build Project Translation(Crowdin Translation Create Project Build Form).

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.projects.translations.builds.post

def build_project_directory_translation(self, directoryId: int, projectId: Optional[int] = None, targetLanguageIds: Optional[Iterable[str]] = None, skipUntranslatedStrings: Optional[bool] = None, skipUntranslatedFiles: Optional[bool] = None, exportApprovedOnly: Optional[bool] = None)
def build_project_file_translation(self, fileId: int, targetLanguageId: str, projectId: Optional[int] = None, skipUntranslatedStrings: Optional[bool] = None, skipUntranslatedFiles: Optional[bool] = None, exportApprovedOnly: Optional[bool] = None, eTag: Optional[str] = None)
def build_project_translation(self, request_data: Dict[~KT, ~VT], projectId: Optional[int] = None)
def build_pseudo_project_translation(self, pseudo: bool, projectId: Optional[int] = None, prefix: Optional[str] = None, suffix: Optional[str] = None, lengthTransformation: Optional[int] = None, charTransformation: Optional[CharTransformation] = None)

Build Project Translation(Translation Create Project Pseudo Build Form).

Link to documentation: https://developer.crowdin.com/api/v2/#operation/api.projects.translations.builds.post

def cancel_build(self, buildId: int, projectId: Optional[int] = None)
def check_project_build_status(self, buildId: int, projectId: Optional[int] = None)
def download_project_translations(self, buildId: int, projectId: Optional[int] = None)
def export_project_translation(self, targetLanguageId: str, projectId: Optional[int] = None, format: Optional[ExportProjectTranslationFormat] = None, labelIds: Optional[Iterable[int]] = None, branchIds: Optional[Iterable[int]] = None, directoryIds: Optional[Iterable[int]] = None, fileIds: Optional[Iterable[int]] = None, skipUntranslatedStrings: Optional[bool] = None, skipUntranslatedFiles: Optional[bool] = None, exportApprovedOnly: Optional[bool] = None)
def get_builds_path(self, projectId: int, buildId: Optional[int] = None)
def list_project_builds(self, projectId: Optional[int] = None, branchId: Optional[int] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def pre_translation_status(self, preTranslationId: str, projectId: Optional[int] = None)
def upload_translation(self, languageId: str, storageId: int, fileId: int, projectId: Optional[int] = None, importEqSuggestions: Optional[bool] = None, autoApproveImported: Optional[bool] = None, translateHidden: Optional[bool] = None)
class UsersResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Users.

Users API gives you the possibility to get profile information about the currently authenticated user.

Link to documentation: https://developer.crowdin.com/api/v2/#tag/Users

Ancestors

Methods

def get_member_info(self, memberId: int, projectId: Optional[int] = None)
def list_project_members(self, projectId: Optional[int] = None, search: Optional[str] = None, role: Optional[UserRole] = None, languageId: Optional[str] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
class VendorsResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Vendors.

Vendors are the organizations that provide professional translation services. To assign a Vendor to a project workflow you should invite an existing Organization to be a Vendor for you.

Use API to get the list of the Vendors you already invited to your organization.

Link to documentation: https://developer.crowdin.com/enterprise/api/v2/#tag/Vendors

Ancestors

Methods

def list_vendors(self, offset: Optional[int] = None, limit: Optional[int] = None)
class WebhooksResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Webhooks.

Webhooks allow you to collect information about events that happen in your Crowdin projects. You can select the request type, content type, and add a custom payload, which allows you to create integrations with other systems on your own.

You can configure webhooks for the following events: -project file is fully translated -project file is fully reviewed -all strings in project are translated -all strings in project are reviewed -final translation of string is updated (using Replace in suggestions feature) -source string is added -source string is updated -source string is deleted -source string is translated -translation for source string is updated (using Replace in suggestions feature) -one of translations is deleted -translation for string is approved -approval for previously added translation is removed

Use API to create, modify, and delete specific webhooks.

Link to documentation: https://developer.crowdin.com/api/v2/#tag/Webhooks

Ancestors

Methods

def add_webhook(self, name: str, url: str, events: Iterable[WebhookEvents], requestType: WebhookRequestType, projectId: Optional[int] = None, isActive: Optional[bool] = None, batchingEnabled: Optional[bool] = None, contentType: Optional[WebhookContentType] = None, headers: Optional[Dict[~KT, ~VT]] = None, payload: Optional[Dict[~KT, ~VT]] = None)
def delete_webhook(self, webhookId: int, projectId: Optional[int] = None)
def edit_webhook(self, webhookId: int, data: Iterable[WebhookPatchRequest], projectId: Optional[int] = None)
def get_webhook(self, webhookId: int, projectId: Optional[int] = None)
def get_webhooks_path(self, projectId: int, webhookId: Optional[int] = None)
def list_webhooks(self, projectId: Optional[int] = None, page: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)

List Webhooks.

Link to documentation: https://developer.crowdin.com/api/v2/#tag/Webhooks

class WorkflowsResource (requester: APIRequester, project_id: Optional[int] = None, page_size=25)

Resource for Workflows.

Workflows are the sequences of steps that content in your project should go through (e.g. pre-translation, translation, proofreading). You can use a default template or create the one that works best for you and assign it to the needed projects.

Use API to get the list of workflow templates available in your organization and to check the details of a specific template.

Link to documentation: https://developer.crowdin.com/enterprise/api/v2/#tag/Workflows

Ancestors

Methods

def get_workflow_step(self, stepId: int, projectId: Optional[int] = None)
def get_workflow_steps_path(self, projectId: int, stepId: Optional[int] = None)
def get_workflow_template(self, templateId: int)
def get_workflow_templates_path(self, templateId: Optional[int] = None)
def list_workflow_steps(self, projectId: Optional[int] = None)
def list_workflow_templates(self, groupId: Optional[int] = None, limit: Optional[int] = None, offset: Optional[int] = None)