PRIVATE DEVELOPMENT PREVIEWSimulated research · payments disabled · no public API route

ELYRAON DEVELOPERS / INTELLIGENCE

Research,
programmable.

A single authenticated API for five specialized Forces. Built from the actual OpenAPI 3.1 contract, version 0.1.0.

CONTRACTOpenAPI 3.1.0Backend commit a50eba5Download specification ↓
PRIVATE DEVELOPMENT APILocal base URL: http://127.0.0.1:8830. Public routing is not active. All research is currently simulated.

QUICKSTART

One key. Explicit capabilities.

Create a free development account in the customer console, copy the key shown once, then call a public catalogue or an authenticated web research endpoint.

curl http://127.0.0.1:8830/v1/forces

Do not expose keys in browser code, public repositories, logs, or URLs. Production applications should call the API from a server.

AUTHENTICATION

Bearer authentication

Send Authorization: Bearer ein_… on every /v1/* request except GET /v1/forces, GET /v1/plans, and POST /v1/signup. Rotating a key revokes all existing keys.

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Owner-only routes excluded. /admin/* requires an administrative token and must never be called from frontend code. Billing webhooks are server-to-server only.

FORCE ENDPOINTS

Finance · Business · Developer · Creator · Research

Replace {force} with exactly one of finance, business, developer, creator, or research. Only Finance is a frontend launch candidate; other Forces remain coming soon regardless of their backend catalogue status.

POST/v1/web/{force}/ask

Dashboard research on any plan. Body: {query, depth, escalate}. Depth: quick, standard, deep. Escalate: never or auto.

POST/v1/{force}/analyze

API research with the same request and response engine. Requires Pro, Developer, or Business.

GET/v1/{force}/library?limit=20

Recent findings. Limit is constrained to 1–50 by the backend.

GETPOST/v1/{force}/watchlists

List watchlists or create one with {name, items[]}.

GETPOST/v1/{force}/saved

List saved research or save with {finding_id, note}.

GETPOST/v1/{force}/alerts

List alert events or create an alert with {term}. Creation requires Starter or above.

Research response

{
  "analysis": "…",
  "sources": [{"title":"…","url":"…","published":"…","cited_in":[1]}],
  "research_timestamps": [{"finding":1,"researched_at":"…","freshness":"fresh","model":"…"}],
  "uncertainty": "…",
  "coverage": "good",
  "simulated": true,
  "financial_data": {"available": false},
  "usage": {"credits_charged": 1, "credits_remaining": 19}
}

Illustrative response shape, not a live response. A coverage value of none returns no analysis and charges no credits.

ACCOUNT, PLANS & BILLING

Customer surface

POST/v1/signup

Body {email}. Returns account ID, free plan, and a key shown once.

POST/v1/keys/rotate

Revokes all keys and returns one replacement.

GET/v1/me

Email, plan, credits, escalation use, and plan limits.

GET/v1/usage

Recent usage records and credit ledger.

GET/v1/forcesGET/v1/plans

Public Force and plan catalogues.

POST/v1/billing/checkout

Body {plan, credits}. Currently returns 501 billing_not_enabled. Paid actions are intentionally disabled in the frontend.

CREDITS & RATE LIMITS

Know the operating envelope.

PlanCredits / monthRequests / minAPI
Free205No
Starter50020No
Pro2,00060Yes
DeveloperPrepaid120Yes
Business10,000300Yes

On HTTP 429, stop and back off before retrying. Respect plan gates instead of retrying forbidden requests. Credit costs vary by depth and optional fresh investigation.

ERROR CONTRACT

Uniform, actionable failures.

{"error":{"code":"invalid_key","message":"…"}}

401: re-enter or rotate a key. 403: plan or permission gate. 404: unknown Force or finding. 422: correct request fields. 429: back off. 501: billing is not enabled. 503 coming_soon: the requested Force is unavailable.

SAFE INTERACTIVE CONSOLE

Call public catalogue endpoints.

Only unauthenticated GET requests are enabled here. Research and account operations stay in their dedicated interfaces.

No request sent.

CREDENTIAL CEREMONY

Copy your key now.

This key is shown once. Store it in a password manager; it will not be displayed again.

Keep credentials out of source code, URLs, screenshots, and support messages.