> For the complete documentation index, see [llms.txt](https://api.senderwiz.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://api.senderwiz.com/customer/transactional-emails/create-a-transactional-email.md).

# Create a Transactional Email

Create and schedule a new transactional email, with optional attachments and plain text content.

### ✉️ Create a Transactional Email

Use this endpoint to send or schedule a transactional email to a recipient.

***

#### 🔹 HTTP Request

```http
POST API-URL/transactional-emails
```

***

#### 🔐 Authorization Header

```
X-API-KEY: your-api-key-here
```

***

#### 📥 POST Parameters

| Parameter | Type  | Required | Description              |
| --------- | ----- | -------- | ------------------------ |
| `email`   | array | Yes      | Array with email details |

**📌 Data Block - Required**

| Field       | Type     | Required | Description                          |
| ----------- | -------- | -------- | ------------------------------------ |
| `to_name`   | string   | Yes      | Recipient name                       |
| `to_email`  | string   | Yes      | Recipient email                      |
| `from_name` | string   | Yes      | Sender name                          |
| `subject`   | string   | Yes      | Email subject                        |
| `body`      | string   | Yes      | Email body (HTML)                    |
| `send_at`   | datetime | Yes      | UTC datetime in `Y-m-d H:i:s` format |

**📝 Optional Fields**

| Field            | Type   | Description                                  |
| ---------------- | ------ | -------------------------------------------- |
| `plain_text`     | string | Auto generated if missing                    |
| `from_email`     | string | Sender email address                         |
| `reply_to_name`  | string | Reply-to name                                |
| `reply_to_email` | string | Reply-to email address                       |
| `attachments`    | array  | List of attachments (`type`, `name`, `data`) |

***

#### 💻 PHP Example

```php
// CREATE A NEW EMAIL
$rand = rand();
$response = $endpoint->create([
    'to_name'           => 'Lucas Demo',
    'to_email'          => 'lucas@demo.net',
    'from_name'         => 'Evelyn Sender',
    'from_email'        => 'evelyn@demo.net',
    'reply_to_name'     => 'Evelyn Sender',
    'reply_to_email'    => 'evelyn@demo.net',
    'subject'           => 'This is a sample email subject',
    'body'              => '<strong>Hello from SenderWiz!</strong>',
    'plain_text'        => 'Hello from SenderWiz!',
    'send_at'           => date('Y-m-d H:i:s'),
    'attachments'       => [
        [
            'type' => 'image/png',
            'name' => basename(__DIR__ . '/files/image.png'),
            'data' => base64_encode((string)file_get_contents(__DIR__ . '/files/image.png')),
        ],
        [
            'type' => 'application/pdf',
            'name' => basename(__DIR__ . '/files/document.pdf'),
            'data' => base64_encode((string)file_get_contents(__DIR__ . '/files/document.pdf')),
        ],
    ]
]);

// DISPLAY RESPONSE
echo '<hr /><pre>';
print_r($response->body);
echo '</pre>';
```

***

#### 📦 Sample JSON Response

```json
{
  "status": "success",
  "email_uid": "te456j4jqn1a1"
}
```
