# Hudl APIs — kahan kya hai (file map)

JWT: pehle `POST /api/v1/auth/login` → har API par `Authorization: Bearer <token>`

## API list

| # | Method | URL | Kaam | Code file |
|---|--------|-----|------|-----------|
| - | POST | `/api/v1/hudl/browser/start` | Browser kholo | `browser_manager.py` |
| - | POST | `/api/v1/hudl/login` | Hudl website login | `tasks/login.py` |
| 1 | POST | `/api/v1/hudl/exchange/open` | Exchanges → Direct | `tasks/exchange.py` |
| 2 | GET | `/api/v1/hudl/exchange/data` | Suggested + Active exchanges | `tasks/exchange.py` |
| 3 | POST | `/api/v1/hudl/exchange/search` | Search keyword | `tasks/search.py` |
| 3 | GET | `/api/v1/hudl/exchange/search/teams` | Search team list | `tasks/search.py` |
| 4 | POST | `/api/v1/hudl/exchange/types` | Team click + exchange type + Next | `tasks/exchange_types.py` |

## Folder structure

```
backend/app/
├── routes/hudl_routes.py           ← saari URLs
├── schemas/hudl_schema.py          ← request bodies
├── automation/
│   ├── selectors.py                ← XPath (4th API buttons yahan)
│   ├── runner.py                   ← task register
│   └── tasks/
│       ├── exchange_types.py       ← 4th API logic ★
│       ├── exchange.py
│       ├── search.py
│       └── login.py
```

## Full flow example

```
POST /browser/start
POST /login
POST /exchange/open
GET  /exchange/data                    → id "284898" from suggested_teams

POST /exchange/types
{
  "team_id": "284898",
  "team_source": "suggested",
  "exchange_type": "two-way"
}
```

Search team se select:

```
POST /exchange/search     {"query": "edi"}
GET  /exchange/search/teams            → id "216482"

POST /exchange/types
{
  "team_id": "216482",
  "team_source": "search",
  "exchange_type": "request"
}
```

`exchange_type`: `two-way` | `one-way` | `request`
