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

# Getting Started

> Set up Express API integration with step-by-step instructions for account creation, authentication configuration, and API key setup.

## Base URL

All API requests should be made to:

```
https://tee.express.magiclabs.com
```

## Prerequisites

Before using Express API, you'll need to:

<Steps>
  <Step title="Create a Magic Account">
    Visit the [Magic Dashboard](https://dashboard.magic.link) and sign up for a Magic developer account.
  </Step>

  <Step title="Create an Application">
    In your dashboard, create a new application and obtain your API keys. Use the `Publishable API Key` for calls from the frontend and the `Secret Key` for calls from the backend.
  </Step>

  <Step title="Configure an Identity Provider">
    Configure an [identity provider](/server-wallets/express-api/identity-provider) (like Auth0, Firebase Auth, or NextAuth) for user authentication and get your Magic provider ID.
  </Step>

  <Step title="Configure Allowlisting">
    In the Magic Dashboard, go to **Settings → Allowed Origins & Redirects** to configure domain allowlisting for your application.
  </Step>
</Steps>

## Authentication

Express API requires multiple authentication headers for secure access:

<ParamField header="Authorization" type="string" required>
  Bearer token (JWT) for user authentication. Format: `Bearer YOUR_JWT_TOKEN`
</ParamField>

<ParamField header="X-Magic-API-Key" type="string">
  Your Magic API key for service authentication.
</ParamField>

<ParamField header="X-Magic-Secret-Key" type="string">
  Alternative to API key - your Magic secret key for service authentication.
</ParamField>

<ParamField header="X-OIDC-Provider-ID" type="string" required>
  The OIDC provider ID for your application.
</ParamField>

<Warning>
  You must provide either `X-Magic-API-Key` or `X-Magic-Secret-Key` along with the other required headers.
</Warning>

<Tip>
  The JWT token should contain user identification information that Magic can use to associate wallets with specific users. Ensure your OIDC provider is configured to include necessary user claims.
</Tip>
