---
title: "Get File"
method: GET
path: "/projects/{projectId}/files/{fileId}"
tags: ["Source Files"]
---

# Get File

`GET /projects/{projectId}/files/{fileId}`

## Request

- Base URL: `https://api.crowdin.com/api/v2`
- URL: `https://api.crowdin.com/api/v2/projects/{projectId}/files/{fileId}`
- Auth: none declared
- TypeScript: <https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2/docs/projects/:projectId/files/:fileId/get.ts> (a function with typed inputs; its response is checked against the schema)

**Required scopes:** `project.source.file` (Read only).

## Path parameters

- `projectId` integer, required
- `fileId` integer, required

## Response `200`

File data
- Translators and proofreaders – receive the response `File Info Resource`
- Project owners, organization admins, and managers – receive the response `File Resource`

- union
  - EnterpriseFileInfoResource: Base schema of resource container. Container is a wrapper object that contains payload in required `data` property and provides space for adding any other metadata.
    - `data` EnterpriseFileInfo, required: Class FileInfoResponseModel
      - `id` integer
      - `projectId` integer
      - `branchId` integer, nullable
      - `directoryId` integer, nullable
      - `name` string
      - `title` string, nullable
      - `context` string, nullable
      - `type` string
      - `path` string
      - `status` string
      - `fields` EnterpriseAdditionalFields: Fields. Keys get via [List Fields](#operation/api.fields.getMany)
  - EnterpriseFileResource: Base schema of resource container. Container is a wrapper object that contains payload in required `data` property and provides space for adding any other metadata.
    - `data` EnterpriseFile, required: Class FileInfoResponseModel
      - `id` integer
      - `projectId` integer
      - `branchId` integer, nullable
      - `directoryId` integer, nullable
      - `name` string
      - `title` string, nullable
      - `context` string, nullable
      - `type` string
      - `path` string
      - `status` string
      - `revisionId` integer
      - `priority` string
      - `importOptions` union
        - object
          - `importTranslations` boolean
          - `firstLineContainsHeader` boolean
          - `contentSegmentation` boolean
          - `customSegmentation` boolean
          - `scheme` object
            - `identifier` integer
            - `sourcePhrase` integer
        - object
          - `contentSegmentation` boolean
          - `customSegmentation` boolean
          - `inlineTags` string[]
          - `hideAttributeValues` boolean
        - object
          - `importTranslations` boolean
          - `firstLineContainsHeader` boolean
          - `importHiddenSheets` boolean
          - `importHiddenRows` boolean
          - `contentSegmentation` boolean
          - `customSegmentation` boolean
          - `scheme` object
            - `identifier` integer
            - `sourcePhrase` integer
        - object
          - `contentSegmentation` boolean
          - `customSegmentation` boolean
          - `excludedElements` string[]
          - `inlineTags` string[]
          - `hideAttributeValues` boolean
        - object
          - `contentSegmentation` boolean
          - `customSegmentation` boolean
          - `excludedElements` string[]
          - `inlineTags` string[]
          - `excludedFrontMatterElements` string[]
          - `hideAttributeValues` boolean
        - object
          - `contentSegmentation` boolean
          - `customSegmentation` boolean
          - `excludeCodeBlocks` boolean
          - `excludedFrontMatterElements` string[]
        - object
          - `contentSegmentation` boolean
          - `customSegmentation` boolean
          - `excludeCodeBlocks` boolean
          - `excludedFrontMatterElements` string[]
        - object
          - `contentSegmentation` boolean
          - `customSegmentation` boolean
          - `excludeCodeBlocks` boolean
          - `excludedFrontMatterElements` string[]
          - `inlineTags` string[]
        - object
          - `translateContent` boolean
          - `translateAttributes` boolean
          - `contentSegmentation` boolean
          - `translatableElements` string[]: This is an array of strings, where each item is the XPaths to DOM element that should be imported. Supported XPath patterns: - `/path/to/node` — Absolute path to a specific node - `/path/to/attribute[@attr]` — Absolute path to an attribute - `//node` — All nodes with the specified name - `//[@attr]` — All elements with the specified attribute - `nodeone/nodetwo` — Relative path - `/nodeone//nodetwo` — Mixed absolute and descendant path - `//node[@attr]` — All nodes with the specified name and attribute
          - `customSegmentation` boolean
          - `inlineTags` string[]
        - object
          - `cleanTagsAggressively` boolean: When checked, strips additional formatting tags related to text spacing.
          - `translateHiddenText` boolean: When checked, exposes hidden text for translation.
          - `translateHyperlinkUrls` boolean: When checked, exposes hidden hyperlinks for translation.
          - `translateHiddenRowsAndColumns` boolean: When checked, exposes hidden rows and columns for translation.
          - `importNotes` boolean: When checked, expose slide notes for translation.
          - `importHiddenSlides` boolean: When checked, exposes hidden slides for translation.
          - `contentSegmentation` boolean: Defines whether to split long texts into smaller text segments. * * Important! This option disables the possibility to upload existing translations for XML files when enabled.
          - `customSegmentation` boolean: Specifies whether custom segmentation rules are used.
          - `translateDocProperties` boolean: When checked, exposes document properties such as title, subject, and creator for translation.
          - `translateComments` boolean: When checked, exposes comments for translation.
          - `ignoreWhitespaceStyles` boolean: When checked, formatting that differs only in whitespace no longer produces separate tags. __Note:__ Can be set only when `cleanTagsAggressively` is enabled
          - `addTabAsCharacter` boolean: When checked, a tab inside a text run is exposed as a character instead of a tag.
          - `addLineSeparatorAsCharacter` boolean: When checked, a line break inside a text run is exposed as `lineSeparatorReplacement` instead of a tag.
          - `lineSeparatorReplacement` string: Character that replaces a line break when `addLineSeparatorAsCharacter` is enabled. __Note:__ Must be exactly one character
          - `replaceNoBreakHyphenTag` boolean: When checked, a non-breaking hyphen is exposed as a character instead of a tag.
          - `ignoreSoftHyphenTag` boolean: When checked, soft hyphens are removed instead of being exposed as tags.
          - `complexFieldDefinitionsToExtract` string[]: Word complex field types whose text is exposed for translation. __Note:__ `HYPERLINK` is always extracted and can't be removed
          - `translateWordHeadersFooters` boolean: When checked, exposes headers and footers for translation.
          - `translateWordGraphicName` boolean: When checked, exposes the name of a shape or image for translation.
          - `translateWordGraphicDescription` boolean: When checked, exposes the alternative text of a shape or image for translation.
          - `ignoreWordFontColors` boolean: When checked, excludes text whose font color falls between `wordFontColorsMinIgnoranceThreshold` and `wordFontColorsMaxIgnoranceThreshold` from translation.
          - `wordFontColorsMinIgnoranceThreshold` string: Darkest font color ignored when `ignoreWordFontColors` is enabled, as six hexadecimal digits with an optional leading hash. Empty means black. Must not be lighter than `wordFontColorsMaxIgnoranceThreshold` in any color channel.
          - `wordFontColorsMaxIgnoranceThreshold` string: Lightest font color ignored when `ignoreWordFontColors` is enabled, as six hexadecimal digits with an optional leading hash. Empty means white.
          - `excludeWordStyles` string[]: Paragraph style names singled out by `translateWordInExcludeStyleMode`, for example `Heading1`.
          - `translateWordInExcludeStyleMode` boolean: How `excludeWordStyles` is read. If `true`, the listed styles are excluded from translation; if `false`, only they are translated.
          - `wordHighlightColors` string[]: Word highlight colors singled out by `translateWordInExcludeHighlightMode`. One of: `black`, `blue`, `cyan`, `green`, `magenta`, `red`, `yellow`, `white`, `darkBlue`, `darkCyan`, `darkGreen`, `darkMagenta`, `darkRed`, `darkYellow`, `darkGray`, `lightGray`, `none`.
          - `translateWordInExcludeHighlightMode` boolean: How `wordHighlightColors` is read. If `true`, text with the listed highlights is excluded from translation; if `false`, only it is translated.
          - `translateWordExcludeColors` boolean: When checked, excludes text whose color is listed in `wordExcludedColors` from translation.
          - `wordExcludedColors` string[]: Text colors excluded from translation when `translateWordExcludeColors` is enabled, each six hexadecimal digits with an optional leading hash.
          - `translateExcelCellsCopied` boolean: When checked, a cell whose text is shared with another cell is exposed once for translation.
          - `translateExcelSheetNames` boolean: When checked, exposes worksheet names for translation.
          - `excelExcludedColors` string[]: Cell fill colors whose cells are excluded from translation, each the six-digit RGB with an optional leading hash, not the eight-digit ARGB stored in the file.
          - `translateExcelDiagramData` boolean: When checked, exposes text inside SmartArt and diagram data for translation.
          - `translateExcelDrawings` boolean: When checked, exposes text inside drawings and shapes on a worksheet for translation.
        - object
          - `cleanTagsAggressively` boolean: When checked, strips additional formatting tags related to text spacing.
          - `translateHiddenText` boolean: When checked, exposes hidden text for translation.
          - `translateHyperlinkUrls` boolean: When checked, exposes hidden hyperlinks for translation.
          - `translateHiddenRowsAndColumns` boolean: When checked, exposes hidden rows and columns for translation.
          - `importNotes` boolean: When checked, expose slide notes for translation.
          - `importHiddenSlides` boolean: When checked, exposes hidden slides for translation.
          - `contentSegmentation` boolean: Defines whether to split long texts into smaller text segments. * * Important! This option disables the possibility to upload existing translations for XML files when enabled.
          - `customSegmentation` boolean: Specifies whether custom segmentation rules are used.
        - object
          - `cleanTagsAggressively` boolean: When checked, strips additional formatting tags related to text spacing.
          - `translateHyperlinkUrls` boolean: When checked, exposes hidden hyperlinks for translation.
          - `contentSegmentation` boolean: Defines whether to split long texts into smaller text segments.
          - `customSegmentation` boolean: Specifies whether custom segmentation rules are used.
        - object
          - `inlineHyperlinkText` boolean: When checked, a hyperlink's text is extracted as part of the surrounding sentence so it can be translated in context, instead of appearing as a separate non-editable tag.
          - `contentSegmentation` boolean: Defines whether to split long texts into smaller text segments.
          - `customSegmentation` boolean: Specifies whether custom segmentation rules are used.
        - object
          - `convertIcu` boolean: Defines whether to convert placeholders to the ICU MessageFormat syntax.
          - `addGenderArgument` boolean: Defines whether to append _gender suffix to variable names when converting gender ICU to ICU MessageFormat. __Note:__ Can be enabled only when `convertIcu` is `true`.
        - object
          - `contentSegmentation` boolean
          - `customSegmentation` boolean
        - object
          - `customSegmentation` boolean
        - object
          - `importKeyAsSource` boolean
          - `importTranslations` boolean
        - object
          - `contentSegmentation` boolean
          - `customSegmentation` boolean
          - `excludeIncludeDirectives` boolean
      - `exportOptions` union
        - object
          - `exportPattern` string, nullable
        - object
          - `exportPattern` string, nullable
          - `allowWordStyleOptimization` boolean: When checked, run properties in the exported document are minified against the style definitions instead of being kept verbatim.
          - `translateExcelExcludeColors` boolean: When checked, excludes colored text runs inside a spreadsheet cell from translation. __Note:__ Applied when the file is parsed, even though it is set through `exportOptions`
        - object
          - `escapeQuotes` integer, nullable
          - `escapeSpecialCharacters` integer, nullable
          - `exportPattern` string, nullable
        - object
          - `exportQuotes` string
          - `exportPattern` string, nullable
        - object
          - `exportPattern` string, nullable
          - `strongMarker` string
          - `emphasisMarker` string
          - `unorderedListBullet` string
          - `tableColumnWidth` string
          - `frontMatterQuotes` string
        - object
          - `exportPattern` string, nullable
          - `strongMarker` string
          - `emphasisMarker` string
          - `unorderedListBullet` string
          - `tableColumnWidth` string
        - object
          - `exportPattern` string, nullable
          - `strongMarker` string
          - `emphasisMarker` string
          - `unorderedListBullet` string
          - `tableColumnWidth` string
      - `excludedTargetLanguages` string[], nullable
      - `parserVersion` integer, nullable
      - `createdAt` string, date-time, nullable
      - `updatedAt` string, date-time, nullable
      - `fields` EnterpriseAdditionalFields: Fields. Keys get via [List Fields](#operation/api.fields.getMany)

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Project or file with specified id was not found
- `405`: Method Not Allowed
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2.md) - [All operations](https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2/revisions/dc68744c5384?raw)
