API endpoints reference

Complete reference for the Vend Email API endpoints.

Domains

View domains available to use in your account.

List domains

Retrieve a list of all domains in your account.

GET /api/v1/domains

Get domain

Get details about a specific domain.

GET /api/v1/domains/:id

Forwarders

Manage email forwarding addresses and their configurations.

List forwarders

Retrieve a list of all forwarders in your account.

GET /api/v1/forwarders

Get forwarder

Get details about a specific forwarder.

GET /api/v1/forwarders/:id

Create forwarder

Create a new email forwarder.

POST /api/v1/forwarders
{
  "local_part": "sales",
  "domain_id": 1,
  "name": "John Doe",
  "recipients": "team@example.com, jane@example.com",
  "title": "Sales inquiries",
  "description": "Forward sales inquiries to the sales team",
  "supporting_details": "Include any additional information here",
  "tags_string": "Sales, Inquiries",
  "price": 0.00
}

Update forwarder

Update an existing forwarder's configuration.

PATCH /api/v1/forwarders/:id
{
  "name": "Jane Doe"
}

Delete forwarder

Remove a forwarder.

DELETE /api/v1/forwarders/:id

Quick create

Create a ready-to-use alias in a single request. Pass a template and Vend Email fills in the domain, recipients, sender name and tags for you. Ideal for browser extensions, bookmarklets and scripts.

Create an alias

Both fields are optional. Omit local_part and an available address is generated using the template’s naming style; omit forwarder_template_id and your first available domain and default recipients are used.

POST /api/v1/quick-forwarder
{
  "forwarder_template_id": 1,
  "local_part": "acme"
}

Returns 201 Created with the finished address, ready to paste:

{
  "email": "acme@vend.email",
  "template_id": 1,
  "forwarder": {
    "id": 42,
    "email": "acme@vend.email",
    "to": "you@example.com",
    "active": true
  }
}

If the address is taken, your plan limit is reached, or the template’s domain is no longer available to you, the response is 422 Unprocessable Entity:

{
  "error": "Local part has already been taken"
}

Check availability

Verify an address before claiming it. domain_id is optional when forwarder_template_id is given.

GET /api/v1/quick-forwarder/availability?local_part=acme&domain_id=1
{
  "email": "acme@vend.email",
  "available": true
}

Templates

Templates store the defaults used by quick create: a domain, recipients, sender name, tags and the style of randomly generated address.

List templates

Get all templates in your account, most recently used first.

GET /api/v1/templates
[
  {
    "id": 1,
    "name": "Online shopping",
    "color": "cyan",
    "generator": "memorable",
    "sender_name": "John Doe",
    "recipient": "you@example.com",
    "tags": ["Shopping", "Receipts"],
    "domain": { "id": 1, "host_name": "vend.email" },
    "usage": { "count": 12, "last_used_at": "2026-09-01T09:12:44.000Z" }
  }
]

Get template

Get details about a specific template.

GET /api/v1/templates/:id

Create template

Only name and domain_id are required. generator accepts memorable, name or alphanumeric; color accepts cyan, violet, emerald, amber, rose or slate.

POST /api/v1/templates
{
  "name": "Online shopping",
  "domain_id": 1,
  "sender_name": "John Doe",
  "recipient": "you@example.com",
  "tags_string": "Shopping, Receipts",
  "generator": "memorable",
  "color": "cyan"
}

Update template

Update an existing template.

PATCH /api/v1/templates/:id
{
  "recipient": "shopping@example.com"
}

Delete template

Remove a template. Aliases already created from it are unaffected.

DELETE /api/v1/templates/:id

Safe senders

Manage your list of approved email senders.

List safe senders

Get all approved sender addresses.

GET /api/v1/safe-senders

Get safe sender

Get details about a specific safe sender.

GET /api/v1/safe-senders/:id

Add safe sender

Add a new approved sender.

POST /api/v1/safe-senders
{
  "email": "trusted@partner.com"
}

Remove safe sender

Remove an address from approved senders.

DELETE /api/v1/safe-senders/:id

Unsafe senders

Manage your list of blocked email senders.

List unsafe senders

Get all blocked sender addresses.

GET /api/v1/unsafe-senders

Get unsafe sender

Get details about a specific unsafe sender.

GET /api/v1/unsafe-senders/:id

Add unsafe sender

Add a new blocked sender.

POST /api/v1/unsafe-senders
{
  "email": "spam@example.com"
}

Remove Unsafe sender

Remove an address from blocked senders.

DELETE /api/v1/unsafe-senders/:id

Tags

Manage tags for organizing forwarders.

List tags

Get all tags in your account.

GET /api/v1/tags

Get tag

Get details about a specific tag.

GET /api/v1/tags/:id

Create tag

Create a new tag.

POST /api/v1/tags
{
  "name": "Productivity",
}

Update tag

Update an existing tag.

PATCH /api/v1/tags/:id
{
  "name": "Sales",
}

Delete tag

Remove a tag.

DELETE /api/v1/tags/:id

Note: All endpoints require authentication. See our OAuth or API Token documentation for details.