API Reference
Everything you need to integrate Aeldorado's multi-agent AI system into your application.
Quick Start
- Sign up at aeldorado.solanacy.in and activate your free plan with a one-time ₹1 payment.
- Store your AI provider key — go to Key Vault in the dashboard and add your Gemini, OpenAI, or Anthropic key with an encryption password.
- Generate an API key — create an
aldo-live-xxxkey from the API Keys section. - Make your first request — send a message to
/v1/chatwith both headers below.
# Your first Aeldorado request curl -X POST https://api.aeldorado.solanacy.in/v1/chat \ -H "Authorization: Bearer aldo-live-xxxxxxxxxxxx" \ -H "X-Encryption-Password: your-vault-password" \ -H "Content-Type: application/json" \ -d '{"message": "Summarize our Q3 revenue risks"}'
Authentication
All API requests require two headers:
| Header | Value | |
|---|---|---|
Authorization |
Bearer aldo-live-xxxxxxxxxxxx |
Required |
X-Encryption-Password |
The password you set when storing your provider key in the vault | Required |
Dashboard endpoints (key generation, vault management, billing) use Firebase Auth instead of API keys and are only accessible from the dashboard UI.
BYOK — Bring Your Own Key
Aeldorado doesn't hold an AI provider subscription. You bring your own Gemini, OpenAI, or Anthropic key and pay your provider directly. Your key is stored as AES-256-GCM ciphertext — plaintext is never persisted anywhere.
Supported providers:
| Provider | Key Prefix | Default Model |
|---|---|---|
| Google Gemini | AIza... | gemini-3.1-flash-lite |
| OpenAI | sk-... | gpt-5.4-mini |
| Anthropic Claude | sk-ant-... | claude-sonnet-4-6 |
See the Vault endpoints section for full details on storing and managing keys.
POST/v1/chat
Auto-routing endpoint. The CEO orchestrator analyzes your message intent and delegates to the right specialist agent automatically. Requires an API key scoped to all or auto.
Request body:
| Parameter | Type | Description | |
|---|---|---|---|
message | string | Your prompt or query. Max 32,000 characters. | Required |
provider | string | gemini · openai · anthropic. Defaults to your vault's stored provider. | Optional |
model | string | Override the model for this request. Must be valid for the chosen provider. | Optional |
conversation_id | string | Resume a previous conversation. Only works with Playground keys. | Optional |
thinking | string | Request extended reasoning before the answer, e.g. low · medium · high (any provider's vocabulary is accepted). Ignored on models/providers that don't support it — never errors. | Optional |
# Auto-routing example curl -X POST https://api.aeldorado.solanacy.in/v1/chat \ -H "Authorization: Bearer aldo-live-xxxxxxxxxxxx" \ -H "X-Encryption-Password: your-vault-password" \ -H "Content-Type: application/json" \ -d '{ "message": "Draft a cold outreach email for our SaaS product", "provider": "gemini" }'
Response:
{
"id": "aldo_resp_a1b2c3d4e5",
"object": "chat.completion",
"agent": "sales",
"model": "gemini-3.1-flash-lite",
"provider": "gemini",
"response": {
"content": "Subject: Quick question about [Company]...",
"impact": "LOW",
"agents_consulted": ["sales"]
},
"usage": {
"calls_current_window": 12,
"calls_remaining_window": 238,
"window_resets_in_ms": 12600000,
"tokens": { "input": 142, "output": 387, "total": 529 }
},
"meta": { "processing_time_ms": 1240, "routing": "auto" }
}POST/v1/agent/:name
Call a specific agent directly, bypassing the CEO orchestrator. Useful when you know exactly which domain you need. Replace :name with the agent identifier.
Available agents: ceo · cfo · sales · support · research · marketing · legal
Request body:
| Parameter | Type | Description | |
|---|---|---|---|
message | string | Your prompt or task. Max 32,000 characters. | Required |
provider | string | AI provider to use for this request. | Optional |
model | string | Model override for this request. | Optional |
conversation_id | string | Resume a previous conversation (Playground keys only). | Optional |
agent:support) can only call that agent. Calling another agent will return 403 insufficient_permission.
# Call the Legal agent directly curl -X POST https://api.aeldorado.solanacy.in/v1/agent/legal \ -H "Authorization: Bearer aldo-live-xxxxxxxxxxxx" \ -H "X-Encryption-Password: your-vault-password" \ -H "Content-Type: application/json" \ -d '{"message": "Review this NDA clause for red flags: ..."}'
GET/v1/user/usage
Returns your current usage stats, remaining quotas, and plan limits across the rolling 5-hour, 7-day, and 28-day windows. Requires Firebase Auth (dashboard only).
{
"tier": "growth",
"tierName": "Growth",
"usage": { "daily": 47, "weekly": 1840, "monthly": 6204 },
"limits": { "daily": 400, "weekly": 5500, "monthly": 14000 },
"remaining": { "daily": 353, "weekly": 3660, "monthly": 7796 },
"resetsInMs": { "daily": 11400000, "weekly": 427680000, "monthly": 1893600000 }
}Note: daily = current 5-hour window, weekly = current 7-day window, monthly = current 28-day window. Field names are kept for backward compatibility; they are rolling windows, not calendar periods.
GET/v1/providers
Returns all supported AI providers and their available models. No authentication required.
curl https://api.aeldorado.solanacy.in/v1/providersPOST/v1/vault/store
Encrypt and store your AI provider key. Requires Firebase Auth. Password must be at least 8 characters.
| Parameter | Type | Description | |
|---|---|---|---|
apiKey | string | Your Gemini, OpenAI, or Anthropic API key. | Required |
password | string | Encryption password. Min 8 characters. Remember this — it cannot be recovered. | Required |
provider | string | Provider name. Auto-detected from key prefix if omitted. | Optional |
defaultModel | string | Default model to use for this provider. | Optional |
GET/v1/vault/list
Returns all stored providers with masked keys. Ciphertext, IV, and salt are never returned.
DELETE/v1/vault/remove
Permanently remove a stored provider key from your vault. Requires provider in the request body.
POST/v1/vault/verify
Check whether your encryption password can successfully decrypt a stored key. Returns verified: true/false without exposing the key.
Agents
Aeldorado has seven purpose-built agents, each specialized for a business domain. Use /v1/chat for auto-routing or call them directly via /v1/agent/:name.
Project Memory Starter+
Agents can remember context across sessions when you link an API key to a project. Memory is per-project, not per-key.
| Behaviour | Detail |
|---|---|
| Auto-extraction | Facts are automatically extracted after every 20 messages in a conversation. |
| Manual facts | Say "remember that..." in your message — the agent will detect and save it. |
| Visibility | internal facts are only seen by your own keys. public facts are also visible to customer-facing keys. |
| Free tier | Memory is hard-blocked. Upgrade to Starter or above to enable. |
public visibility facts. Internal company knowledge is never leaked to customer-facing keys.
Key Scopes
Each API key has a scope that limits which agents it can access. Assign the narrowest scope needed.
| Scope | Access |
|---|---|
all | Full access — both /v1/chat and all /v1/agent/:name endpoints. |
auto | /v1/chat only (auto-routing through CEO). |
agent:ceo | Direct CEO agent only. |
agent:cfo | Direct CFO agent only. |
agent:sales | Direct Sales agent only. |
agent:support | Direct Support agent only. |
agent:research | Direct Research agent only. |
agent:marketing | Direct Marketing agent only. |
agent:legal | Direct Legal agent only. |
Rate Limits
Limits use rolling windows, not fixed calendar resets. Each window (5-hour, 7-day, 28-day) starts from your first request in that window and expires exactly that duration later. When it expires, your next request starts a brand new window from that moment. When any limit is exceeded, the API returns 429.
Per-key hard limit: 30 requests/minute regardless of plan.
| Plan | Price | 5-hour window | 7-day window | 28-day window |
|---|---|---|---|---|
| Free | ₹1 one-time | 80 | 1,000 | 2,500 |
| Starter | ₹349 / 28 days | 250 | 3,000 | 7,500 |
| Growth | ₹599 / 28 days | 400 | 5,500 | 14,000 |
| Pro | ₹999 / 28 days | 550 | 7,500 | 18,500 |
| Enterprise T1 | ₹3,999 / 28 days | 1,500 | 20,000 | 45,000 |
| Enterprise T2 | ₹6,999 / 28 days | 3,000 | 50,000 | 125,000 |
Error Codes
All errors follow this shape:
{
"error": {
"code": "invalid_api_key",
"message": "The API key provided is invalid or has been revoked.",
"detail": "..." // present when available
}
}| HTTP | Code | Meaning |
|---|---|---|
| 400 | invalid_request | Malformed body or missing required fields. |
| 400 | message_too_long | Message exceeds 32,000 characters. |
| 400 | invalid_provider | Provider not supported or undetectable from key. |
| 400 | invalid_model | Model not available for the chosen provider. |
| 401 | invalid_api_key | API key is invalid or revoked. |
| 401 | missing_api_key | Authorization header missing. |
| 401 | decryption_failed | Wrong encryption password or corrupted vault entry. |
| 402 | insufficient_credits | No remaining API calls. Upgrade your plan. |
| 403 | insufficient_permission | Key scope doesn't allow this agent or endpoint. |
| 403 | account_suspended | Account suspended due to policy violations. |
| 403 | conversation_limit_reached | Free tier: max 5 active conversations. Delete one or upgrade. |
| 404 | agent_not_found | Agent name in URL is invalid. |
| 404 | vault_key_not_found | No key stored for the requested provider. |
| 429 | daily_limit_exceeded | 5-hour window quota hit. Resets 5 hours after your first request in that window. |
| 429 | weekly_limit_exceeded | 7-day window quota hit. Resets 7 days after your first request in that window. |
| 429 | monthly_limit_exceeded | 28-day window quota hit. Resets 28 days after your first request in that window. |
| 429 | rate_limit_exceeded | 30 req/min per key exceeded. |
| 500 | agent_error | Agent encountered an internal error. |
| 500 | internal_error | Unexpected server error. |
| 503 | service_unavailable | Service temporarily down. Retry with backoff. |
Connect via MCP
Aeldorado speaks MCP (Model Context Protocol), so you can plug it straight into Claude Desktop, Claude.ai, Claude Code, Cursor, or any other MCP-compatible client. Once connected, that AI assistant can manage your API keys, run your agents, check usage, and read/write project memory — all by you just chatting with it normally, no manual API calls needed.
aldo-live-... key for this. MCP uses a one-click "Sign in with Google" approval screen instead.
Step 1 — Add the connector
In your MCP client (e.g. Claude.ai → Settings → Connectors, or Claude Desktop → Settings → Connectors), add a new custom connector pointing at:
https://api.aeldorado.solanacy.in/mcp
Step 2 — Approve access
Your client opens an Aeldorado sign-in page. Sign in with the same Google account you use for your Aeldorado dashboard, then click Allow Access. You'll be redirected straight back to your client — no key copying.
Step 3 — Enable MCP Agent Access (for chat & agent tools)
To let the connected assistant actually run your agents (not just manage keys/projects), it needs read access to your provider keys. Go to Dashboard → Settings → MCP Agent Access and click Enable, then Sync. This stores a copy of your vault keys re-encrypted specifically for MCP use — your original vault and its password are untouched.
Step 4 — Start using it
That's it. Try asking your assistant things like:
// Just talk to it naturally — no code needed "List my Aeldorado API keys" "Generate a new key scoped to the sales agent" "Ask the legal agent to review this NDA clause" "How much usage have I got left this month?"
Available MCP Tools
Once connected, these tools are available to your assistant:
| Tool | What it does |
|---|---|
chat | Send a message to the CEO orchestrator, which routes it to the right specialist agent(s) automatically. |
call_agent | Call a specific agent directly — CEO, CFO, Sales, Support, Research, Marketing, or Legal. |
list_keys | List your API keys (masked), with scope, project, tier, and creation date. |
generate_key | Generate a new API key. Shown once — save it immediately. |
revoke_key | Permanently revoke a key by its prefix. |
list_vault | List provider keys stored in your encrypted vault (masked, no sensitive data exposed). |
store_vault_key | Store a new provider key in your vault (AES-256-GCM encrypted). |
remove_vault_key | Remove a provider key from your vault. |
create_project | Create a project to group keys under a shared memory pool. |
list_projects | List your projects with memory status and linked key count. |
delete_project | Delete a project and its associated memory. |
check_usage | Check current usage stats and remaining limits (5-hour/7-day/28-day rolling windows). |
view_memory | View stored memory facts for a project. |
remember_fact | Save a fact to project memory for future context. |
add_memory | Same as remember_fact, with explicit scope/visibility control. |
delete_memory | Delete a specific memory fact. |
billing_status | Check your subscription tier, expiry, and available plans. |
view_logs | View recent request logs — agent used, model, status, latency. |
Scope & Limitations
MCP access is scoped to what's stored inside Aeldorado — your project memory and account data — not your company's live infrastructure. Agent responses are grounded in saved memory (facts you've added via remember_fact / add_memory) and account metadata, not real-time databases, CRMs, or internal systems, even if you self-host Aeldorado elsewhere with deeper access wired up.
This is intentional. Giving any connected MCP client unrestricted access to live company infrastructure would be a large, uncontrolled attack surface — and real-time data integrations carry compute costs outside what free and standard tiers cover. Memory-scoped access lets you control exactly what's exposed.
If you need an assistant to reason over live company data through MCP, save the relevant facts to project memory ahead of time. For deeper, real-time integrations, run Aeldorado agents inside your own environment with direct access to your data sources.
Support
Questions, bugs, or integration help — reach out:
- Email: aeldorado@solanacy.in
- Dashboard: aeldorado.solanacy.in