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

146 lines
3.6 KiB
Markdown

# Gmail Routing Reference
**App name:** `google-mail`
**Base URL proxied:** `gmail.googleapis.com`
## API Path Pattern
```
/google-mail/gmail/v1/users/me/{endpoint}
```
## Common Endpoints
### List Messages
```bash
GET /google-mail/gmail/v1/users/me/messages?maxResults=10
```
With query filter:
```bash
GET /google-mail/gmail/v1/users/me/messages?q=is:unread&maxResults=10
```
### Get Message
```bash
GET /google-mail/gmail/v1/users/me/messages/{messageId}
```
With metadata only:
```bash
GET /google-mail/gmail/v1/users/me/messages/{messageId}?format=metadata&metadataHeaders=From&metadataHeaders=Subject&metadataHeaders=Date
```
### Send Message
```bash
POST /google-mail/gmail/v1/users/me/messages/send
Content-Type: application/json
{
"raw": "BASE64_ENCODED_EMAIL"
}
```
### List Labels
```bash
GET /google-mail/gmail/v1/users/me/labels
```
### List Threads
```bash
GET /google-mail/gmail/v1/users/me/threads?maxResults=10
```
### Get Thread
```bash
GET /google-mail/gmail/v1/users/me/threads/{threadId}
```
### Modify Message Labels
```bash
POST /google-mail/gmail/v1/users/me/messages/{messageId}/modify
Content-Type: application/json
{
"addLabelIds": ["STARRED"],
"removeLabelIds": ["UNREAD"]
}
```
### Trash Message
```bash
POST /google-mail/gmail/v1/users/me/messages/{messageId}/trash
```
### Create Draft
```bash
POST /google-mail/gmail/v1/users/me/drafts
Content-Type: application/json
{
"message": {
"raw": "BASE64URL_ENCODED_EMAIL"
}
}
```
### Update Draft
```bash
PUT /google-mail/gmail/v1/users/me/drafts/{draftId}
Content-Type: application/json
{
"message": {
"raw": "BASE64URL_ENCODED_EMAIL"
}
}
```
### Send Draft
```bash
POST /google-mail/gmail/v1/users/me/drafts/send
Content-Type: application/json
{
"id": "{draftId}"
}
```
### Get Profile
```bash
GET /google-mail/gmail/v1/users/me/profile
```
## Query Operators
Use in the `q` parameter:
- `is:unread` - Unread messages
- `is:starred` - Starred messages
- `from:email@example.com` - From specific sender
- `to:email@example.com` - To specific recipient
- `subject:keyword` - Subject contains keyword
- `after:2024/01/01` - After date
- `before:2024/12/31` - Before date
- `has:attachment` - Has attachments
## Notes
- Authentication is automatic - the router injects the OAuth token
- Use `me` as userId for the authenticated user
- Message body is base64url encoded in the `raw` field
## Resources
- [API Overview](https://developers.google.com/gmail/api/reference/rest)
- [List Messages](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/list)
- [Get Message](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/get)
- [Send Message](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/send)
- [Modify Message Labels](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/modify)
- [Trash Message](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/trash)
- [List Threads](https://developers.google.com/gmail/api/reference/rest/v1/users.threads/list)
- [Get Thread](https://developers.google.com/gmail/api/reference/rest/v1/users.threads/get)
- [List Labels](https://developers.google.com/gmail/api/reference/rest/v1/users.labels/list)
- [Create Draft](https://developers.google.com/gmail/api/reference/rest/v1/users.drafts/create)
- [Update Draft](https://developers.google.com/gmail/api/reference/rest/v1/users.drafts/update)
- [Send Draft](https://developers.google.com/gmail/api/reference/rest/v1/users.drafts/send)
- [Get Profile](https://developers.google.com/gmail/api/reference/rest/v1/users/getProfile)