لفترة محدودة: سجّل الآن للحصول على عرضك الخاص
العودة إلى نظرة عامة على API

توثيق InboxWarm API

التوثيق المرجعي لواجهة REST API الخاصة بـ InboxWarm. استخدمه إلى جانب مجموعة InboxWarm API Postman.

في هذه الصفحة

عنوان URL الأساسي#

https://app.inboxwarm.ai/api/v1

المصادقة#

يستخدم InboxWarm مخطط مصادقة مختلطًا اعتمادًا على طريقة HTTP:

GET

طلبات GET وDELETE — أرسل مفتاح API الخاص بك كمعامل استعلام api_key.

POST

طلبات POST وPATCH — أرسل مفتاح API الخاص بك كحقل apiKey داخل نص JSON.

أنشئ المفاتيح وأدرها من Developer kit > API Integration في تطبيق InboxWarm. يمنح كل مفتاح وصولًا كاملاً إلى الحساب عبر كل نقطة نهاية أدناه.

مثال — طلب GET:

GET https://app.inboxwarm.ai/api/v1/email-accounts?api_key=YOUR_API_KEY

مثال — نص طلب POST:

{
  "apiKey": "YOUR_API_KEY",
  ...
}

حدود المعدل#

الحد الافتراضي هو 20 طلبًا/دقيقة لكل مفتاح API. تحقق من الاستخدام الحالي في أي وقت عبر GET /rate-limit — لا يُحتسب هذا الاستدعاء ضمن حصتك.

الأخطاء#

تتبع الأخطاء بنية متسقة:

{
  "error_code": "validation_error",
  "message": "One or more fields are invalid.",
  "details": {}
}

قيم error_code الشائعة: validation_error (400)، not_found (404)، conflict (409)، unprocessable (422).

فهرس نقاط النهاية#

النظام

فحص الصحة#

GEThttps://app.inboxwarm.ai/api/v1/health

فحص أساسي لحيوية API.

المصادقة:معامل الاستعلامapi_key

الاستجابات

{
  "status": "ok"
}

حالة حد المعدل#

GEThttps://app.inboxwarm.ai/api/v1/rate-limit

تحقق من استهلاك حد المعدل الحالي دون استنفاد طلب من حصتك.

المصادقة:معامل الاستعلامapi_key

الاستجابات

{
  "limit": 20,
  "remaining": 18,
  "reset": 1752585600
}

حسابات البريد الإلكتروني

سرد حسابات البريد الإلكتروني#

GEThttps://app.inboxwarm.ai/api/v1/email-accounts

سرد حسابات البريد الإلكتروني المتصلة مع حالتها الحالية. يدعم البحث والترقيم والترتيب. استخدم البحث للعثور على emailAccountId لعنوان ما إذا احتجت في أي وقت إلى إعادة تحديده.

المصادقة:معامل الاستعلامapi_key

معاملات الاستعلام

searchالبحث حسب عنوان البريد الإلكتروني أو الاسم
statusactive | warming | paused | error | auth-expired
sort
sortBy

الاستجابات

{
  "items": [
    {
      "id": "12345",
      "fromEmail": "john@yourcompany.com",
      "fromName": "John Doe",
      "type": "gmail",
      "status": "warming",
      "createdAt": "2026-06-01T10:00:00.000Z"
    },
    {
      "id": "12346",
      "fromEmail": "sales@yourcompany.com",
      "fromName": "Sales Team",
      "type": "microsoft",
      "status": "active",
      "createdAt": "2026-06-03T14:20:00.000Z"
    }
  ],
  "total": 2,
  "page": 1,
  "limit": 20,
  "totalPages": 1
}

ربط حساب بريد إلكتروني#

POSThttps://app.inboxwarm.ai/api/v1/email-accounts

اربط حساب Gmail أو Microsoft أو SMTP/IMAP باستخدام بيانات اعتماد SMTP/IMAP (تعمل كلمة مرور التطبيق مع كل من Gmail وMicrosoft). احفظ emailAccountId المُعاد — فكل نقطة نهاية أخرى مرتبطة به.

المصادقة:حقل النصapiKey

نص الطلب

