> ## Documentation Index
> Fetch the complete documentation index at: https://docs.moonemail.co/llms.txt
> Use this file to discover all available pages before exploring further.

# SDKs

> Open-source JavaScript, TypeScript, Python and Go clients generated from the Moonemail API contract.

Use the [official SDK repository](https://github.com/halyard-labs/moonemail-sdks)
for server-side integrations. All three clients cover sending, receiving,
inboxes, domains and health, webhooks, suppressions, API keys and permissions.

The SDKs are MIT licensed and generated from the same public OpenAPI contract as
this reference. Dashboard billing and OAuth consent are not API-key operations.

> [!NOTE]
>
> JavaScript/TypeScript is available on [npm](https://www.npmjs.com/package/moonemail).
> Python is available on [PyPI](https://pypi.org/project/moonemail/).
> Go uses a versioned module tag. Pin versions and test upgrades.

**JavaScript / TypeScript**

```bash theme={null}
npm install moonemail@0.1.1
```

```typescript theme={null}
import { Moonemail } from 'moonemail';

const email = new Moonemail(process.env.MOONEMAIL_API_KEY!);
const sent = await email.emails.send({
  from: 'Acme <hello@your-verified-domain.com>',
  to: ['recipient@example.com'],
  subject: 'Your receipt',
  text: 'Thanks for your order.',
}, { idempotencyKey: 'order-123-receipt' });
```

Node.js 22+. [TypeScript usage and errors](https://github.com/halyard-labs/moonemail-sdks/tree/main/typescript).

**Python**

```bash theme={null}
pip install moonemail==0.1.1
```

```python theme={null}
import os
from moonemail import Moonemail

with Moonemail(os.environ['MOONEMAIL_API_KEY']) as email:
    sent = email.emails.send({
        'from': 'Acme <hello@your-verified-domain.com>',
        'to': ['recipient@example.com'],
        'subject': 'Your receipt',
        'text': 'Thanks for your order.',
    }, idempotency_key='order-123-receipt')
```

Python 3.10+. [Python usage and errors](https://github.com/halyard-labs/moonemail-sdks/tree/main/python).

**Go**

```bash theme={null}
go get github.com/halyard-labs/moonemail-sdks/go@v0.1.1
```

```go theme={null}
email, err := moonemail.New(os.Getenv("MOONEMAIL_API_KEY"))
if err != nil { return err }
```

Go 1.23+. [Complete Go example](https://github.com/halyard-labs/moonemail-sdks/tree/main/go).

Keep keys on your server. Clients do not automatically retry sends; reuse the
same idempotency key and payload when retrying, and respect rate-limit responses.
These clients do not add unsupported features such as campaigns or SMTP.

## Versions and updates

New API contract versions trigger SDK releases. SDK fixes can also ship as patch
releases, so the SDK and API version numbers may differ. The release workflow
regenerates and tests all three clients before publishing. See
[release notes](https://github.com/halyard-labs/moonemail-sdks/releases) for changes
and [the public contract](https://github.com/halyard-labs/moonemail-sdks/blob/main/spec/openapi.json)
for the schemas behind the clients. Your installed package stays pinned until you
choose to upgrade.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.