---
title: "Upload translation key screenshot"
method: POST
path: "/api/v1/translation-keys/screenshots"
tags: ["Translation keys"]
---

# Upload translation key screenshot

`POST /api/v1/translation-keys/screenshots`

## Request

- Base URL: `https://api.simplelocalize.io`
- URL: `https://api.simplelocalize.io/api/v1/translation-keys/screenshots`
- Auth: API key in header `X-SimpleLocalize-Token`
- TypeScript: <https://skmtc.dev/simplelocalize/apis/simplelocalize-api/docs/api/v1/translation-keys/screenshots/post.ts> (a function with typed inputs; its response is checked against the schema)

Uploads translation key screenshot from image encoded in base64. It throws an error if translation key does not exist.

The uploaded screenshot replaces the existing screenshot if it exists.

`key` is a required field, and it cannot be null or empty. The endpoint throws an error if `key` is null or empty.

`namespace` is an optional field, and it can be null or empty. Null and empty values are ignored.

If `namespace` is not provided, then an empty namespace is used.

Max size of screenshot is 2MB for base64, otherwise, the endpoint throws an error.

Only PNG, JPG and JPEG formats are supported, otherwise, the endpoint may throw an error.

## Query parameters

- `key` string, required
- `namespace` string

## Request body

- UploadTranslationKeyScreenshotRequestV2
  - `base64` string, required

## Response `200`

OK

## Other responses

- `400`: Bad Request
- `402`: Payment Required
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `429`: Too Many Requests
- `500`: Internal Server Error

## Changes

- **2025-11-12** `0329534cd557`: 1 breaking, 1 warning, 16 info
  - the `base64` request property's minLength was increased from `0` to `1`
  - deleted the `header` request parameter `X-SimpleLocalize-Token`
  - the endpoint scheme security `Project API Key` was added to the API
  - the endpoint scheme security `apiKey` was removed from the API
  - …14 more
- **2025-04-19** `5475c7163be9`: 7 info
  - added the optional property `code` to the response with the `400` status
  - added the optional property `code` to the response with the `402` status
  - added the optional property `code` to the response with the `403` status
  - added the optional property `code` to the response with the `404` status
  - …3 more
- **2023-11-30** `18bfbf87af44`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/simplelocalize/apis/simplelocalize-api/changes/api/v1/translation-keys/screenshots/post.md)

---

[API](https://skmtc.dev/simplelocalize/apis/simplelocalize-api.md) - [All operations](https://skmtc.dev/simplelocalize/apis/simplelocalize-api/llms.txt) - [OpenAPI document](https://skmtc.dev/simplelocalize/apis/simplelocalize-api/revisions/67a25a25863a?raw)