{
  "apiKey": "{{apiKey}}",
  "fromEmail": "john@yourcompany.com",
  "fromName": "John Doe",
  "type": "gmail",
  "smtp": {
    "host": "smtp.example.com",
    "port": 587,
    "password": "your-password",
    "encryption": "TLS",
    "userName": "smtp-username"
  },
  "imap": {
    "host": "imap.example.com",
    "port": 993,
    "encryption": "SSL",
    "userName": "imap-username"
  }
}

الاستجابات

{
  "emailAccountId": "12345",
  "fromEmail": "john@yourcompany.com",
  "fromName": "John Doe",
  "type": "gmail",
  "status": "active"
}

ربط مجمّع لحسابات البريد الإلكتروني#

POSThttps://app.inboxwarm.ai/api/v1/email-accounts/bulk-connect

اربط ما يصل إلى 20 حسابًا في استدعاء واحد. يتم التحقق من كل إدخال وربطه بشكل مستقل — فلا يوقف حساب واحد غير صالح أو مكرر باقي الحسابات — وتُبلغ الاستجابة عن نجاح أو فشل كل حساب، بنفس ترتيب المُدخلات.

المصادقة:حقل النصapiKey

نص الطلب

{
  "apiKey": "{{apiKey}}",
  "emailAccounts": [
    {
      "fromEmail": "john@yourcompany.com",
      "fromName": "John Doe",
      "type": "gmail",
      "smtp": { "host": "smtp.example.com", "port": 587, "password": "your-password", "encryption": "TLS", "userName": "smtp-username" },
      "imap": { "host": "imap.example.com", "port": 993, "encryption": "SSL", "userName": "imap-username" }
    },
    {
      "fromEmail": "sales@yourcompany.com",
      "type": "microsoft",
      "smtp": { "password": "app-specific-password" }
    }
  ]
}

الاستجابات

{
  "results": [
    {
      "success": true,
      "emailAccountId": "12345",
      "fromEmail": "john@yourcompany.com",
      "fromName": "John Doe",
      "type": "gmail",
      "status": "active"
    },
    {
      "success": false,
      "fromEmail": "sales@yourcompany.com",
      "error_code": "already_connected",
      "message": "This email address is already connected.",
      "details": {}
    }
  ]
}

قطع اتصال حساب البريد الإلكتروني#

POSThttps://app.inboxwarm.ai/api/v1/email-accounts/{emailAccountId}/disconnect

أوقف حسابًا مؤقتًا دون حذفه. يتم الحفاظ على الإعدادات والسجل لإعادة الاتصال لاحقًا.

المصادقة:حقل النصapiKey

نص الطلب

{
  "apiKey": "{{apiKey}}"
}

الاستجابات

{
  "emailAccountId": "12345",
  "status": "disconnected"
}

حذف حساب البريد الإلكتروني#

DELETEhttps://app.inboxwarm.ai/api/v1/email-accounts/{emailAccountId}

أزل حسابًا نهائيًا مع جميع بيانات التسخين والسجل المرتبطة به.

المصادقة:معامل الاستعلامapi_key

الاستجابات

لا يوجد محتوى للاستجابة

حذف مجمّع لحسابات البريد الإلكتروني#

POSThttps://app.inboxwarm.ai/api/v1/email-accounts/bulk-delete

أزل نهائيًا ما يصل إلى 20 حسابًا في استدعاء واحد.

المصادقة:حقل النصapiKey

نص الطلب

{
  "apiKey": "{{apiKey}}",
  "emailAccountIds": [
    "12345",
    "12346"
  ]
}

الاستجابات

{
  "results": [
    {
      "emailAccountId": "12345",
      "deleted": true
    },
    {
      "emailAccountId": "12346",
      "deleted": true
    }
  ]
}

الحصول على حالة حساب البريد الإلكتروني#

GEThttps://app.inboxwarm.ai/api/v1/email-accounts/{emailAccountId}/status

حالة تفصيلية لحساب واحد — صحة الاتصال، وحالة التسخين، وحالة المصادقة، والأخطاء النشطة.

المصادقة:معامل الاستعلامapi_key

الاستجابات

{
  "emailAccountId": "12345",
  "fromEmail": "john@yourcompany.com",
  "type": "gmail",
  "authStatus": "connected",
  "warmupStatus": "active",
  "healthScore": 92,
  "connectionError": null,
  "lastConnectedAt": "2026-07-15T08:00:00.000Z"
}

