> Toden documentation. For the full index fetch /llms.txt. Every page is available as Markdown by appending .md to its URL. Identity verification uses /api/kyc, Risk Intelligence uses /api/v1; they are separate contracts with different error shapes. Never invent an endpoint, field or enum value: read the API reference page for the operation first.

# Ways to integrate

> The integration surfaces Toden offers: client SDKs for capture, server access for results and risk decisions, hosted pages, and webhooks.

A complete integration has three parts: something that **captures** the verification, something that **reads the result** on your backend, and a **webhook** that tells you when the result is ready.

## 1. Capture: where the customer verifies

#### [Hosted link](/get-started/quickstart-hosted)

We host the page. You send a link. No client code.

#### [React (web)](/integrate/sdks/react)

`@myazahq/kyc-sdk-react`, a drop-in component.

#### [React Native](/integrate/sdks/react-native)

`@myazahq/kyc-sdk-react-native`, with native liveness and chip reading.

#### [Flutter](/integrate/sdks/flutter)

`myaza_kyc_sdk_flutter`, for iOS and Android.

Client SDKs use a **publishable** key. Opening a hosted link inside a WebView or iframe? See [Hosted link events](/integrate/hosted-links/hosted-events).

## 2. Server: results and risk decisions

Your backend reads verification results and makes every Risk Intelligence call, with a **secret** key.

#### [Server SDKs](/integrate/server-sdks/overview)

Node, Go, Python and more: what is available today.

#### [REST API](/api-reference/overview)

Every endpoint, with an explorer and code samples.

## 3. Webhooks: be told when something changes

#### [Receive webhooks](/integrate/webhooks/overview)

Events, payloads and retries.

#### [Verify signatures](/integrate/webhooks/signatures)

Check every delivery before trusting it.

#### [Test your endpoint](/integrate/webhooks/testing)

Send sample events from the console.

## Which key goes where

| Key         | Prefix                 | Lives in                | Can do                                                            |
| ----------- | ---------------------- | ----------------------- | ----------------------------------------------------------------- |
| Publishable | `pk_test_`, `pk_live_` | Browser and mobile apps | Start a verification, upload captures, read minimal status        |
| Secret      | `sk_test_`, `sk_live_` | Your backend only       | Read results and media, create sessions, all of Risk Intelligence |

Not sure which capture route fits? [Choose your integration](/get-started/choose-integration) compares them.