2026-05-25 · Jaimini extras (+5 endpoints)
Five new endpoints for deeper Jaimini-school analysis - previously deferred, now live in prod.
POST /vedic/yogas/jaimini/karaka-yoga: scans all 8 chara karakas (Atmakaraka..Darakaraka) with strength scoring for placement in kendra / trine / dusthana and manifestation hint per karaka.POST /vedic/yogas/jaimini/karakamsa: full 12-house projection from Atmakaraka’s sign in D9 Navamsha. Each house carries canonical significations (iṣṭa devata, moksha, spiritual path) per Sanjay Rath’s commentary.POST /vedic/yogas/jaimini/shubha-graha: functional nature of every 7 visible grahas (yogakaraka / functional-benefic / neutral / functional-malefic / maraka) based on house-lordship from Lagna. Kendradhipati + maraka rules per BPHS A.34.POST /vedic/jaimini/atmakaraka-rotation: timeline of Atmakaraka transitions across the life via 1°/year symbolic progression. Returns age-of-event entries with before/after planet names.POST /vedic/jaimini/argala-analysis: full Argala (2/4/11 primary, 5 secondary, 8 special) + Virodhargala (12/10/3 primary, 9 secondary, 6 special) scan for all 12 houses with net-influence + dominant-over metrics.
All five are Tier 2 (20 credits) except atmakaraka-rotation which is Tier 3 (50 credits) due to the time-series compute. Available on the Vedic Pack add-on.
2026-05-19 · whitelabel accepts inline branding object (15 fields)
The whitelabel field on every /v1/reports/* endpoint (natal, transit-yearly, synastry, business, career, love, money, child, lal-kitab, human-design, tarot, vedic-kundli - 12 endpoints total) now accepts an inline object alongside the legacy boolean. SDK consumers without a whitelabel_configs DB row can brand reports per request.
curl -X POST https://api.astroway.info/v1/reports/natal \ -H "X-Api-Key: aw_live_..." \ -H "Content-Type: application/json" \ -d '{ "chart": {"date":"1990-05-15","time":"14:30:00","timezoneOffset":3,"latitude":50.45,"longitude":30.52,"name":"Test"}, "whitelabel": { "companyName": "Acme Astrology", "companyUrl": "https://acme-astro.example.com", "logoUrl": "https://cdn.example.com/logo.png", "themeColor": "#ff5500", "reportName": "My Personal Cosmic Map", "footerText": "© 2026 Acme Astrology", "fontPairing": "serif-sans" } }'Output PDF/HTML carries your logo in the header, your title in place of the default, your colors throughout, and your company contact block in the footer.
15 fields (all optional): companyName, companyUrl, companyEmail, companyMobile, companyBio, logoUrl (https + .png/.jpg/.svg/.webp), frontImage, textPrimaryColor / textSecondaryColor / backgroundColor / themeColor / headingColor (each #RGB or #RRGGBB), footerText, fontPairing (serif-sans / sans-serif / serif-only / sans-only / system), reportName.
Backwards compatible. whitelabel: true (reads DB config for the WP-bound user) and whitelabel: false / absent - both unchanged. The field type is now boolean | BrandingObject.
Resolution priority. Inline object merges over the DB config (when the API key is wpUser-bound) or over defaults (for SDK keys with no WP binding). themeColor becomes the rendered primaryColor after applyBrandingPreferences, and fontPairing maps to CSS font-family.
OpenAPI 3.1 spec. BrandingObject is now a separate component in /v1/openapi.json. The TypeScript / Python / PHP SDK codegen will pick it up as a typed BrandingObject on next regeneration.
2026-05-16 · Hosted MCP endpoint live at mcp.astroway.info/mcp
@astroway/mcp now ships in two transport modes. Stdio (the npm package) is unchanged; we’ve added a hosted Streamable HTTP endpoint for zero-install integration with Claude Web (claude.ai in browser), Claude Desktop, Cursor, Cline, and every other MCP-compatible client.
One-click install for Cursor - a cursor://anysphere.cursor-deeplink/mcp/install?... button on the /examples/mcp/ page. Claude Desktop - via + → Add Connector → Custom (no JSON editing).
// JSON option for Cline / Continue / Windsurf{ "mcpServers": { "astroway-hosted": { "url": "https://mcp.astroway.info/mcp", "headers": { "Authorization": "Bearer aw_live_..." } } }}Same 630-tool catalogue + 12 prompts + 14 resources, same aw_test_* / aw_live_* auth (hosted mode uses an Authorization: Bearer … header instead of an env var), same credit pool. Multi-tenant by design - every request carries its own key, credits charge against that key’s account. X-Astroway-Channel reports mcp-http (hosted) vs mcp (stdio) for adoption tracking.
Why two modes. Stdio (npx @astroway/mcp) stays for Cursor power users / privacy-conscious integrators - key never leaves the machine, no network hops. Hosted unlocks the Claude Web segment (which only supports remote MCP) and zero-install scenarios. Same pattern Stripe / Resend / GitHub MCP ship.
Health endpoint: publicly reachable without auth:
curl https://mcp.astroway.info/health# {"status":"ok","version":"…","uptime_sec":…,"mcp_protocol_version":"2024-11-05"}Full docs for both modes - /examples/mcp/.
2026-05-15 · New endpoint GET /v1/auth/keys/me
API key introspection. Pass X-Api-Key, get the full state: plan, credits, status, bound domain, creation timestamp, referrer source. Useful for any SDK consumer (TS / Python / PHP / MCP) - “what’s my key doing right now” without reading the dashboard. Analogous to Stripe /v1/account or GitHub /user.
curl -H "X-Api-Key: aw_live_..." https://api.astroway.info/v1/auth/keys/me# →# {# "key_prefix": "aw_live_4ab...", # first 11 chars; full key is never returned# "plan": "free",# "credits_remaining": 9830,# "credits_total_this_period": 10000,# "period_end": "2026-06-01T00:00:00.000Z", # calendar month end# "status": "active", # active | suspended | revoked# "domain": null, # bound site (wp-plugin keys)# "domain_bound_at": null,# "created_at": "2026-04-24T22:03:59.000Z",# "referrer_source": "direct" # direct | wp_plugin | mcp | sdk | dashboard | other# }No auth: 401 MISSING_API_KEY. Invalid key: 401 INVALID_API_KEY.
OpenAPI 3.1 spec. /v1/openapi.json now declares /v1/auth/keys/me. SDK codegen will surface client.auth.keys.me() on the next regeneration.
Backwards compatibility. Existing GET /v1/keys/usage (returns only credits_today + rate-limit) keeps working - it’s a separate endpoint for server-side cron checks. /auth/keys/me returns the full state plus domain-binding metadata for wp-plugin scenarios.
2026-05-14 · /horoscope/* and /interpret/* localisation (20 languages)
POST /v1/horoscope/{daily,weekly,monthly,yearly,compatibility} and POST /v1/interpret/{natal,synastry,transits,element,placement} - 10 endpoints that return interpretation text - now respond in the caller’s language.
Usage:
curl -X POST https://api.astroway.info/v1/horoscope/daily \ -H "X-Api-Key: aw_live_..." \ -H "Accept-Language: hi" \ -H "Content-Type: application/json" \ -d '{"sign": "leo"}'# → response in हिन्दीResolve priority (server-side):
body.language="de"- explicit per-call override (highest priority)Accept-Language: de, en;q=0.7- RFC 7231 q-weighted; first code matching an active lang wins?lang=de- query param for clients that can’t set headers- Fallback →
uk(source language)
Supported languages (20): uk, en, de, pl, es, pt, fr, it, nl, cs, ro, hu, el, tr, ar, hi, ja, ko, vi, id. Unknown codes silently fall through to uk without error.
OpenAPI 3.1 spec. /v1/openapi.json now declares Accept-Language (header) and lang (query) as parameters with an enum of 21 codes on these 10 endpoints. SDK codegens (openapi-typescript, openapi-generator-cli) automatically wire typed .lang('hi') call sites on the next regeneration.
What’s translated: interpretation text fields only (horoscope, interpretation, disclaimer, etc.). Numeric fields (longitude, latitude, score, sign-id, house-id) stay canonical - clients format locally. Matches the segment standard (Vedika, DivineAPI, AstrologyAPI.com).
Scope: 10 endpoints of the interpretation group are localised in this release. Calculation endpoints (/chart, /synastry, /transits, /vedic/*, /human-design/*, /tarot/*, /numerology/*, ~690 others) return numbers and canonical identifiers (name: "Aries", glyph: "♈") unchanged - clients localise those via their own lookup tables. This matches the segment standard.
Backwards compatible. Existing code without Accept-Language / ?lang= / body.language gets uk by default, same as before.
SDK support (@astroway/sdk, astroway, astroway/sdk, @astroway/mcp) adds a lang constructor option - separate releases arrive in the coming weeks via the staging-repo cron applier.
2026-05-09 · Three SDKs launched: TypeScript, Python, PHP
Three official SDKs are live on public registries - wrappers around the same 700+ API endpoints. One OpenAPI 3.1 spec → three language-idiomatic clients.
| Package | Registry | Version |
|---|---|---|
@astroway/sdk | npm | 0.1.0-alpha.1 |
astroway | PyPI | 0.1.0a1 |
astroway/sdk | Packagist | v0.1.0-alpha.1 |
What this is for integrators:
- Type-safe alternative to raw HTTP. Path autocomplete + request/response types in your IDE. Helper methods
aw.post('/chart', body=...)oraw.client.POST('/chart', { body })for TS - instead of hand-rolledfetch/requests/Guzzle. - Identical surface across languages. Constructor
Astroway({apiKey, baseUrl, authScheme, timeout, retry})works the same in TS / Python / PHP. If your project is multi-language, less cognitive overhead. - Built-in retry on 408/409/429/5xx with exponential backoff + full jitter. Honors
Retry-Afterheader. Default 2 retries, configurable viaretry={maxRetries: 0}. - Stainless-template error hierarchy: same template Stripe / OpenAI / Cloudflare SDKs use. Catch
RateLimitError(withretryAfterSeconds),AuthenticationError(rotate key),BadRequestError(validation),ApiError(generic) - in that order. - Two auth schemes. Default
X-Api-Key: aw_live_...(matches curl/Postman). OrAuthorization: Bearer aw_live_...(matches Stripe/OpenAI/Anthropic SDKs) viaauth_scheme="bearer"in the constructor. - Identification headers, no telemetry. Every request carries
User-Agent: astroway-sdk-<lang>/<version>+X-Astroway-Channel: sdk-<lang>. No phone-home, no opt-in/opt-out toggle. - OIDC + SLSA L3 provenance (TS + Python). Sigstore-attested record that the package was built from a specific commit in the public repo. No long-lived tokens in CI.
- MIT, full source open on
github.com/astroway/{astroway-typescript,astroway-python,astroway-php}.
Quick start:
// TypeScript / Node 20+import { Astroway } from '@astroway/sdk';const aw = new Astroway({ apiKey: process.env.ASTROWAY_API_KEY! });const { data } = await aw.client.POST('/chart', { body: { date: '1990-07-14', /* ... */ } });# Python 3.9+from astroway import Astrowayaw = Astroway(api_key=os.environ['ASTROWAY_API_KEY'])chart = aw.post('/chart', body={'date': '1990-07-14', ...})// PHP 8.1+use Astroway\Astroway;$aw = new Astroway(['apiKey' => getenv('ASTROWAY_API_KEY')]);$chart = $aw->post('/chart', body: ['date' => '1990-07-14', /* ... */]);Python also offers AsyncAstroway with identical surface for async/await workloads. PHP is sync-only (no unified async story in the language). TS uses native promises through openapi-fetch.
This is an alpha - the public API may shift before 0.1.0 proper based on integrator feedback. Pin the exact version (@astroway/sdk@0.1.0-alpha.1) during the alpha window - or latest alpha at install time.
@astroway/mcp - the MCP server for Claude / Cursor / GPT - keeps living alongside as a separate product.
2026-05-07 · MCP server refresh
@astroway/mcp got an update - it now auto-generates the tool catalog from the live /openapi.json instead of hand-curated routes. Everything that landed in the API over the past weeks (compat suite, reports endpoints) is immediately visible in Claude / Cursor / GPT.
For integrators:
- Tool catalog reflects live API state
- Path-template endpoints (
/v1/.../id) are skipped for now: the description parser in MCP clients gets confused otherwise - Cost annotations in tool descriptions: Claude can see the credit cost of each call before execution
- OIDC trusted publishing + SLSA L3 provenance: the package is attested to a specific commit in the public repo
astroway/astroway-mcp
Install:
npm install -g @astroway/mcpOr through Claude Desktop / Cursor MCP config:
{ "mcpServers": { "astroway": { "command": "npx", "args": ["-y", "@astroway/mcp"] } }}Source: public astroway/astroway-mcp (MIT).
2026-04-11 · Cross-system compatibility (+10 endpoints)
A new group /v1/compat/* - composite compatibility score across western, vedic, chinese, numerology, tarot, and human design. Six traditions combine into a unified metric for UX indicators in multi-tradition astrology apps.
| Endpoint | What it computes |
|---|---|
/compat/full | 6-system unified compatibility 0–100 |
/compat/astro-vedic | Western synastry × Vedic Ashtakoot |
/compat/astro-chinese | Western × Bazi compatibility |
/compat/astro-numerology | Synastry-aspected numerology base |
/compat/astro-tarot | Cross-archetype reading |
/compat/astro-hd | Synastry × HD electromagnetic / dominant gates |
/forecast/multi-system | Unified yearly forecast across 6 systems |
/forecast/yearly-fusion | Annual highlights weighted by system |
/profile/spiritual-path | Path archetype from Pisces + Neptune + Vedic Moksha houses |
/profile/multi-archetype | Hero archetype detection across 5 systems |
Each endpoint returns JSON with a disclaimer field - this is AstroWay’s scoring methodology, not a clinical or legal statement. Tier 4 (100 credits) per call - heavy cross-system compute.
Manifest in /openapi.json updated - SDKs / MCP pick it up automatically.
2026-03-28 · Reports + Webhooks (+17 endpoints)
Two new groups in production.
/v1/reports/* (12 endpoints) - HTML / PDF report generation via Puppeteer. Render runs server-side in api-calc, returning a signed download URL (TTL 24h).
| Category | Slug | Cost |
|---|---|---|
| Natal | /reports/natal/* | Tier 7 (5000 cr) |
| Synastry | /reports/synastry | Tier 7 |
| Vedic Kundli | /reports/vedic-kundli | Tier 7 |
| Lal Kitab | /reports/lal-kitab | Tier 7 |
| Human Design | /reports/human-design | Tier 7 |
| Tarot | /reports/tarot | Tier 7 |
| Career / Love / Money / Child / Business | /reports/* | Tier 7 |
/v1/webhooks/* (5 endpoints) - subscription management, event delivery, HMAC signing. Subscribe to events credits.low, key.created, usage.threshold, error.spike.
curl -X POST https://api.astroway.info/v1/webhooks \ -H "Authorization: Bearer aw_live_..." \ -d '{"url": "https://...", "events": ["credits.low"], "secret": "wh_secret_..."}'Each delivery carries X-Astroway-Signature: sha256=<hmac> - verify with the secret. Retry policy: exponential backoff on 5xx, up to 5 attempts within 24 hours.
2026-03-14 · Reference endpoints: public, no key, no credits
14 /v1/reference/* endpoints (signs, planets, houses, aspects, elements, modalities, polarities, dignities, decans, nakshatras, lots, asteroids, zodiac-systems, glyphs) are now callable without X-Api-Key and cost 0 credits. These are canonical lookup tables - gating them through the billing channel was a design accident.
What this means for integrators:
- No key required: external MCP agents / SDKs / preview pages can pull reference data without authentication. The same IP rate limit as
/public(30 req/hr) still applies. - Cost manifest updated: 14 paths moved from
TIER_HALF(5 credits) to0. If yourastroway_cost_estimatebudget planner referenced these paths, new calls do not touch your quota anymore. - Existing clients that send a key keep working unchanged.
X-Api-Keyis ignored for/reference/*(we do not error on the extra header).
Backward-compatible: 200 responses and the JSON schema are unchanged; only the auth requirement is dropped.
2026-03-07 · Founders’ Lifetime Deal: $299 → Indie tier for life
Launching Founders’ Lifetime Deal - a limited relaunch project. First 100 customers pay $299 one-time and get the Indie tier (50,000 credits/mo) forever, no recurring charges, locked-in price.
What this means for integrators:
- Standard Indie = $5/mo. Founders’ = $299 one-time → breakeven at year 5, infinite ROI thereafter. If your project will be in astrology / numerology / Tarot space for at least 5 years, the Founders’ Deal pays off.
- Webhook payload for SKU
astroway-api-indie-lifetime: api_keys row getsplan='indie',credits_limit=50000,is_lifetime=1,expires_at=NULL. No monthly charges, no renewal webhooks. - DB schema: added columns
is_lifetime TINYINT(1)toapi_keysandshared_user_quotas. ApiKeyInfo TS type extended. Existing keys =is_lifetime=0(no behavior change). - WP REST endpoint
GET /wp-json/astroway/v1/founders-countreturns{sold, total: 100, remaining, available}- consumed by site/components/founders/FoundersCounter.astro for the realtime counter on /founders/ landing. - Auto-deactivation at 100/100: WC product
_stock_statusflips tooutofstockvia thewoocommerce_order_status_completedhook. After that, the checkout link redirects to/pricing/#indie(standard Indie $5/mo).
Live pages: /founders/ (uk) + /en/founders/ (en). Sidebar entry “Founders’ Lifetime Deal” with 🚀 100 only badge.
WP product: astroway-api-indie-lifetime, ID 30618, $299 (13,225 UAH), stock=100. Checkout: astroway.info/checkout/?add-to-cart=30618.
2026-03-05 · GDPR / EU residency landing page + Pro card EU badge
Launching /en/eu/ - a dedicated page for EU developers building GDPR-sensitive products. What integrators need to know:
- Pro $59 = EU-residency by default (Hetzner Nuremberg, EU-only data flow, anonymized analytics - Plausible cookie-free on roadmap).
- Standard DPA is not Enterprise-gated: signed via email on the standard Pro tier within 5 business days.
DELETE /v1/me/accountendpoint for GDPR right-to-erasure (instantly removes your wp_user_id from all tables).- Pro card on /pricing/ now carries a 🇪🇺 GDPR-ready badge: click leads to /en/eu/ with the full FAQ.
- DivineAPI / AstrologyAPI / Prokerala are US/India-hosted with DPA only on Enterprise. If EU compliance is a hard requirement, Pro $59 is the cheapest path.
Live: /eu/ (uk) + /en/eu/ (en). Sidebar entry “GDPR / EU residency” with 🇪🇺 badge.
2026-03-03 · Annual prepay 25% off + credit rollover + Pro feature surfacing
Two integrator-affecting changes:
- Annual discount 17% → 25% (3 months free instead of 2). New yearly USD prices: Indie $45, Starter $171, Pro $531, Business $1791, HD/Esoteric Pack $81, Vedic Pack $171, Reports Pack $891. Existing annual subscribers are not affected - the new price applies only to future renewals. If you parsed USD prices via
/wp-json/astroway/v1/api-prices, updated values are returned automatically. - Credit rollover for annual subscribers: unused credits roll over to the next monthly cycle, capped at 1× tier monthly allocation. Activated automatically on annual checkout. Visible through new response headers:
X-Credits-Limit: <int>: effective monthly limit (includes rollover)X-Credits-Remaining: <int>: same as before, now accounting for rolloverX-Credits-Rollover: <int>: current rolled-over balance (annual subscribers only)
- Pro tier ($59) now openly advertises: streaming endpoints (real-time), GDPR-compliant EU billing, MCP advanced (multi-agent / debate / RAG), webhooks (10 event types). These features were already in Pro - previously buried in docs.
DB schema: added columns credit_rollover_enabled TINYINT(1) + credits_rolled_over INT UNSIGNED to api_keys and shared_user_quotas. Initially both = 0 for all existing keys.
2026-03-01 · Per-endpoint credit cost transparency table
Public page /credits/ now lists the credit cost of all 700+ endpoints. No competitor (DivineAPI, AstrologyAPI, Prokerala) publishes anything similar - they charge a flat 1 credit per call and hide their internal mapping.
For integrators this gives three things:
- Transparent unit economics: exact $/call per endpoint (monthly budgets from
/pricing/× tier cost = real cost-per-call). - Auto-sync with code: the table is generated at build time from
endpoint-costs.ts. Adding a new endpoint or changing a tier propagates automatically on the next deploy. - Free-tier marker: the column shows which endpoints require Indie+ (🔒 icon, 28 right now).
Available at /credits/ (uk) and /en/credits/ (en). Cross-linked from /rate-limits-credits/ and Starlight sidebar (badge “New”).
2026-02-27 · Vedic charts, cosmogram, eclipse path, star map (+6 endpoints)
Closes the Visualization category at 14/14 endpoints per the roadmap:
POST /v1/render/wheel-vedic-north: North Indian (diamond) layout. Houses fixed, signs rotate by lagna.POST /v1/render/wheel-vedic-south: South Indian (4×4 grid). Signs fixed (Pisces top-left), houses float.POST /v1/render/wheel-vedic-east: East Indian (Bengali). Square with diagonals + inner rotated square.POST /v1/render/cosmogram: Hamburg School / Cosmobiology 90° dial (Ebertin 1940 + Witte 1928).POST /v1/render/eclipse-path: equirectangular world map with caller-supplied lat/lon track; renders centerline + band of given degree-width.POST /v1/render/star-map: stereographic projection of a list of (RA, Dec) points with magnitude scaling.
All renderers are pure SVG, no headless Chrome.
2026-02-25 · Bi-/tri-wheel + composite + biorhythm (+4 endpoints)
Four more visualization endpoints extending the SVG engine:
POST /v1/render/bi-wheel: two concentric wheels: natal inner + transit (or progression) outer ring.POST /v1/render/tri-wheel: three wheels: natal + progressed + transit.POST /v1/render/composite: render a composite chart from two natal inputs (midpoint composite).POST /v1/render/biorhythm: three-cycle sine plot: physical (23d), emotional (28d), intellectual (33d).
No new math - visualization only; bi-wheel computes both charts in parallel via Promise.all.
2026-02-24 · Visualization: SVG rendering (+4 endpoints)
Four new endpoints return SVG renders of natal charts and related visuals. Pure server-side - no Puppeteer / headless Chrome, so latency is ~10 ms instead of 1-2 s and free for the free tier.
POST /v1/render/wheel-western: Western wheel (signs ring + houses ring + planets + aspect lines).POST /v1/render/aspect-grid: triangular aspect matrix with glyph + orb per cell.POST /v1/render/moon-phase: moon disk illumination; returns SVG plusilluminationFraction,phase,waxing.POST /v1/render/timeline: Gantt-style transit-event timeline (caller passes theeventsarray).
Options: size, theme (light / dark / console), format (json returns { svg, byteLength }; svg serves image/svg+xml directly). Base tier - 2 credits per call.
2026-02-23 · Typed schemas in /v1/openapi.json (612 endpoints, 98%)
/v1/openapi.json is now a fully machine-readable specification both for request bodies and for response data. 612 of 624 POST endpoints are now typed, landing as a coordinated three-stage upgrade:
- Request bodies: 386 endpoints typed via
components.schemas(128 reusable components). Of these, 5 are shared (ChartInput,TwoChart,MultiChart,NatalTarget,NatalWrapper) and 123 are local (DashaInput,MuhuratWindow,ChartWithTnp,WheelWestern, etc.). Composition throughallOffor inheritance (DashaInput extends ChartInput). - Response
data: 612 endpoints typed via an inferrer that walks ep.response examples in the manifest:{type: 'object', properties: {...}}instead of the flat{type: 'object'}. The natal chart now declaresdata.planets[],data.houses.{ascendant, mc, cusps},data.aspects[]with real field types. - Remaining 12 endpoints: dasha pratyantar/sookshma with unparseable shorthand examples in the manifest - keep
{type: object}. Backward-compatible, will be added in upcoming releases.
What this means for integrators:
- Regenerate your OpenAPI client:
openapi-typescript,openapi-fetch,swagger-codegenproduce interfaces with typed fields instead ofRecord<string, unknown>. Code completion on request bodies + responsedataworks natively. - The Postman collection at
/postman/astroway-api.jsonis regenerated from the same types - re-import and you get autocompletion across all typed endpoints.
Backward-compatible: the previous {"type": "object"} form was permissive - every existing client keeps working untouched.
2026-02-21 · Pricing rebase: Reports unified, Business +500K credits, Free hardening
Three integrator-affecting pricing changes:
- Reports unified at 5 000 credits:
/v1/reports/transit-yearly,/v1/reports/vedic-kundli,/v1/reports/lal-kitabdropped from 10 000 cr to 5 000 cr per call (2× cheaper). All PDF reports now charge the same - simpler bundle-budget math. - Business plan +500K credits/mo: Business tier now ships 3 500 000 credits per month (was 3 000 000) at the same $199 price. Existing subscribers get the increased allocation automatically from the next billing cycle.
- Free plan:
/v1/reports/*requires a paid tier: 12 PDF endpoints (reports/natal,synastry,child,business,career,love,money,transit-yearly,vedic-kundli,lal-kitab,human-design,tarot) now return402 PLAN_UPGRADE_REQUIREDfor Free keys. Everything else - charts, synastry, transits, horoscope - stays on Free.
If your Free key was hitting one of those endpoints, upgrade to Indie ($5/mo) or higher, or switch to the JSON equivalents (/v1/chart, /v1/synastry, etc.) for similar content without the PDF render.
2026-02-19 · Sign-in with Google and GitHub (+2 endpoints)
One account across the whole ecosystem - a user who registered on astroway.info or app.astroway.info now signs into the developer console with the same email/SSO and sees their existing orders, credits and API keys.
GET /v1/auth/oauth/google/start?return=<path>: kicks off the Google OAuth flow.GET /v1/auth/oauth/github/start?return=<path>: kicks off the GitHub OAuth flow.
Callback ends with a redirect to /dashboard/oauth/callback#access_token=&refresh_token=&user= - the dashboard persists tokens just like after /v1/auth/login. If the email is already registered via the standard form and the provider asserts email_verified=true, the account is linked rather than duplicated.