> ## 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 Verify API

> Verify phone numbers and emails worldwide using the most appropriate channel depending on your user's context.

Verify is a powerful and easy-to-use API that lets you verify phone numbers and email addresses worldwide using the most appropriate <Tooltip tip="A method is the way to verify a phone number. It can be message, voice, or silent.">method</Tooltip> and <Tooltip tip="A channel is the underlying technology used to transport verification codes. SMS, RCS, WhatsApp, Telegram and Viber are examples of these technologies.">channel</Tooltip> depending on your user's context.

It manages the full [verification lifecycle](/verify/v2/documentation/lifecycle) for you, from initiating the verification and sending messages to performing retries, checking the validity of the code and returning the result.

Businesses typically see a 20-30% increase in conversion compared with their previous provider, while [saving 30-40%](https://docs.google.com/spreadsheets/d/1M8et9bu6eBk5nhvvg1BckJIaGi8GjnH587ooKI_YURA/) monthly.

Prelude's Verify API also **detects and [prevents fraud](/verify/v2/documentation/prevent-fraud)** using algorithms trained on tens of millions of data points.

<div className="flex justify-between" style={{marginTop: "64px", borderBottom: '1px solid #151C15'}}>
  <div>
    <div className="flex items-center" style={{gap: "8px" }}>
      <h2 className="m-0">Start a verification</h2>
      <div className="h-7 w-fit flex items-center justify-center rounded-lg px-2 border text-sm font-semibold" style={{borderColor: "#3C530E",color: "#E6E7EB",backgroundColor: "#0F160C"}}>2 min</div>
    </div>

    <p style={{width: "24ch"}}>Send and verify a code in a few lines.</p>

    [Get started →](/verify/v2/documentation/quickstart)

    <br />
  </div>

  <div className="h-auto flex items-center justify-center">
    <img src="https://mintcdn.com/ding/mO4m5aLNuvukvWgO/images/get-started-thumbnail.png?fit=max&auto=format&n=mO4m5aLNuvukvWgO&q=85&s=f42de0a23002aa73e25d72fc272a274f" className="m-0" width={340} data-path="images/get-started-thumbnail.png" />
  </div>
</div>

### 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 Verification API reference to learn more about the available endpoints:

<CardGroup>
  <Card title="Create/Retry Verification" icon="message" href="/verify/v2/api-reference/create-or-retry-a-verification">
    Create a new verification session. If another non-expired verification
    exists perform a retry instead.
  </Card>

  <Card title="Check Verification Code" icon="message-check" href="/verify/v2/api-reference/check-a-code">
    Check the validity of a code.
  </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>

# Frontend SDKs

Explore how you can enhance your verification process with our [Frontend SDKs](/introduction/frontend-sdks/introduction).

<CardGroup>
  <Card title="Android SDK" href="/introduction/frontend-sdks/android" icon="android" horizontal>
    Learn how to integrate the Android SDK into your application.
  </Card>

  <Card title="iOS SDK" href="/introduction/frontend-sdks/apple" icon="apple" horizontal>
    Learn how to integrate the iOS SDK into your application.
  </Card>

  <Card title="Web SDK" href="/introduction/frontend-sdks/web" icon="code" horizontal>
    Learn how to integrate the Web SDK into your application.
  </Card>

  <Card title="React Native SDK" href="/introduction/frontend-sdks/react-native" icon="react" horizontal>
    Learn how to integrate the React Native SDK into your application.
  </Card>

  <Card title="Flutter SDK" href="/introduction/frontend-sdks/flutter" icon="flutter" horizontal>
    Learn how to integrate the Flutter SDK into your application.
  </Card>
</CardGroup>
