# Introduction

Inboxjot sends and tracks the email your product sends. Send transactional email through the API or SMTP, run campaigns and automations for your audience, and connect AI tools over MCP.

- [Quickstart](https://inboxjot.com/docs/quickstart.md)
- [API Reference](https://inboxjot.com/docs/api-reference.md)

## Start Here

- [Send Your First Email](https://inboxjot.com/docs/send-your-first-email.md): Create an API key, verify a domain and send an email.
- [Add a Domain](https://inboxjot.com/docs/domains.md): Add the DKIM, SPF and DMARC records so email reaches the inbox.
- [Webhooks](https://inboxjot.com/docs/webhooks.md): Get a request when an email is delivered, opened or bounces.
- [Contacts and Topics](https://inboxjot.com/docs/contacts.md): Store contacts and let them choose what they hear about.
- [Campaigns](https://inboxjot.com/docs/campaigns.md): Send one email to a segment, then track opens and clicks.
- [Connect AI Tools](https://inboxjot.com/docs/mcp.md): Use Inboxjot from your AI tools over MCP.

## Quick Example

Every request goes to `https://api.inboxjot.com` with your API key as a bearer token.

```bash cURL
curl -X POST https://api.inboxjot.com/v1/emails \
  -H "Authorization: Bearer $INBOXJOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "Acme <hello@acme.dev>",
    "to": "riti@example.com",
    "subject": "Your receipt from Acme",
    "html": "<p>Thanks for your order.</p>"
  }'
```

```javascript Node.js
import { Inboxjot } from 'inboxjot';

const inboxjot = new Inboxjot();

const { id } = await inboxjot.emails.send({
  from: 'Acme <hello@acme.dev>',
  to: 'riti@example.com',
  subject: 'Your receipt from Acme',
  html: '<p>Thanks for your order.</p>',
});
```

```rust Rust
use inboxjot::{Inboxjot, SendEmail};

let client = Inboxjot::from_env()?;

let email = client
    .emails()
    .send(&SendEmail {
        from: Some("Acme <hello@acme.dev>".into()),
        to: vec!["riti@example.com".into()],
        subject: Some("Your receipt from Acme".into()),
        html: Some("<p>Thanks for your order.</p>".into()),
        ..Default::default()
    })
    .await?;
```

```go Go
client := inboxjot.NewClient("")

email, err := client.Emails.Send(ctx, inboxjot.SendEmailParams{
	From:    "Acme <hello@acme.dev>",
	To:      []string{"riti@example.com"},
	Subject: "Your receipt from Acme",
	HTML:    "<p>Thanks for your order.</p>",
})
```

```python Python
from inboxjot import Inboxjot

inboxjot = Inboxjot()

email = inboxjot.emails.send(
    {
        "from": "Acme <hello@acme.dev>",
        "to": "riti@example.com",
        "subject": "Your receipt from Acme",
        "html": "<p>Thanks for your order.</p>",
    }
)
```

## Next Steps

- Follow the [Quickstart](https://inboxjot.com/docs/quickstart.md) to set up a workspace from the start.
- Browse the [API Reference](https://inboxjot.com/docs/api-reference.md) for every endpoint and field.
