HTTP 400 · Bad Request
HTTP 400 Media / Files

When & why it happens

Upload state is inconsistent — wrong part count, wrong size, or parts uploaded out of band. Restart the upload.

Handling in gogram

Surfaced as *gogram.ErrResponseCode. Match on the message:

if err, ok := err.(*gogram.ErrResponseCode); ok { if err.Message == "FILE_PART_INVALID" { // handle this error } }