حالة مجمّعة لحسابات البريد الإلكتروني#

POSThttps://app.inboxwarm.ai/api/v1/email-accounts/bulk-status

حالة ما يصل إلى 50 حسابًا في استدعاء واحد، تُعاد بنفس ترتيب المعرفات المُدخلة.

المصادقة:حقل النصapiKey

نص الطلب

{
  "apiKey": "{{apiKey}}",
  "emailAccountIds": [
    "12345",
    "12346"
  ]
}

الاستجابات

{
  "results": [
    {
      "emailAccountId": "12345",
      "fromEmail": "john@yourcompany.com",
      "type": "gmail",
      "authStatus": "connected",
      "warmupStatus": "active",
      "healthScore": 92,
      "connectionError": null,
      "lastConnectedAt": "2026-07-15T08:00:00.000Z"
    },
    {
      "emailAccountId": "12346",
      "fromEmail": "sales@yourcompany.com",
      "type": "microsoft",
      "authStatus": "connected",
      "warmupStatus": "paused",
      "healthScore": 81,
      "connectionError": null,
      "lastConnectedAt": "2026-07-14T22:10:00.000Z"
    }
  ]
}

التسخين

الحصول على إعدادات التسخين#

GEThttps://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}

جلب تكوين التسخين الحالي لحساب ما.

المصادقة:معامل الاستعلامapi_key

الاستجابات

{
  "emailAccountId": "12345",
  "displayName": "Ada Lovelace",
  "timeZone": "America/New_York",
  "sendingDays": [1, 2, 3, 4, 5],
  "sendingWindowStartTime": "09:00",
  "sendingWindowEndTime": "17:00",
  "warmupLanguage": "en",
  "targetIndustry": "saas_software",
  "warmupTopics": ["Referral request", "Case study"]
}

تحديث إعدادات التسخين#

PATCHhttps://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}

تحديث إعداد واحد أو أكثر من إعدادات التسخين لحساب ما — اسم المرسل، أو المنطقة الزمنية، أو جدول الإرسال، أو اللغة، أو الصناعة، أو المواضيع. يتم تغيير الحقول التي ترسلها فقط.

المصادقة:حقل النصapiKey

نص الطلب

{
  "apiKey": "{{apiKey}}",
  "displayName": "Ada Lovelace",
  "timeZone": "America/New_York",
  "sendingDays": [1, 2, 3, 4, 5],
  "sendingWindowStartTime": "09:00",
  "sendingWindowEndTime": "17:00",
  "warmupLanguage": "en",
  "targetIndustry": "saas_software",
  "warmupTopics": ["Referral request", "Case study"]
}

الاستجابات

{
  "emailAccountId": "12345",
  "displayName": "Ada Lovelace",
  "timeZone": "America/New_York",
  "sendingDays": [1, 2, 3, 4, 5],
  "sendingWindowStartTime": "09:00",
  "sendingWindowEndTime": "17:00",
  "warmupLanguage": "en",
  "targetIndustry": "saas_software",
  "warmupTopics": ["Referral request", "Case study"]
}

عرض لغات التسخين#

GEThttps://app.inboxwarm.ai/api/v1/warmup-settings/languages

عرض كل لغة يمكن توليد محتوى التسخين بها، لمعرفة القيم التي تقبلها warmupLanguage.

المصادقة:معامل الاستعلامapi_key

الاستجابات

{
  "languages": [
    { "code": "en", "name": "English", "nativeName": "English", "script": "Latin" },
    { "code": "es", "name": "Spanish", "nativeName": "Español", "script": "Latin" },
    { "code": "ja", "name": "Japanese", "nativeName": "日本語", "script": "Japanese" }
  ]
}

عرض قطاعات التسخين#

GEThttps://app.inboxwarm.ai/api/v1/warmup-settings/industries

عرض كل قطاع مستهدف والمواضيع المقترحة له، لمعرفة القيم التي تقبلها targetIndustry وwarmupTopics.

المصادقة:معامل الاستعلامapi_key

الاستجابات

{
  "industries": [
    {
      "key": "e_commerce",
      "name": "E-Commerce",
      "topics": [
        "Abandoned cart follow-up",
        "New product launch",
        "Seasonal sale announcement",
        "Order and shipping update",
        "Customer review request"
      ]
    },
    {
      "key": "saas_software",
      "name": "SaaS / Software",
      "topics": ["Feature announcement", "Onboarding tip", "Case study"]
    }
  ]
}

