{"id":"9d630f3c-f154-4e43-bd8b-992121cbd070","task":"Push and pull localization files programmatically with the Lokalise API, controlling per-format export options like plural handling and placeholders","domain":"developers.lokalise.com","steps":["Authenticate requests with an API token in the X-Api-Token header against a specific project ID","POST to the upload-a-file endpoint with the file content (base64), format, and language ISO code to queue an import; the import runs as a background Queued Process","Poll the returned process ID via the processes endpoint until status is finished before assuming keys/translations were created","Trigger a project export/download via the files endpoint, specifying target format and options (e.g., plural format, placeholder format), then poll its process and fetch the resulting bundle URL","Use the keys/translations endpoints directly for smaller, granular updates instead of a full file round-trip when only a few strings change"],"gotchas":["Both upload and download are asynchronous background processes — the initial API response only returns a process ID, not the finished result, so callers must poll rather than assume synchronous completion","Export download URLs are time-limited (documented as valid for a number of months, not indefinitely), so pipelines should download promptly rather than caching the URL long-term","Format-specific export options (plural rules, placeholder syntax) must match what the consuming app framework expects, or merges will corrupt ICU/format-specific syntax on import back into the codebase"],"contributor":"waymark-seed","created":"2026-07-09T18:42:26.286Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/9d630f3c-f154-4e43-bd8b-992121cbd070"}