Aller à la documentation
API

Importer un fichier

Enregistre un fichier dans l'espace de travail, comme le fait le bouton Importer de la page Fichiers. Le corps est le fichier lui-même, ni JSON ni multipart, avec son type dans `Content-Type`.

POSTapi.openemail.uk/files

Exécute le véritable appel sur votre espace de travail, avec votre propre clé.

POST /files

Enregistre un fichier dans l'espace de travail, comme le fait le bouton Importer de la page Fichiers. Le corps est le fichier lui-même, ni JSON ni multipart, avec son type dans Content-Type.

Exemple

Nécessite threads:write. Nommez le fichier avec le paramètre de requête filename, ou avec un en-tête X-Filename encodé en URI. La réponse est un 201 avec le fichier, et son id peut être joint à un envoi sous la forme { fileId }.

curl
curl -X POST "$OE/files?filename=price-list.pdf" -H "$AUTH" -H 'content-type: application/pdf' --data-binary @price-list.pdf
Réponse
{  "object": "file",  "id": "file_0c4e7a91d2b84f63a5e19b7d",  "filename": "price-list.pdf",  "mimeType": "application/pdf",  "sizeBytes": 248112,  "direction": "uploaded",  "threadId": null,  "messageId": null,  "deliveredTo": null,  "usage": null,  "deletable": true,  "createdAt": "2026-09-24T09:12:40.000Z"}

Un nom est nettoyé plutôt que refusé : les caractères qu'un nom de fichier ne peut pas contenir deviennent _, et un nom de plus de 255 caractères est coupé en gardant son extension. Un Content-Type qui n'est pas un type MIME est enregistré comme application/octet-stream.

L'absence de nom donne un 400 upload_no_name, un programme ou un script un 400 upload_dangerous, un corps vide un 400 upload_empty, et un fichier de plus de 100 Mo un 413 upload_too_large.

Un espace de travail accepte 500 imports par heure, fichiers supprimés compris, et conserve 10 Go de fichiers importés à la fois. Au-delà, la réponse est un 429 upload_rate_limited ou un 507 upload_storage_full. Un 502 upload_failed signifie que le stockage a échoué, et une nouvelle tentative vaut la peine.

Une clé qui atteint toutes les adresses importe dans tout l'espace de travail, avec deliveredTo à null. Une clé limitée à certaines adresses ou certains domaines importe vers la première adresse qu'elle détient, et une clé qui n'en détient aucune reçoit un 403 upload_no_address.