# SvelteKit

> Send your first email from a SvelteKit endpoint using the sendping SDK.

Send your first email from a SvelteKit app using the `sendping` Node SDK. Install it with `npm install sendping`, then import `SendPing` and call `mb.emails.send()`. A [`+server` endpoint](https://svelte.dev/docs/kit/routing#server) runs server-side only.

## Prerequisites

- A SendPing [API key](https://www.sendping.co/docs/api-keys/overview).
- A [verified domain](https://www.sendping.co/docs/domains/managing) to send from.

## 1. Install the SDK

```bash
npm install sendping
```

## 2. Add your API key

Store your key in `.env`. Import it from `$env/static/private`, which is only available in server code.

**.env**

```ini
SENDPING_API_KEY=mb_xxxxxxxxx
```

## 3. Send email from a +server route

Create a `+server.ts` endpoint under `src/routes/send/`. Instantiate the SDK with the private key and call `mb.emails.send()`.

**src/routes/send/+server.ts**

```ts
import { SENDPING_API_KEY } from '$env/static/private';
import { SendPing } from 'sendping';

const mb = new SendPing(SENDPING_API_KEY);

export async function POST() {
  const { data, error } = await mb.emails.send({
    from: 'Acme <onboarding@yourdomain.com>',
    to: ['delivered@test.sendping.co'],
    subject: 'Hello world',
    html: '<p>Hello world</p>',
  });

  if (error) {
    return Response.json({ error }, { status: 500 });
  }

  return Response.json({ data });
}
```

> **Note:** A successful call returns the created email's `id`. See the full request body in the [Send an email](https://www.sendping.co/docs/api/emails-send) reference.
