Uploaded size does not match declared size
POST /api/v1/upload counted fewer or more bytes than the client’s declared sizeBytes after streaming (400).
Why this happens
Client bug, truncated body, aborted stream, or wrong Content-Length / size field. Distinct from per-part mismatch on chunked upload and from promote “exceeds maximum size.”
Diagnose and fix
1. API client: send accurate sizeBytes and the full file body; do not cut the stream early.
2. Check proxies that might truncate large POST bodies.
3. Tier max size still applies separately — oversize uses size-limit messages.
4. Retry with a known-good small file to confirm the client.