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

# Start here

> Two ways to connect a person. Pick the one that matches your product.

A person reaches your product in one of two ways. Follow that path from the top. Each row says what happens, then links to the page for that call.

> [card] [They already use etoro](#they-already-use-etoro)
>
> They sign in with etoro. You connect that account to the account they have with you.

> [card] [They do not have an etoro account](#they-do-not-have-an-etoro-account)
>
> You create their etoro account, then open etoro for them already signed in.

## They already use etoro

The person is an etoro customer. They come to your site and sign in with etoro. You learn who they are, and you connect their etoro account to the account they already have with you.

You do not create a new etoro user in this path.

| | What happens | Details |
| - | - | - |
| 1 | Register your application with etoro. Keep the secret on your server. | [Before you call etoro](https://api-portal.etoro.com/core/getting-started/sso-oauth.md#prerequisites) |
| 2 | Your site sends the person's browser to etoro to sign in. | [Send them to etoro](https://api-portal.etoro.com/core/getting-started/sso-oauth.md#step-1-—-redirect-the-user-to-etoro) |
| 3 | etoro sends them back. Your server exchanges the returned code for tokens. | [Exchange the code](https://api-portal.etoro.com/core/getting-started/sso-oauth.md#step-2-—-exchange-the-code-for-tokens) |
| 4 | Your server checks the ID token and saves the id etoro gave you for this person (`sub`). | [Check the ID token](https://api-portal.etoro.com/core/getting-started/sso-oauth.md#step-3-—-validate-the-id-token) |
| 5 | Your server gets a long-lived key, so it can call etoro later while the person is away. | [Key for later calls](https://api-portal.etoro.com/partners/integration.md#issue-a-non-interactive-token) |
| 6 | Connect your user record to their etoro account. If that connection already exists, use it again. | [Connect the accounts](https://api-portal.etoro.com/partners/integration.md#associate-the-accounts) |

The calls for this path are listed under Partners API in the sidebar. If a step fails, look up what you see in [Troubleshooting](https://api-portal.etoro.com/partners/integration.md#troubleshooting).

## They do not have an etoro account

The person is already your customer. They have no etoro account. Your server creates one, sends their details, then opens etoro in their browser already signed in. They do not type an etoro password.

etoro has to enable your application before step 1. The curls are in the [onboarding guide](https://api-portal.etoro.com/partners/guides/user-onboarding.md).

| | What happens | Details |
| - | - | - |
| 1 | etoro gives you credentials, the permissions you need, an API key, and allows your server's IP addresses. | [What etoro sets up](https://api-portal.etoro.com/partners/guides/user-onboarding.md#before-you-start) |
| 2 | Your server gets an application token. No person is involved. | [Application token](https://api-portal.etoro.com/partners/guides/user-onboarding.md#1-obtain-a-partner-token) |
| 3 | Your server checks that this person may register, and fetches the consent documents. | [Check eligibility](https://api-portal.etoro.com/partners-api-reference/registration/get-registration-eligibility.md) |
| 4 | Your server creates the etoro user. | [Create the user](https://api-portal.etoro.com/partners-api-reference/registration/partner-registers-a-new-etoro-user.md) |
| 5 | Your server gets a long-lived key for that new user. | [Key for later calls](https://api-portal.etoro.com/partners/integration.md#issue-a-non-interactive-token) |
| 6 | Your server sends their profile, KYC, and verification. | [Send their details](https://api-portal.etoro.com/partners/guides/user-onboarding.md#part-a-create-the-user-and-submit-kyc) |
| 7 | The person clicks to open etoro. Your site sends their browser to etoro's initiate page, and etoro sets a short-lived cookie in that browser. | [Send the browser to etoro](https://api-portal.etoro.com/partners/guides/user-onboarding.md#1-send-the-browser-to-etoros-initiate-page) |
| 8 | etoro sends the browser back to you with a `tid` and your `state`. | [Browser comes back](https://api-portal.etoro.com/partners/guides/user-onboarding.md#1-send-the-browser-to-etoros-initiate-page) |
| 9 | Your server exchanges the `tid` for a one-time link. | [Exchange the tid](https://api-portal.etoro.com/partners/guides/user-onboarding.md#2-exchange-the-tid-for-a-one-time-token) |
| 10 | The browser opens that link. The person is signed in on etoro. | [Open etoro](https://api-portal.etoro.com/partners/guides/user-onboarding.md#3-open-the-verify-url-in-the-same-browser) |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.