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

# Resend

> Transactional and marketing email API for sending, scheduling, and tracking messages from a verified domain.

Transactional and marketing email API for sending, scheduling, and tracking messages from a verified domain. Best for product notifications, onboarding flows, password resets, and broadcasts to a contact list. Unlike SMTP relays, Resend ships a developer-first REST API with React-email rendering, idempotency keys, templates, automations, and per-message logs out of the box.

20 example endpoints available through Lava's AI Gateway. See the [Resend API docs](https://resend.com/docs/api-reference/introduction) for full documentation.

<Warning>This provider requires your own credentials — connect your API key or OAuth account before use.</Warning>

<Info>This is a **catch-all provider** — any valid URL under `https://api.resend.com` is supported. Any Resend API endpoint except credential-management routes such as api-keys. Construct URL as [https://api.resend.com/\&#123;path\&#125](https://api.resend.com/\&#123;path\&#125);. Common roots: emails, broadcasts, automations, events, templates, contacts, contact-properties, segments, topics, domains, logs, webhooks, audiences (deprecated). See [https://resend.com/docs/api-reference/introduction](https://resend.com/docs/api-reference/introduction) for the full reference. Default upstream rate limit: 5 requests/second per team. The endpoints below are curated examples.</Info>

## Endpoints

### Send a transactional email from a verified sender. Supports html, text, attachments, tags, and templates.

**POST** `https://api.resend.com/emails` — Free

<Tabs>
  <Tab title="SDK">
    ```typescript theme={null}
    const data = await lava.gateway('https://api.resend.com/emails', {
      body: {
    "from": "Acme <onboarding@resend.dev>",
    "to": [
      "delivered@resend.dev"
    ],
    "subject": "hello world",
    "html": "<p>it works!</p>"
    },
    });
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.resend.com%2Femails" \
      -H "Authorization: Bearer $LAVA_SECRET_KEY" \
      -H "Content-Type: application/json" \
      -d '{"from":"Acme <onboarding@resend.dev>","to":["delivered@resend.dev"],"subject":"hello world","html":"<p>it works!</p>"}'
    ```
  </Tab>
</Tabs>

### Send up to 100 emails in a single request.

**POST** `https://api.resend.com/emails/batch` — Free

<Tabs>
  <Tab title="SDK">
    ```typescript theme={null}
    const data = await lava.gateway('https://api.resend.com/emails/batch', {
      body: [
    {
      "from": "Acme <onboarding@resend.dev>",
      "to": [
        "delivered@resend.dev"
      ],
      "subject": "first",
      "html": "<p>one</p>"
    },
    {
      "from": "Acme <onboarding@resend.dev>",
      "to": [
        "delivered@resend.dev"
      ],
      "subject": "second",
      "html": "<p>two</p>"
    }
    ],
    });
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.resend.com%2Femails%2Fbatch" \
      -H "Authorization: Bearer $LAVA_SECRET_KEY" \
      -H "Content-Type: application/json" \
      -d '[{"from":"Acme <onboarding@resend.dev>","to":["delivered@resend.dev"],"subject":"first","html":"<p>one</p>"},{"from":"Acme <onboarding@resend.dev>","to":["delivered@resend.dev"],"subject":"second","html":"<p>two</p>"}]'
    ```
  </Tab>
</Tabs>

### List sent emails (cursor-paginated).

**GET** `https://api.resend.com/emails` — Free

<Tabs>
  <Tab title="SDK">
    ```typescript theme={null}
    const data = await lava.gateway('https://api.resend.com/emails', { method: 'GET' });
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.resend.com%2Femails" \
      -H "Authorization: Bearer $LAVA_SECRET_KEY"
    ```
  </Tab>
</Tabs>

### Retrieve a single sent email by id.

**GET** `https://api.resend.com/emails/{email_id}` — Free

<Tabs>
  <Tab title="SDK">
    ```typescript theme={null}
    const data = await lava.gateway('https://api.resend.com/emails/{email_id}', { method: 'GET' });
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.resend.com%2Femails%2F%7Bemail_id%7D" \
      -H "Authorization: Bearer $LAVA_SECRET_KEY"
    ```
  </Tab>
</Tabs>

### Update a scheduled email (e.g., reschedule the send time before it goes out).

**PATCH** `https://api.resend.com/emails/{email_id}` — Free

<Tabs>
  <Tab title="SDK">
    ```typescript theme={null}
    const data = await lava.gateway('https://api.resend.com/emails/{email_id}', { method: 'PATCH', body: {"scheduled_at":"2026-06-01T12:00:00Z"} });
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl -X PATCH "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.resend.com%2Femails%2F%7Bemail_id%7D" \
      -H "Authorization: Bearer $LAVA_SECRET_KEY" \
      -H "Content-Type: application/json" \
      -d '{"scheduled_at":"2026-06-01T12:00:00Z"}'
    ```
  </Tab>
</Tabs>

### Cancel a scheduled email before it is sent.

**POST** `https://api.resend.com/emails/{email_id}/cancel` — Free

<Tabs>
  <Tab title="SDK">
    ```typescript theme={null}
    const data = await lava.gateway('https://api.resend.com/emails/{email_id}/cancel', { method: 'POST' });
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.resend.com%2Femails%2F%7Bemail_id%7D%2Fcancel" \
      -H "Authorization: Bearer $LAVA_SECRET_KEY" \
      -H "Content-Type: application/json"
    ```
  </Tab>
</Tabs>

### Create a broadcast (one-to-many email campaign) targeting a segment or audience.

**POST** `https://api.resend.com/broadcasts` — Free

<Tabs>
  <Tab title="SDK">
    ```typescript theme={null}
    const data = await lava.gateway('https://api.resend.com/broadcasts', {
      body: {
    "name": "Launch announcement",
    "from": "Acme <onboarding@resend.dev>",
    "subject": "We just shipped",
    "html": "<p>Big news.</p>",
    "audience_id": "78261eea-8f8b-4381-83c6-79fa7120f1cf"
    },
    });
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.resend.com%2Fbroadcasts" \
      -H "Authorization: Bearer $LAVA_SECRET_KEY" \
      -H "Content-Type: application/json" \
      -d '{"name":"Launch announcement","from":"Acme <onboarding@resend.dev>","subject":"We just shipped","html":"<p>Big news.</p>","audience_id":"78261eea-8f8b-4381-83c6-79fa7120f1cf"}'
    ```
  </Tab>
</Tabs>

### Send (or schedule) a previously created broadcast.

**POST** `https://api.resend.com/broadcasts/{broadcast_id}/send` — Free

<Tabs>
  <Tab title="SDK">
    ```typescript theme={null}
    const data = await lava.gateway('https://api.resend.com/broadcasts/{broadcast_id}/send', { body: {"scheduled_at":"in 1 hour"} });
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.resend.com%2Fbroadcasts%2F%7Bbroadcast_id%7D%2Fsend" \
      -H "Authorization: Bearer $LAVA_SECRET_KEY" \
      -H "Content-Type: application/json" \
      -d '{"scheduled_at":"in 1 hour"}'
    ```
  </Tab>
</Tabs>

### List broadcasts in the workspace.

**GET** `https://api.resend.com/broadcasts` — Free

<Tabs>
  <Tab title="SDK">
    ```typescript theme={null}
    const data = await lava.gateway('https://api.resend.com/broadcasts', { method: 'GET' });
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.resend.com%2Fbroadcasts" \
      -H "Authorization: Bearer $LAVA_SECRET_KEY"
    ```
  </Tab>
</Tabs>

### Create a contact in the workspace.

**POST** `https://api.resend.com/contacts` — Free

<Tabs>
  <Tab title="SDK">
    ```typescript theme={null}
    const data = await lava.gateway('https://api.resend.com/contacts', {
      body: {
    "email": "jane@example.com",
    "first_name": "Jane",
    "last_name": "Doe",
    "unsubscribed": false
    },
    });
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.resend.com%2Fcontacts" \
      -H "Authorization: Bearer $LAVA_SECRET_KEY" \
      -H "Content-Type: application/json" \
      -d '{"email":"jane@example.com","first_name":"Jane","last_name":"Doe","unsubscribed":false}'
    ```
  </Tab>
</Tabs>

### List contacts (cursor-paginated).

**GET** `https://api.resend.com/contacts` — Free

<Tabs>
  <Tab title="SDK">
    ```typescript theme={null}
    const data = await lava.gateway('https://api.resend.com/contacts', { method: 'GET' });
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.resend.com%2Fcontacts" \
      -H "Authorization: Bearer $LAVA_SECRET_KEY"
    ```
  </Tab>
</Tabs>

### Create a contact segment defined by filters.

**POST** `https://api.resend.com/segments` — Free

<Tabs>
  <Tab title="SDK">
    ```typescript theme={null}
    const data = await lava.gateway('https://api.resend.com/segments', { body: {"name":"US customers","filters":[]} });
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.resend.com%2Fsegments" \
      -H "Authorization: Bearer $LAVA_SECRET_KEY" \
      -H "Content-Type: application/json" \
      -d '{"name":"US customers","filters":[]}'
    ```
  </Tab>
</Tabs>

### Create a reusable email template with variables.

**POST** `https://api.resend.com/templates` — Free

<Tabs>
  <Tab title="SDK">
    ```typescript theme={null}
    const data = await lava.gateway('https://api.resend.com/templates', {
      body: {
    "name": "Welcome",
    "subject": "Welcome to {{ company }}",
    "html": "<p>Hi {{ first_name }}</p>"
    },
    });
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.resend.com%2Ftemplates" \
      -H "Authorization: Bearer $LAVA_SECRET_KEY" \
      -H "Content-Type: application/json" \
      -d '{"name":"Welcome","subject":"Welcome to {{ company }}","html":"<p>Hi {{ first_name }}</p>"}'
    ```
  </Tab>
</Tabs>

### Update an existing template by id.

**PATCH** `https://api.resend.com/templates/{template_id}` — Free

<Tabs>
  <Tab title="SDK">
    ```typescript theme={null}
    const data = await lava.gateway('https://api.resend.com/templates/{template_id}', {
      method: 'PATCH',
      body: {
    "name": "Welcome",
    "subject": "Updated subject",
    "html": "<p>Updated body</p>"
    },
    });
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl -X PATCH "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.resend.com%2Ftemplates%2F%7Btemplate_id%7D" \
      -H "Authorization: Bearer $LAVA_SECRET_KEY" \
      -H "Content-Type: application/json" \
      -d '{"name":"Welcome","subject":"Updated subject","html":"<p>Updated body</p>"}'
    ```
  </Tab>
</Tabs>

### List templates in the workspace.

**GET** `https://api.resend.com/templates` — Free

<Tabs>
  <Tab title="SDK">
    ```typescript theme={null}
    const data = await lava.gateway('https://api.resend.com/templates', { method: 'GET' });
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.resend.com%2Ftemplates" \
      -H "Authorization: Bearer $LAVA_SECRET_KEY"
    ```
  </Tab>
</Tabs>

### Add a sending domain. DNS records must be verified separately.

**POST** `https://api.resend.com/domains` — Free

<Tabs>
  <Tab title="SDK">
    ```typescript theme={null}
    const data = await lava.gateway('https://api.resend.com/domains', { body: {"name":"example.com","region":"us-east-1"} });
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.resend.com%2Fdomains" \
      -H "Authorization: Bearer $LAVA_SECRET_KEY" \
      -H "Content-Type: application/json" \
      -d '{"name":"example.com","region":"us-east-1"}'
    ```
  </Tab>
</Tabs>

### List sending domains.

**GET** `https://api.resend.com/domains` — Free

<Tabs>
  <Tab title="SDK">
    ```typescript theme={null}
    const data = await lava.gateway('https://api.resend.com/domains', { method: 'GET' });
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.resend.com%2Fdomains" \
      -H "Authorization: Bearer $LAVA_SECRET_KEY"
    ```
  </Tab>
</Tabs>

### List per-request API logs (delivery, bounces, opens, clicks).

**GET** `https://api.resend.com/logs` — Free

<Tabs>
  <Tab title="SDK">
    ```typescript theme={null}
    const data = await lava.gateway('https://api.resend.com/logs', { method: 'GET' });
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.resend.com%2Flogs" \
      -H "Authorization: Bearer $LAVA_SECRET_KEY"
    ```
  </Tab>
</Tabs>

### Delete a sending domain by id.

**DELETE** `https://api.resend.com/domains/{domain_id}` — Free

<Tabs>
  <Tab title="SDK">
    ```typescript theme={null}
    const data = await lava.gateway('https://api.resend.com/domains/{domain_id}', { method: 'DELETE' });
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl -X DELETE "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.resend.com%2Fdomains%2F%7Bdomain_id%7D" \
      -H "Authorization: Bearer $LAVA_SECRET_KEY" \
      -H "Content-Type: application/json"
    ```
  </Tab>
</Tabs>

### Register a webhook endpoint to receive email delivery / bounce / open / click events.

**POST** `https://api.resend.com/webhooks` — Free

<Tabs>
  <Tab title="SDK">
    ```typescript theme={null}
    const data = await lava.gateway('https://api.resend.com/webhooks', {
      body: {
    "endpoint": "https://example.com/resend-webhook",
    "events": [
      "email.sent",
      "email.delivered",
      "email.bounced"
    ]
    },
    });
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fapi.resend.com%2Fwebhooks" \
      -H "Authorization: Bearer $LAVA_SECRET_KEY" \
      -H "Content-Type: application/json" \
      -d '{"endpoint":"https://example.com/resend-webhook","events":["email.sent","email.delivered","email.bounced"]}'
    ```
  </Tab>
</Tabs>

## Next Steps

<CardGroup cols={2}>
  <Card title="All Providers" icon="grid" href="/gateway/supported-providers">
    Browse all supported AI providers
  </Card>

  <Card title="Forward Proxy" icon="route" href="/gateway/forward-proxy">
    Learn how to construct proxy URLs and authenticate requests
  </Card>
</CardGroup>
