API reference

Requests go to https://api.revdoku.com. Every path starts with /v1, for example https://api.revdoku.com/v1/mailboxes. Send Authorization: Bearer $REVDOKU_API_KEY from your server; never put the key in a browser or a chat. Responses use {"success": true, "data": ...}. Errors use {"success": false, "error": {"code": ..., "message": ...}}; branch on error.code. The SDKs keep this envelope: TypeScript fields are camelCase, Python fields use the JSON names.

OpenAPI · Quickstart · TypeScript SDK · Python SDK · API guide

Authentication

Sign-in helpers for the CLI and AI agents. Backend applications use an API key from the dashboard.

Operations that need no API key run before you have one. They use the generated DefaultApi class instead of Revdoku, so their errors are ResponseError (TypeScript) or ApiException (Python), not RevdokuError.

OperationHTTPTypeScriptPython
Email a sign-in codePOST /v1/agent_auth/request_codenew DefaultApi().requestSignInCodeDefaultApi().request_sign_in_code
Exchange a sign-in code for an API keyPOST /v1/agent_auth/verify_codenew DefaultApi().verifySignInCodeDefaultApi().verify_sign_in_code
Exchange a one-time dashboard connection code for an API keyPOST /v1/agent_auth/exchange_grantnew DefaultApi().exchangeConnectionGrantDefaultApi().exchange_connection_grant
Create a dashboard link for the userPOST /v1/agent_auth/browser_login_linkclient.api.createBrowserLinkclient.api.create_browser_link

Accounts

Connection status, granted accounts and limits.

OperationHTTPTypeScriptPython
Read the connection and selected accountGET /v1/statusclient.api.getStatusclient.api.get_status
List accounts granted to this credentialGET /v1/accountsclient.api.listAccountsclient.api.list_accounts
Create a client accountPOST /v1/accountsclient.api.createClientAccountclient.api.create_client_account
Read one granted accountGET /v1/accounts/{account_id}client.api.getAccountclient.api.get_account
Read effective account limitsGET /v1/account/limitsclient.api.getAccountLimitsclient.api.get_account_limits

Mailboxes

Create, read, archive and delete mailboxes.

OperationHTTPTypeScriptPython
List mailboxesGET /v1/mailboxesclient.listMailboxesclient.list_mailboxes
Create a mailboxPOST /v1/mailboxesclient.createMailboxclient.create_mailbox
Read a mailboxGET /v1/mailboxes/{mailbox_id}client.getMailboxclient.get_mailbox
Update a mailbox title, description or metadataPATCH /v1/mailboxes/{mailbox_id}client.api.updateMailboxclient.api.update_mailbox
Permanently delete an archived mailboxDELETE /v1/mailboxes/{mailbox_id}client.api.deleteMailboxclient.api.delete_mailbox
Archive a mailboxPOST /v1/mailboxes/{mailbox_id}/archiveclient.api.archiveMailboxclient.api.archive_mailbox
Unarchive a mailboxPOST /v1/mailboxes/{mailbox_id}/unarchiveclient.api.unarchiveMailboxclient.api.unarchive_mailbox

Email settings

Addresses, aliases, allowed senders, webhooks and live subscriptions.

OperationHTTPTypeScriptPython
Read address settingsGET /v1/mailboxes/{mailbox_id}/emailclient.api.getMailboxEmailSettingsclient.api.get_mailbox_email_settings
Change the primary addressPOST /v1/mailboxes/{mailbox_id}/email/rotateclient.api.changeMailboxAddressclient.api.change_mailbox_address
Add an alias addressPOST /v1/mailboxes/{mailbox_id}/email/aliasesclient.api.createEmailAliasclient.api.create_email_alias
Remove an alias addressDELETE /v1/mailboxes/{mailbox_id}/email/aliases/{alias_id}client.api.deleteEmailAliasclient.api.delete_email_alias
Replace the allowed sendersPATCH /v1/mailboxes/{mailbox_id}/email/allowlistclient.api.updateEmailAllowlistclient.api.update_email_allowlist
Read the email webhookGET /v1/mailboxes/{mailbox_id}/email/webhookclient.api.getEmailWebhookclient.api.get_email_webhook
Set the email webhookPUT /v1/mailboxes/{mailbox_id}/email/webhookclient.api.setEmailWebhookclient.api.set_email_webhook
Remove the email webhookDELETE /v1/mailboxes/{mailbox_id}/email/webhookclient.api.deleteEmailWebhookclient.api.delete_email_webhook
Get a live email subscription ticketGET /v1/mailboxes/{mailbox_id}/email/subscriptionclient.api.getEmailSubscriptionclient.api.get_email_subscription

Emails

