---
title: "Create or update a sender rule for the signed-in user."
method: POST
path: "/v1/email/sender-rules"
tags: ["email"]
---

# Create or update a sender rule for the signed-in user.

`POST /v1/email/sender-rules`

## Request

- Base URL: `https://api.kody.codes`
- URL: `https://api.kody.codes/v1/email/sender-rules`
- Auth: HTTP bearer

Create or update a sender rule for the signed-in user. Classification matches rules on RFC5322 From after Authentication-Results: allow/block/quarantine by address or domain (address beats domain; subdomain suffix matching). Allow only accepts when From authenticates (DMARC pass or aligned SPF); block rejects at SMTP before quota; quarantine stores mail and fires email.message.quarantined instead of email.message.received.

Org permission: `email:write`.

## Request body

- object
  - `kind` 'address' | 'domain', required
  - `value` string, required
  - `effect` 'allow' | 'block' | 'quarantine', required
  - `note` string

## Response `200`

Success.

- object
  - `rule` object, required
    - `id` string, required
    - `kind` 'address' | 'domain', required
    - `value` string, required
    - `effect` 'allow' | 'block' | 'quarantine', required
    - `note` string, required
    - `created_at` string, required
    - `updated_at` string, required

## Other responses

- `400`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `401`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `403`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `404`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `409`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `413`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `429`: Too many requests (edge IP/token limit) or an entitlement / plan-cap limit. Wait at least `Retry-After` seconds before retrying.
- `500`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `503`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `default`: Error envelope `{ "error": { "code", "message", "details"? } }`.

---

[API](https://skmtc.dev/kody/apis/kody-api.md) · [All operations](https://skmtc.dev/kody/apis/kody-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kody/apis/kody-api/revisions/705f4f022728?raw)
