Skip to main content
PATCH
Updates whitelisted fields: name (not de-duplicated), folder_id (an empty string moves it to the root; folder counters stay right) and metadata (merged; a key set to an empty string is removed). Any other field fails with field_not_updatable; glossary and instructions change through updateTranslationSettings. Last writer wins (no ETag). When to use: to rename, file or tag a project. Side effects: Folder project counts follow a move. Cost: Free. Idempotency: Idempotency-Key accepted (SDKs send one); retries within 24 h replay the first response. Required scopes: projects:write Errors: folder_not_found (404), field_not_updatable (422)

Authorizations

Authorization
string
header
required

API key from Settings -> API keys, sent as Authorization: Bearer <key> (SDK environment variable RASK_API_KEY). Bound to one workspace and one acting user. Operations list the scopes they need (OpenAPI 3.1 scopes on a bearer scheme).

Scopes

projects:write

Headers

Idempotency-Key
string

Optional. A unique key per logical request (SDKs send a bare UUIDv4; an RFC 9651 quoted string is accepted and unquoted); reuse it unchanged on retries to replay the first response.

Required string length: 1 - 255
Pattern: ^[\x20-\x7E]+$

Path Parameters

project_id
string
required

Project id (from createProject or listProjects).

Maximum string length: 64

Body

application/json

Whitelisted project fields; any other field fails with 422 field_not_updatable. Translation settings change through updateTranslationSettings.

name
string

New name (not de-duplicated).

Required string length: 1 - 255
folder_id
string

Folder to move the project to; an empty string moves it to the root.

Maximum string length: 64
metadata
object

Merged into the stored metadata; a key set to an empty string is removed.

Response

OK: Project.

A localization project: one media item localized into one target language.

object
enum<string>
required

Always project.

Available options:
project
id
string
required

Project id.

name
string
required

Project name.

workspace_id
string
required

Workspace id.

created_at
string<date-time>
required

Creation time.

created_by
object
required

A user reference.

folder
object | null
required

Folder; null at the root.

source_media_id
string | null
required

Media the project was created from.

source
object
required

Where the project's media came from.

media_kind
enum<string> | null
required

Media kind.

Available options:
video,
audio
source_language
string | null
required

Source language (detected after transcription when auto).

target_language
string | null
required

Target language.

free_dubbing
boolean
required

Uses the free dubbing variant.

requested_dubbing_model
enum<string> | null
required

The model named in the create request; null when the request named none or the project was not created through v3.

Available options:
v1,
v2
dubbing_model
enum<string> | null
required

Effective dubbing model: v2 when the project runs meaning-first (settled at creation by the request, the language and whether Rask has meaning-first on for paid projects; on a trial, by the trial rule), its voices can use it (Voice.meaning_first_compatible) and it is not a free dubbing variant; otherwise v1.

Available options:
v1,
v2
dubbing_model_override_reason
enum<string> | null
required

Why dubbing_model differs from the request, or from the default v2 when the request named none; null when it does not differ.

Available options:
trial_rules,
meaning_first_disabled,
language_requires_v2,
language_not_supported,
free_dubbing
last_dub_engine
enum<string> | null
required

Engine of the last finished voiceover; null before the first one.

Available options:
meaning_first,
legacy
num_speakers
integer<int32> | null
required

Speakers.

duration_seconds
number<double> | null
required

Processed duration.

source_duration_seconds
number<double> | null
required

Original duration.

trimmed
boolean
required

The processed duration is shorter than the original.

trial
boolean
required

Created on a trial: watermarked, not redubbable.

glossary
object | null
required

Attached glossary.

translation_instructions
string | null
required

Translation instructions.

subtitles_imported
object
required

Imported subtitles.

auto_dub
object
required

Auto-dub settings and state. With a localization block, state is dispatched once the run starts and skipped_reason stays null; read the run's job.

onscreen_auto_start
object
required

On-screen auto-start state.

processing_state
object
required

Server-derived processing state of a project.

pipeline_status
string
required

Raw last pipeline status (37 values). Informational only: use processing_state.

pipeline_status_at
string<date-time> | null
required

Time of the last status.

has_dubbed_output
boolean
required

A dubbed video exists.

files_restoring
boolean
required

Archived files are being restored.

active_jobs
object[]
required

Non-terminal v3 jobs of the project (work started in the web app has none; see processing_state).

outputs
object[] | null
required

Downloadable outputs, as listProjectOutputs reports them (dub_payment_required included); null in lists.

metadata
object
required

Client metadata (string map); never sent in webhooks.