The Crowdin API now supports asynchronous deletion of branches, directories, and files. The existing Delete endpoints accept an optional Prefer: respond-async request header (RFC 7240). When it is provided, the API responds with 202 Accepted and a delete job resource instead of 204 No Content, and new endpoints allow polling the job status.
New Check Delete Job Status endpoints:
- Check Branch Deletion Status —
GET /projects/{projectId}/branches/{branchId}/jobs/{jobIdentifier} (api.projects.branches.jobs.get) — file-based and string-based projects
- Check Directory Deletion Status —
GET /projects/{projectId}/directories/{directoryId}/jobs/{jobIdentifier} (api.projects.directories.jobs.get) — file-based projects only
- Check File Deletion Status —
GET /projects/{projectId}/files/{fileId}/jobs/{jobIdentifier} (api.projects.files.jobs.get) — file-based projects only
Updated endpoints (new optional Prefer header + 202 response): Delete Branch (api.projects.branches.delete), Delete Directory (api.projects.directories.delete), Delete File (api.projects.files.delete).
The job resource model includes: identifier (UUID string), status (created, in_progress, finished, failed), progress (integer, percent), attributes (contains branchId, directoryId, or fileId), error (object with message, present only when the operation failed), and createdAt/updatedAt/startedAt/finishedAt timestamps.
Client libraries should support the async deletion flow and the new job status methods. Available in both Crowdin and Crowdin Enterprise.
References:
The Crowdin API now supports asynchronous deletion of branches, directories, and files. The existing Delete endpoints accept an optional
Prefer: respond-asyncrequest header (RFC 7240). When it is provided, the API responds with202 Acceptedand a delete job resource instead of204 No Content, and new endpoints allow polling the job status.New Check Delete Job Status endpoints:
GET /projects/{projectId}/branches/{branchId}/jobs/{jobIdentifier}(api.projects.branches.jobs.get) — file-based and string-based projectsGET /projects/{projectId}/directories/{directoryId}/jobs/{jobIdentifier}(api.projects.directories.jobs.get) — file-based projects onlyGET /projects/{projectId}/files/{fileId}/jobs/{jobIdentifier}(api.projects.files.jobs.get) — file-based projects onlyUpdated endpoints (new optional
Preferheader +202response): Delete Branch (api.projects.branches.delete), Delete Directory (api.projects.directories.delete), Delete File (api.projects.files.delete).The job resource model includes:
identifier(UUID string),status(created,in_progress,finished,failed),progress(integer, percent),attributes(containsbranchId,directoryId, orfileId),error(object withmessage, present only when the operation failed), andcreatedAt/updatedAt/startedAt/finishedAttimestamps.Client libraries should support the async deletion flow and the new job status methods. Available in both Crowdin and Crowdin Enterprise.
References: