Skip to content

File url upload failed · file.url_upload_failed

Stable ID: file.url_upload_failed · Evidence: source derived

Telegram could not upload the file from its URL.

The response mapping does not identify the original retrieval or file-generation failure.

Every field in a rule must match. Alternative rules are joined with OR. Codes below are JSON response fields, not inferred HTTP statuses.

  • JSON error_code: 400.

Exact description:

Bad Request: can't upload file by URL

See matching rules for parameter precedence and unknown or ambiguous results.

Illustrative methods: sendPhoto, sendDocument.

  • Generating a file from the supplied URL failed.

Application decision: inspect url file input. Repeat request: after relevant change.

  • Check the URL and file requirements; use a direct upload if the method supports it and the application can supply the file.

These are application choices. Errorgram does not retry, suppress the error, or change bot state.

This condition adds no extracted facts; result.facts is empty.

Synthetic examples derived from the cited source.

API method: sendPhoto.

{
"ok": false,
"error_code": 400,
"description": "Bad Request: can't upload file by URL"
}
from errorgram import classify
response = {
"ok": False,
"error_code": 400,
"description": "Bad Request: can't upload file by URL",
}
result = classify(response, method='sendPhoto')
assert result.id == 'file.url_upload_failed'
print(result.entry["summary"])
import { classify } from "errorgram";
const response = {
"ok": false,
"error_code": 400,
"description": "Bad Request: can't upload file by URL"
};
const result = classify(response, { method: "sendPhoto" });
if (result.status === "matched" && result.id === "file.url_upload_failed") {
console.log(result.entry.summary);
}
Integration Type or ID
Python errorgram.FileUrlUploadFailed
aiogram errorgram.aiogram.FileUrlUploadFailed extends TelegramBadRequest
grammY EnrichedGrammyError with classification.id equal to file.url_upload_failed

Enrichment is explicit and keeps framework catch compatibility. Follow the Python and aiogram guide or JavaScript, TypeScript, and grammY guide.

Source references identify the reviewed revision, not the first release that introduced this response.

Catalogue 0.1.0 · schema 1.0.0 · reviewed 2026-09-16.

Markdown · Condition JSON · Full catalogue and sources · JSON Schema