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

# Receiving client

> Full reference for the Paubox Go SDK receiving API: managing domains, mailboxes, and retrieving inbound email.

The receiving methods are on the same `paubox.Client` you use to send email.

```go theme={null}
client, err := paubox.New(apiKey)
```

## Domains

### List domains

```go theme={null}
domains, err := client.ListReceivingDomains(ctx)
for _, d := range domains {
    fmt.Println(d.Domain)
}
```

### Create a domain

```go theme={null}
domain, err := client.CreateReceivingDomain(ctx, &paubox.CreateReceivingDomainRequest{
    Slug: "support",
})
fmt.Println(domain.Domain) // support.inbound.paubox.email
```

### Get a domain

```go theme={null}
domain, err := client.GetReceivingDomain(ctx, 1)
```

### Delete a domain

```go theme={null}
err := client.DeleteReceivingDomain(ctx, 1)
```

## Mailboxes

### List mailboxes

```go theme={null}
mailboxes, err := client.ListMailboxes(ctx, domainID)
```

### Create a mailbox

```go theme={null}
mailbox, err := client.CreateMailbox(ctx, domainID, &paubox.CreateMailboxRequest{
    Name:     "intake",
    Password: "SecurePass123!",
})
fmt.Println(mailbox.EmailAddress)
```

Set `QuotaBytes` on the request to apply a storage quota.

### Get a mailbox

```go theme={null}
mailbox, err := client.GetMailbox(ctx, domainID, mailboxID)
```

### Delete a mailbox

```go theme={null}
err := client.DeleteMailbox(ctx, domainID, mailboxID)
```

## Emails

### List received emails

```go theme={null}
resp, err := client.ListReceivedEmails(ctx, &paubox.ListReceivedEmailsRequest{
    Limit: 10,
})
for _, e := range resp.Data {
    fmt.Printf("%s: %s\n", e.EmailID, e.Subject)
}

// Cursor pagination
next, err := client.ListReceivedEmails(ctx, &paubox.ListReceivedEmailsRequest{
    After: resp.Data[len(resp.Data)-1].EmailID,
})
```

### Get a received email

```go theme={null}
email, err := client.GetReceivedEmail(ctx, "eaaaaab")
fmt.Println(email.Body.Text)
```

### Download an attachment

```go theme={null}
data, err := client.DownloadAttachment(ctx, "eaaaaab", "blob123")
os.WriteFile("report.pdf", data, 0644)
```
