Module crowdin_api.api_resources.application.resource

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://support.crowdin.com/developer/api/v2/#tag/Applications

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

Ancestors

Methods

Add Application Consent

Available for Crowdin.com only (not supported in Crowdin Enterprise).

Link to documentation: https://support.crowdin.com/developer/api/v2/#operation/api.applications.consents.post

def add_application_data(self, applicationIdentifier: str, path: str, data: dict, params: Optional[Dict[~KT, ~VT]] = None)

Add Application Data.

params are application-specific query parameters.

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

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

def add_application_kv_record(self, applicationIdentifier: str, key: str, value: Any, secret: Optional[bool] = None, ttl: Optional[int] = None)

Add Application KV Record

Requires the application's own access token (personal access tokens are not supported).

Link to documentation: https://support.crowdin.com/developer/api/v2/#operation/api.applications.storage.kv.records.post

Link to documentation for enterprise: https://support.crowdin.com/developer/enterprise/api/v2/#operation/api.applications.storage.kv.records.post

def apply_application_installation_update(self, identifier: str, manifestHash: str)
def cancel_integration_job(self, applicationIdentifier: str, jobId: str, projectId: Optional[int] = None)

Delete Application Consent

Available for Crowdin.com only (not supported in Crowdin Enterprise).

Link to documentation: https://support.crowdin.com/developer/api/v2/#operation/api.applications.consents.delete

def delete_application_data(self, applicationIdentifier: str, path: str, params: Optional[Dict[~KT, ~VT]] = None)

Delete Application Data.

params are application-specific query parameters.

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

Link to documentation for enterprise: https://support.crowdin.com/developer/enterprise/api/v2/#operation/api.applications.api.delete

def delete_application_installation(self, identifier: str, force: Optional[bool] = None)
def delete_application_kv_record(self, applicationIdentifier: str, key: str)

Delete Application KV Record

Requires the application's own access token (personal access tokens are not supported).

Link to documentation: https://support.crowdin.com/developer/api/v2/#operation/api.applications.storage.kv.records.delete

Link to documentation for enterprise: https://support.crowdin.com/developer/enterprise/api/v2/#operation/api.applications.storage.kv.records.delete

Edit Application Consent

Available for Crowdin.com only (not supported in Crowdin Enterprise).

Link to documentation: https://support.crowdin.com/developer/api/v2/#operation/api.applications.consents.patch

def edit_application_data(self, applicationIdentifier: str, path: str, data: dict, params: Optional[Dict[~KT, ~VT]] = None)

Edit Application Data.

params are application-specific query parameters.

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

Link to documentation for enterprise: https://support.crowdin.com/developer/enterprise/api/v2/#operation/api.applications.api.patch

def edit_application_installation(self, identifier: str, data: Iterable[ApplicationInstallationPatchRequest])

Edit Application Installation

Supported paths: /permissions, /modules/{moduleKey}/permissions and /manifest (the latter only for applications installed from manifest content).

Link to documentation: https://support.crowdin.com/developer/api/v2/#operation/api.applications.installations.patch

Link to documentation for enterprise: https://support.crowdin.com/developer/enterprise/api/v2/#operation/api.applications.installations.patch

def edit_application_kv_record(self, applicationIdentifier: str, key: str, data: Iterable[ApplicationKVRecordPatchRequest])

Edit Application KV Record

Requires the application's own access token (personal access tokens are not supported).

Link to documentation: https://support.crowdin.com/developer/api/v2/#operation/api.applications.storage.kv.records.patch

Link to documentation for enterprise: https://support.crowdin.com/developer/enterprise/api/v2/#operation/api.applications.storage.kv.records.patch

def edit_applicatoin_installation(self, identifier: str, data: Iterable[ApplicationInstallationPatchRequest])

Edit Application Installation

Deprecated: use edit_application_installation instead.

Link to documentation: https://support.crowdin.com/developer/api/v2/#operation/api.applications.installations.patch

def get_application_consents_path(self, consent_id: Optional[int] = None)
def get_application_data(self, applicationIdentifier: str, path: str, params: Optional[Dict[~KT, ~VT]] = None)

Get Application Data.

params are application-specific query parameters.

Link to documentation: https://support.crowdin.com/developer/api/v2/#operation/api.applications.api.get

Link to documentation for enterprise: https://support.crowdin.com/developer/enterprise/api/v2/#operation/api.applications.api.get

def get_application_installation(self, identifier: str)
def get_application_installation_update(self, identifier: str)

Get Application Installation Update

Returns the diff between the installed application and the latest cached manifest, tagged with manifestHash.

Link to documentation: https://support.crowdin.com/developer/api/v2/#operation/api.applications.installations.update.get

Link to documentation for enterprise: https://support.crowdin.com/developer/enterprise/api/v2/#operation/api.applications.installations.update.get

def get_application_installations_path(self, identifier: Optional[str] = None)
def get_application_kv_record(self, applicationIdentifier: str, key: str)

Get Application KV Record

Requires the application's own access token (personal access tokens are not supported).

Link to documentation: https://support.crowdin.com/developer/api/v2/#operation/api.applications.storage.kv.records.get

Link to documentation for enterprise: https://support.crowdin.com/developer/enterprise/api/v2/#operation/api.applications.storage.kv.records.get

