295 lines
4.7 KiB
Markdown
295 lines
4.7 KiB
Markdown
# Mailgun Routing Reference
|
|
|
|
**App name:** `mailgun`
|
|
**Base URL proxied:** `api.mailgun.net`
|
|
|
|
## API Path Pattern
|
|
|
|
```
|
|
/mailgun/v3/{resource}
|
|
```
|
|
|
|
## Common Endpoints
|
|
|
|
### Domains
|
|
|
|
#### List Domains
|
|
```bash
|
|
GET /mailgun/v3/domains
|
|
```
|
|
|
|
#### Get Domain
|
|
```bash
|
|
GET /mailgun/v3/domains/{domain_name}
|
|
```
|
|
|
|
#### Create Domain
|
|
```bash
|
|
POST /mailgun/v3/domains
|
|
```
|
|
|
|
#### Delete Domain
|
|
```bash
|
|
DELETE /mailgun/v3/domains/{domain_name}
|
|
```
|
|
|
|
### Messages
|
|
|
|
#### Send Message
|
|
```bash
|
|
POST /mailgun/v3/{domain_name}/messages
|
|
```
|
|
|
|
#### Send MIME Message
|
|
```bash
|
|
POST /mailgun/v3/{domain_name}/messages.mime
|
|
```
|
|
|
|
### Events
|
|
|
|
#### List Events
|
|
```bash
|
|
GET /mailgun/v3/{domain_name}/events
|
|
```
|
|
|
|
### Routes
|
|
|
|
#### List Routes
|
|
```bash
|
|
GET /mailgun/v3/routes
|
|
```
|
|
|
|
#### Create Route
|
|
```bash
|
|
POST /mailgun/v3/routes
|
|
```
|
|
|
|
#### Get Route
|
|
```bash
|
|
GET /mailgun/v3/routes/{route_id}
|
|
```
|
|
|
|
#### Update Route
|
|
```bash
|
|
PUT /mailgun/v3/routes/{route_id}
|
|
```
|
|
|
|
#### Delete Route
|
|
```bash
|
|
DELETE /mailgun/v3/routes/{route_id}
|
|
```
|
|
|
|
### Webhooks
|
|
|
|
#### List Webhooks
|
|
```bash
|
|
GET /mailgun/v3/domains/{domain_name}/webhooks
|
|
```
|
|
|
|
#### Create Webhook
|
|
```bash
|
|
POST /mailgun/v3/domains/{domain_name}/webhooks
|
|
```
|
|
|
|
#### Get Webhook
|
|
```bash
|
|
GET /mailgun/v3/domains/{domain_name}/webhooks/{webhook_type}
|
|
```
|
|
|
|
#### Update Webhook
|
|
```bash
|
|
PUT /mailgun/v3/domains/{domain_name}/webhooks/{webhook_type}
|
|
```
|
|
|
|
#### Delete Webhook
|
|
```bash
|
|
DELETE /mailgun/v3/domains/{domain_name}/webhooks/{webhook_type}
|
|
```
|
|
|
|
### Templates
|
|
|
|
#### List Templates
|
|
```bash
|
|
GET /mailgun/v3/{domain_name}/templates
|
|
```
|
|
|
|
#### Create Template
|
|
```bash
|
|
POST /mailgun/v3/{domain_name}/templates
|
|
```
|
|
|
|
#### Get Template
|
|
```bash
|
|
GET /mailgun/v3/{domain_name}/templates/{template_name}
|
|
```
|
|
|
|
#### Delete Template
|
|
```bash
|
|
DELETE /mailgun/v3/{domain_name}/templates/{template_name}
|
|
```
|
|
|
|
### Mailing Lists
|
|
|
|
#### List Mailing Lists
|
|
```bash
|
|
GET /mailgun/v3/lists/pages
|
|
```
|
|
|
|
#### Create Mailing List
|
|
```bash
|
|
POST /mailgun/v3/lists
|
|
```
|
|
|
|
#### Get Mailing List
|
|
```bash
|
|
GET /mailgun/v3/lists/{list_address}
|
|
```
|
|
|
|
#### Update Mailing List
|
|
```bash
|
|
PUT /mailgun/v3/lists/{list_address}
|
|
```
|
|
|
|
#### Delete Mailing List
|
|
```bash
|
|
DELETE /mailgun/v3/lists/{list_address}
|
|
```
|
|
|
|
### Mailing List Members
|
|
|
|
#### List Members
|
|
```bash
|
|
GET /mailgun/v3/lists/{list_address}/members/pages
|
|
```
|
|
|
|
#### Add Member
|
|
```bash
|
|
POST /mailgun/v3/lists/{list_address}/members
|
|
```
|
|
|
|
#### Get Member
|
|
```bash
|
|
GET /mailgun/v3/lists/{list_address}/members/{member_address}
|
|
```
|
|
|
|
#### Update Member
|
|
```bash
|
|
PUT /mailgun/v3/lists/{list_address}/members/{member_address}
|
|
```
|
|
|
|
#### Delete Member
|
|
```bash
|
|
DELETE /mailgun/v3/lists/{list_address}/members/{member_address}
|
|
```
|
|
|
|
### Suppressions
|
|
|
|
#### Bounces
|
|
```bash
|
|
GET /mailgun/v3/{domain_name}/bounces
|
|
POST /mailgun/v3/{domain_name}/bounces
|
|
GET /mailgun/v3/{domain_name}/bounces/{address}
|
|
DELETE /mailgun/v3/{domain_name}/bounces/{address}
|
|
```
|
|
|
|
#### Unsubscribes
|
|
```bash
|
|
GET /mailgun/v3/{domain_name}/unsubscribes
|
|
POST /mailgun/v3/{domain_name}/unsubscribes
|
|
DELETE /mailgun/v3/{domain_name}/unsubscribes/{address}
|
|
```
|
|
|
|
#### Complaints
|
|
```bash
|
|
GET /mailgun/v3/{domain_name}/complaints
|
|
POST /mailgun/v3/{domain_name}/complaints
|
|
DELETE /mailgun/v3/{domain_name}/complaints/{address}
|
|
```
|
|
|
|
#### Whitelists
|
|
```bash
|
|
GET /mailgun/v3/{domain_name}/whitelists
|
|
POST /mailgun/v3/{domain_name}/whitelists
|
|
DELETE /mailgun/v3/{domain_name}/whitelists/{address}
|
|
```
|
|
|
|
### Statistics
|
|
|
|
#### Get Stats
|
|
```bash
|
|
GET /mailgun/v3/{domain_name}/stats/total?event=delivered
|
|
```
|
|
|
|
### Tags
|
|
|
|
#### List Tags
|
|
```bash
|
|
GET /mailgun/v3/{domain_name}/tags
|
|
```
|
|
|
|
#### Get Tag
|
|
```bash
|
|
GET /mailgun/v3/{domain_name}/tags/{tag_name}
|
|
```
|
|
|
|
#### Delete Tag
|
|
```bash
|
|
DELETE /mailgun/v3/{domain_name}/tags/{tag_name}
|
|
```
|
|
|
|
### IPs
|
|
|
|
#### List IPs
|
|
```bash
|
|
GET /mailgun/v3/ips
|
|
```
|
|
|
|
#### Get IP
|
|
```bash
|
|
GET /mailgun/v3/ips/{ip_address}
|
|
```
|
|
|
|
### Domain Tracking
|
|
|
|
#### Get Tracking Settings
|
|
```bash
|
|
GET /mailgun/v3/domains/{domain_name}/tracking
|
|
```
|
|
|
|
#### Update Tracking
|
|
```bash
|
|
PUT /mailgun/v3/domains/{domain_name}/tracking/open
|
|
PUT /mailgun/v3/domains/{domain_name}/tracking/click
|
|
PUT /mailgun/v3/domains/{domain_name}/tracking/unsubscribe
|
|
```
|
|
|
|
### Credentials
|
|
|
|
#### List Credentials
|
|
```bash
|
|
GET /mailgun/v3/domains/{domain_name}/credentials
|
|
```
|
|
|
|
#### Create Credential
|
|
```bash
|
|
POST /mailgun/v3/domains/{domain_name}/credentials
|
|
```
|
|
|
|
#### Delete Credential
|
|
```bash
|
|
DELETE /mailgun/v3/domains/{domain_name}/credentials/{login}
|
|
```
|
|
|
|
## Notes
|
|
|
|
- Mailgun uses `application/x-www-form-urlencoded` for POST/PUT requests, not JSON
|
|
- Routes are global (per account), not per domain
|
|
- Sandbox domains require authorized recipients
|
|
- Event logs stored for at least 3 days
|
|
- Stats require at least one `event` parameter
|
|
- US region: api.mailgun.net, EU region: api.eu.mailgun.net
|
|
|
|
## Resources
|
|
|
|
- [Mailgun API Documentation](https://documentation.mailgun.com/docs/mailgun/api-reference/api-overview)
|