---
title: "Every method"
description: "All 430, one row each, against the endpoint each one calls."
url: "https://openemail.uk/docs/ruby/reference/methods"
area: "Ruby"
category: "Reference"
---

# Every method

All 430, one row each, against the endpoint each one calls.

## Every method

One method for every method of the TypeScript SDK, and the gem’s parity check proves it. It runs every Ruby method and its TypeScript twin with the same arguments and every option set, and fails when a method is missing, takes different options, or sends anything but byte for byte the request its twin sends.

Every list that pages has a `list_all` and an `iterate` beside it, named after the list they walk: `list_all_events` and `iterate_events` beside `list_events`, `list_all_runs` and `iterate_runs` beside `list_runs`. They call the same endpoint as the list, so one request can appear on more than one row.

> The `temp_mail` rows say "inbox token" where every other row names a scope. Disposable inboxes are the only resource on the API that authenticates with something other than a key: `list_domains` and `create` send no credential at all, like `forms.subscribe`, and the others authenticate with the `oe_inbox_` token that `create` returned, or with the newer one that `extend` returns, since only the new token carries the later expiry. Pass it as `inbox_token:` on each call, or build a client for that inbox with `OpenEmail.create_temp_mail(inbox_token:)`. Without one, a workspace client falls back to its API key, which the API refuses with 401 `missing_inbox_token`.

> The three `security` rows need no scope because they answer an OAuth access token only. An API key calling one gets 400 `step_up_not_applicable`.

