Skip to the documentation
SDK

Every method

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

Every method

One method for every documented operation, and the package's parity check proves it. It reads the OpenAPI document, calls every method against a recording fetch, and fails when an operation has no method, when a method sends anything other than the exact request its row names, or when a row's scopes differ from the ones the operation requires.

listAll and iterate page through the same endpoint as the list beside them, and so do listAllRuns and iterateRuns on rules, so one request can appear on more than one row.

CallEndpointScope
`me.get()`GET /keys/selfnone
`me.ping()`GET /pingnone
`me.rotate()`POST /keys/self/rotatekeys:write
`addresses.list()`GET /addressesemails:send
`languages.list()`GET /languagesnone
`emails.send()`POST /emailsemails:send
`emails.sendBatch()`POST /emails/batchemails:send
`emails.translate()`POST /emails/translateemails:send
`emails.list()`GET /emailsemails:read
`emails.listAll()`GET /emailsemails:read
`emails.iterate()`GET /emailsemails:read
`emails.get()`GET /emails/{id}emails:read
`emails.listEvents()`GET /emails/{id}/eventsemails:read
`emails.getTracking()`GET /emails/{id}/trackingemails:read
`emails.cancel()`POST /emails/{id}/cancelemails:send
`emails.reschedule()`PATCH /emails/{id}emails:send
`templates.list()`GET /templatestemplates:read
`templates.listAll()`GET /templatestemplates:read
`templates.iterate()`GET /templatestemplates:read
`templates.get()`GET /templates/{id}templates:read
`templates.create()`POST /templatestemplates:write
`templates.update()`PATCH /templates/{id}templates:write
`templates.delete()`DELETE /templates/{id}templates:write
`templates.listVersions()`GET /templates/{id}/versionstemplates:read
`templates.publish()`POST /templates/{id}/versionstemplates:write
`templates.preview()`POST /templates/{id}/previewtemplates:read
`templates.send()`POST /templates/{id}/sendtemplates:write + emails:send
`tracking.list()`GET /trackingemails:read
`tracking.getStats()`GET /tracking/statsemails:read
`tracking.get()`GET /tracking/{id}emails:read
`tracking.listOpens()`GET /tracking/{id}/opensemails:read
`tracking.listClicks()`GET /tracking/{id}/clicksemails:read
`threads.list()`GET /threadsthreads:read
`threads.listAll()`GET /threadsthreads:read
`threads.iterate()`GET /threadsthreads:read
`threads.get()`GET /threads/{id}threads:read
`threads.update()`PATCH /threads/{id}threads:write
`threads.trash()`POST /threads/{id}/trashthreads:write
`threads.snooze()`POST /threads/{id}/snoozethreads:write
`threads.unsnooze()`POST /threads/{id}/unsnoozethreads:write
`threads.listAttachments()`GET /threads/{id}/messages/{messageId}/attachmentsthreads:read
`drafts.list()`GET /draftsdrafts:read
`drafts.listAll()`GET /draftsdrafts:read
`drafts.iterate()`GET /draftsdrafts:read
`drafts.get()`GET /drafts/{id}drafts:read
`drafts.create()`POST /draftsdrafts:write
`drafts.update()`PATCH /drafts/{id}drafts:write
`drafts.delete()`DELETE /drafts/{id}drafts:write
`labels.list()`GET /labelslabels:read
`labels.get()`GET /labels/{id}labels:read
`labels.create()`POST /labelslabels:write
`labels.update()`PATCH /labels/{id}labels:write
`labels.delete()`DELETE /labels/{id}labels:write
`contacts.list()`GET /contactscontacts:read
`contacts.get()`GET /contacts/{email}contacts:read
`contacts.create()`POST /contactscontacts:write
`contacts.update()`PATCH /contacts/{email}contacts:write
`contacts.delete()`DELETE /contacts/{email}contacts:write
`audiences.list()`GET /audiencesaudiences:read
`audiences.get()`GET /audiences/{id}audiences:read
`audiences.create()`POST /audiencesaudiences:write
`audiences.update()`PATCH /audiences/{id}audiences:write
`audiences.delete()`DELETE /audiences/{id}audiences:write
`audiences.listContacts()`GET /audiences/{id}/contactsaudiences:read
`audiences.addContact()`POST /audiences/{id}/contactsaudiences:write
`audiences.removeContact()`DELETE /audiences/{id}/contacts/{email}audiences:write
`domains.list()`GET /domainsdomains:read
`domains.get()`GET /domains/{id}domains:read
`domains.update()`PATCH /domains/{id}domains:write
`rules.list()`GET /rulesrules:read
`rules.listAll()`GET /rulesrules:read
`rules.iterate()`GET /rulesrules:read
`rules.get()`GET /rules/{id}rules:read
`rules.create()`POST /rulesrules:write
`rules.update()`PATCH /rules/{id}rules:write
`rules.delete()`DELETE /rules/{id}rules:write
`rules.reorder()`POST /rules/reorderrules:write
`rules.test()`POST /rules/{id}/testrules:read
`rules.listRuns()`GET /rules/runsrules:read
`rules.listAllRuns()`GET /rules/runsrules:read
`rules.iterateRuns()`GET /rules/runsrules:read
`webhooks.list()`GET /webhookswebhooks:read
`webhooks.get()`GET /webhooks/{id}webhooks:read
`webhooks.create()`POST /webhookswebhooks:write
`webhooks.update()`PATCH /webhooks/{id}webhooks:write
`webhooks.delete()`DELETE /webhooks/{id}webhooks:write
`webhooks.rotateSecret()`POST /webhooks/{id}/rotate-secretwebhooks:write
`webhooks.test()`POST /webhooks/{id}/testwebhooks:write
`webhooks.listDeliveries()`GET /webhooks/{id}/deliverieswebhooks:read
`calendar.listEvents()`GET /calendar/eventscalendar:read
`calendar.getEvent()`GET /calendar/events/{id}calendar:read
`calendar.getEventIcs()`GET /calendar/events/{id}/icscalendar:read
`settings.get()`GET /settingssettings:read
`settings.update()`PATCH /settingssettings:write
`roles.list()`GET /rolesroles:read
`roles.get()`GET /roles/{id}roles:read
`roles.create()`POST /rolesroles:write
`roles.update()`PATCH /roles/{id}roles:write
`roles.delete()`DELETE /roles/{id}roles:write
`roles.listPermissions()`GET /roles/permissionsroles:read
`members.list()`GET /membersmembers:read
`members.get()`GET /members/{userId}members:read
`members.add()`POST /membersmembers:write
`members.update()`PATCH /members/{userId}members:write
`members.remove()`DELETE /members/{userId}members:write
`members.grantAddress()`POST /members/{userId}/addressesmembers:write
`members.revokeAddress()`DELETE /members/{userId}/addresses/{addressId}members:write
`tempMail.listDomains()`GET /temp-mail/domainsnone
`tempMail.create()`POST /temp-mail/inboxesnone
`tempMail.get()`GET /temp-mail/inboxes/{id}inbox token
`tempMail.extend()`POST /temp-mail/inboxes/{id}/extendinbox token
`tempMail.delete()`DELETE /temp-mail/inboxes/{id}inbox token
`tempMail.listMessages()`GET /temp-mail/inboxes/{id}/messagesinbox token
`tempMail.getMessage()`GET /temp-mail/inboxes/{id}/messages/{messageId}inbox token
`tempMail.deleteMessage()`DELETE /temp-mail/inboxes/{id}/messages/{messageId}inbox token
`tempMail.listAttachments()`GET /temp-mail/inboxes/{id}/messages/{messageId}/attachmentsinbox token

The tempMail rows say "inbox token" where every other row names a scope, and that is not shorthand for one. Disposable inboxes are the only anonymous resource on the API: listDomains and create send no credential at all, and the other seven authenticate with the oe_inbox_ token that create returned once. Pass it as inboxToken on each call, or build a client for that inbox with createTempMail({ inboxToken }). Without one, a workspace client falls back to its API key, which the API refuses by name rather than silently accepting.