# API reference

> Everything you need to connect your application to the Nexiom Connect API.

Use the API to verify sending domains, send transactional email and WhatsApp messages, and follow delivery activity.

## Base URL

```http
https://api-connect.nxiom.com/api
```

Resource paths include the version prefix, for example `/v1/emails/send`.

## Authentication

Send your API key as a bearer token. Keep it on your server and load it from an environment variable.

```http
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
```

Your API key determines the organization and project. Do not include tenant identifiers in request bodies, query strings, or additional headers.

Domain management and email logs require `email.full_access`. Sending email requires `email.send`; a domain-restricted key must allow the sender's domain. Sending and reading messages on the `whatsapp` channel require `whatsapp.send`. See [API keys](/docs/learn/api-keys#permissions).

## Start building

- [Create a sending domain](/docs/api/email-domains/create) and publish its DNS records.
- [Verify your domain](/docs/api/email-domains/verify) before sending.
- [Send an email](/docs/api/emails/send) with a stable idempotency key.
- [Read email logs](/docs/api/emails/list) or subscribe to [delivery webhooks](/docs/webhooks).
- [Send a message](/docs/api/messaging/send) on a messaging channel, such as an approved WhatsApp template from a connected number.

## Response conventions

Successful responses use the shapes documented on each endpoint page. Sending email returns `202 Accepted` with a `data` object; this confirms that the message was queued, not delivered. Sending a WhatsApp message returns `200 OK` once WhatsApp has accepted it, which is not yet delivery either.

See [Pagination](/docs/api/pagination), [Usage Limits](/docs/api/usage-limits), and [Errors](/docs/api/errors) for shared behavior.

---

Source: https://connect.nxiom.com/docs/api
