# POST /api/v1/email/vacation

> List, create, update or delete vacation messages

- Group: email
- Tier: W
- Required scope: read:email
- Docs: https://api.inleed.com/reference/email/manage-vacation

## Description

`action=list` returns each mailbox `address` with its `startDate`/`endDate`. `create`/ `update` need `address`, `text`, `start_date` and `end_date`; `delete` needs `address`. The three writes require the `write:email` scope.

## Body

- `input` — string (required). A domain, email address, website URL, or Inleed service id — for example example.se, info@example.se or 42976. Resolved to the owning account automatically, and the resolved target is echoed back in the response. Up to 255 characters.
- `action` — enum (required). list all vacation messages, create a new one, update an existing one, or delete one. Anything but list requires the write:email scope. One of list, create, update, delete.
- `address` — string. The mailbox the vacation reply is on, e.g. me@example.com.
- `text` — string. The out-of-office message body. Required for create and update.
- `start_date` — string. The day the auto-reply starts, YYYY-MM-DD. Required for create and update.
- `end_date` — string. The day the auto-reply ends, YYYY-MM-DD (on or after start_date). Required for create and update.
- `start_time` — enum. One of morning, afternoon, evening.
- `end_time` — enum. One of morning, afternoon, evening.
- `cc` — string. Optional: an address to copy each auto-reply to.

## Request

```bash
curl -X POST "https://mcp.inleed.com/api/v1/email/vacation" \
  -H "Authorization: Bearer inl_live_…" \
  -H "Content-Type: application/json" \
  -d '{"input":"example.se","action":"list","address":"info@example.se","text":"example.se","start_date":"example.se","end_date":"example.se","start_time":"morning","end_time":"morning","cc":"example.se"}'
```

## Errors

- **400**  — codes: invalid_request
- **401** No token was presented, or the token is revoked, expired or unknown. — codes: unauthorized, token_expired, token_revoked
- **403** The token lacks a required scope, or this account does not own the resource. — codes: insufficient_scope, domain_not_owned
- **404** No such resource for this account. — codes: not_found
- **422** Validation error — codes: validation_failed
- **429** The rate limit for this token is exhausted. See `Retry-After`. — codes: rate_limited
- **500** Something went wrong on our side. The failure is logged against `requestId`. — codes: internal_error

## Related

- GET /api/v1/email/vacation — https://api.inleed.com/reference/email/list-vacation-messages
- PUT /api/v1/email/vacation — https://api.inleed.com/reference/email/update-vacation
- DELETE /api/v1/email/vacation — https://api.inleed.com/reference/email/delete-vacation

