Все методы
Все 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 отклонит его явно, а не примет молча.