> For the complete documentation index, see [llms.txt](https://docs.jetpero.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.jetpero.com/your-first-api-key.md).

# Your First API Key

### 🧩 What You’ll Need

* ✅ A **Base URL** of the provider (e.g., `https://api.openai.com/v1`)
* ✅ A **unique provider name** (e.g., `openai`)
* ✅ Your actual **provider API key** (e.g., OpenAI, ElevenLabs, etc.)

***

### 🔧 Step-by-Step: Setup a Provider

1. Go to your **Dashboard → Project Settings**
2. Select the project (e.g., `abc.co`)
3. Click on **“Add new API”**
4. **select pre setup API provider or manual configuration**
5. Enter:
   * **Base URL** (e.g., `https://api.openai.com/v1`)
   * **Unique Name** (e.g., `openai`)
   * **Provider API Key** (your secret API key from the provider)
6. Save and JetPero will auto-configure the setup for you.

***

### 🔐 Auth Explained

When you set up a provider under a specific **project**, JetPero:

* 🔐 Generates a **project-specific token** (JWT/crypto based)
* 🔒 Stores your provider key securely
* ⚙️ Uses this token for **authentication** across all requests
* 🧠 Auto-injects the provider key behind the scenes (so your frontend never sees it)

> ✅ Each project (e.g., `abc.co`, `tt.net`) has its own secure JetPero token and isolated environment.

***

### ✅ Sample Request via JetPero

Let’s say your provider name is `openai` and you’re using OpenAI's `chat/completions` endpoint. Here's how you'd make the request:

```bash
curl https://api.jetpero.com/proxy/openai/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <Your-Project-Token>" \
  -d '{
    "model": "gpt-4",
    "messages": [
      {"role": "user", "content": "Hello, who are you?"}
    ]
  }'
  
```

> Replace `<Your-Project-Token>` with the token shown in your **Project Settings**\
> No need to pass your actual provider API key – JetPero handles that securely

### 🎨 Another Example (OpenAI Image API)

```bash
curl https://api.jetpero.com/proxy/openai/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <Your-Project-Token>" \
  -d '{
    "prompt": "A futuristic cityscape at sunset",
    "n": 1,
    "size": "1024x1024"
  }'
```

### 💡 Best Practices

* Use clear **provider names** like `openai`, `elevenlabs`, `huggingface`
* You can create **multiple providers** per project
* Projects are **logically separated** under your organization for maximum security
* You can rotate or revoke provider API keys anytime

### 👀 Where to Find Your Auth Token

1. Go to `Dashboard → Organization`
2. Under **Auth Token**, click **“Copy”**
3. Use it in your headers as:

```bash
Authorization: Bearer <Your-Project-Token>
```

> 📌 **Security Note:** Treat your **Auth Token** as sensitive data, similar to a password. Keep it secure!
