Documentation

API Reference

Everything you need to integrate Aeldorado's multi-agent AI system into your application.

https://api.aeldorado.solanacy.in/v1

Quick Start

  1. Sign up at aeldorado.solanacy.in and activate your free plan with a one-time ₹1 payment.
  2. Store your AI provider key — go to Key Vault in the dashboard and add your Gemini, OpenAI, or Anthropic key with an encryption password.
  3. Generate an API key — create an aldo-live-xxx key from the API Keys section.
  4. Make your first request — send a message to /v1/chat with 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:

HeaderValue
Authorization Bearer aldo-live-xxxxxxxxxxxx Required
X-Encryption-Password The password you set when storing your provider key in the vault Required
Your encryption password is transmitted over HTTPS and used in-memory to decrypt your stored provider key. It is never stored or logged — only held for the duration of the request.

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:

ProviderKey PrefixDefault Model
Google GeminiAIza...gemini-3.1-flash-lite
OpenAIsk-...gpt-5.4-mini
Anthropic Claudesk-ant-...claude-sonnet-4-6
Provider is auto-detected from your key prefix. You don't need to specify it manually when storing.

See the Vault endpoints section for full details on storing and managing keys.

API Reference

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:

ParameterTypeDescription
messagestringYour prompt or query. Max 32,000 characters.Required
providerstringgemini · openai · anthropic. Defaults to your vault's stored provider.Optional
modelstringOverride the model for this request. Must be valid for the chosen provider.Optional
conversation_idstringResume a previous conversation. Only works with Playground keys.Optional
thinkingstringRequest 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:

ParameterTypeDescription
messagestringYour prompt or task. Max 32,000 characters.Required
providerstringAI provider to use for this request.Optional
modelstringModel override for this request.Optional
conversation_idstringResume a previous conversation (Playground keys only).Optional
API keys scoped to a specific agent (e.g. 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/providers
Vault Endpoints

POST/v1/vault/store

Encrypt and store your AI provider key. Requires Firebase Auth. Password must be at least 8 characters.

ParameterTypeDescription
apiKeystringYour Gemini, OpenAI, or Anthropic API key.Required
passwordstringEncryption password. Min 8 characters. Remember this — it cannot be recovered.Required
providerstringProvider name. Auto-detected from key prefix if omitted.Optional
defaultModelstringDefault model to use for this provider.Optional
Your encryption password cannot be reset or recovered. If you forget it, you will need to re-store your key with a new password.

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.

Concepts

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.

ceo
Orchestrator
Routes queries, multi-domain tasks, general strategy
cfo
Finance Expert
Budgets, forecasts, cash flow, financial analysis
sales
Revenue Driver
Lead qualification, outreach, deal strategy
support
Customer Care
Support tickets, FAQ, issue resolution
research
Data Analyst
Market research, competitive intel, data analysis
marketing
Growth Strategist
Campaigns, content strategy, brand positioning
legal
Compliance Officer
Contract review, compliance checks, legal analysis

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.

BehaviourDetail
Auto-extractionFacts are automatically extracted after every 20 messages in a conversation.
Manual factsSay "remember that..." in your message — the agent will detect and save it.
Visibilityinternal facts are only seen by your own keys. public facts are also visible to customer-facing keys.
Free tierMemory is hard-blocked. Upgrade to Starter or above to enable.
Public-facing keys (e.g. for a customer support widget) only ever receive 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.

ScopeAccess
allFull access — both /v1/chat and all /v1/agent/:name endpoints.
auto/v1/chat only (auto-routing through CEO).
agent:ceoDirect CEO agent only.
agent:cfoDirect CFO agent only.
agent:salesDirect Sales agent only.
agent:supportDirect Support agent only.
agent:researchDirect Research agent only.
agent:marketingDirect Marketing agent only.
agent:legalDirect 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.

PlanPrice5-hour window7-day window28-day window
Free₹1 one-time801,0002,500
Starter₹349 / 28 days2503,0007,500
Growth₹599 / 28 days4005,50014,000
Pro₹999 / 28 days5507,50018,500
Enterprise T1₹3,999 / 28 days1,50020,00045,000
Enterprise T2₹6,999 / 28 days3,00050,000125,000
Reference

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
  }
}
HTTPCodeMeaning
400invalid_requestMalformed body or missing required fields.
400message_too_longMessage exceeds 32,000 characters.
400invalid_providerProvider not supported or undetectable from key.
400invalid_modelModel not available for the chosen provider.
401invalid_api_keyAPI key is invalid or revoked.
401missing_api_keyAuthorization header missing.
401decryption_failedWrong encryption password or corrupted vault entry.
402insufficient_creditsNo remaining API calls. Upgrade your plan.
403insufficient_permissionKey scope doesn't allow this agent or endpoint.
403account_suspendedAccount suspended due to policy violations.
403conversation_limit_reachedFree tier: max 5 active conversations. Delete one or upgrade.
404agent_not_foundAgent name in URL is invalid.
404vault_key_not_foundNo key stored for the requested provider.
429daily_limit_exceeded5-hour window quota hit. Resets 5 hours after your first request in that window.
429weekly_limit_exceeded7-day window quota hit. Resets 7 days after your first request in that window.
429monthly_limit_exceeded28-day window quota hit. Resets 28 days after your first request in that window.
429rate_limit_exceeded30 req/min per key exceeded.
500agent_errorAgent encountered an internal error.
500internal_errorUnexpected server error.
503service_unavailableService temporarily down. Retry with backoff.
Connect to AI Tools

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.

You don't need to copy-paste an 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:

ToolWhat it does
chatSend a message to the CEO orchestrator, which routes it to the right specialist agent(s) automatically.
call_agentCall a specific agent directly — CEO, CFO, Sales, Support, Research, Marketing, or Legal.
list_keysList your API keys (masked), with scope, project, tier, and creation date.
generate_keyGenerate a new API key. Shown once — save it immediately.
revoke_keyPermanently revoke a key by its prefix.
list_vaultList provider keys stored in your encrypted vault (masked, no sensitive data exposed).
store_vault_keyStore a new provider key in your vault (AES-256-GCM encrypted).
remove_vault_keyRemove a provider key from your vault.
create_projectCreate a project to group keys under a shared memory pool.
list_projectsList your projects with memory status and linked key count.
delete_projectDelete a project and its associated memory.
check_usageCheck current usage stats and remaining limits (5-hour/7-day/28-day rolling windows).
view_memoryView stored memory facts for a project.
remember_factSave a fact to project memory for future context.
add_memorySame as remember_fact, with explicit scope/visibility control.
delete_memoryDelete a specific memory fact.
billing_statusCheck your subscription tier, expiry, and available plans.
view_logsView 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.

Self-hosted Aeldorado deployments can be wired directly into your own databases and internal tools — that access level isn't available through the public MCP endpoint.
MCP access is tied to your Google sign-in and can be revoked anytime from your connected client's settings — Aeldorado never sees or stores your client's OAuth secret in plaintext.

Support

Questions, bugs, or integration help — reach out: