SDK
すべてのメソッド
全 116 メソッドを 1 行ずつ、それぞれが呼び出すエンドポイントと対応付けて示す。
すべてのメソッド
ドキュメント化されたすべての操作にメソッドが 1 つ対応しており、パッケージのパリティチェックがそれを証明する。チェックは OpenAPI ドキュメントを読み、記録用の fetch に対してすべてのメソッドを呼び出し、メソッドのない操作がある場合、メソッドがその行に記載されたとおりのリクエスト以外を送っている場合、行のスコープが操作の要求するスコープと異なる場合に失敗する。
listAll と iterate は、隣に並ぶ list と同じエンドポイントをページングする。rules の listAllRuns と iterateRuns も同様である。そのため 1 つのリクエストが複数の行に現れることがある。
| 呼び出し | エンドポイント | スコープ |
|---|---|---|
| `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} | inbox トークン |
| `tempMail.extend()` | POST /temp-mail/inboxes/{id}/extend | inbox トークン |
| `tempMail.delete()` | DELETE /temp-mail/inboxes/{id} | inbox トークン |
| `tempMail.listMessages()` | GET /temp-mail/inboxes/{id}/messages | inbox トークン |
| `tempMail.getMessage()` | GET /temp-mail/inboxes/{id}/messages/{messageId} | inbox トークン |
| `tempMail.deleteMessage()` | DELETE /temp-mail/inboxes/{id}/messages/{messageId} | inbox トークン |
| `tempMail.listAttachments()` | GET /temp-mail/inboxes/{id}/messages/{messageId}/attachments | inbox トークン |
tempMail の行では、他のすべての行がスコープを示す位置に「inbox トークン」と書かれている。これはスコープの略記ではない。使い捨て受信箱は API 上で唯一の匿名リソースである。listDomains と create は資格情報をいっさい送らず、残る 7 つは create が一度だけ返した oe_inbox_ トークンで認証する。各呼び出しで inboxToken として渡すか、createTempMail({ inboxToken }) でその受信箱専用のクライアントを作ること。トークンがない場合、ワークスペースのクライアントは API キーにフォールバックするが、API はそれを黙って受け入れるのではなく明示的に拒否する。