---
title: "Descriptor"
method: GET
path: "/descriptor"
tags: ["Standard"]
---

# Descriptor

`GET /descriptor`

This endpoint provides the descriptor for the app.

## Headers

- `TR_ID` string

## Response `200`

- AppDescriptor
  - `name` string, required — A user friendly name, that will be used in the RWS AppStore. It must be unique - registration will fail if there is another app with the same name.
  - `description` string, required — The description of the app that will be presented in the AppStore.
  - `version` string, required — 3 numbers separated by a dot, representing the semantic version.
  - `scopes` string[] — The list of required scopes. It can be any of the following: * TENANT - Read/write/delete all tenant data (resources). * TENANT_READ - Read-only access to all tenant data (resources). * ACCESS_SECURE_PROJECT_CONTENT - Access to secure project content.
  - `entitlements` string[] — The list of required entitlements. If the account doesn't have the entitlements, the app installation won't be allowed. This is reserved for RWS apps.
  - `extensions` union[] — The collection of Extensions that are supported by the app.
    - union
      - MTProviderExtension — Extension that provides machine translation.
        - `extensionPointId` 'lc.mtprovider', required — The extension point identifier corresponding to this extensionType: lc.mtprovider
        - `id` string, required — Unique extension ID provided by the app developer
        - `name` string, required — Provide a user friendly and unique name. It might be shown to the end user, and it may be useful to help the user distinguish between multiple extensions.
        - `description` string, required — The MT extension description
        - `extensionPointVersion` string, required — The version of the extension point that is implemented in the Extension. Currently supported version is "1".
        - `configuration` object, required
          - `endpoints` object, required — The required endpoints for the MT extension
            - `lc.mtprovider.translate` string, required — The endpoint used to receive and translate content from the Trados Cloud Platform. It must begin with a slash "/"
            - `lc.mtprovider.engines` string, required — The endpoint used to retrieve the available translation engines (the supported language pairs). It must begin with a slash "/" character.
          - `format` 'html' | 'bcm', required — The content's format supported by the app on the translate endpoint.
          - `segmentBatchSize` integer — The maximum number of segments supported by the app on the `lc.mtprovider.translate` endpoint. Applicable only for the `html` format.
      - AutomaticTaskExtension — Extension that executes an automatic task.
        - `extensionPointId` 'lc.automatictask', required — The extension point id corresponding to this extensionType: lc.automatictask
        - `id` string, required — Unique extension ID provided by the app developer
        - `name` string, required — Provide a friendly and unique name. It might be shown to the end user, and might be usefull to help the user distinguish between multiple extensions.
        - `description` string, required — The automatic task extension description.
        - `extensionPointVersion` string, required — The version of the extension point that is implemented in the Extension. Currently supported version is "1".
        - `configuration` object, required — The task configuration.
          - `endpoints` object, required — The endpoints that accept a task for execution.
            - `lc.automatictask.submit` string, required — The path of the endpoint that accepts a task for execution. Must begin with a slash "/"
          - `supportedInputFileType` 'nativeSource' | 'bcmSource' | 'bcmTarget' | 'nativeTarget' | 'sdlxliffTarget' | 'none', required — Describes what are the input files for the given task. All tasks can have input files, regardless of scope. Acceptable values: - nativeSource: processes source files in their native uploaded form (e.g: FileTypeDetection, Engineering, FileFormatConversion) - bcmSource: processes source files in their converted "bcm" form (e.g: DocumentContentAnalysis, CopySourceToTarget) - bcmTarget: processes target files in their "bcm" form (e.g.: Translation, Linguistic Review, MachineTranslation, TranslationMemoryMatching, TranslationMemoryUpdate, TargetFileGeneration) - nativeTarget: processes target files in their native "generated" form (e.g: DTP, FinalCheck) - sdlxliffTarget: processes target files in their "sdlxliff" form. Specifically for Import tasks. Not recommended for automated task types at this time (early 2021) - none: doesn't touch file content either to read or to update it
          - `scope` 'file' | 'targetLanguage' | 'batch' | 'vendorOrder' | 'task', required — Describes the applicability of a task within a project Acceptable values: - file: the task will be applicable for every file in the project. It will process either source or target files based on the relation with supportedInputFileType and outputFileType - targetLanguage: the task will be applicable for every target language of the project batch: the task is applicable only once for a batch execution within a project - task: the task is applicable to other tasks. Specifically tailored for Error tasks. Not recommended for automated task types at this time (early 2021) - vendorOrder: the task is part of the vendor negotiation process. Not recommended for automated task types at this time (early 2021)
          - `outputFileType` 'nativeSource' | 'bcmSource' | 'bcmTarget' | 'nativeTarget' | 'sdlxliffTarget' | 'none', required — Describes what are the output files for the given task. Acceptable values: - nativeSource: processes source files in their native uploaded form (e.g: FileTypeDetection, Engineering, FileFormatConversion) - bcmSource: processes source files in their converted "bcm" form (e.g: DocumentContentAnalysis, CopySourceToTarget) - bcmTarget: processes target files in their "bcm" form (e.g.: Translation, Linguistic Review, MachineTranslation, TranslationMemoryMatching, TranslationMemoryUpdate, TargetFileGeneration) - nativeTarget: processes target files in their native "generated" form (e.g: DTP, FinalCheck) - sdlxliffTarget: processes target files in their "sdlxliff" form. Specifically for Import tasks. Not recommended for automated task types at this time (early 2021) - none: doesn't touch file content either to read or to update it e.g.: FileFormatConversion would have bcmSource e.g: CopySourceToTarget would have bcmTarget e.g: TargetFileGeneration would have nativeTarget
          - `outcomes` object[] — The possible outcomes this automatic task has. It must contain at least one outcome.
            - `outcome` string — A custom outcome value.
            - `description` string — The outcome description
            - `isDefault` boolean — If TRUE, this outcome will be used when no speciffic outcome is provided. At least one outcome must be default.
          - `workflowTemplateConfigurations` AutomaticTaskConfigurationDefinition[] — Definitions of the configurations that the app needs at runtime in order to execute a task. The task will be configured when you create a workflow template, workflow or project. The configuration values will be passed to the app when a task is submitted for execution. For example, an extension that uploads a file to an FTP can have the location as a configuration
            - `name` string, required — Short, user friendly name for the configuration setting.
            - `id` string, required — An alphanumeric ID, including underscores. This will be used when setting or getting configuration settings.
            - `description` string — A user-friendly description of the configuration settings, describing what the user should set in the textbox.
            - `optional` boolean — Is this an optional configuration
            - `dataType` 'string' | 'number' | 'integer' | 'boolean' | 'datetime' | 'secret', required — Specifies the data type for the value, to be used for input type generation.
            - `options` string[] — A list of available values to choose from. They will be displayed as a dropdown list.
      - PreviewProviderExtension — Extension that provides for preview generation
        - `extensionPointId` 'lc.previewprovider', required — The extension point id corresponding to this extensionType: lc.previewprovider
        - `id` string, required — Unique extension ID provided by the app developer
        - `name` string, required — Provide a user friendly and unique name. It might be shown to the end user, and it may be useful to help the user distinguish between multiple extensions.
        - `description` string, required — The PreviewProvider extension description
        - `extensionPointVersion` '1.0', required — The version of the extension point that is implemented in the Extension. Currently supported version is "1".
        - `configuration` object, required
          - `endpoints` object, required — The required endpoints for the PreviewProvider extension
            - `lc.preview.startpreview` string, required — The endpoint used initiate the preview generation - must start with a slash "/"
            - `lc.preview.endpreview` string, required — The endpoint used to end the preview request. Any cleanup can be done via this call. Must start with a slash "/"
            - `lc.preview.refreshpreview` string, required — The endpoint used to refresh the preview. Must start with a slash "/"
            - `lc.preview.updatesegment` string, required — The endpoint used to update a segment. Must start with a slash "/"
          - `requiredInputFiles` object, required
            - `previewPackageTemplate` boolean, required — If true, a OneTimeDownloadUrl will be provided to the extension allowing the retrieval of a preview package template containing the files required to generate the preview
            - `bilingualDocument` boolean, required — If true, a OneTimeDownloadUrl will be provided to the extension for retrieving a translated BCM document
            - `nativeFile` boolean, required — If true, a OneTimeDownloadUrl will be provided to the extension allowing for the retrieval of the nativeSourceFile or nativeTargetFile depending on the generation scope
            - `nativeAnnotatedFile` boolean, required — If true, a OneTimeDownloadUrl will be provided to the extension allowing for the retrieval of the nativeAnnotatedSourceFile or nativeAnnotatedTargetFile depending on the generation scope
          - `outputType` string, required — Must define one of the following values: previewPackage, previewHtmlFile or previewUrl.
          - `supportedFileTypes` string[], required — An array listing one or more FileTypeDefinitionIds definining FileTypes to which this preview extension may be assigned.
      - VerificationProviderExtension — Extension that provides for verification message generation
        - `id` string, required — Unique extension ID provided by the app developer
        - `extensionPointId` 'lc.verificationprovider', required — The extension point id corresponding to this extensionType: lc.verificationprovider
        - `name` string, required — Provide a user friendly and unique name. It might be shown to the end user, and it may be useful to help the user distinguish between multiple extensions.
        - `description` string, required — The VerificationProvider extension description
        - `extensionPointVersion` '1.0', required — The version of the extension point that is implemented in the Extension
        - `configuration` object, required
          - `endpoints` object, required — The required endpoints for the VerificationProvider extension
            - `lc.verification.startverification` string, required — The endpoint used to start the verification process. Must start with a slash "/"
            - `lc.verification.verifysegment` string — verifies an individual segment
            - `lc.verification.getmessagesbyculture` string — gets the localized resources for message types
            - `lc.verification.getsettingsschema` string — Gets the JSON schema which defines the settings this extension uses
          - `validationInputType` 'BilingualDocument' | 'NativeSource' | 'NativeTarget' | 'NativeAnnotatedTarget', required — An enum specifying the type of input for the validation
  - `webhooks` WebhookDefinition[]
    - `url` string, required
    - `eventTypes` WebhookEventTypeDefinition[], required
      - `eventType` string, required
  - `baseUrl` string — The prefix for all calls to the app service.
  - `regionalBaseUrls` RegionalBaseUrls — The base URLs based on region.
    - `eu` string — The URL for the `eu` region.
    - `ca` string — The URL for the `ca` region.
  - `standardEndpoints` object — The collection of standard endpoints implemented by each app.
    - `health` string, required — This endpoint will be polled at regular intervals, and the app will be considered healthy if the response code is 200. Any other code will be treated as app service failure.
    - `documentation` string, required — Optional endpoint that can provide documentation in HTML form or respond with a HTTP redirect to another documentation page, not necessarily relative to 'baseUrl'.
    - `configuration` string — Optional endpoint, that can receive configuration details for the app per Account.
    - `icon` string — URL for the icon to be used when listing the app. TBD: format and size.
    - `appLifecycle` string, required — Endpoint that will receive Lifecycle events for an app (that are not related to an installed account/tenant), ex. app Installed, Registered, Unregistered.
    - `configurationValidation` string, required — Endpoint for validating the configuration. It is required even if the `configuration` endpoint is not present.
    - `privacyPolicy` string, required — Endpoint for the privacyPolicy. It can provide privacy policy in HTML form.
    - `termsAndConditions` string, required — Endpoint for the termsAndConditions. It can provide terms and conditions in HTML form.
  - `configurations` ConfigurationDefinition[] — The list of configuration values for the app.
    - `name` string, required — Short, user friendly name for the configuration setting.
    - `id` string, required — An alphanumeric identifier, including underscores. This will be used when setting or getting the configuration settings.
    - `description` string — A user-friendly description of the configuration settings, describing what the user should set in the textbox.
    - `optional` boolean — Is this an optional configuration
    - `dataType` 'string' | 'number' | 'integer' | 'boolean' | 'datetime' | 'secret', required — Specifies the data type for the value, to be used for input type generation.
    - `options` string[] — A list of available values to choose from. They will be displayed as a dropdown list.
  - `releaseNotes` string, required — Describes the changes in the new version. Might be used by an administrator to help decide on possible actions.
  - `minimumVersion` string — Minimum version of the app that is supported. Older versions might be forcibly disabled if not upgraded.
  - `vendor` object, required
    - `name` string, required — Vendor name.
    - `url` string, required — Vendor presentation website url.
    - `email` string, required — Vendor email.
  - `descriptorVersion` '1.4', required — The version of the descriptor. The expected capabilities are based on that version. Use only the value provided in the validation. Do not update the descriptorVersion if not all new features from the current app descriptor are implemented. With the introduction of Apps, descriptorVersion should be `1.4`.

## Changes

- **2026-06-17** (v1) `3c62013a4c7c` — 1 info
  - the response property `vendor` became required for the status `200`
- **2025-11-18** (v1) `ce288dbb23be` — 2 info
  - added the optional property `extensions/items/oneOf[subschema #1: MTProviderExtension]/configuration/segmentBatchSize` to the response with the `200` status
  - removed `#/components/schemas/PreviewProviderExtensionV2` from the `extensions/items/` response property `oneOf` list for the response status `200`

[Change history](https://skmtc.dev/rws/apis/app-api/changes/descriptor/get.md)

---

[API](https://skmtc.dev/rws/apis/app-api.md) · [All operations](https://skmtc.dev/rws/apis/app-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/rws/app-api/revisions/a06e1ee1c99b/schema)
