تخطَّ إلى المستندات
API

رفع ملف

يخزّن ملفًا في مساحة العمل، كما يفعل زر رفع في صفحة الملفات. والجسم هو الملف نفسه، لا JSON ولا multipart، مع نوعه في `Content-Type`.

POSTapi.openemail.uk/files

ينفّذ الاستدعاء الحقيقي على مساحة عملك، بمفتاحك أنت.

POST /files

يخزّن ملفًا في مساحة العمل، كما يفعل زر رفع في صفحة الملفات. والجسم هو الملف نفسه، لا JSON ولا multipart، مع نوعه في Content-Type.

مثال

يتطلب threads:write. سمِّ الملف بمعامل الاستعلام filename، أو بترويسة X-Filename مُرمَّزة بترميز URI. والجواب 201 مع الملف، ويمكن إرفاق معرّفه بإرسال بصيغة { fileId }.

curl
curl -X POST "$OE/files?filename=price-list.pdf" -H "$AUTH" -H 'content-type: application/pdf' --data-binary @price-list.pdf
الاستجابة
{  "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"}

يُنظَّف الاسم بدل أن يُرفض: تصير الأحرف التي لا يحتملها اسم ملف _، ويُقصّ الاسم الأطول من 255 حرفًا مع الإبقاء على امتداده. وContent-Type الذي ليس نوع MIME يُخزَّن بوصفه application/octet-stream.

غياب الاسم يعطي 400 upload_no_name، والبرنامج أو السكربت 400 upload_dangerous، والجسم الفارغ 400 upload_empty، والملف الأكبر من 100 MB يعطي 413 upload_too_large.

تقبل مساحة العمل 500 عملية رفع في الساعة، بما فيها المحذوفة، وتحتفظ بـ 10 GB من الملفات المرفوعة في وقت واحد. وبعد ذلك يكون الجواب 429 upload_rate_limited أو 507 upload_storage_full. ويعني 502 upload_failed أن التخزين فشل، وتستحق المحاولة من جديد.

المفتاح الذي يصل إلى كل العناوين يرفع إلى مساحة العمل كلها، مع deliveredTo بقيمة null. والمفتاح المقصور على عناوين أو نطاقات بعينها يرفع إلى أول عنوان يحمله، والمفتاح الذي لا يحمل أي عنوان يحصل على 403 upload_no_address.