Files
2026-04-11 09:45:12 -05:00

174 lines
3.9 KiB
Markdown

# Zoho Mail Routing Reference
**App name:** `zoho-mail`
**Base URL proxied:** `mail.zoho.com`
## API Path Pattern
```
/zoho-mail/api/{resource}
```
## Common Endpoints
### Accounts
```bash
# Get all accounts
GET /zoho-mail/api/accounts
# Get account details
GET /zoho-mail/api/accounts/{accountId}
```
### Folders
```bash
# List all folders
GET /zoho-mail/api/accounts/{accountId}/folders
# Create folder
POST /zoho-mail/api/accounts/{accountId}/folders
Content-Type: application/json
{
"folderName": "My Folder"
}
# Rename folder
PUT /zoho-mail/api/accounts/{accountId}/folders/{folderId}
Content-Type: application/json
{
"folderName": "Renamed Folder"
}
# Delete folder
DELETE /zoho-mail/api/accounts/{accountId}/folders/{folderId}
```
### Labels
```bash
# List labels
GET /zoho-mail/api/accounts/{accountId}/labels
# Create label
POST /zoho-mail/api/accounts/{accountId}/labels
Content-Type: application/json
{
"labelName": "Important"
}
# Update label
PUT /zoho-mail/api/accounts/{accountId}/labels/{labelId}
# Delete label
DELETE /zoho-mail/api/accounts/{accountId}/labels/{labelId}
```
### Messages
```bash
# List emails in folder
GET /zoho-mail/api/accounts/{accountId}/messages/view?folderId={folderId}&limit=50
# Search emails
GET /zoho-mail/api/accounts/{accountId}/messages/search?searchKey={query}
# Get email content
GET /zoho-mail/api/accounts/{accountId}/folders/{folderId}/messages/{messageId}/content
# Get email headers
GET /zoho-mail/api/accounts/{accountId}/folders/{folderId}/messages/{messageId}/header
# Get email metadata
GET /zoho-mail/api/accounts/{accountId}/folders/{folderId}/messages/{messageId}/details
# Get original MIME message
GET /zoho-mail/api/accounts/{accountId}/messages/{messageId}/originalmessage
# Send email
POST /zoho-mail/api/accounts/{accountId}/messages
Content-Type: application/json
{
"fromAddress": "sender@yourdomain.com",
"toAddress": "recipient@example.com",
"subject": "Subject",
"content": "Email body",
"mailFormat": "html"
}
# Reply to email
POST /zoho-mail/api/accounts/{accountId}/messages/{messageId}
# Update message (mark read, move, flag, archive, spam)
PUT /zoho-mail/api/accounts/{accountId}/updatemessage
Content-Type: application/json
{
"messageId": ["messageId1"],
"folderId": "folderId",
"mode": "markAsRead"
}
# Delete email
DELETE /zoho-mail/api/accounts/{accountId}/folders/{folderId}/messages/{messageId}
```
### Attachments
```bash
# Upload attachment
POST /zoho-mail/api/accounts/{accountId}/messages/attachments
Content-Type: multipart/form-data
# Get attachment info
GET /zoho-mail/api/accounts/{accountId}/folders/{folderId}/messages/{messageId}/attachmentinfo
# Download attachment
GET /zoho-mail/api/accounts/{accountId}/folders/{folderId}/messages/{messageId}/attachments/{attachmentId}
```
## Update Message Modes
| Mode | Description |
|------|-------------|
| `markAsRead` | Mark messages as read |
| `markAsUnread` | Mark messages as unread |
| `moveMessage` | Move messages (requires `destfolderId`) |
| `flag` | Set flag (requires `flagid`: 1-4) |
| `archive` | Archive messages |
| `unArchive` | Unarchive messages |
| `spam` | Mark as spam |
| `notSpam` | Mark as not spam |
## Default Folders
| Folder | Type |
|--------|------|
| Inbox | `Inbox` |
| Drafts | `Drafts` |
| Templates | `Templates` |
| Snoozed | `Snoozed` |
| Sent | `Sent` |
| Spam | `Spam` |
| Trash | `Trash` |
| Outbox | `Outbox` |
## Notes
- Account IDs are required for most operations - get via `/api/accounts`
- Message IDs and Folder IDs are numeric strings
- The `fromAddress` must be associated with the authenticated account
- Uses offset-based pagination with `start` and `limit` parameters
- Some operations require additional OAuth scopes
## Resources
- [Zoho Mail API Overview](https://www.zoho.com/mail/help/api/overview.html)
- [Email Messages API](https://www.zoho.com/mail/help/api/email-api.html)
- [Folders API](https://www.zoho.com/mail/help/api/get-all-folder-details.html)