---
title: "Add Screenshot"
method: POST
path: "/projects/{projectId}/screenshots"
tags: ["Screenshots"]
---

# Add Screenshot

`POST /projects/{projectId}/screenshots`

## Request

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

**Required scopes:** `project.screenshot` (Read and Write).

## Path parameters

- `projectId` integer, required

## Request body

- ScreenshotCreateForm
  - `storageId` integer, required: Storage Identifier. Get via [List Storages](#operation/api.storages.getMany). Storage file must be image in one of the following formats: * 'jpeg' * 'jpg' * 'png' * 'gif'
  - `name` string, required: Screenshot name
  - `autoTag` boolean: Automatically tags screenshot
  - `fileId` integer: File Identifier. Get via [List Files](#operation/api.projects.files.getMany) __Note:__ Must be used together with `autoTag`. Can't be used with `directoryId` or `branchId` in same request
  - `branchId` integer: Branch identifier. Get via [List Branches](#operation/api.projects.branches.getMany) __Note:__ Must be used together with `autoTag`. Can't be used with `fileId` or `directoryId` in the same request
  - `directoryId` integer: Directory Identifier. Get via [List Directories](#operation/api.projects.directories.getMany) __Note:__ Must be used together with `autoTag`. Can't be used with fileId or branchId in same request
  - `labelIds` integer[]: Attach labels to the screenshot. Get label ids via [List Labels](#operation/api.projects.labels.getMany)

## Response `201`

Screenshot was successfully added

- ScreenshotResource: 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` Screenshot, required
    - `id` integer
    - `userId` integer
    - `url` string
    - `webUrl` string
    - `name` string
    - `size` object
      - `width` integer
      - `height` integer
    - `tagsCount` integer
    - `tags` ScreenshotTag[]
      - `id` integer
      - `screenshotId` integer
      - `stringId` integer
      - `position` ScreenshotTagPosition: Position Response Model
        - `x` integer
        - `y` integer
        - `width` integer
        - `height` integer
      - `createdAt` string, date-time
    - `labels` integer[]: [DEPRECATED]. Use field `labelIds` instead.
    - `labelIds` integer[]
    - `createdAt` string, date-time
    - `updatedAt` string, date-time

## Other responses

- `400`: Invalid Request Parameters
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Project or storage with specified id was not found
- `405`: Method Not Allowed
- `409`: Conflict. Auto tag is currently in progress. Please wait for it to finish.
- `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)
