Erreurs
L’API REST utilise les codes de statut HTTP conventionnels et une forme d’erreur JSON cohérente.
# Forme d’erreur
Les points de terminaison JSON renvoient :
{ "error": "templateId is required." }
(Le chemin URL de rendu signé renvoie un corps text/plain court au lieu de cela, car il sert du binaire en cas de succès.)
# Codes de statut
| Statut | Signification | Cause typique |
|---|---|---|
200 |
OK | Rendu/capture d’écran complétés. |
202 |
Accepté | Travail asynchrone en file d’attente — interrogez GET /v1/renders/{id}. |
400 |
Mauvaise requête | template manquant, lot > 50, ou une URL de capture d’écran non autorisée. |
401 |
Non autorisé | Clé API manquante, invalide ou révoquée. |
402 |
Paiement requis | Quota du plan gratuit épuisé — mettez à niveau pour continuer le rendu. |
403 |
Interdit | Signature manquante ou invalide sur une URL de rendu signé. |
404 |
Non trouvé | Template, travail ou chemin inconnu. |
405 |
Méthode non autorisée | Mauvaise méthode HTTP pour le point de terminaison. |
500 |
Erreur serveur | Une défaillance inattendue (réessayez ; contactez le support si le problème persiste). |
# Quotas
Sur le plan gratuit, les rendus s’arrêtent définitivement à votre limite mensuelle avec 402. Les plans payants ne bloquent jamais pendant un rendu — les dépassements sont mesurés et facturés (pour que vos rendus ne disparaissent jamais). Vérifiez votre utilisation actuelle avec GET /v1/account ou la page Usage dans l’application.
# Gestion des erreurs
from mostlyrender import MostlyRender, MostlyRenderError
try:
out = mr.render("tpl_abc", modifications={"title": "Hello"})
except MostlyRenderError as e:
print(e.status, e.body) # e.g. 402 { "error": "…quota…" }
Dans un lot, les défaillances par élément ne font pas échouer la demande complète — chaque élément défaillant est une entrée { "error": … } dans results.