كل التوابع
الـ116 جميعها، صف لكل واحد، مقابل نقطة النهاية التي يناديها.
كل التوابع
تابع واحد لكل عملية موثَّقة، وفحص التكافؤ في الحزمة يثبت ذلك. فهو يقرأ مستند OpenAPI، وينادي كل تابع مقابل fetch مسجِّل، ويُخفق حين لا يكون لعملية تابع، أو حين يرسل تابع شيئًا غير الطلب الدقيق الذي يسمّيه صفه، أو حين تختلف نطاقات الصف عن النطاقات التي تشترطها العملية.
يتصفّح listAll وiterate نقطة النهاية نفسها التي يتصفّحها list المجاور لهما، وكذلك listAllRuns وiterateRuns في rules، فقد يظهر طلب واحد في أكثر من صف.
| النداء | نقطة النهاية | النطاق |
|---|---|---|
| `me.get()` | GET /keys/self | لا شيء |
| `me.ping()` | GET /ping | لا شيء |
| `me.rotate()` | POST /keys/self/rotate | keys:write |
| `addresses.list()` | GET /addresses | emails:send |
| `languages.list()` | GET /languages | لا شيء |
| `emails.send()` | POST /emails | emails:send |
| `emails.sendBatch()` | POST /emails/batch | emails:send |
| `emails.translate()` | POST /emails/translate | emails:send |
| `emails.list()` | GET /emails | emails:read |
| `emails.listAll()` | GET /emails | emails:read |
| `emails.iterate()` | GET /emails | emails:read |
| `emails.get()` | GET /emails/{id} | emails:read |
| `emails.listEvents()` | GET /emails/{id}/events | emails:read |
| `emails.getTracking()` | GET /emails/{id}/tracking | emails:read |
| `emails.cancel()` | POST /emails/{id}/cancel | emails:send |
| `emails.reschedule()` | PATCH /emails/{id} | emails:send |
| `templates.list()` | GET /templates | templates:read |
| `templates.listAll()` | GET /templates | templates:read |
| `templates.iterate()` | GET /templates | templates:read |
| `templates.get()` | GET /templates/{id} | templates:read |
| `templates.create()` | POST /templates | templates:write |
| `templates.update()` | PATCH /templates/{id} | templates:write |
| `templates.delete()` | DELETE /templates/{id} | templates:write |
| `templates.listVersions()` | GET /templates/{id}/versions | templates:read |
| `templates.publish()` | POST /templates/{id}/versions | templates:write |
| `templates.preview()` | POST /templates/{id}/preview | templates:read |
| `templates.send()` | POST /templates/{id}/send | templates:write + emails:send |
| `tracking.list()` | GET /tracking | emails:read |
| `tracking.getStats()` | GET /tracking/stats | emails:read |
| `tracking.get()` | GET /tracking/{id} | emails:read |
| `tracking.listOpens()` | GET /tracking/{id}/opens | emails:read |
| `tracking.listClicks()` | GET /tracking/{id}/clicks | emails:read |
| `threads.list()` | GET /threads | threads:read |
| `threads.listAll()` | GET /threads | threads:read |
| `threads.iterate()` | GET /threads | threads:read |
| `threads.get()` | GET /threads/{id} | threads:read |
| `threads.update()` | PATCH /threads/{id} | threads:write |
| `threads.trash()` | POST /threads/{id}/trash | threads:write |
| `threads.snooze()` | POST /threads/{id}/snooze | threads:write |
| `threads.unsnooze()` | POST /threads/{id}/unsnooze | threads:write |
| `threads.listAttachments()` | GET /threads/{id}/messages/{messageId}/attachments | threads:read |
| `drafts.list()` | GET /drafts | drafts:read |
| `drafts.listAll()` | GET /drafts | drafts:read |
| `drafts.iterate()` | GET /drafts | drafts:read |
| `drafts.get()` | GET /drafts/{id} | drafts:read |
| `drafts.create()` | POST /drafts | drafts:write |
| `drafts.update()` | PATCH /drafts/{id} | drafts:write |
| `drafts.delete()` | DELETE /drafts/{id} | drafts:write |
| `labels.list()` | GET /labels | labels:read |
| `labels.get()` | GET /labels/{id} | labels:read |
| `labels.create()` | POST /labels | labels:write |
| `labels.update()` | PATCH /labels/{id} | labels:write |
| `labels.delete()` | DELETE /labels/{id} | labels:write |
| `contacts.list()` | GET /contacts | contacts:read |
| `contacts.get()` | GET /contacts/{email} | contacts:read |
| `contacts.create()` | POST /contacts | contacts:write |
| `contacts.update()` | PATCH /contacts/{email} | contacts:write |
| `contacts.delete()` | DELETE /contacts/{email} | contacts:write |
| `audiences.list()` | GET /audiences | audiences:read |
| `audiences.get()` | GET /audiences/{id} | audiences:read |
| `audiences.create()` | POST /audiences | audiences:write |
| `audiences.update()` | PATCH /audiences/{id} | audiences:write |
| `audiences.delete()` | DELETE /audiences/{id} | audiences:write |
| `audiences.listContacts()` | GET /audiences/{id}/contacts | audiences:read |
| `audiences.addContact()` | POST /audiences/{id}/contacts | audiences:write |
| `audiences.removeContact()` | DELETE /audiences/{id}/contacts/{email} | audiences:write |
| `domains.list()` | GET /domains | domains:read |
| `domains.get()` | GET /domains/{id} | domains:read |
| `domains.update()` | PATCH /domains/{id} | domains:write |
| `rules.list()` | GET /rules | rules:read |
| `rules.listAll()` | GET /rules | rules:read |
| `rules.iterate()` | GET /rules | rules:read |
| `rules.get()` | GET /rules/{id} | rules:read |
| `rules.create()` | POST /rules | rules:write |
| `rules.update()` | PATCH /rules/{id} | rules:write |
| `rules.delete()` | DELETE /rules/{id} | rules:write |
| `rules.reorder()` | POST /rules/reorder | rules:write |
| `rules.test()` | POST /rules/{id}/test | rules:read |
| `rules.listRuns()` | GET /rules/runs | rules:read |
| `rules.listAllRuns()` | GET /rules/runs | rules:read |
| `rules.iterateRuns()` | GET /rules/runs | rules:read |
| `webhooks.list()` | GET /webhooks | webhooks:read |
| `webhooks.get()` | GET /webhooks/{id} | webhooks:read |
| `webhooks.create()` | POST /webhooks | webhooks:write |
| `webhooks.update()` | PATCH /webhooks/{id} | webhooks:write |
| `webhooks.delete()` | DELETE /webhooks/{id} | webhooks:write |
| `webhooks.rotateSecret()` | POST /webhooks/{id}/rotate-secret | webhooks:write |
| `webhooks.test()` | POST /webhooks/{id}/test | webhooks:write |
| `webhooks.listDeliveries()` | GET /webhooks/{id}/deliveries | webhooks:read |
| `calendar.listEvents()` | GET /calendar/events | calendar:read |
| `calendar.getEvent()` | GET /calendar/events/{id} | calendar:read |
| `calendar.getEventIcs()` | GET /calendar/events/{id}/ics | calendar:read |
| `settings.get()` | GET /settings | settings:read |
| `settings.update()` | PATCH /settings | settings:write |
| `roles.list()` | GET /roles | roles:read |
| `roles.get()` | GET /roles/{id} | roles:read |
| `roles.create()` | POST /roles | roles:write |
| `roles.update()` | PATCH /roles/{id} | roles:write |
| `roles.delete()` | DELETE /roles/{id} | roles:write |
| `roles.listPermissions()` | GET /roles/permissions | roles:read |
| `members.list()` | GET /members | members:read |
| `members.get()` | GET /members/{userId} | members:read |
| `members.add()` | POST /members | members:write |
| `members.update()` | PATCH /members/{userId} | members:write |
| `members.remove()` | DELETE /members/{userId} | members:write |
| `members.grantAddress()` | POST /members/{userId}/addresses | members:write |
| `members.revokeAddress()` | DELETE /members/{userId}/addresses/{addressId} | members:write |
| `tempMail.listDomains()` | GET /temp-mail/domains | لا شيء |
| `tempMail.create()` | POST /temp-mail/inboxes | لا شيء |
| `tempMail.get()` | GET /temp-mail/inboxes/{id} | رمز صندوق الوارد |
| `tempMail.extend()` | POST /temp-mail/inboxes/{id}/extend | رمز صندوق الوارد |
| `tempMail.delete()` | DELETE /temp-mail/inboxes/{id} | رمز صندوق الوارد |
| `tempMail.listMessages()` | GET /temp-mail/inboxes/{id}/messages | رمز صندوق الوارد |
| `tempMail.getMessage()` | GET /temp-mail/inboxes/{id}/messages/{messageId} | رمز صندوق الوارد |
| `tempMail.deleteMessage()` | DELETE /temp-mail/inboxes/{id}/messages/{messageId} | رمز صندوق الوارد |
| `tempMail.listAttachments()` | GET /temp-mail/inboxes/{id}/messages/{messageId}/attachments | رمز صندوق الوارد |
تقول صفوف tempMail “رمز صندوق الوارد” حيث يسمّي كل صف آخر نطاقًا، وهذا ليس اختصارًا لنطاق. فصناديق الوارد المؤقتة هي المورد المجهول الوحيد في API: لا يرسل listDomains وcreate أي اعتماد إطلاقًا، وتستوثق السبعة الأخرى برمز oe_inbox_ الذي أعاده create مرة واحدة. مرّره باسم inboxToken في كل نداء، أو ابنِ عميلًا لذلك الصندوق بـcreateTempMail({ inboxToken }). وبدونه يرتد عميل مساحة العمل إلى مفتاح API الخاص به، وهو ما يرفضه API بالاسم بدل قبوله صامتًا.