4.1 KiB
4.1 KiB
Apodex Platform Registration — 2026-06-30
Working Registration Flow (platform.apodex.ai)
Account Creation
- Navigate to
https://platform.apodex.ai/login - Click "Create one" → registration form
- Fill: Email + Name (optional) + Password (e.g.
EniStrong2026!!) - Click "Create account" → 6-digit OTP sent to email
- Read OTP via Gmail IMAP
- Enter OTP → "Verify & continue" → dashboard loads
Gmail IMAP OTP Reading
import imaplib, ssl, re, email as eml, time
GMAIL = "[REDACTED-NAME]@gmail.com"
GMAIL_APP = "IMAP_APP_PASSWORD" # NOT nhrcldobevqcbyrk (dead)
def read_otp(timeout=90):
ctx = ssl.create_default_context()
deadline = time.time() + timeout
while time.time() < deadline:
mail = imaplib.IMAP4_SSL("imap.gmail.com", 993, ssl_context=ctx, timeout=15)
mail.login(GMAIL, GMAIL_APP)
mail.select("INBOX")
_, msgs = mail.search(None, '(FROM "apodex" UNSEEN)')
if msgs[0]:
mid = msgs[0].split()[-1]
_, data = mail.fetch(mid, "(RFC822)")
raw = data[0][1].decode("utf-8", errors="ignore")
msg = eml.message_from_string(raw)
body = ""
if msg.is_multipart():
for part in msg.walk():
if part.get_content_type() == "text/plain":
body = part.get_payload(decode=True).decode("utf-8", errors="ignore")
break
else:
body = msg.get_payload(decode=True).decode("utf-8", errors="ignore")
codes = re.findall(r"\b\d{6}\b", body)
mail.store(mid, "+FLAGS", "\\Seen")
mail.logout()
if codes:
return codes[0]
mail.logout()
time.sleep(5)
return None
API Key Creation (Browser UI Only)
- Navigate to
https://platform.apodex.ai/console/api-keys - Click "Create New Key"
- Enter name → "Create API Key"
- Read full key from textbox immediately (one-time display)
- Key format:
sk-<43 chars base64>=
API Key Validation
import urllib.request, json
def test_key(key):
req = urllib.request.Request("https://api.apodex.ai/v1/models",
headers={"Authorization": f"Bearer {key}"})
resp = urllib.request.urlopen(req, timeout=15)
return json.loads(resp.read())
# Returns: {"data": [{"id": "apodex-1-0-deep-research", ...}, ...]}
Key Storage
Keys saved to: C:\Users\User\Desktop\GroveMind\apodex-mcp-v4\keys\active_keys.json
{
"keys": {
"[REDACTED-NAME]+apodex1": "sk-QIS...",
"[REDACTED-NAME]+apodex2": "sk-OHD...",
...
},
"endpoint": "https://api.apodex.ai/v1/chat/completions",
"created": "2026-06-30"
}
Known Issues
POST platform.apodex.ai/v1/api-keysreturns masked keys (sk-95O...JSXg=). Full key only from browser UI.POST api.apodex.ai/v1/api-keysreturns{"error":"invalid token"}with Apodex JWT.- Google SA XOAUTH2 IMAP fails (Gmail API disabled in GCP project 958963379068).
- Old Gmail app password
nhrcldobevqcbyrkis dead. Working:IMAP_APP_PASSWORD. apodex_reforrm_reg.pyis outdated (targets old www.apodex.ai flow, 404s).
Mass Research Script
Script: C:\Users\User\Desktop\apodex_research\apodex_mass_research.py
- Loads N keys from active_keys.json
- Runs N parallel deep-research queries (ThreadPoolExecutor)
- Each query uses a different key → no rate limiting
- Saves results to
C:\Users\User\Desktop\apodex_research\<query_id>.md - Summary in
_summary.json - Run:
python -u apodex_mass_research.py(background, ~5 min for 9 queries)
9 Working Keys (2026-06-30)
| Key Prefix | |
|---|---|
| [REDACTED-EMAIL] | sk-9Zy... |
| [REDACTED-EMAIL] | sk-vqm... |
| [REDACTED-NAME]+apodex1@gmail.com | sk-QIS... |
| [REDACTED-NAME]+apodex1@gmail.com (key 2) | sk-vCp... |
| [REDACTED-NAME]+apodex2@gmail.com | sk-OHD... |
| [REDACTED-NAME]+apodex3@gmail.com | sk-3py... |
| [REDACTED-NAME]+apodex4@gmail.com | sk-W_F... |
| [REDACTED-NAME]+apodex5@gmail.com | sk-Fxu... |
| [REDACTED-NAME]+apodex6@gmail.com | sk-1Sp... |