def get_application_kv_records_path(self, applicationIdentifier: str, key: Optional[str] = None)
def get_application_path(self, applicationIdentifier: str, path: str)
def get_integration_file_progress(self, applicationIdentifier: str, fileId: int, projectId: Optional[int] = None)
def get_integration_job(self, applicationIdentifier: str, jobId: Optional[str] = None, projectId: Optional[int] = None)
def get_integration_job_info(self, applicationIdentifier: str, jobId: str, projectId: Optional[int] = None)
def get_integration_login_fields(self, applicationIdentifier: str)
def get_integration_settings(self, applicationIdentifier: str, projectId: Optional[int] = None)
def get_integration_sync_settings(self, applicationIdentifier: str, provider: Union[IntegrationSyncProvider, str], projectId: Optional[int] = None)
def install_application(self, url: Optional[str] = None, permissions: Optional[ApplicationPermissions] = None, manifest: Optional[ApplicationManifest] = None, modules: Optional[Iterable[ApplicationModulePermissions]] = None, assignAgent: Optional[bool] = None)

Install Application

Install an application either from a hosted manifest URL (url) or from its manifest content (manifest, serverless apps only). Exactly one of url or manifest must be provided.

permissions.user is deprecated by the API, use modules permissions instead. assignAgent is supported only when installing from a manifest URL.

Link to documentation: https://support.crowdin.com/developer/api/v2/#operation/api.applications.installations.post

Link to documentation for enterprise: https://support.crowdin.com/developer/enterprise/api/v2/#operation/api.applications.installations.post

def integration_login(self, applicationIdentifier: str, credentials: Dict[str, Any], projectId: Optional[int] = None)

Integration Login

credentials are the login form fields, see get_integration_login_fields. Available for file-based projects only.

Link to documentation: https://support.crowdin.com/developer/api/v2/#operation/api.applications.integrations.integration.login

Link to documentation for enterprise: https://support.crowdin.com/developer/enterprise/api/v2/#operation/api.applications.integrations.integration.login

def list_application_consents(self, identifier: Optional[str] = None, order_by: Optional[Sorting] = None, limit: Optional[int] = None, offset: Optional[int] = None)

List Application Consents

Available for Crowdin.com only (not supported in Crowdin Enterprise).

Link to documentation: https://support.crowdin.com/developer/api/v2/#operation/api.applications.consents.getMany

def list_application_installations(self, offset: Optional[int] = None, limit: Optional[int] = None, installedBy: Optional[int] = None, orderBy: Optional[Sorting] = None)
def list_application_kv_records(self, applicationIdentifier: str, prefix: Optional[str] = None, orderBy: Optional[Sorting] = None, offset: Optional[int] = None, limit: Optional[int] = None)

List Application KV Records

Requires the application's own access token (personal access tokens are not supported).

Link to documentation: https://support.crowdin.com/developer/api/v2/#operation/api.applications.storage.kv.records.getMany

Link to documentation for enterprise: https://support.crowdin.com/developer/enterprise/api/v2/#operation/api.applications.storage.kv.records.getMany

def list_integration_crowdin_files(self, applicationIdentifier: str, projectId: Optional[int] = None)
def list_integration_files(self, applicationIdentifier: str, projectId: Optional[int] = None)
def list_integration_jobs(self, applicationIdentifier: str, projectId: Optional[int] = None, offset: Optional[int] = None, limit: Optional[int] = None)
def update_application_data(self, applicationIdentifier: str, path: str, data: dict, params: Optional[Dict[~KT, ~VT]] = None)

Update or Restore Application Data.

params are application-specific query parameters.

Link to documentation: https://support.crowdin.com/developer/api/v2/#operation/api.applications.api.put

Link to documentation for enterprise: https://support.crowdin.com/developer/enterprise/api/v2/#operation/api.applications.api.put

def update_integration_crowdin_files(self, applicationIdentifier: str, files: Iterable[IntegrationCrowdinUpdateFile], uploadTranslations: Optional[bool] = None, projectId: Optional[int] = None)
def update_integration_files(self, applicationIdentifier: str, files: Dict[Union[int, str], Iterable[str]], projectId: Optional[int] = None)

Update Integration Files

files maps Crowdin file ids to lists of language ids, e.g. {102: ["de", "fr"]}. Available for file-based projects only.

Link to documentation: https://support.crowdin.com/developer/api/v2/#operation/api.applications.integrations.integration.update

Link to documentation for enterprise: https://support.crowdin.com/developer/enterprise/api/v2/#operation/api.applications.integrations.integration.update

def update_integration_settings(self, applicationIdentifier: str, config: Dict[str, Any], projectId: Optional[int] = None)
def update_integration_sync_settings(self, applicationIdentifier: str, provider: IntegrationSyncProvider, files: Union[Dict[Union[int, str], Iterable[str]], Iterable[IntegrationSyncSettingsFile]], projectId: Optional[int] = None)

Update Sync Settings

files is either a mapping of Crowdin file ids to language ids (e.g. {102: ["uk", "de"]}) or a list of integration file objects. Available for file-based projects only.

Link to documentation: https://support.crowdin.com/developer/api/v2/#operation/api.applications.integrations.sync.settings.update

Link to documentation for enterprise: https://support.crowdin.com/developer/enterprise/api/v2/#operation/api.applications.integrations.sync.settings.update

def upload_application_bundle(self, identifier: str, storageId: int)

Upload Application Bundle

Upload a bundle archive (ZIP with a non-empty app.js at its root) for a serverless app installed from manifest content.

Link to documentation: https://support.crowdin.com/developer/api/v2/#operation/api.applications.installations.bundles.post

Link to documentation for enterprise: https://support.crowdin.com/developer/enterprise/api/v2/#operation/api.applications.installations.bundles.post