Skip to main content

Account

An account is one connected mailbox, such as ana@example.com. It has a provider, a status, and everything the engine synced from it. The account’s status tells you whether it’s syncing (running) or needs attention (errored, disconnected). See Account status.

Email

An email is one message in an account, as the engine synced it: sender, recipients, subject, HTML and text bodies, folders, flags and attachments. See Retrieve an email for every field. The engine syncs from the moment the account connects: every new email and every change (read, starred, moved, deleted). Mail that was already in the mailbox isn’t imported, unless you turn on initial sync when connecting: it imports the last 30 days at most.

Folder and role

Folders are the mailbox’s folders (Gmail’s labels appear as folders over IMAP). Each has a role when it has a standard purpose, so you can work across providers without knowing their folder names: Anywhere the API takes a folder, you can pass its fld_… id, its provider id, or a role such as INBOX.

Ids

Every id the engine creates starts with its type, so you can’t mix them up: Always pass ids exactly as the API returns them. An id with the wrong prefix, or a plain UUID, is refused: in the URL path you get 404, in a query or body you get 400. An email also has ids that come from its provider:

Lists

Every list has the same shape:
object names the list (Accounts, Emails, Folders …), data holds the items and has_more says whether there is a next page. See Pagination.

Attendee

Senders and recipients are attendees:
identifier is the email address, always lowercase.

Events

When something changes, the engine sends a webhook event to your app, for example email.new, email.update or account.status.disconnected. See Events.