بدء التسخين#

POSThttps://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}/start

ابدأ التسخين لحساب ما.

المصادقة:حقل النصapiKey

نص الطلب

{
  "apiKey": "{{apiKey}}"
}

الاستجابات

{
  "emailAccountId": "12345",
  "warmupStatus": "active"
}

إيقاف التسخين#

POSThttps://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}/stop

أوقف التسخين لحساب ما.

المصادقة:حقل النصapiKey

نص الطلب

{
  "apiKey": "{{apiKey}}"
}

الاستجابات

{
  "emailAccountId": "12345",
  "warmupStatus": "paused"
}

إجراء تسخين مجمّع#

POSThttps://app.inboxwarm.ai/api/v1/warmup-settings/bulk-action

ابدأ أو أوقف التسخين لما يصل إلى 50 حسابًا في استدعاء واحد.

المصادقة:حقل النصapiKey

نص الطلب

{
  "apiKey": "{{apiKey}}",
  "emailAccountIds": [
    "12345",
    "12346"
  ],
  "action": "start"
}

الاستجابات

{
  "results": [
    {
      "emailAccountId": "12345",
      "status": "ok"
    },
    {
      "emailAccountId": "12346",
      "status": "ok"
    }
  ]
}

تحديث مجمّع لإعدادات التسخين#

POSThttps://app.inboxwarm.ai/api/v1/warmup-settings/bulk-update

طبّق إعدادات الجدول و/أو المحتوى على ما يصل إلى 50 حسابًا في استدعاء واحد.

المصادقة:حقل النصapiKey

نص الطلب

{
  "apiKey": "{{apiKey}}",
  "emailAccountIds": [
    "12345",
    "12346"
  ],
  "apply": ["language", "window"],
  "warmupLanguage": "es",
  "sendingWindowStartTime": "06:00",
  "sendingWindowEndTime": "10:00"
}

الاستجابات

{
  "updatedCount": 2
}

سجل نشاط التسخين#

GEThttps://app.inboxwarm.ai/api/v1/warmup-status/{emailAccountId}

نشاط التسخين اليوم لحساب ما: المُرسَل، المُستلَم، المُردود عليه، المزعج، المرتد.

المصادقة:معامل الاستعلامapi_key

الاستجابات

{
  "emailAccountId": "12345",
  "date": "2026-07-15",
  "current": "active",
  "dailySendingLimit": 10,
  "sent": 12,
  "received": 10,
  "replied": 7,
  "spam": 1,
  "bounced": 0
}

قابلية التسليم

الحصول على درجة الإعداد#

GEThttps://app.inboxwarm.ai/api/v1/setup-score/{emailAccountId}

درجة صحة الإعداد المخزنة مؤقتًا (فحوصات DMARC وSPF وDKIM وMX والقائمة السوداء) لحساب ما.

المصادقة:معامل الاستعلامapi_key

الاستجابات

{
  "emailAccountId": "12345",
  "emailAccountScore": 86,
  "dmarcScore": 15,
  "spfScore": 29,
  "dkimScore": 18,
  "mxRecordScore": 9,
  "ipBlacklistScore": 5,
  "domainBlacklistScore": 10,
  "updatedAt": "2026-07-14T10:30:00.000Z",
  "manualLastRefreshedAt": "2026-07-14T10:30:00.000Z"
}

تحديث درجة الإعداد#

POSThttps://app.inboxwarm.ai/api/v1/setup-score/{emailAccountId}/refresh

أعد حساب درجة الإعداد لحساب ما بشكل متزامن.

المصادقة:حقل النصapiKey

نص الطلب

{
  "apiKey": "{{apiKey}}"
}

الاستجابات

{
  "emailAccountId": "12345",
  "emailAccountScore": 88,
  "dmarcScore": 15,
  "spfScore": 29,
  "dkimScore": 18,
  "mxRecordScore": 9,
  "ipBlacklistScore": 7,
  "domainBlacklistScore": 10,
  "updatedAt": "2026-07-15T09:00:00.000Z",
  "manualLastRefreshedAt": "2026-07-15T09:00:00.000Z"
}