List, read, reply to and delete email.

OperationHTTPTypeScriptPython
List emailsGET /v1/mailboxes/{mailbox_id}/emailsclient.listEmailsclient.list_emails
Send an emailPOST /v1/mailboxes/{mailbox_id}/emailsclient.api.sendEmailclient.api.send_email
Read an emailGET /v1/mailboxes/{mailbox_id}/emails/{email_id}client.getEmailclient.get_email
Mark an email read or unreadPATCH /v1/mailboxes/{mailbox_id}/emails/{email_id}client.api.updateEmailclient.api.update_email
Delete an emailDELETE /v1/mailboxes/{mailbox_id}/emails/{email_id}client.api.deleteEmailclient.api.delete_email
Get a download link for the original emailGET /v1/mailboxes/{mailbox_id}/emails/{email_id}/rawclient.api.getEmailOriginalDownloadclient.api.get_email_original_download
Get a download link for an attachmentGET /v1/mailboxes/{mailbox_id}/emails/{email_id}/attachments/{attachment_id}client.getAttachmentDownloadclient.get_attachment_download

Files

Upload, read, organize and restore files.

OperationHTTPTypeScriptPython
Prepare a file upload (step 1 of 3)POST /v1/direct_uploadsclient.uploadFileclient.upload_file
List filesGET /v1/mailboxes/{mailbox_id}/filesclient.listFilesclient.list_files
Save an uploaded file (step 3 of 3)POST /v1/mailboxes/{mailbox_id}/filesclient.uploadFileclient.upload_file
Find a file by pathGET /v1/mailboxes/{mailbox_id}/files/by_pathclient.api.getFileByPathclient.api.get_file_by_path
Append text to a filePOST /v1/mailboxes/{mailbox_id}/files/append_textclient.api.appendTextclient.api.append_text
Read file metadataGET /v1/mailboxes/{mailbox_id}/files/{file_id}client.api.getFileclient.api.get_file
Delete a fileDELETE /v1/mailboxes/{mailbox_id}/files/{file_id}client.api.deleteFileclient.api.delete_file
Get a download link for a fileGET /v1/mailboxes/{mailbox_id}/files/{file_id}/downloadclient.api.getFileDownloadclient.api.get_file_download
Rename or move a file in the same mailboxPOST /v1/mailboxes/{mailbox_id}/files/{file_id}/renameclient.api.renameFileclient.api.rename_file
Move a filePOST /v1/mailboxes/{mailbox_id}/files/{file_id}/moveclient.api.moveFileclient.api.move_file
Copy a filePOST /v1/mailboxes/{mailbox_id}/files/{file_id}/copyclient.api.copyFileclient.api.copy_file
List file versionsGET /v1/mailboxes/{mailbox_id}/files/{file_id}/versionsclient.api.listFileVersionsclient.api.list_file_versions
Restore a file versionPOST /v1/mailboxes/{mailbox_id}/files/{file_id}/versions/{version_id}/restoreclient.api.restoreFileVersionclient.api.restore_file_version
Start a batch uploadPOST /v1/mailboxes/{mailbox_id}/upload_sessionsclient.api.createUploadSessionclient.api.create_upload_session
Get storage targets for a batchPOST /v1/mailboxes/{mailbox_id}/upload_sessions/{session_id}/uploadsclient.api.addUploadSessionFilesclient.api.add_upload_session_files
Save uploaded filesPOST /v1/mailboxes/{mailbox_id}/upload_sessions/{session_id}/finalize_batchclient.api.saveUploadSessionBatchclient.api.save_upload_session_batch
Finish or cancel a batch uploadPOST /v1/mailboxes/{mailbox_id}/upload_sessions/{session_id}/finalizeclient.api.finalizeUploadSessionclient.api.finalize_upload_session

Email domains

Custom domains for mailbox addresses.

OperationHTTPTypeScriptPython
List custom email domainsGET /v1/account/email_domainsclient.api.listEmailDomainsclient.api.list_email_domains
Connect a custom email domainPOST /v1/account/email_domainsclient.api.createEmailDomainclient.api.create_email_domain
Check a hostname for conflicting DNSPOST /v1/account/email_domains/checkclient.api.checkEmailDomainclient.api.check_email_domain
Read a custom email domainGET /v1/account/email_domains/{domain_id}client.api.getEmailDomainclient.api.get_email_domain
Remove an unused custom email domainDELETE /v1/account/email_domains/{domain_id}client.api.deleteEmailDomainclient.api.delete_email_domain
Check DNS and provider setup againPOST /v1/account/email_domains/{domain_id}/verifyclient.api.verifyEmailDomainclient.api.verify_email_domain
Markdown version
↧
Loading PDF…