---
title: "Add file to job"
method: POST
path: "/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/file/add"
tags: ["Jobs"]
---

# Add file to job

`POST /jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/file/add`

## Request

- Base URL: `https://api.smartling.com`
- URL: `https://api.smartling.com/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/file/add`
- Auth: HTTP bearer

This adds all non-published strings from a file to a job. By default, the file will be added for all locales of the job, but you can change this by specifying `targetLocaleId`s for the job you wish to add the file into.

**Validation rules:**
- A job can contain a maximum of 5000 files.
- Content can't be added to the job if the job doesn't contain any locales, and the request to add a file doesn't specify any locales.
- The file (specified by the `fileUri`) can't be in the process of being uploaded / modified within Smartling. It should complete its upload process before being added to a job.
- Any `targetLocale`s specified must be valid within the project the job has been created for.

When the system can quickly add the file and its content to the job, it synchronously responds with status `200`. When the system cannot quickly add the file and its content to the job, then a `202` response is returned. The response contains a link to check the progress of the request. When a `202` is received, the process of adding the content to the job will not be complete until the returned process has completed.

## Path parameters

- `projectId` string, required: Unique identifier of a Smartling project — 9 lowercase alphanumeric characters.
- `translationJobUid` string, required: Translation job unique identifier — 12 lowercase alphanumeric characters.

## Request body

- AddFileJobRequest: The payload to use when adding a file to a job.
  - `fileUri` string: URI path of a source file within a Smartling project.
  - `targetLocaleIds` LocaleId[]: The array of `localeId`s that the file should be added to. If not specified, the file will be added to all locales. If specified, the file will only be added for the locales provided. If the locales were not already part of the job, then the job will be extended to contain the additional locales.

## Response `200`

OK

- AddContentSuccessFailCountJobResponse
  - `response` object, required
    - `code` 'SUCCESS', required: Indicates whether the response was successful or what error has occurred.
    - `data` object
      - `failCount` integer: The number of strings per locale that could not be added to the job. As for now the only reason of failure is that strings are already in another job.
      - `successCount` integer: The number of strings per locale added to the job.

## Other responses

- `202`: ACCEPTED
- `400`: Validation error adding file to a job
- `401`: Provided credentials are not valid.
- `423`: The requested file is currently being processed by another operation. The file will be unlocked after the operation completes.
- `429`: Too many simultaneous API requests.
- `500`: Unexpected error

## Changes

- **2026-10-17** `2cd7a8215799`: 15 breaking, 1 info
  - added the pattern `^[a-z0-9]{12}$` to the `path` request parameter `translationJobUid`
  - added the pattern `^[a-z0-9]{9}$` to the `path` request parameter `projectId`
  - added `#/components/schemas/FileUri` to the `fileUri` request property `allOf` list
  - added the pattern `^[a-z]{2}(-[A-Z]{2})?$` to the request property `targetLocaleIds/items/`
  - …12 more
- **2026-08-06** `ae422098d9c5`: 2 breaking, 1 warning, 1 info
  - the `response/allOf[subschema #2]/data/failCount` response's property type changed from `string` to `integer` for status `200`
  - the `response/allOf[subschema #2]/data/successCount` response's property type changed from `string` to `integer` for status `200`
  - added the new `VALIDATION_ERROR` enum value to the `response/code` response property for the response status `423`
  - removed the `RESOURCE_LOCKED` enum value from the `response/code` response property for the response status `423`

[Operation history](https://skmtc.dev/smartling/apis/smartling-rest-api-reference/changes/jobs-api/v3/projects/:projectId/jobs/:translationJobUid/file/add/post.md)

---

[API](https://skmtc.dev/smartling/apis/smartling-rest-api-reference.md) - [All operations](https://skmtc.dev/smartling/apis/smartling-rest-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/smartling/apis/smartling-rest-api-reference/revisions/e63066e7f5e9?raw)