فحص صحة DNS#

GEThttps://app.inboxwarm.ai/api/v1/dns-health/{emailAccountId}

بحث DNS مباشر لنطاق الإرسال الخاص بالحساب — نجاح/فشل لـ SPF وDKIM وDMARC وMX.

المصادقة:معامل الاستعلامapi_key

الاستجابات

{
  "emailAccountId": "12345",
  "spf": "pass",
  "dkim": "pass",
  "dmarc": "pass",
  "mx": "pass",
  "cachedAt": "2026-07-15T09:00:00.000Z"
}

الحصول على درجة قابلية التسليم#

POSThttps://app.inboxwarm.ai/api/v1/deliverability-score/{emailAccountId}

معدل قابلية تسليم صندوق الوارد مقابل الرسائل المزعجة إجماليًا ولكل ESP لنطاق تاريخي.

المصادقة:حقل النصapiKey

نص الطلب

{
  "apiKey": "{{apiKey}}",
  "startDate": "2026-06-01",
  "endDate": "2026-06-30",
  "esps": [
    "gmail",
    "outlook",
    "other"
  ]
}

الاستجابات

{
  "emailAccountId": "12345",
  "totalDeliverabilityRate": 88,
  "totalSentCount": 1500,
  "totalInboxCount": 1320,
  "totalSpamInboxCount": 180,
  "gmail": {
    "deliverabilityRate": 92,
    "sentCount": 500,
    "inboxCount": 460,
    "spamCount": 40
  },
  "outlook": {
    "deliverabilityRate": 92,
    "sentCount": 500,
    "inboxCount": 460,
    "spamCount": 40
  },
  "other": {
    "deliverabilityRate": 92,
    "sentCount": 500,
    "inboxCount": 460,
    "spamCount": 40
  }
}

التقارير

لوحة التحكم#

GEThttps://app.inboxwarm.ai/api/v1/dashboard

ملخص تسخين على مستوى الحساب عبر جميع صناديق البريد الوارد المتصلة.

المصادقة:معامل الاستعلامapi_key

الاستجابات

{
  "totalAccounts": 42,
  "activeWarmups": 30,
  "pausedWarmups": 8,
  "accountsWithErrors": 2,
  "avgSetupScore": 78.5
}

تقرير حساب واحد#

POSThttps://app.inboxwarm.ai/api/v1/reports

تقرير تسخين يومي لحساب واحد على مدى نطاق تاريخي.

المصادقة:حقل النصapiKey

نص الطلب

{
  "apiKey": "{{apiKey}}",
  "emailAccountId": "12345",
  "from": "2026-06-01",
  "to": "2026-06-30"
}

الاستجابات

{
  "emailAccountId": "12345",
  "from": "2026-06-01",
  "to": "2026-06-30",
  "days": [
    {
      "date": "2026-06-15",
      "sent": 25,
      "inbox": 20,
      "received": 22,
      "spam": 3,
      "bounced": 1,
      "undelivered": 0,
      "replied": 5,
      "deliverabilityRate": 92.5
    }
  ]
}

تقرير مجمّع#

POSThttps://app.inboxwarm.ai/api/v1/reports/bulk

تقارير تسخين يومية لما يصل إلى 50 حسابًا على مدى نطاق تاريخي.

المصادقة:حقل النصapiKey

نص الطلب

{
  "apiKey": "{{apiKey}}",
  "emailAccountIds": [
    "12345",
    "12346"
  ],
  "from": "2026-06-01",
  "to": "2026-06-30"
}

الاستجابات

{
  "reports": [
    {
      "emailAccountId": "12345",
      "from": "2026-06-01",
      "to": "2026-06-30",
      "days": [
        {
          "date": "2026-06-15",
          "sent": 25,
          "inbox": 20,
          "received": 22,
          "spam": 3,
          "bounced": 1,
          "undelivered": 0,
          "replied": 5,
          "deliverabilityRate": 92.5
        }
      ]
    }
  ]
}

تصدير التقرير#

POSThttps://app.inboxwarm.ai/api/v1/reports/export

ابدأ تصدير CSV غير متزامن لتقارير التسخين، يُسلَّم عبر البريد الإلكتروني عند جاهزيته.

المصادقة:حقل النصapiKey

