lora-need-reupload, triggering upstream reload and restarting the training poll./api/tts/voice/... compatibility alias.lora is the UUID of the local artifact; the server locates the artifact file on disk from it; a missing file returns VOICE_LORA_ARTIFACT_MISSING.lora-need-reupload; any other status is 400 VOICE_INVALID_STATE.RATE_LIMIT_CONCURRENT.lora-pending; the response is only { status: 200 }; poll separately for training progress.{ status, code, message, requestId? }. code is always the parent code — sub codes only change message and never appear in the body. requestId is present only on reportable-tier errors, so use the X-Vocu-App-Request-Id response header when troubleshooting (it is written unconditionally on every response). See the "Errors" document for the full code reference.