| Call | Endpoint | Scope |
| --- | --- | --- |
| [`me.get`](https://openemail.uk/docs/ruby/reference/me#get) | `GET /keys/self` | no scope |
| [`me.ping`](https://openemail.uk/docs/ruby/reference/me#ping) | `GET /ping` | no scope |
| [`me.rotate`](https://openemail.uk/docs/ruby/reference/me#rotate) | `POST /keys/self/rotate` | `keys:write` |
| [`security.step_up_status`](https://openemail.uk/docs/ruby/reference/security#stepUpStatus) | `GET /security/step-up` | no scope |
| [`security.begin_step_up`](https://openemail.uk/docs/ruby/reference/security#beginStepUp) | `POST /security/step-up` | no scope |
| [`security.verify_step_up`](https://openemail.uk/docs/ruby/reference/security#verifyStepUp) | `POST /security/step-up/verify` | no scope |
| [`keys.list`](https://openemail.uk/docs/ruby/reference/keys#list) | `GET /keys` | `keys:read` |
| [`keys.list_all`](https://openemail.uk/docs/ruby/reference/keys#listAll) | `GET /keys` | `keys:read` |
| [`keys.iterate`](https://openemail.uk/docs/ruby/reference/keys#iterate) | `GET /keys` | `keys:read` |
| [`keys.get`](https://openemail.uk/docs/ruby/reference/keys#get) | `GET /keys/{id}` | `keys:read` |
| [`keys.create`](https://openemail.uk/docs/ruby/reference/keys#create) | `POST /keys` | `keys:manage` |
| [`keys.update`](https://openemail.uk/docs/ruby/reference/keys#update) | `PATCH /keys/{id}` | `keys:manage` |
| [`keys.delete`](https://openemail.uk/docs/ruby/reference/keys#delete) | `DELETE /keys/{id}` | `keys:manage` |
| [`keys.rotate`](https://openemail.uk/docs/ruby/reference/keys#rotate) | `POST /keys/{id}/rotate` | `keys:manage` |
| [`keys.revoke`](https://openemail.uk/docs/ruby/reference/keys#revoke) | `POST /keys/{id}/revoke` | `keys:manage` |
| [`keys.list_requests`](https://openemail.uk/docs/ruby/reference/keys#listRequests) | `GET /keys/{id}/requests` | `keys:read` |
| [`keys.list_all_requests`](https://openemail.uk/docs/ruby/reference/keys#listAllRequests) | `GET /keys/{id}/requests` | `keys:read` |
| [`keys.iterate_requests`](https://openemail.uk/docs/ruby/reference/keys#iterateRequests) | `GET /keys/{id}/requests` | `keys:read` |
| [`keys.list_activity`](https://openemail.uk/docs/ruby/reference/keys#listActivity) | `GET /keys/{id}/activity` | `keys:read` |
| [`keys.list_all_activity`](https://openemail.uk/docs/ruby/reference/keys#listAllActivity) | `GET /keys/{id}/activity` | `keys:read` |
| [`keys.iterate_activity`](https://openemail.uk/docs/ruby/reference/keys#iterateActivity) | `GET /keys/{id}/activity` | `keys:read` |
| [`keys.list_workspace_requests`](https://openemail.uk/docs/ruby/reference/keys#listWorkspaceRequests) | `GET /keys/requests` | `keys:read` |
| [`keys.list_all_workspace_requests`](https://openemail.uk/docs/ruby/reference/keys#listAllWorkspaceRequests) | `GET /keys/requests` | `keys:read` |
| [`keys.iterate_workspace_requests`](https://openemail.uk/docs/ruby/reference/keys#iterateWorkspaceRequests) | `GET /keys/requests` | `keys:read` |
| [`keys.list_workspace_activity`](https://openemail.uk/docs/ruby/reference/keys#listWorkspaceActivity) | `GET /keys/activity` | `keys:read` |
| [`keys.list_all_workspace_activity`](https://openemail.uk/docs/ruby/reference/keys#listAllWorkspaceActivity) | `GET /keys/activity` | `keys:read` |
| [`keys.iterate_workspace_activity`](https://openemail.uk/docs/ruby/reference/keys#iterateWorkspaceActivity) | `GET /keys/activity` | `keys:read` |
| [`keys.stats`](https://openemail.uk/docs/ruby/reference/keys#stats) | `GET /keys/stats` | `keys:read` + `emails:read` |
| [`addresses.list`](https://openemail.uk/docs/ruby/reference/addresses#list) | `GET /addresses` | `emails:send` |
| [`addresses.list_all`](https://openemail.uk/docs/ruby/reference/addresses#listAll) | `GET /addresses` | `emails:send` |
| [`addresses.iterate`](https://openemail.uk/docs/ruby/reference/addresses#iterate) | `GET /addresses` | `emails:send` |
| [`languages.list`](https://openemail.uk/docs/ruby/reference/languages#list) | `GET /languages` | no scope |
| [`emails.send`](https://openemail.uk/docs/ruby/reference/emails#send) | `POST /emails` | `emails:send` |
| [`emails.send_batch`](https://openemail.uk/docs/ruby/reference/emails#sendBatch) | `POST /emails/batch` | `emails:send` |
| [`emails.translate`](https://openemail.uk/docs/ruby/reference/emails#translate) | `POST /emails/translate` | `emails:send` |
| [`emails.check`](https://openemail.uk/docs/ruby/reference/emails#check) | `POST /emails/check` | `emails:send` |
| [`emails.list`](https://openemail.uk/docs/ruby/reference/emails#list) | `GET /emails` | `emails:read` |
| [`emails.list_all`](https://openemail.uk/docs/ruby/reference/emails#listAll) | `GET /emails` | `emails:read` |
| [`emails.iterate`](https://openemail.uk/docs/ruby/reference/emails#iterate) | `GET /emails` | `emails:read` |
| [`emails.get`](https://openemail.uk/docs/ruby/reference/emails#get) | `GET /emails/{id}` | `emails:read` |
| [`emails.list_events`](https://openemail.uk/docs/ruby/reference/emails#listEvents) | `GET /emails/{id}/events` | `emails:read` |
| [`emails.list_all_events`](https://openemail.uk/docs/ruby/reference/emails#listAllEvents) | `GET /emails/{id}/events` | `emails:read` |
| [`emails.iterate_events`](https://openemail.uk/docs/ruby/reference/emails#iterateEvents) | `GET /emails/{id}/events` | `emails:read` |
| [`emails.get_tracking`](https://openemail.uk/docs/ruby/reference/emails#getTracking) | `GET /emails/{id}/tracking` | `emails:read` |
| [`emails.cancel`](https://openemail.uk/docs/ruby/reference/emails#cancel) | `POST /emails/{id}/cancel` | `emails:send` |
| [`emails.reschedule`](https://openemail.uk/docs/ruby/reference/emails#reschedule) | `PATCH /emails/{id}` | `emails:send` |
| [`emails.update`](https://openemail.uk/docs/ruby/reference/emails#update) | `PATCH /emails/{id}` | `emails:send` |
| [`emails.compose`](https://openemail.uk/docs/ruby/reference/emails#compose) | `POST /emails/compose` | `emails:send` |
| [`emails.rewrite`](https://openemail.uk/docs/ruby/reference/emails#rewrite) | `POST /emails/rewrite` | `emails:send` |
| [`emails.suggest_subject`](https://openemail.uk/docs/ruby/reference/emails#suggestSubject) | `POST /emails/subject` | `emails:send` |
| [`templates.list`](https://openemail.uk/docs/ruby/reference/templates#list) | `GET /templates` | `templates:read` |
| [`templates.list_all`](https://openemail.uk/docs/ruby/reference/templates#listAll) | `GET /templates` | `templates:read` |
| [`templates.iterate`](https://openemail.uk/docs/ruby/reference/templates#iterate) | `GET /templates` | `templates:read` |
| [`templates.get`](https://openemail.uk/docs/ruby/reference/templates#get) | `GET /templates/{id}` | `templates:read` |
| [`templates.create`](https://openemail.uk/docs/ruby/reference/templates#create) | `POST /templates` | `templates:write` |
| [`templates.update`](https://openemail.uk/docs/ruby/reference/templates#update) | `PATCH /templates/{id}` | `templates:write` |
| [`templates.duplicate`](https://openemail.uk/docs/ruby/reference/templates#duplicate) | `POST /templates/{id}/duplicate` | `templates:write` |
| [`templates.replace_content`](https://openemail.uk/docs/ruby/reference/templates#replaceContent) | `POST /templates/{id}/content` | `templates:write` |
| [`templates.delete`](https://openemail.uk/docs/ruby/reference/templates#delete) | `DELETE /templates/{id}` | `templates:write` |
| [`templates.list_versions`](https://openemail.uk/docs/ruby/reference/templates#listVersions) | `GET /templates/{id}/versions` | `templates:read` |
| [`templates.list_all_versions`](https://openemail.uk/docs/ruby/reference/templates#listAllVersions) | `GET /templates/{id}/versions` | `templates:read` |
| [`templates.iterate_versions`](https://openemail.uk/docs/ruby/reference/templates#iterateVersions) | `GET /templates/{id}/versions` | `templates:read` |
| [`templates.get_version`](https://openemail.uk/docs/ruby/reference/templates#getVersion) | `GET /templates/{id}/versions/{version}` | `templates:read` |
| [`templates.publish`](https://openemail.uk/docs/ruby/reference/templates#publish) | `POST /templates/{id}/versions` | `templates:write` |
| [`templates.restore_version`](https://openemail.uk/docs/ruby/reference/templates#restoreVersion) | `POST /templates/{id}/versions/{version}/restore` | `templates:write` |
| [`templates.delete_version`](https://openemail.uk/docs/ruby/reference/templates#deleteVersion) | `DELETE /templates/{id}/versions/{version}` | `templates:write` |
| [`templates.list_starters`](https://openemail.uk/docs/ruby/reference/templates#listStarters) | `GET /templates/starters` | `templates:read` |
| [`templates.get_starter`](https://openemail.uk/docs/ruby/reference/templates#getStarter) | `GET /templates/starters/{slug}` | `templates:read` |
| [`templates.list_fonts`](https://openemail.uk/docs/ruby/reference/templates#listFonts) | `GET /templates/fonts` | `templates:read` |
| [`templates.render`](https://openemail.uk/docs/ruby/reference/templates#render) | `POST /templates/render` | `templates:read` |
| [`templates.preview`](https://openemail.uk/docs/ruby/reference/templates#preview) | `POST /templates/{id}/preview` | `templates:read` |
| [`templates.get_analytics`](https://openemail.uk/docs/ruby/reference/templates#getAnalytics) | `GET /templates/{id}/analytics` | `templates:read` |
| [`templates.list_sends`](https://openemail.uk/docs/ruby/reference/templates#listSends) | `GET /templates/{id}/sends` | `templates:read` |
| [`templates.send`](https://openemail.uk/docs/ruby/reference/templates#send) | `POST /templates/{id}/send` | `templates:write` + `emails:send` |
| [`templates.list_images`](https://openemail.uk/docs/ruby/reference/templates#listImages) | `GET /templates/images` | `templates:read` |
| [`templates.list_all_images`](https://openemail.uk/docs/ruby/reference/templates#listAllImages) | `GET /templates/images` | `templates:read` |
| [`templates.iterate_images`](https://openemail.uk/docs/ruby/reference/templates#iterateImages) | `GET /templates/images` | `templates:read` |
| [`templates.upload_image`](https://openemail.uk/docs/ruby/reference/templates#uploadImage) | `POST /templates/images` | `templates:write` |
| [`templates.design`](https://openemail.uk/docs/ruby/reference/templates#design) | `POST /templates/design` | `templates:write` |
| [`templates.redesign`](https://openemail.uk/docs/ruby/reference/templates#redesign) | `POST /templates/{id}/redesign` | `templates:write` |
| [`tracking.list`](https://openemail.uk/docs/ruby/reference/tracking#list) | `GET /tracking` | `emails:read` |
| [`tracking.list_all`](https://openemail.uk/docs/ruby/reference/tracking#listAll) | `GET /tracking` | `emails:read` |
| [`tracking.iterate`](https://openemail.uk/docs/ruby/reference/tracking#iterate) | `GET /tracking` | `emails:read` |
| [`tracking.get_stats`](https://openemail.uk/docs/ruby/reference/tracking#getStats) | `GET /tracking/stats` | `emails:read` |
| [`tracking.get`](https://openemail.uk/docs/ruby/reference/tracking#get) | `GET /tracking/{id}` | `emails:read` |
| [`tracking.list_opens`](https://openemail.uk/docs/ruby/reference/tracking#listOpens) | `GET /tracking/{id}/opens` | `emails:read` |
| [`tracking.list_all_opens`](https://openemail.uk/docs/ruby/reference/tracking#listAllOpens) | `GET /tracking/{id}/opens` | `emails:read` |
| [`tracking.iterate_opens`](https://openemail.uk/docs/ruby/reference/tracking#iterateOpens) | `GET /tracking/{id}/opens` | `emails:read` |
| [`tracking.list_clicks`](https://openemail.uk/docs/ruby/reference/tracking#listClicks) | `GET /tracking/{id}/clicks` | `emails:read` |
| [`tracking.list_all_clicks`](https://openemail.uk/docs/ruby/reference/tracking#listAllClicks) | `GET /tracking/{id}/clicks` | `emails:read` |
| [`tracking.iterate_clicks`](https://openemail.uk/docs/ruby/reference/tracking#iterateClicks) | `GET /tracking/{id}/clicks` | `emails:read` |
| [`threads.list`](https://openemail.uk/docs/ruby/reference/threads#list) | `GET /threads` | `threads:read` |
| [`threads.list_all`](https://openemail.uk/docs/ruby/reference/threads#listAll) | `GET /threads` | `threads:read` |
| [`threads.iterate`](https://openemail.uk/docs/ruby/reference/threads#iterate) | `GET /threads` | `threads:read` |
| [`threads.get`](https://openemail.uk/docs/ruby/reference/threads#get) | `GET /threads/{id}` | `threads:read` |
| [`threads.update`](https://openemail.uk/docs/ruby/reference/threads#update) | `PATCH /threads/{id}` | `threads:write` |
| [`threads.trash`](https://openemail.uk/docs/ruby/reference/threads#trash) | `POST /threads/{id}/trash` | `threads:write` |
| [`threads.snooze`](https://openemail.uk/docs/ruby/reference/threads#snooze) | `POST /threads/{id}/snooze` | `threads:write` |
| [`threads.unsnooze`](https://openemail.uk/docs/ruby/reference/threads#unsnooze) | `POST /threads/{id}/unsnooze` | `threads:write` |
| [`threads.list_attachments`](https://openemail.uk/docs/ruby/reference/threads#listAttachments) | `GET /threads/{id}/messages/{messageId}/attachments` | `threads:read` |
| [`threads.list_notes`](https://openemail.uk/docs/ruby/reference/threads#listNotes) | `GET /threads/{id}/notes` | `threads:read` |
| [`threads.create_note`](https://openemail.uk/docs/ruby/reference/threads#createNote) | `POST /threads/{id}/notes` | `threads:write` |
| [`threads.update_note`](https://openemail.uk/docs/ruby/reference/threads#updateNote) | `PATCH /threads/{id}/notes/{noteId}` | `threads:write` |
| [`threads.delete_note`](https://openemail.uk/docs/ruby/reference/threads#deleteNote) | `DELETE /threads/{id}/notes/{noteId}` | `threads:write` |
| [`threads.reorder_notes`](https://openemail.uk/docs/ruby/reference/threads#reorderNotes) | `POST /threads/{id}/notes/reorder` | `threads:write` |
| [`threads.counts`](https://openemail.uk/docs/ruby/reference/threads#counts) | `GET /threads/counts` | `threads:read` |
| [`threads.summary`](https://openemail.uk/docs/ruby/reference/threads#summary) | `GET /threads/{id}/summary` | `threads:read` |
| [`threads.restore`](https://openemail.uk/docs/ruby/reference/threads#restore) | `POST /threads/{id}/restore` | `threads:write` |
| [`threads.delete`](https://openemail.uk/docs/ruby/reference/threads#delete) | `DELETE /threads/{id}` | `threads:write` |
| [`threads.unsubscribe`](https://openemail.uk/docs/ruby/reference/threads#unsubscribe) | `POST /threads/{id}/unsubscribe` | `threads:write` |
| [`threads.get_event`](https://openemail.uk/docs/ruby/reference/threads#getEvent) | `GET /threads/{id}/event` | `calendar:read` |
| [`drafts.list`](https://openemail.uk/docs/ruby/reference/drafts#list) | `GET /drafts` | `drafts:read` |
| [`drafts.list_all`](https://openemail.uk/docs/ruby/reference/drafts#listAll) | `GET /drafts` | `drafts:read` |
| [`drafts.iterate`](https://openemail.uk/docs/ruby/reference/drafts#iterate) | `GET /drafts` | `drafts:read` |
| [`drafts.get`](https://openemail.uk/docs/ruby/reference/drafts#get) | `GET /drafts/{id}` | `drafts:read` |
| [`drafts.create`](https://openemail.uk/docs/ruby/reference/drafts#create) | `POST /drafts` | `drafts:write` |
| [`drafts.update`](https://openemail.uk/docs/ruby/reference/drafts#update) | `PATCH /drafts/{id}` | `drafts:write` |
| [`drafts.delete`](https://openemail.uk/docs/ruby/reference/drafts#delete) | `DELETE /drafts/{id}` | `drafts:write` |
| [`labels.list`](https://openemail.uk/docs/ruby/reference/labels#list) | `GET /labels` | `labels:read` |
| [`labels.list_all`](https://openemail.uk/docs/ruby/reference/labels#listAll) | `GET /labels` | `labels:read` |
| [`labels.iterate`](https://openemail.uk/docs/ruby/reference/labels#iterate) | `GET /labels` | `labels:read` |
| [`labels.list_colors`](https://openemail.uk/docs/ruby/reference/labels#listColors) | `GET /labels/colors` | `labels:read` |
| [`labels.get`](https://openemail.uk/docs/ruby/reference/labels#get) | `GET /labels/{id}` | `labels:read` |
| [`labels.create`](https://openemail.uk/docs/ruby/reference/labels#create) | `POST /labels` | `labels:write` |
| [`labels.update`](https://openemail.uk/docs/ruby/reference/labels#update) | `PATCH /labels/{id}` | `labels:write` |
| [`labels.delete`](https://openemail.uk/docs/ruby/reference/labels#delete) | `DELETE /labels/{id}` | `labels:write` |
| [`contacts.list`](https://openemail.uk/docs/ruby/reference/contacts#list) | `GET /contacts` | `contacts:read` |
| [`contacts.list_all`](https://openemail.uk/docs/ruby/reference/contacts#listAll) | `GET /contacts` | `contacts:read` |
| [`contacts.iterate`](https://openemail.uk/docs/ruby/reference/contacts#iterate) | `GET /contacts` | `contacts:read` |
| [`contacts.get`](https://openemail.uk/docs/ruby/reference/contacts#get) | `GET /contacts/{email}` | `contacts:read` |
| [`contacts.create`](https://openemail.uk/docs/ruby/reference/contacts#create) | `POST /contacts` | `contacts:write` |
| [`contacts.update`](https://openemail.uk/docs/ruby/reference/contacts#update) | `PATCH /contacts/{email}` | `contacts:write` |
| [`contacts.delete`](https://openemail.uk/docs/ruby/reference/contacts#delete) | `DELETE /contacts/{email}` | `contacts:write` |
| [`contacts.set_audiences`](https://openemail.uk/docs/ruby/reference/contacts#setAudiences) | `PUT /contacts/{email}/audiences` | `audiences:write` |
| [`contacts.list_people`](https://openemail.uk/docs/ruby/reference/contacts#listPeople) | `GET /contacts/people` | `contacts:read` |
| [`contacts.list_all_people`](https://openemail.uk/docs/ruby/reference/contacts#listAllPeople) | `GET /contacts/people` | `contacts:read` |
| [`contacts.iterate_people`](https://openemail.uk/docs/ruby/reference/contacts#iteratePeople) | `GET /contacts/people` | `contacts:read` |
| [`contacts.save`](https://openemail.uk/docs/ruby/reference/contacts#save) | `PUT /contacts/{email}` | `contacts:write` |
| [`contacts.delete_many`](https://openemail.uk/docs/ruby/reference/contacts#deleteMany) | `POST /contacts/batch-delete` | `contacts:write` |
| [`contacts.set_photo`](https://openemail.uk/docs/ruby/reference/contacts#setPhoto) | `PUT /contacts/{email}/photo` | `contacts:write` |
| [`contacts.remove_photo`](https://openemail.uk/docs/ruby/reference/contacts#removePhoto) | `DELETE /contacts/{email}/photo` | `contacts:write` |
| [`contacts.block`](https://openemail.uk/docs/ruby/reference/contacts#block) | `POST /contacts/{email}/block` | `settings:write` |
| [`contacts.unblock`](https://openemail.uk/docs/ruby/reference/contacts#unblock) | `DELETE /contacts/{email}/block` | `settings:write` |
| [`contacts.list_threads`](https://openemail.uk/docs/ruby/reference/contacts#listThreads) | `GET /contacts/{email}/threads` | `threads:read` |
| [`contacts.list_all_threads`](https://openemail.uk/docs/ruby/reference/contacts#listAllThreads) | `GET /contacts/{email}/threads` | `threads:read` |
| [`contacts.iterate_threads`](https://openemail.uk/docs/ruby/reference/contacts#iterateThreads) | `GET /contacts/{email}/threads` | `threads:read` |
| [`contacts.activity`](https://openemail.uk/docs/ruby/reference/contacts#activity) | `GET /contacts/{email}/activity` | `threads:read` |
| [`audiences.list`](https://openemail.uk/docs/ruby/reference/audiences#list) | `GET /audiences` | `audiences:read` |
| [`audiences.list_all`](https://openemail.uk/docs/ruby/reference/audiences#listAll) | `GET /audiences` | `audiences:read` |
| [`audiences.iterate`](https://openemail.uk/docs/ruby/reference/audiences#iterate) | `GET /audiences` | `audiences:read` |
| [`audiences.growth`](https://openemail.uk/docs/ruby/reference/audiences#growth) | `GET /audiences/growth` | `audiences:read` |
| [`audiences.get`](https://openemail.uk/docs/ruby/reference/audiences#get) | `GET /audiences/{id}` | `audiences:read` |
| [`audiences.create`](https://openemail.uk/docs/ruby/reference/audiences#create) | `POST /audiences` | `audiences:write` |
| [`audiences.update`](https://openemail.uk/docs/ruby/reference/audiences#update) | `PATCH /audiences/{id}` | `audiences:write` |
| [`audiences.delete`](https://openemail.uk/docs/ruby/reference/audiences#delete) | `DELETE /audiences/{id}` | `audiences:write` |
| [`audiences.empty`](https://openemail.uk/docs/ruby/reference/audiences#empty) | `POST /audiences/{id}/empty` | `audiences:write` |
| [`audiences.list_contacts`](https://openemail.uk/docs/ruby/reference/audiences#listContacts) | `GET /audiences/{id}/contacts` | `audiences:read` |
| [`audiences.list_all_contacts`](https://openemail.uk/docs/ruby/reference/audiences#listAllContacts) | `GET /audiences/{id}/contacts` | `audiences:read` |
| [`audiences.iterate_contacts`](https://openemail.uk/docs/ruby/reference/audiences#iterateContacts) | `GET /audiences/{id}/contacts` | `audiences:read` |
| [`audiences.add_contact`](https://openemail.uk/docs/ruby/reference/audiences#addContact) | `POST /audiences/{id}/contacts` | `audiences:write` |
| [`audiences.remove_contact`](https://openemail.uk/docs/ruby/reference/audiences#removeContact) | `DELETE /audiences/{id}/contacts/{email}` | `audiences:write` |
| [`audiences.add_contacts`](https://openemail.uk/docs/ruby/reference/audiences#addContacts) | `POST /audiences/{id}/contacts/batch` | `audiences:write` |
| [`audiences.remove_contacts`](https://openemail.uk/docs/ruby/reference/audiences#removeContacts) | `POST /audiences/{id}/contacts/batch-remove` | `audiences:write` |
| [`audiences.import_contacts`](https://openemail.uk/docs/ruby/reference/audiences#importContacts) | `POST /audiences/{id}/import` | `audiences:write` + `contacts:write` |
| [`forms.list`](https://openemail.uk/docs/ruby/reference/forms#list) | `GET /forms` | `forms:read` |
| [`forms.list_all`](https://openemail.uk/docs/ruby/reference/forms#listAll) | `GET /forms` | `forms:read` |
| [`forms.iterate`](https://openemail.uk/docs/ruby/reference/forms#iterate) | `GET /forms` | `forms:read` |
| [`forms.create`](https://openemail.uk/docs/ruby/reference/forms#create) | `POST /forms` | `forms:write` |
| [`forms.design`](https://openemail.uk/docs/ruby/reference/forms#design) | `POST /forms/design` | `forms:write` |
| [`forms.redesign`](https://openemail.uk/docs/ruby/reference/forms#redesign) | `POST /forms/{id}/redesign` | `forms:write` |
| [`forms.list_starters`](https://openemail.uk/docs/ruby/reference/forms#listStarters) | `GET /forms/starters` | `forms:read` |
| [`forms.get_starter`](https://openemail.uk/docs/ruby/reference/forms#getStarter) | `GET /forms/starters/{slug}` | `forms:read` |
| [`forms.get`](https://openemail.uk/docs/ruby/reference/forms#get) | `GET /forms/{id}` | `forms:read` |
| [`forms.update`](https://openemail.uk/docs/ruby/reference/forms#update) | `PATCH /forms/{id}` | `forms:write` |
| [`forms.delete`](https://openemail.uk/docs/ruby/reference/forms#delete) | `DELETE /forms/{id}` | `forms:write` |
| [`forms.publish`](https://openemail.uk/docs/ruby/reference/forms#publish) | `POST /forms/{id}/publish` | `forms:write` |
| [`forms.pause`](https://openemail.uk/docs/ruby/reference/forms#pause) | `POST /forms/{id}/pause` | `forms:write` |
| [`forms.resume`](https://openemail.uk/docs/ruby/reference/forms#resume) | `POST /forms/{id}/resume` | `forms:write` |
| [`forms.duplicate`](https://openemail.uk/docs/ruby/reference/forms#duplicate) | `POST /forms/{id}/duplicate` | `forms:write` |
| [`forms.analytics`](https://openemail.uk/docs/ruby/reference/forms#analytics) | `GET /forms/{id}/analytics` | `forms:read` |
| [`forms.list_submissions`](https://openemail.uk/docs/ruby/reference/forms#listSubmissions) | `GET /forms/{id}/submissions` | `forms:read` |
| [`forms.list_all_submissions`](https://openemail.uk/docs/ruby/reference/forms#listAllSubmissions) | `GET /forms/{id}/submissions` | `forms:read` |
| [`forms.iterate_submissions`](https://openemail.uk/docs/ruby/reference/forms#iterateSubmissions) | `GET /forms/{id}/submissions` | `forms:read` |
| [`forms.get_submission`](https://openemail.uk/docs/ruby/reference/forms#getSubmission) | `GET /forms/{id}/submissions/{submissionId}` | `forms:read` |
| [`forms.delete_submission`](https://openemail.uk/docs/ruby/reference/forms#deleteSubmission) | `DELETE /forms/{id}/submissions/{submissionId}` | `forms:write` |
| [`forms.delete_submissions`](https://openemail.uk/docs/ruby/reference/forms#deleteSubmissions) | `POST /forms/{id}/submissions/batch-remove` | `forms:write` |
| [`forms.approve_submission`](https://openemail.uk/docs/ruby/reference/forms#approveSubmission) | `POST /forms/{id}/submissions/{submissionId}/approve` | `forms:write` + `contacts:write` |
| [`forms.resend_confirmation`](https://openemail.uk/docs/ruby/reference/forms#resendConfirmation) | `POST /forms/{id}/submissions/{submissionId}/resend` | `forms:write` + `emails:send` |
| [`forms.subscribe`](https://openemail.uk/docs/ruby/reference/forms#subscribe) | `POST /subscribe/{formId}` | none |
| [`broadcasts.preview`](https://openemail.uk/docs/ruby/reference/broadcasts#preview) | `POST /broadcasts/preview` | `audiences:read` |
| [`broadcasts.send`](https://openemail.uk/docs/ruby/reference/broadcasts#send) | `POST /broadcasts` | `emails:send` + `audiences:read` |
| [`broadcasts.list`](https://openemail.uk/docs/ruby/reference/broadcasts#list) | `GET /broadcasts` | `emails:read` |
| [`broadcasts.list_all`](https://openemail.uk/docs/ruby/reference/broadcasts#listAll) | `GET /broadcasts` | `emails:read` |
| [`broadcasts.iterate`](https://openemail.uk/docs/ruby/reference/broadcasts#iterate) | `GET /broadcasts` | `emails:read` |
| [`broadcasts.get`](https://openemail.uk/docs/ruby/reference/broadcasts#get) | `GET /broadcasts/{id}` | `emails:read` |
| [`broadcasts.stats`](https://openemail.uk/docs/ruby/reference/broadcasts#stats) | `GET /broadcasts/{id}/stats` | `emails:read` |
| [`broadcasts.analytics`](https://openemail.uk/docs/ruby/reference/broadcasts#analytics) | `GET /broadcasts/analytics` | `emails:read` |
| [`broadcasts.list_recipients`](https://openemail.uk/docs/ruby/reference/broadcasts#listRecipients) | `GET /broadcasts/{id}/recipients` | `emails:read` |
| [`broadcasts.list_all_recipients`](https://openemail.uk/docs/ruby/reference/broadcasts#listAllRecipients) | `GET /broadcasts/{id}/recipients` | `emails:read` |
| [`broadcasts.iterate_recipients`](https://openemail.uk/docs/ruby/reference/broadcasts#iterateRecipients) | `GET /broadcasts/{id}/recipients` | `emails:read` |
| [`broadcasts.get_recipient`](https://openemail.uk/docs/ruby/reference/broadcasts#getRecipient) | `GET /broadcasts/{id}/recipients/{emailId}` | `emails:read` |
| [`broadcasts.cancel`](https://openemail.uk/docs/ruby/reference/broadcasts#cancel) | `POST /broadcasts/{id}/cancel` | `emails:send` |
| [`domains.list`](https://openemail.uk/docs/ruby/reference/domains#list) | `GET /domains` | `domains:read` |
| [`domains.list_all`](https://openemail.uk/docs/ruby/reference/domains#listAll) | `GET /domains` | `domains:read` |
| [`domains.iterate`](https://openemail.uk/docs/ruby/reference/domains#iterate) | `GET /domains` | `domains:read` |
| [`domains.get`](https://openemail.uk/docs/ruby/reference/domains#get) | `GET /domains/{id}` | `domains:read` |
| [`domains.create`](https://openemail.uk/docs/ruby/reference/domains#create) | `POST /domains` | `domains:write` |
| [`domains.verify`](https://openemail.uk/docs/ruby/reference/domains#verify) | `POST /domains/{id}/verify` | `domains:write` |
| [`domains.update`](https://openemail.uk/docs/ruby/reference/domains#update) | `PATCH /domains/{id}` | `domains:write` |
| [`domains.delete`](https://openemail.uk/docs/ruby/reference/domains#delete) | `DELETE /domains/{id}` | `domains:write` |
| [`domains.get_logo`](https://openemail.uk/docs/ruby/reference/domains#getLogo) | `GET /domains/{id}/logo` | `domains:read` |
| [`domains.set_logo`](https://openemail.uk/docs/ruby/reference/domains#setLogo) | `PUT /domains/{id}/logo` | `domains:write` |
| [`domains.remove_logo`](https://openemail.uk/docs/ruby/reference/domains#removeLogo) | `DELETE /domains/{id}/logo` | `domains:write` |
| [`domains.set_logo_certificate`](https://openemail.uk/docs/ruby/reference/domains#setLogoCertificate) | `PUT /domains/{id}/logo/certificate` | `domains:write` |
| [`domains.remove_logo_certificate`](https://openemail.uk/docs/ruby/reference/domains#removeLogoCertificate) | `DELETE /domains/{id}/logo/certificate` | `domains:write` |
| [`domains.list_addresses`](https://openemail.uk/docs/ruby/reference/domains#listAddresses) | `GET /domains/{id}/addresses` | `domains:read` |
| [`domains.list_all_addresses`](https://openemail.uk/docs/ruby/reference/domains#listAllAddresses) | `GET /domains/{id}/addresses` | `domains:read` |
| [`domains.iterate_addresses`](https://openemail.uk/docs/ruby/reference/domains#iterateAddresses) | `GET /domains/{id}/addresses` | `domains:read` |
| [`domains.create_address`](https://openemail.uk/docs/ruby/reference/domains#createAddress) | `POST /domains/{id}/addresses` | `domains:write` |
| [`domains.get_address`](https://openemail.uk/docs/ruby/reference/domains#getAddress) | `GET /domains/{id}/addresses/{addressId}` | `domains:read` |
| [`domains.update_address`](https://openemail.uk/docs/ruby/reference/domains#updateAddress) | `PATCH /domains/{id}/addresses/{addressId}` | `domains:write` |
| [`domains.set_address_photo`](https://openemail.uk/docs/ruby/reference/domains#setAddressPhoto) | `PUT /domains/{id}/addresses/{addressId}/photo` | `domains:write` |
| [`domains.remove_address_photo`](https://openemail.uk/docs/ruby/reference/domains#removeAddressPhoto) | `DELETE /domains/{id}/addresses/{addressId}/photo` | `domains:write` |
| [`domains.delete_address`](https://openemail.uk/docs/ruby/reference/domains#deleteAddress) | `DELETE /domains/{id}/addresses/{addressId}` | `domains:write` |
| [`domains.list_address_forwards`](https://openemail.uk/docs/ruby/reference/domains#listAddressForwards) | `GET /domains/{id}/addresses/{addressId}/forwards` | `domains:read` |
| [`domains.add_address_forwards`](https://openemail.uk/docs/ruby/reference/domains#addAddressForwards) | `POST /domains/{id}/addresses/{addressId}/forwards` | `domains:write` |
| [`domains.update_address_forward`](https://openemail.uk/docs/ruby/reference/domains#updateAddressForward) | `PATCH /domains/{id}/addresses/{addressId}/forwards/{forwardId}` | `domains:write` |
| [`domains.delete_address_forward`](https://openemail.uk/docs/ruby/reference/domains#deleteAddressForward) | `DELETE /domains/{id}/addresses/{addressId}/forwards/{forwardId}` | `domains:write` |
| [`domains.resend_address_forward_consent`](https://openemail.uk/docs/ruby/reference/domains#resendAddressForwardConsent) | `POST /domains/{id}/addresses/{addressId}/forwards/{forwardId}/resend` | `domains:write` |
| [`domains.list_address_members`](https://openemail.uk/docs/ruby/reference/domains#listAddressMembers) | `GET /domains/{id}/addresses/{addressId}/members` | `members:read` |
| [`domains.get_address_login`](https://openemail.uk/docs/ruby/reference/domains#getAddressLogin) | `GET /domains/{id}/addresses/{addressId}/login` | `members:write` |
| [`domains.set_address_login`](https://openemail.uk/docs/ruby/reference/domains#setAddressLogin) | `PUT /domains/{id}/addresses/{addressId}/login` | `members:write` |
| [`domains.delete_address_login`](https://openemail.uk/docs/ruby/reference/domains#deleteAddressLogin) | `DELETE /domains/{id}/addresses/{addressId}/login` | `members:write` |
| [`domains.get_dns`](https://openemail.uk/docs/ruby/reference/domains#getDns) | `GET /domains/{id}/dns` | `domains:read` |
| [`domains.set_dns_zone`](https://openemail.uk/docs/ruby/reference/domains#setDnsZone) | `PUT /domains/{id}/dns` | `domains:write` |
| [`domains.sync_dns`](https://openemail.uk/docs/ruby/reference/domains#syncDns) | `POST /domains/{id}/dns/sync` | `domains:write` |
| [`app_host.get`](https://openemail.uk/docs/ruby/reference/app-host#get) | `GET /app-host` | `domains:read` |
| [`app_host.set`](https://openemail.uk/docs/ruby/reference/app-host#set) | `PUT /app-host` | `domains:write` |
| [`app_host.verify`](https://openemail.uk/docs/ruby/reference/app-host#verify) | `POST /app-host/verify` | `domains:write` |
| [`app_host.delete`](https://openemail.uk/docs/ruby/reference/app-host#delete) | `DELETE /app-host` | `domains:write` |
| [`branding.get`](https://openemail.uk/docs/ruby/reference/branding#get) | `GET /branding` | `settings:read` |
| [`branding.update`](https://openemail.uk/docs/ruby/reference/branding#update) | `PATCH /branding` | `settings:write` |
| [`branding.upload_image`](https://openemail.uk/docs/ruby/reference/branding#uploadImage) | `PUT /branding/images/{variant}` | `settings:write` |
| [`branding.remove_image`](https://openemail.uk/docs/ruby/reference/branding#removeImage) | `DELETE /branding/images/{variant}` | `settings:write` |
| [`rules.list`](https://openemail.uk/docs/ruby/reference/rules#list) | `GET /rules` | `rules:read` |
| [`rules.list_all`](https://openemail.uk/docs/ruby/reference/rules#listAll) | `GET /rules` | `rules:read` |
| [`rules.iterate`](https://openemail.uk/docs/ruby/reference/rules#iterate) | `GET /rules` | `rules:read` |
| [`rules.get`](https://openemail.uk/docs/ruby/reference/rules#get) | `GET /rules/{id}` | `rules:read` |
| [`rules.create`](https://openemail.uk/docs/ruby/reference/rules#create) | `POST /rules` | `rules:write` |
| [`rules.update`](https://openemail.uk/docs/ruby/reference/rules#update) | `PATCH /rules/{id}` | `rules:write` |
| [`rules.delete`](https://openemail.uk/docs/ruby/reference/rules#delete) | `DELETE /rules/{id}` | `rules:write` |
| [`rules.reorder`](https://openemail.uk/docs/ruby/reference/rules#reorder) | `POST /rules/reorder` | `rules:write` |
| [`rules.test`](https://openemail.uk/docs/ruby/reference/rules#test) | `POST /rules/{id}/test` | `rules:read` |
| [`rules.list_runs`](https://openemail.uk/docs/ruby/reference/rules#listRuns) | `GET /rules/runs` | `rules:read` |
| [`rules.list_all_runs`](https://openemail.uk/docs/ruby/reference/rules#listAllRuns) | `GET /rules/runs` | `rules:read` |
| [`rules.iterate_runs`](https://openemail.uk/docs/ruby/reference/rules#iterateRuns) | `GET /rules/runs` | `rules:read` |
| [`webhooks.list`](https://openemail.uk/docs/ruby/reference/webhooks#list) | `GET /webhooks` | `webhooks:read` |
| [`webhooks.list_all`](https://openemail.uk/docs/ruby/reference/webhooks#listAll) | `GET /webhooks` | `webhooks:read` |
| [`webhooks.iterate`](https://openemail.uk/docs/ruby/reference/webhooks#iterate) | `GET /webhooks` | `webhooks:read` |
| [`webhooks.get`](https://openemail.uk/docs/ruby/reference/webhooks#get) | `GET /webhooks/{id}` | `webhooks:read` |
| [`webhooks.create`](https://openemail.uk/docs/ruby/reference/webhooks#create) | `POST /webhooks` | `webhooks:write` |
| [`webhooks.update`](https://openemail.uk/docs/ruby/reference/webhooks#update) | `PATCH /webhooks/{id}` | `webhooks:write` |
| [`webhooks.delete`](https://openemail.uk/docs/ruby/reference/webhooks#delete) | `DELETE /webhooks/{id}` | `webhooks:write` |
| [`webhooks.rotate_secret`](https://openemail.uk/docs/ruby/reference/webhooks#rotateSecret) | `POST /webhooks/{id}/rotate-secret` | `webhooks:write` |
| [`webhooks.test`](https://openemail.uk/docs/ruby/reference/webhooks#test) | `POST /webhooks/{id}/test` | `webhooks:write` |
| [`webhooks.list_deliveries`](https://openemail.uk/docs/ruby/reference/webhooks#listDeliveries) | `GET /webhooks/{id}/deliveries` | `webhooks:read` |
| [`webhooks.list_all_deliveries`](https://openemail.uk/docs/ruby/reference/webhooks#listAllDeliveries) | `GET /webhooks/{id}/deliveries` | `webhooks:read` |
| [`webhooks.iterate_deliveries`](https://openemail.uk/docs/ruby/reference/webhooks#iterateDeliveries) | `GET /webhooks/{id}/deliveries` | `webhooks:read` |
| [`webhooks.get_delivery`](https://openemail.uk/docs/ruby/reference/webhooks#getDelivery) | `GET /webhooks/{id}/deliveries/{deliveryId}` | `webhooks:read` |
| [`webhooks.replay_delivery`](https://openemail.uk/docs/ruby/reference/webhooks#replayDelivery) | `POST /webhooks/{id}/deliveries/{deliveryId}/replay` | `webhooks:write` |
| [`webhooks.list_workspace_deliveries`](https://openemail.uk/docs/ruby/reference/webhooks#listWorkspaceDeliveries) | `GET /webhooks/deliveries` | `webhooks:read` |
| [`webhooks.list_all_workspace_deliveries`](https://openemail.uk/docs/ruby/reference/webhooks#listAllWorkspaceDeliveries) | `GET /webhooks/deliveries` | `webhooks:read` |
| [`webhooks.iterate_workspace_deliveries`](https://openemail.uk/docs/ruby/reference/webhooks#iterateWorkspaceDeliveries) | `GET /webhooks/deliveries` | `webhooks:read` |
| [`webhooks.list_activity`](https://openemail.uk/docs/ruby/reference/webhooks#listActivity) | `GET /webhooks/{id}/activity` | `webhooks:read` |
| [`webhooks.list_all_activity`](https://openemail.uk/docs/ruby/reference/webhooks#listAllActivity) | `GET /webhooks/{id}/activity` | `webhooks:read` |
| [`webhooks.iterate_activity`](https://openemail.uk/docs/ruby/reference/webhooks#iterateActivity) | `GET /webhooks/{id}/activity` | `webhooks:read` |
| [`webhooks.list_workspace_activity`](https://openemail.uk/docs/ruby/reference/webhooks#listWorkspaceActivity) | `GET /webhooks/activity` | `webhooks:read` |
| [`webhooks.list_all_workspace_activity`](https://openemail.uk/docs/ruby/reference/webhooks#listAllWorkspaceActivity) | `GET /webhooks/activity` | `webhooks:read` |
| [`webhooks.iterate_workspace_activity`](https://openemail.uk/docs/ruby/reference/webhooks#iterateWorkspaceActivity) | `GET /webhooks/activity` | `webhooks:read` |
| [`webhooks.list_events`](https://openemail.uk/docs/ruby/reference/webhooks#listEvents) | `GET /webhooks/events` | `webhooks:read` |
| [`webhooks.stats`](https://openemail.uk/docs/ruby/reference/webhooks#stats) | `GET /webhooks/stats` | `webhooks:read` |
| [`imports.list`](https://openemail.uk/docs/ruby/reference/imports#list) | `GET /imports` | `threads:read` |
| [`imports.list_all`](https://openemail.uk/docs/ruby/reference/imports#listAll) | `GET /imports` | `threads:read` |
| [`imports.iterate`](https://openemail.uk/docs/ruby/reference/imports#iterate) | `GET /imports` | `threads:read` |
| [`imports.get`](https://openemail.uk/docs/ruby/reference/imports#get) | `GET /imports/{id}` | `threads:read` |
| [`imports.create`](https://openemail.uk/docs/ruby/reference/imports#create) | `POST /imports` | `threads:write` |
| [`imports.upload_state`](https://openemail.uk/docs/ruby/reference/imports#uploadState) | `GET /imports/{id}/upload` | `threads:write` |
| [`imports.upload_chunk`](https://openemail.uk/docs/ruby/reference/imports#uploadChunk) | `PUT /imports/{id}/files/{file}/chunks/{chunk}` | `threads:write` |
| [`imports.start`](https://openemail.uk/docs/ruby/reference/imports#start) | `POST /imports/{id}/start` | `threads:write` |
| [`imports.cancel`](https://openemail.uk/docs/ruby/reference/imports#cancel) | `POST /imports/{id}/cancel` | `threads:write` |
| [`imports.list_failures`](https://openemail.uk/docs/ruby/reference/imports#listFailures) | `GET /imports/{id}/failures` | `threads:read` |
| [`imports.delete_upload`](https://openemail.uk/docs/ruby/reference/imports#deleteUpload) | `DELETE /imports/{id}/upload` | `threads:write` |
| [`imports.import_files`](https://openemail.uk/docs/ruby/reference/imports#importFiles) | `POST /imports` | `threads:write` |
| [`provider_imports.inspect`](https://openemail.uk/docs/ruby/reference/provider-imports#inspect) | `POST /provider-imports/inspect` | `settings:write` |
| [`provider_imports.create`](https://openemail.uk/docs/ruby/reference/provider-imports#create) | `POST /provider-imports` | `settings:write` |
| [`provider_imports.list`](https://openemail.uk/docs/ruby/reference/provider-imports#list) | `GET /provider-imports` | `settings:read` |
| [`provider_imports.list_all`](https://openemail.uk/docs/ruby/reference/provider-imports#listAll) | `GET /provider-imports` | `settings:read` |
| [`provider_imports.iterate`](https://openemail.uk/docs/ruby/reference/provider-imports#iterate) | `GET /provider-imports` | `settings:read` |
| [`provider_imports.get`](https://openemail.uk/docs/ruby/reference/provider-imports#get) | `GET /provider-imports/{id}` | `settings:read` |
| [`provider_imports.cancel`](https://openemail.uk/docs/ruby/reference/provider-imports#cancel) | `POST /provider-imports/{id}/cancel` | `settings:write` |
| [`calendar.list_events`](https://openemail.uk/docs/ruby/reference/calendar#listEvents) | `GET /calendar/events` | `calendar:read` |
| [`calendar.list_all_events`](https://openemail.uk/docs/ruby/reference/calendar#listAllEvents) | `GET /calendar/events` | `calendar:read` |
| [`calendar.iterate_events`](https://openemail.uk/docs/ruby/reference/calendar#iterateEvents) | `GET /calendar/events` | `calendar:read` |
| [`calendar.get_event`](https://openemail.uk/docs/ruby/reference/calendar#getEvent) | `GET /calendar/events/{id}` | `calendar:read` |
| [`calendar.get_event_ics`](https://openemail.uk/docs/ruby/reference/calendar#getEventIcs) | `GET /calendar/events/{id}/ics` | `calendar:read` |
| [`calendar.create_event`](https://openemail.uk/docs/ruby/reference/calendar#createEvent) | `POST /calendar/events` | `calendar:write` |
| [`calendar.update_event`](https://openemail.uk/docs/ruby/reference/calendar#updateEvent) | `PATCH /calendar/events/{id}` | `calendar:write` |
| [`calendar.delete_event`](https://openemail.uk/docs/ruby/reference/calendar#deleteEvent) | `DELETE /calendar/events/{id}` | `calendar:write` |
| [`calendar.cancel_event`](https://openemail.uk/docs/ruby/reference/calendar#cancelEvent) | `POST /calendar/events/{id}/cancel` | `calendar:write` |
| [`calendar.respond_to_event`](https://openemail.uk/docs/ruby/reference/calendar#respondToEvent) | `POST /calendar/events/{id}/respond` | `calendar:write` + `emails:send` |
| [`settings.get`](https://openemail.uk/docs/ruby/reference/settings#get) | `GET /settings` | `settings:read` |
| [`settings.update`](https://openemail.uk/docs/ruby/reference/settings#update) | `PATCH /settings` | `settings:write` |
| [`roles.list`](https://openemail.uk/docs/ruby/reference/roles#list) | `GET /roles` | `roles:read` |
| [`roles.list_all`](https://openemail.uk/docs/ruby/reference/roles#listAll) | `GET /roles` | `roles:read` |
| [`roles.iterate`](https://openemail.uk/docs/ruby/reference/roles#iterate) | `GET /roles` | `roles:read` |
| [`roles.get`](https://openemail.uk/docs/ruby/reference/roles#get) | `GET /roles/{id}` | `roles:read` |
| [`roles.create`](https://openemail.uk/docs/ruby/reference/roles#create) | `POST /roles` | `roles:write` |
| [`roles.update`](https://openemail.uk/docs/ruby/reference/roles#update) | `PATCH /roles/{id}` | `roles:write` |
| [`roles.delete`](https://openemail.uk/docs/ruby/reference/roles#delete) | `DELETE /roles/{id}` | `roles:write` |
| [`roles.list_permissions`](https://openemail.uk/docs/ruby/reference/roles#listPermissions) | `GET /roles/permissions` | `roles:read` |
| [`members.list`](https://openemail.uk/docs/ruby/reference/members#list) | `GET /members` | `members:read` |
| [`members.list_all`](https://openemail.uk/docs/ruby/reference/members#listAll) | `GET /members` | `members:read` |
| [`members.iterate`](https://openemail.uk/docs/ruby/reference/members#iterate) | `GET /members` | `members:read` |
| [`members.get`](https://openemail.uk/docs/ruby/reference/members#get) | `GET /members/{userId}` | `members:read` |
| [`members.add`](https://openemail.uk/docs/ruby/reference/members#add) | `POST /members` | `members:write` |
| [`members.update`](https://openemail.uk/docs/ruby/reference/members#update) | `PATCH /members/{userId}` | `members:write` |
| [`members.remove`](https://openemail.uk/docs/ruby/reference/members#remove) | `DELETE /members/{userId}` | `members:write` |
| [`members.grant_address`](https://openemail.uk/docs/ruby/reference/members#grantAddress) | `POST /members/{userId}/addresses` | `members:write` |
| [`members.revoke_address`](https://openemail.uk/docs/ruby/reference/members#revokeAddress) | `DELETE /members/{userId}/addresses/{addressId}` | `members:write` |
| [`members.grant_domain`](https://openemail.uk/docs/ruby/reference/members#grantDomain) | `POST /members/{userId}/domains` | `members:write` |
| [`members.revoke_domain`](https://openemail.uk/docs/ruby/reference/members#revokeDomain) | `DELETE /members/{userId}/domains/{domainId}` | `members:write` |
| [`members.list_invitations`](https://openemail.uk/docs/ruby/reference/members#listInvitations) | `GET /members/invitations` | `members:read` |
| [`members.list_all_invitations`](https://openemail.uk/docs/ruby/reference/members#listAllInvitations) | `GET /members/invitations` | `members:read` |
| [`members.iterate_invitations`](https://openemail.uk/docs/ruby/reference/members#iterateInvitations) | `GET /members/invitations` | `members:read` |
| [`members.revoke_invitation`](https://openemail.uk/docs/ruby/reference/members#revokeInvitation) | `DELETE /members/invitations/{invitationId}` | `members:write` |
| [`members.resend_invitation`](https://openemail.uk/docs/ruby/reference/members#resendInvitation) | `POST /members/invitations/{invitationId}/resend` | `members:write` |
| [`suppressions.list`](https://openemail.uk/docs/ruby/reference/suppressions#list) | `GET /suppressions` | `settings:read` |
| [`suppressions.list_all`](https://openemail.uk/docs/ruby/reference/suppressions#listAll) | `GET /suppressions` | `settings:read` |
| [`suppressions.iterate`](https://openemail.uk/docs/ruby/reference/suppressions#iterate) | `GET /suppressions` | `settings:read` |
| [`suppressions.get`](https://openemail.uk/docs/ruby/reference/suppressions#get) | `GET /suppressions/{id}` | `settings:read` |
| [`suppressions.add`](https://openemail.uk/docs/ruby/reference/suppressions#add) | `POST /suppressions` | `settings:write` |
| [`suppressions.remove`](https://openemail.uk/docs/ruby/reference/suppressions#remove) | `DELETE /suppressions/{id}` | `settings:write` |
| [`files.list`](https://openemail.uk/docs/ruby/reference/files#list) | `GET /files` | `files:read` |
| [`files.list_all`](https://openemail.uk/docs/ruby/reference/files#listAll) | `GET /files` | `files:read` |
| [`files.iterate`](https://openemail.uk/docs/ruby/reference/files#iterate) | `GET /files` | `files:read` |
| [`files.get`](https://openemail.uk/docs/ruby/reference/files#get) | `GET /files/{id}` | `files:read` |
| [`files.stats`](https://openemail.uk/docs/ruby/reference/files#stats) | `GET /files/stats` | `files:read` |
| [`files.download`](https://openemail.uk/docs/ruby/reference/files#download) | `GET /files/{id}/content` | `files:read` |
| [`files.list_links`](https://openemail.uk/docs/ruby/reference/files#listLinks) | `GET /files/{id}/links` | `files:read` |
| [`files.list_all_links`](https://openemail.uk/docs/ruby/reference/files#listAllLinks) | `GET /files/{id}/links` | `files:read` |
| [`files.iterate_links`](https://openemail.uk/docs/ruby/reference/files#iterateLinks) | `GET /files/{id}/links` | `files:read` |
| [`files.create_link`](https://openemail.uk/docs/ruby/reference/files#createLink) | `POST /files/{id}/links` | `files:write` |
| [`files.revoke_link`](https://openemail.uk/docs/ruby/reference/files#revokeLink) | `DELETE /files/{id}/links/{linkId}` | `files:write` |
| [`files.revoke_all_links`](https://openemail.uk/docs/ruby/reference/files#revokeAllLinks) | `DELETE /files/{id}/links` | `files:write` |
| [`files.upload`](https://openemail.uk/docs/ruby/reference/files#upload) | `POST /files` | `files:write` |
| [`files.delete`](https://openemail.uk/docs/ruby/reference/files#delete) | `DELETE /files/{id}` | `files:write` |
| [`files.delete_many`](https://openemail.uk/docs/ruby/reference/files#deleteMany) | `POST /files/batch-delete` | `files:write` |
| [`temp_mail.list_domains`](https://openemail.uk/docs/ruby/reference/temp-mail#listDomains) | `GET /temp-mail/domains` | none |
| [`temp_mail.create`](https://openemail.uk/docs/ruby/reference/temp-mail#create) | `POST /temp-mail/inboxes` | none |
| [`temp_mail.get`](https://openemail.uk/docs/ruby/reference/temp-mail#get) | `GET /temp-mail/inboxes/{id}` | inbox token |
| [`temp_mail.extend`](https://openemail.uk/docs/ruby/reference/temp-mail#extend) | `POST /temp-mail/inboxes/{id}/extend` | inbox token |
| [`temp_mail.delete`](https://openemail.uk/docs/ruby/reference/temp-mail#delete) | `DELETE /temp-mail/inboxes/{id}` | inbox token |
| [`temp_mail.list_messages`](https://openemail.uk/docs/ruby/reference/temp-mail#listMessages) | `GET /temp-mail/inboxes/{id}/messages` | inbox token |
| [`temp_mail.list_all_messages`](https://openemail.uk/docs/ruby/reference/temp-mail#listAllMessages) | `GET /temp-mail/inboxes/{id}/messages` | inbox token |
| [`temp_mail.iterate_messages`](https://openemail.uk/docs/ruby/reference/temp-mail#iterateMessages) | `GET /temp-mail/inboxes/{id}/messages` | inbox token |
| [`temp_mail.get_message`](https://openemail.uk/docs/ruby/reference/temp-mail#getMessage) | `GET /temp-mail/inboxes/{id}/messages/{messageId}` | inbox token |
| [`temp_mail.delete_message`](https://openemail.uk/docs/ruby/reference/temp-mail#deleteMessage) | `DELETE /temp-mail/inboxes/{id}/messages/{messageId}` | inbox token |
| [`temp_mail.list_attachments`](https://openemail.uk/docs/ruby/reference/temp-mail#listAttachments) | `GET /temp-mail/inboxes/{id}/messages/{messageId}/attachments` | inbox token |
| [`tools.check_dmarc`](https://openemail.uk/docs/ruby/reference/tools#checkDmarc) | `GET /tools/dmarc` | no scope |
| [`tools.check_bimi`](https://openemail.uk/docs/ruby/reference/tools#checkBimi) | `GET /tools/bimi` | no scope |
| [`tools.check_deliverability`](https://openemail.uk/docs/ruby/reference/tools#checkDeliverability) | `GET /tools/deliverability` | no scope |
| [`support.send`](https://openemail.uk/docs/ruby/reference/support#send) | `POST /support` | no scope |
| [`encryption.list_keys`](https://openemail.uk/docs/ruby/reference/encryption#listKeys) | `GET /encryption/keys` | `emails:read` |
| [`encryption.publish_key`](https://openemail.uk/docs/ruby/reference/encryption#publishKey) | `POST /encryption/keys` | `emails:read` |
| [`encryption.lookup_keys`](https://openemail.uk/docs/ruby/reference/encryption#lookupKeys) | `GET /encryption/keys/lookup` | `emails:send` |
| [`senders.get`](https://openemail.uk/docs/ruby/reference/senders#get) | `GET /senders/{email}` | `threads:read` |
| [`senders.research`](https://openemail.uk/docs/ruby/reference/senders#research) | `POST /senders/{email}/research` | `threads:read` |
| [`chats.list`](https://openemail.uk/docs/ruby/reference/chats#list) | `GET /chats` | `threads:read` |
| [`chats.list_all`](https://openemail.uk/docs/ruby/reference/chats#listAll) | `GET /chats` | `threads:read` |
| [`chats.iterate`](https://openemail.uk/docs/ruby/reference/chats#iterate) | `GET /chats` | `threads:read` |
| [`chats.get`](https://openemail.uk/docs/ruby/reference/chats#get) | `GET /chats/{id}` | `threads:read` |
| [`chats.rename`](https://openemail.uk/docs/ruby/reference/chats#rename) | `PATCH /chats/{id}` | `threads:write` |
| [`chats.delete`](https://openemail.uk/docs/ruby/reference/chats#delete) | `DELETE /chats/{id}` | `threads:write` |
| [`analytics.mailbox`](https://openemail.uk/docs/ruby/reference/analytics#mailbox) | `GET /analytics/mailbox` | `threads:read` |
| [`analytics.sending`](https://openemail.uk/docs/ruby/reference/analytics#sending) | `GET /analytics/sending` | `emails:read` |
| [`subscriptions.list`](https://openemail.uk/docs/ruby/reference/subscriptions#list) | `GET /subscriptions` | `threads:read` |
| [`subscriptions.list_domains`](https://openemail.uk/docs/ruby/reference/subscriptions#listDomains) | `GET /subscriptions/domains` | `threads:read` |
| [`subscriptions.unsubscribe`](https://openemail.uk/docs/ruby/reference/subscriptions#unsubscribe) | `POST /subscriptions/{id}/unsubscribe` | `threads:write` |
| [`subscriptions.unsubscribe_domain`](https://openemail.uk/docs/ruby/reference/subscriptions#unsubscribeDomain) | `POST /subscriptions/domains/{domain}/unsubscribe` | `threads:write` |
| [`subscriptions.move`](https://openemail.uk/docs/ruby/reference/subscriptions#move) | `POST /subscriptions/{id}/move` | `threads:write` |
| [`exports.preview`](https://openemail.uk/docs/ruby/reference/exports#preview) | `GET /exports/preview` | `threads:read` |
| [`exports.list`](https://openemail.uk/docs/ruby/reference/exports#list) | `GET /exports` | `threads:read` |
| [`exports.get`](https://openemail.uk/docs/ruby/reference/exports#get) | `GET /exports/{id}` | `threads:read` |
| [`exports.start`](https://openemail.uk/docs/ruby/reference/exports#start) | `POST /exports` | `threads:read` |
| [`exports.download`](https://openemail.uk/docs/ruby/reference/exports#download) | `GET /exports/{id}/content` | `threads:read` |
| [`dns_connections.list`](https://openemail.uk/docs/ruby/reference/dns-connections#list) | `GET /dns-connections` | `domains:read` |
| [`dns_connections.get`](https://openemail.uk/docs/ruby/reference/dns-connections#get) | `GET /dns-connections/{id}` | `domains:read` |
| [`dns_connections.delete`](https://openemail.uk/docs/ruby/reference/dns-connections#delete) | `DELETE /dns-connections/{id}` | `domains:write` |
| [`billing.get`](https://openemail.uk/docs/ruby/reference/billing#get) | `GET /billing` | `billing:read` |
| [`billing.list_plans`](https://openemail.uk/docs/ruby/reference/billing#listPlans) | `GET /billing/plans` | `billing:read` |
| [`billing.get_usage`](https://openemail.uk/docs/ruby/reference/billing#getUsage) | `GET /billing/usage` | `billing:read` |
| [`billing.list_alerts`](https://openemail.uk/docs/ruby/reference/billing#listAlerts) | `GET /billing/alerts` | `billing:read` |
| [`billing.list_countries`](https://openemail.uk/docs/ruby/reference/billing#listCountries) | `GET /billing/countries` | `billing:read` |
| [`billing.get_pay_as_you_go`](https://openemail.uk/docs/ruby/reference/billing#getPayAsYouGo) | `GET /billing/pay-as-you-go` | `billing:read` |
| [`billing.set_pay_as_you_go`](https://openemail.uk/docs/ruby/reference/billing#setPayAsYouGo) | `PATCH /billing/pay-as-you-go` | `billing:write` |
| [`billing.set_pay_as_you_go_limit`](https://openemail.uk/docs/ruby/reference/billing#setPayAsYouGoLimit) | `PUT /billing/pay-as-you-go/limit` | `billing:write` |
| [`billing.confirm_pay_as_you_go`](https://openemail.uk/docs/ruby/reference/billing#confirmPayAsYouGo) | `POST /billing/pay-as-you-go/confirm` | `billing:write` |
| [`billing.start_checkout`](https://openemail.uk/docs/ruby/reference/billing#startCheckout) | `POST /billing/checkout` | `billing:write` |
| [`billing.open_portal`](https://openemail.uk/docs/ruby/reference/billing#openPortal) | `POST /billing/portal` | `billing:write` |
| [`billing.list_invoices`](https://openemail.uk/docs/ruby/reference/billing#listInvoices) | `GET /billing/invoices` | `billing:read` |
| [`billing.get_invoice`](https://openemail.uk/docs/ruby/reference/billing#getInvoice) | `GET /billing/invoices/{orderId}` | `billing:read` |
| [`billing.save_invoice_details`](https://openemail.uk/docs/ruby/reference/billing#saveInvoiceDetails) | `PUT /billing/invoices/{orderId}/details` | `billing:write` |
| [`workspaces.list`](https://openemail.uk/docs/ruby/reference/workspaces#list) | `GET /workspaces` | `account:read` |
| [`workspaces.create`](https://openemail.uk/docs/ruby/reference/workspaces#create) | `POST /workspaces` | `account:write` |
| [`workspaces.get_active`](https://openemail.uk/docs/ruby/reference/workspaces#getActive) | `GET /workspaces/active` | `account:read` |
| [`workspaces.set_active`](https://openemail.uk/docs/ruby/reference/workspaces#setActive) | `PUT /workspaces/active` | `account:write` |
| [`workspaces.delete`](https://openemail.uk/docs/ruby/reference/workspaces#delete) | `DELETE /workspaces/{id}` | `account:write` |
| [`account.get_notifications`](https://openemail.uk/docs/ruby/reference/account#getNotifications) | `GET /account/notifications` | `account:read` |
| [`account.set_email_notification`](https://openemail.uk/docs/ruby/reference/account#setEmailNotification) | `PUT /account/notifications/email/{category}` | `account:write` |
| [`account.set_push_muted`](https://openemail.uk/docs/ruby/reference/account#setPushMuted) | `PUT /account/notifications/push/{workspaceId}` | `account:write` |
| [`account.set_photo`](https://openemail.uk/docs/ruby/reference/account#setPhoto) | `PUT /account/photo` | `account:write` |
| [`account.remove_photo`](https://openemail.uk/docs/ruby/reference/account#removePhoto) | `DELETE /account/photo` | `account:write` |
| [`account.get_username`](https://openemail.uk/docs/ruby/reference/account#getUsername) | `GET /account/username` | `account:read` |
| [`account.check_username`](https://openemail.uk/docs/ruby/reference/account#checkUsername) | `GET /account/username/availability` | `account:read` |
| [`account.set_username`](https://openemail.uk/docs/ruby/reference/account#setUsername) | `PUT /account/username` | `account:write` |
| [`account.list_connected_apps`](https://openemail.uk/docs/ruby/reference/account#listConnectedApps) | `GET /account/connected-apps` | `account:read` |
| [`account.revoke_connected_app`](https://openemail.uk/docs/ruby/reference/account#revokeConnectedApp) | `DELETE /account/connected-apps/{clientId}` | `account:write` |
| [`account.list_invitations`](https://openemail.uk/docs/ruby/reference/account#listInvitations) | `GET /account/invitations` | `account:read` |
| [`account.accept_invitation`](https://openemail.uk/docs/ruby/reference/account#acceptInvitation) | `POST /account/invitations/{invitationId}/accept` | `account:write` |
| [`account.decline_invitation`](https://openemail.uk/docs/ruby/reference/account#declineInvitation) | `POST /account/invitations/{invitationId}/decline` | `account:write` |