نص الطلب

{
  "apiKey": "{{apiKey}}",
  "emailAccountIds": [
    "12345",
    "12346"
  ],
  "from": "2026-06-01",
  "to": "2026-06-30"
}

الاستجابات

{
  "jobId": "a1b2c3d4",
  "status": "queued"
}

اختبار البريد العشوائي

بدء اختبار البريد العشوائي#

POSThttps://app.inboxwarm.ai/api/v1/spam-tests

ابدأ اختبار وصول الرسائل إلى البريد الوارد. يعيد testCode وصناديق البريد الاختبارية (seed) التي يجب الإرسال إليها. ألصق testCode في أي مكان داخل رسالتك — في سطر الموضوع أو في النص — وأرسل تلك الرسالة من صندوق البريد الذي تريد قياسه إلى كل عنوان في testEmails. نبحث بعد ذلك في تلك الصناديق عن الرمز لمعرفة ما إذا وصلت الرسالة إلى البريد الوارد أم إلى البريد العشوائي. تنتهي صلاحية الاختبار بعد 24 ساعة من إنشائه إذا لم تصل الرسالة أبدًا.

المصادقة:حقل النصapiKey

نص الطلب

{
  "apiKey": "{{apiKey}}"
}

الاستجابات

{
  "testCode": "ibxwrm-4f1c9a7b2e8d05c1",
  "testEmails": [
    "seed.one@gmail.com",
    "seed.two@outlook.com",
    "seed.three@yourseeddomain.com"
  ],
  "status": "pending",
  "expiresAt": "2026-08-19T10:00:00Z"
}

عرض نتائج اختبار البريد العشوائي#

GEThttps://app.inboxwarm.ai/api/v1/spam-tests/{testCode}/results

تفصيل كامل لمواضع الوصول لاختبار مكتمل: أين وصلت الرسالة في كل صندوق بريد اختباري، ونسب البريد الوارد/العشوائي، ودرجة البريد العشوائي. يعيد 202 not_ready إذا كان الاختبار لا يزال جاريًا، و410 expired إذا انتهت المهلة قبل وصول الرسالة، و409 test_failed إذا لم يتمكن الفحص نفسه من العمل. يحسب unreachableCount صناديق البريد الاختبارية التي لم نستطع فتحها — وهذه تُستثنى من accountsChecked ولا تُحسب ضد رسالتك.

المصادقة:معامل الاستعلامapi_key

الاستجابات

{
  "testCode": "ibxwrm-4f1c9a7b2e8d05c1",
  "status": "completed",
  "spamScore": 80.0,
  "inboxCount": 4,
  "spamCount": 1,
  "notFoundCount": 0,
  "accountsChecked": [
    {
      "emailAccount": "seed.one@gmail.com",
      "placement": "inbox",
      "foundInInbox": true,
      "foundInSpam": false
    },
    {
      "emailAccount": "seed.two@outlook.com",
      "placement": "spam",
      "foundInInbox": false,
      "foundInSpam": true
    }
  ],
  "unreachableCount": 0,
  "placementSummary": {
    "totalChecked": 5,
    "totalAttempted": 5,
    "unreachableCount": 0,
    "inboxPlacement": { "count": 4, "percentage": 80.0 },
    "spamPlacement": { "count": 1, "percentage": 20.0 },
    "notFound": { "count": 0, "percentage": 0 }
  },
  "expiresAt": "2026-08-19T10:00:00Z"
}

سرد اختبارات البريد العشوائي#

GEThttps://app.inboxwarm.ai/api/v1/spam-tests

سرد اختبارات البريد العشوائي الخاصة بك، الأحدث أولًا، بنفس حقول نقطة نهاية الحالة. مع ترقيم الصفحات عبر page وlimit (الافتراضي 20، والحد الأقصى 100).

المصادقة:معامل الاستعلامapi_key

الاستجابات

{
  "items": [
    {
      "testCode": "ibxwrm-4f1c9a7b2e8d05c1",
      "status": "completed",
      "spamScore": 80.0,
      "inboxCount": 4,
      "spamCount": 1,
      "notFoundCount": 0,
      "expiresAt": "2026-08-19T10:00:00Z"
    }
  ],
  "total": 1,
  "page": 1,
  "limit": 20,
  "totalPages": 1
}