# Email Normalize Post Batch

> Normalizes up to 100 email addresses in one request. Results are in the same order as the input. Each item includes valid (boolean); when false, only original and message are set. Usage is billed per email processed (see gateway usage headers).

- Skill: `gabrielmoreira/email-normalize-post-batch` (Agent Skill)
- Install (CLI): `npx skillmds@latest add gabrielmoreira/email-normalize-post-batch`
- Raw SKILL.md: https://api.skillmd.com/api/skills/gabrielmoreira/email-normalize-post-batch/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: gabrielmoreira (https://skillmd.com/u/gabrielmoreira)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/gabrielmoreira/email-normalize-post-batch

---


## Endpoint

**POST https://requiems.xyz/v1/text/normalize/batch**

## Normalize Email Batch

Normalizes up to 100 email addresses in one request. Results are in the same order as the input. Each item includes valid (boolean); when false, only original and message are set. Usage is billed per email processed (see gateway usage headers).

## Parameters

| Name | Type | Required | Location | Description |
| ---- | ---- | -------- | -------- | ----------- |
| `emails` | array<string> | yes | body | Array of addresses to normalize (min 1, max 100; each entry non-empty) |

## Request Example

```json
{
  "emails": [
    "user@example.com",
    "not-an-email",
    "te.st@gmail.com"
  ]
}
```

## Response Example

```json
{
  "data": {
    "results": [
      {
        "original": "user@example.com",
        "normalized": "user@example.com",
        "local": "user",
        "domain": "example.com",
        "changes": [],
        "valid": true
      },
      {
        "original": "not-an-email",
        "valid": false,
        "message": "invalid email address"
      },
      {
        "original": "te.st@gmail.com",
        "normalized": "test@gmail.com",
        "local": "test",
        "domain": "gmail.com",
        "changes": ["lowercased", "removed_dots"],
        "valid": true
      }
    ],
    "total": 3
  },
  "metadata": {
    "timestamp": "2026-01-01T00:00:00Z"
  }
}
```

## Response Fields

| Field | Type | Description |
| ----- | ---- | ----------- |
| `results` | array<object> | One normalization result per input email, in order |
| `total` | integer | Number of emails in the batch (same as results length) |

## Errors

- `422` **validation_failed** — Missing emails, empty array, too many items, or empty string in the array
- `400` **bad_request** — Invalid JSON or unknown fields in the body

