إنتقل إلى المحتوى الرئيسي

المفاتيح والنطاقات والحدود

لدى Readsira واجهتان برمجيتان تتشاركان نظام مفاتيح واحدًا:

  • REST API v2 على https://api.readsira.com/rest/v2 للسكربتات ومهام المزامنة وتطبيقاتك الخاصة (Pro وResearch).
  • خادم MCP على https://api.readsira.com/mcp لمساعدين مثل Claude Code وCursor (كل الخطط، وأدوات القراءة في Free). راجع ربط عميل MCP.

إنشاء مفتاح​

افتح الإعدادات، API وMCP في التطبيق واختر Create key (لـ REST) أو Create MCP key. اختر النطاقات التي يحق للمفتاح استخدامها. يظهر المفتاح مرة واحدة فقط؛ يخزن Readsira قيمة تجزئة له فقط، ويعرضه بعد ذلك بصيغة pk_1a2b...9z8y.

أرسل المفتاح كرمز حامل (bearer token):

curl https://api.readsira.com/rest/v2/usage \
-H "Authorization: Bearer $READSIRA_KEY"

كما يعمل X-API-Key: pk_.... أما المفتاح داخل الرابط (?api_key=pk_...) فيُرفض مع 401 API_KEY_IN_QUERY، لأن الروابط تنتهي في السجلات وتاريخ المتصفح.

Regenerate يمنح المفتاح سرًّا جديدًا ويُبقي معرّفه ونطاقاته وسجله: يتوقف السر القديم عن العمل فورًا. Revoke يحذف المفتاح؛ ويبقى سجل نشاطه في الإعدادات.

النطاقات​

لا يستطيع المفتاح فعل إلا ما تسمح به نطاقاته. نطاقات الكتابة معطلة افتراضيًا.

النطاقما يتيحهالخطط
mcpاستخدام المفتاح مع خادم MCP (يُضبط عبر "Create MCP key")الكل
read:libraryالبحث والمستندات والمقاطع والنصوص المفرغةالكل
ask:libraryPOST /rest/v2/ask (يشغّل نموذج Readsira، ويستهلك ميزانية الذكاء الاصطناعي)Pro, Research
read:projectsMCP list_projects وget_project_context؛ GET /rest/v2/projects وGET /rest/v2/projects/:id/contextالكل (REST: Pro, Research)
write:projectsPOST /rest/v2/projects/:id/items وPOST /rest/v2/projects/:id/notes؛ MCP add_bookmark / create_note مع projectIdPro, Research
write:uploadsPOST /rest/v2/uploads (صوت وفيديو وPDF)Pro, Research
read:bookmarksمسارات الإشارات المرجعية في v1 (قراءة)Pro, Research
write:bookmarksعمليات الكتابة على الإشارات المرجعية في v1؛ MCP add_bookmarkPro, Research
write:notesMCP create_notePro, Research
read:collections, write:collections, read:feeds, write:feeds, read:entries, read:userمسارات v1Pro, Research

إنشاء مفتاح بنطاق لا تشمله خطتك يعيد 400 SCOPE_NOT_ALLOWED. إذا خفّضت خطتك، تُتجاهل النطاقات التي تتجاوز الخطة الجديدة إلى أن ترقّي من جديد: لا يُحذف شيء.

الحدود​

PlanREST keysMCP keysREST requests per dayMCP tool calls per dayRequests per hour per key
Free01010060
Pro51010,00010,000600
Research101050,00025,0001,200

كل حدود كل خطة، بما فيها ما هو خارج الواجهة البرمجية، موجودة في حدود الخطط.

  • يُقيَّد إعداد الحد الساعي للمفتاح بالحد الأقصى لكل مفتاح في الخطة.
  • الأيام بتوقيت UTC. لا تُحتسب initialize وtools/list في MCP؛ أما get_document فيُحتسب كل 12,000 حرف مطلوب كاستدعاء واحد، وأدوات الكتابة تُحتسب باستدعاءين.
  • عند تجاوز الحد تحصل على 429 مع Retry-After (بالثواني) وX-RateLimit-Limit / X-RateLimit-Remaining. استدعاءات أدوات MCP التي تتجاوز الحد اليومي تعيد خطأ أداة RATE_LIMITED مع retryAfterSeconds.

يعيد GET /rest/v2/usage أعداد اليوم وحدودك.

الاستجابات والأخطاء​

القائمة الكاملة، مع شكل الخطأ والترويسات ونصائح إعادة المحاولة، في حدود المعدل والأخطاء.

تستخدم استجابات REST غلافًا واحدًا:

{
"success": true,
"data": { "...": "payload" },
"meta": {
"timestamp": "...",
"path": "...",
"method": "GET",
"statusCode": 200
}
}

تحمل الأخطاء error.code ثابتًا:

الحالةالرمزالمعنى
401API_KEY_INVALIDمفتاح مفقود أو غير معروف أو ملغى أو منتهي الصلاحية (WWW-Authenticate: Bearer)
401API_KEY_IN_QUERYأُرسل المفتاح في الرابط؛ أرسله في ترويسة Authorization
402PLAN_REQUIREDخطتك لا تتضمن REST API (Free). تبقى مفاتيح MCP تعمل على /mcp.
402PLAN_LIMIT_REACHEDحد عددي (المفاتيح، إجابات ask هذا الشهر)
402AI_QUOTA_EXCEEDEDاستُهلكت ميزانية الذكاء الاصطناعي لهذا الشهر (/ask)
403SCOPE_REQUIREDينقص المفتاح نطاق المسار (error.details.scopes)
404-غير موجود، أو ليس لك (لا تذكر الواجهة أيهما)
429RATE_LIMITEDحد ساعي أو يومي؛ راجع Retry-After
503AI_PAUSEDالذكاء الاصطناعي متوقف لهذا اليوم (/ask فقط؛ يستمر البحث بالعمل)

الخصوصية​

يُسجَّل كل استدعاء لعرض النشاط في الإعدادات (الوقت والمفتاح والمسار أو الأداة والحالة والعميل وعدد النتائج). لا يسجّل Readsira هناك نص بحثك أو ملاحظاتك أو محتوى مستنداتك أبدًا. يُحتفظ بالنشاط 90 يومًا.