# Omada API Configuration Requirements

**Date:** 2025-01-20  
**Status:** ⏳ Requires Manual Configuration  
**Purpose:** Document Omada API configuration requirements

---

## Current Status

The `omada-api/.env` file has placeholder/empty values that need to be configured.

---

## Required Configuration

### File: `omada-api/.env`

**Current Issues:**
- `OMADA_API_KEY=<your-api-key>` - Placeholder value
- `OMADA_API_SECRET=` - Empty value

---

## Configuration Options

### Option 1: Omada Controller Local API

If using local Omada Controller (e.g., at `https://192.168.11.10:8043`):

1. **Get API Key:**
   - Log into Omada Controller web interface
   - Go to Settings → Cloud Access (if available)
   - Or use Omada Controller API documentation
   - API key format varies by Omada Controller version

2. **Update .env:**
   ```bash
   OMADA_CONTROLLER_URL=https://192.168.11.10:8043
   OMADA_API_KEY=your-actual-api-key
   OMADA_API_SECRET=your-api-secret  # If required
   OMADA_SITE_ID=b7335e3ad40ef0df060a922dcf5abdf5
   OMADA_VERIFY_SSL=false  # For self-signed certs
   ```

### Option 2: Omada Cloud Controller

If using Omada Cloud Controller (e.g., `https://euw1-omada-northbound.tplinkcloud.com`):

1. **OAuth Client Credentials:**
   - Log into Omada Cloud Controller
   - Create OAuth application/client
   - Get Client ID and Client Secret

2. **Update .env:**
   ```bash
   OMADA_CONTROLLER_URL=https://euw1-omada-northbound.tplinkcloud.com
   OMADA_CLIENT_ID=f2d19e1bdcdd49adabe10f489ce09a79
   OMADA_CLIENT_SECRET=8437ff7e3e39452294234ce23bbd105f
   OMADA_SITE_ID=b7335e3ad40ef0df060a922dcf5abdf5
   OMADA_VERIFY_SSL=true
   ```

**Note:** The current `.env` file already has `OMADA_CLIENT_ID` and `OMADA_CLIENT_SECRET` set, so Option 2 may already be configured.

---

## Current Configuration Analysis

Based on the current `.env` file:

- ✅ `OMADA_CONTROLLER_URL` - Set (cloud controller)
- ✅ `OMADA_SITE_ID` - Set
- ✅ `OMADA_VERIFY_SSL` - Set
- ✅ `OMADA_CLIENT_ID` - Set
- ✅ `OMADA_CLIENT_SECRET` - Set
- ⚠️ `OMADA_API_KEY` - Has placeholder `<your-api-key>`
- ⚠️ `OMADA_API_SECRET` - Empty

**Recommendation:** 
- If using OAuth (Client ID/Secret), the `OMADA_API_KEY` and `OMADA_API_SECRET` may not be needed
- Remove or comment out unused fields
- If API Key is required, get it from Omada Controller

---

## Next Steps

1. **Determine authentication method:**
   - OAuth (Client ID/Secret) - Already configured
   - API Key - Needs configuration

2. **If using OAuth:**
   - Comment out or remove `OMADA_API_KEY` and `OMADA_API_SECRET`
   - Verify `OMADA_CLIENT_ID` and `OMADA_CLIENT_SECRET` are correct

3. **If using API Key:**
   - Get API key from Omada Controller
   - Update `OMADA_API_KEY` with actual value
   - Set `OMADA_API_SECRET` if required

4. **Test configuration:**
   - Run Omada API tests/scripts
   - Verify authentication works

---

## Related Documentation

- Omada Controller API documentation
- Omada Cloud Controller documentation
- [Required Secrets Inventory](REQUIRED_SECRETS_INVENTORY.md)

---

**Last Updated:** 2025-01-20  
**Status:** ⏳ Requires Manual Configuration
