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

# Introduction to the Notify API

> Everything you need to know about Prelude Notify API to start sending transactional and marketing messages to your users via SMS and online messaging channels.

<Info>
  If you want to send OTP codes, use the [Verification API](/verify/v2/documentation/introduction).

  Contrary to the Notify API, the Verification API gives access to **lower SMS rates** via our arbitrage system and **protects verifications** with our anti-fraud solution. It also provides more channels such as Telegram, Viber and Zalo.
</Info>

### Multi-channel delivery

The Notify API supports sending messages across multiple channels, including SMS, RCS and WhatsApp.

When your template is configured for WhatsApp or RCS, messages will automatically be sent via the configured channel first, with intelligent fallback to SMS if delivery is unavailable. You can also explicitly specify your preferred delivery channel using the `preferred_channel` parameter to prioritize a specific channel.

For RCS, Prelude automatically checks whether the recipient's device supports RCS before attempting delivery. If the device is not RCS-capable, the message falls back to SMS. To configure a custom RCS agent for your account, contact our [Customer Success team](mailto:support@prelude.so).

### 2-Way messaging with WhatsApp

The Notify API supports receiving inbound WhatsApp messages and sending contextual replies within a 24-hour conversation window. Replies are delivered as native WhatsApp quoted messages, preserving conversation threading. See the [WhatsApp 2-Way messaging guide](/notify/v2/documentation/whatsapp) for details.

### API

The Prelude v2 API is a [REST](https://en.wikipedia.org/wiki/REST) API and uses standard
HTTP features and [statuses](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status).

The current URL is `https://api.prelude.dev/v2`.

### Authentication

To perform requests on the API, you need to provide a **v2** API key in the `Authorization` header.

You can create an API key in the [Dashboard](https://app.prelude.so), under the **API Keys** section of the
settings.

```sh Example request theme={null}
curl --request POST \
     --url 'https://api.prelude.dev/v2/*' \
     --header 'Accept: application/json' \
     --header 'Authorization: Bearer <API_KEY>'
```

### Errors

Prelude uses conventional HTTP [statuses](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status)
to indicate the success or failure of a request:

* Codes in the `2xx` range indicate success.
* Codes in the `4xx` range indicate an error that failed given the information provided (e.g. required parameter was omitted, authentication failed or a rate limit was reached).
* Codes in the `5xx` range indicate an error with Prelude's servers (these are rare).

***

The Prelude API returns errors using a JSON object in the response body with a
machine-readable `code` and a human-readable `message` and a `param` field.

See [Errors](/introduction/errors) for more details as well as a list of all possible error codes.

## API Reference

Explore the Notify API reference to learn more about the available endpoints:

<CardGroup>
  <Card title="Send a message" icon="message" href="/notify/v2/api-reference/send-a-message">
    Send a transactional or marketing message to your user.
  </Card>
</CardGroup>

## Backend SDKs

Integrate effortlessly with Prelude using our Backend SDKs for your platform of choice.

<CardGroup>
  <Card title="Node.js" href="https://github.com/prelude-so/node-sdk" icon="node-js" horizontal>
    Learn how to integrate the Node.js SDK into your application.
  </Card>

  <Card title="Go" href="https://github.com/prelude-so/go-sdk" icon="golang" horizontal>
    Learn how to integrate the Go SDK into your application.
  </Card>

  <Card title="Python" href="https://github.com/prelude-so/python-sdk" icon="python" horizontal>
    Learn how to integrate the Python SDK into your application.
  </Card>

  <Card title="Kotlin/Java" href="https://github.com/prelude-so/java-sdk" icon="java" horizontal>
    Learn how to integrate the Kotlin/Java SDK into your application.
  </Card>

  <Card title="Ruby" href="https://github.com/prelude-so/ruby-sdk" icon="gem" horizontal>
    Learn how to integrate the Ruby SDK into your application.
  </Card>

  <Card title="PHP" href="https://github.com/prelude-so/php-sdk" icon="php" horizontal>
    Learn how to integrate the PHP SDK into your application.
  </Card>

  <Card title="C#" href="https://github.com/prelude-so/csharp-sdk" icon="hashtag" horizontal>
    Learn how to integrate the C# SDK into your application.
  </Card>
</CardGroup>
