Python SDK
Install editable from the repo, then import AstroAI. The package target is astro-ai-client.
.venv/bin/python -m pip install -e ./packages/sdk-python
The API for Indian astrology.
Deterministic chart, panchang, dasha, compatibility, rendering, registry, and safety-gated prediction surfaces through one clean /v1 contract.
https://api.astro.ai
.venv/bin/python -m pip install -e ./packages/sdk-python
from astro_ai_client import AstroAI
client = AstroAI(api_key="ASTRO_AI_API_KEY")
chart = client.chart(
{
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
}
)
print(chart["ascendant"]["sign"])
Use the repo-local SDK packages during development, then point the same clients at a hosted Astro AI deployment when packages and hosting are ready.
Install editable from the repo, then import AstroAI. The package target is astro-ai-client.
.venv/bin/python -m pip install -e ./packages/sdk-python
Install the local package into an app or run npm run smoke --prefix packages/sdk-typescript. The package target is @astro-ai/sdk.
npm install ./packages/sdk-typescript
Use the public Streamable HTTP endpoint for curated read-only astrology tools that do not execute arbitrary calculators.
{
"name": "astro-ai-public",
"transport": {
"type": "streamable_http",
"url": "http://127.0.0.1:8000/mcp/public",
"headers": {
"MCP-Protocol-Version": "2025-06-18",
"Accept": "application/json, text/event-stream"
}
}
}
Use the protected endpoint when the client needs saved product state or calculator execution. Keep the bearer token out of browser code.
{
"name": "astro-ai",
"transport": {
"type": "streamable_http",
"url": "http://127.0.0.1:8000/mcp",
"headers": {
"Authorization": "Bearer ASTRO_AI_API_KEY",
"MCP-Protocol-Version": "2025-06-18",
"Accept": "application/json, text/event-stream"
}
}
}
The info endpoints return live tool catalogs plus copyable setup profiles for generic MCP clients, Claude Code, and hosted Claude API calls.
GET http://127.0.0.1:8000/mcp/public/info
GET http://127.0.0.1:8000/mcp/info
Use type: "http" for Claude Code remote HTTP servers. Project-scoped files can keep the public read-only tools close to the app repo.
{
"mcpServers": {
"astro-ai-public": {
"type": "http",
"url": "http://127.0.0.1:8000/mcp/public",
"headers": {
"MCP-Protocol-Version": "2025-06-18",
"Accept": "application/json, text/event-stream"
}
}
}
}
Use claude mcp add-json when a host expects a single server config object. Replace the token placeholder before connecting protected tools.
claude mcp add-json astro-ai '{"type":"http","url":"http://127.0.0.1:8000/mcp","headers":{"Authorization":"Bearer ASTRO_AI_API_KEY","MCP-Protocol-Version":"2025-06-18","Accept":"application/json, text/event-stream"}}'
Hosted Claude API MCP calls need a public HTTPS URL. Localhost works for local MCP clients, not hosted API connectors.
{
"mcp_servers": [
{
"type": "url",
"url": "https://api.astro.ai/mcp/public",
"name": "astro-ai-public"
}
],
"tools": [
{
"type": "mcp_toolset",
"mcp_server_name": "astro-ai-public"
}
],
"betas": [
"mcp-client-2025-11-20"
]
}
Different MCP hosts use different config wrappers; the stable contract is the endpoint URL plus the headers above. Inspect /mcp/public/info and /mcp/info for the live tool catalog.
Local development is open by default. Production deployments should set ASTRO_AI_API_KEYS and send the key in a header. URL query-string keys are rejected.
Authorization: Bearer ASTRO_AI_API_KEY
The API also accepts x-api-key: ASTRO_AI_API_KEY for clients that cannot set bearer auth. Keep API keys on your backend and never expose them in browser code.
Successful responses return data and meta. The data object is typed per endpoint; meta carries request identity, normalized input, calculator version, warnings, and optional usage.
{
"data": {
"object": "chart",
"ascendant": {
"sign": "Virgo"
}
},
"meta": {
"request_id": "req_abc123",
"calculator_version": "2026.05",
"input": {
"normalized": "request payload"
},
"warnings": []
}
}
Errors use the same request ID in error.request_id and meta.request_id. When ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured, limited responses return 429, RateLimit-*, and Retry-After headers.
{
"error": {
"code": "invalid_request",
"message": "request validation failed",
"details": [
{
"path": "body.latitude",
"reason": "Input should be less than or equal to 90"
}
],
"request_id": "req_abc123"
},
"meta": {
"request_id": "req_abc123",
"calculator_version": "2026.05",
"input": {},
"warnings": []
}
}
Designed for production API clients and astrology agents that need facts first, provenance always, and predictable contracts.
Reading endpoints return deterministic facts or traceable summaries. Horoscope prose and sensitive predictions stay behind provenance and safety gates.
Every warning, source calculator, normalized input, and caveat stays visible to clients.
235+ calculator contracts with stability, compatibility, schemas, and examples.
Product routes cover common workflows while the calculator registry exposes the broader implementation surface.
All public endpoints return the same success or error shape, so SDKs and agents can parse results predictably.
The registry is broad by design. Start with high-signal workflows, then drop to raw calculators only when you need exact composition control.
Birth chart, divisions, panchang, dasha, and rendering.
POST Reading contextFacts-only bundles for agents, summaries, and UI layers.
GET Calculator registryDiscover contracts, examples, schemas, and execution gates.
POST Saved product libraryPersist report snapshots, calendar windows, timelines, Teacher answers, Teacher lesson plans, birth-time candidates, and notes.
POST Saved Match FinderStore facts-only compatibility context between two saved people.
GET Parity evidenceSee VedAstro coverage, clone decisions, and safety boundaries.
Pick any live OpenAPI operation, inspect the generated example, add an optional bearer token, and send it against this server. Path placeholders stay visible so destructive or account-scoped requests are deliberate.
Select an endpoint to load its generated request example.
Response JSON will appear here.
All endpoint examples use the same envelope and authentication model. Search filters the full reference without leaving the page.
Birth-chart and divisional-chart calculation surfaces.
/v1/charts
Create a normalized rasi chart with planets, houses, ascendant, ayanamsa, and source metadata.
Start here for any chart, reading, compatibility, or rendering workflow. This is the canonical D1 fact bundle.
A typed chart object with ayanamsa, observation point, ascendant, planets, houses, signs, degrees, and source metadata.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
curl -s "https://api.astro.ai/v1/charts" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}'
{
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
/v1/charts/divisions/{division}
Create a supported divisional chart such as D9, D10, D12, D30, or D60.
Use after the base chart when the client needs a specific varga such as D9, D10, D12, D30, or D60.
A typed chart object with ayanamsa, observation point, ascendant, planets, houses, signs, degrees, and source metadata.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
division
integer
Required
path parameter.
curl -s "https://api.astro.ai/v1/charts/divisions/{division}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}'
{
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
Day-level lunar calendar factors for a birth or event time.
/v1/panchang/day
Return weekday, tithi, nakshatra, yoga, karana, and sunrise/sunset context for one input.
Use for daily calendar cards, muhurta context, and fact-backed lunar-day UI.
A panchang_day object with weekday, tithi, nakshatra, yoga, karana, sunrise, sunset, and warnings.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
curl -s "https://api.astro.ai/v1/panchang/day" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}'
{
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
Transparent timing windows and hora-style timing helpers.
/v1/muhurta/windows
Return transparent muhurta and hora windows for the requested birth or event time.
Use for transparent day-window helpers. The output is timing evidence, not a black-box auspiciousness verdict.
Named time windows with start/end boundaries and transparent labels.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
curl -s "https://api.astro.ai/v1/muhurta/windows" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}'
{
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
Guided task-aware muhurta ranking with citations and transparent scoring evidence.
/v1/good-time-finder
Rank candidate muhurta windows for a task with panchang context, hora overlap, rejected windows, and citations.
Use for a better Good Time Finder workflow: task-aware candidates, visible scoring, citations, and avoidance explanations.
Ranked candidate windows, rejected windows, scoring breakdowns, panchang summaries, citation IDs, source calculators, and safety policy.
Scores are explainable planning context, not lineage-certified success guarantees.
curl -s "https://api.astro.ai/v1/good-time-finder" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"start": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 8,
"minutes": 0,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"end": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 20,
"minutes": 0,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"task": "business launch",
"preferred_window_minutes": 60,
"top_k": 5,
"include_classical_citations": true
}'
{
"start": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 8,
"minutes": 0,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"end": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 20,
"minutes": 0,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"task": "business launch",
"preferred_window_minutes": 60,
"top_k": 5,
"include_classical_citations": true
}
Guided birth-time candidate ranking with uncertainty bands and transparent rectification evidence.
/v1/birth-time-finder
Rank candidate birth-time bands from ascendant, house-strength, and Yoni-animal evidence without claiming a final rectification.
Use for a better Birth Time Finder workflow: ranked uncertainty bands with visible criteria and evidence scans.
Ranked birth-time candidates, uncertainty bands, matched criteria, score breakdowns, evidence scans, source calculators, and safety policy.
Candidate bands are evidence for review, not a final rectified birth time.
curl -s "https://api.astro.ai/v1/birth-time-finder" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"target_ascendant": "Virgo",
"target_house": 1,
"precision_minutes": 30,
"top_k": 5,
"include_evidence_scans": true
}'
{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"target_ascendant": "Virgo",
"target_house": 1,
"precision_minutes": 30,
"top_k": 5,
"include_evidence_scans": true
}
Deterministic dasha timelines and active-period lookup.
/v1/dashas/chara/active
Find a research-grade active Chara Dasha period for a specific check time.
Use this dashas route when the product needs the specific dashas chara active contract rather than a broader bundle.
Period chains with lords, start/end times, nesting level, and birth-balance markers.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
curl -s "https://api.astro.ai/v1/dashas/chara/active" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"check_time": "2026-05-22T12:00:00+00:00",
"levels": 2
}'
{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"check_time": "2026-05-22T12:00:00+00:00",
"levels": 2
}
/v1/dashas/vimshottari
Return the Vimshottari maha-dasha sequence and birth balance.
Use for the top-level life-period sequence and birth balance.
Period chains with lords, start/end times, nesting level, and birth-balance markers.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
curl -s "https://api.astro.ai/v1/dashas/vimshottari" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}'
{
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
/v1/dashas/vimshottari/active
Find the active Vimshottari period at a specific check time.
Use for an at-a-glance current-period chain at a supplied check time.
Period chains with lords, start/end times, nesting level, and birth-balance markers.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
curl -s "https://api.astro.ai/v1/dashas/vimshottari/active" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"check_time": "2026-05-22T12:00:00+00:00",
"levels": 2
}'
{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"check_time": "2026-05-22T12:00:00+00:00",
"levels": 2
}
/v1/dashas/vimshottari/timeline
Return nested Vimshottari periods across a bounded timeline.
Use when the product needs nested periods across a bounded scan window.
Period chains with lords, start/end times, nesting level, and birth-balance markers.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
curl -s "https://api.astro.ai/v1/dashas/vimshottari/timeline" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"levels": 2,
"scan_years": 10
}'
{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"levels": 2,
"scan_years": 10
}
Evidence-first life-map timelines composed from dasha, event windows, and Ashtakavarga research signals.
/v1/life-timeline
Return an evidence-first life timeline from dasha periods, sampled event windows, and optional Ashtakavarga distribution evidence.
Use as a safe Life Predictor replacement: evidence rows, confidence labels, and no deterministic event claims.
Dasha period evidence, sampled event windows, optional Ashtakavarga life-map distribution, source IDs, safety policy, and notes.
This is not a prediction engine. Present rows as evidence windows and research signals, never as guaranteed outcomes.
curl -s "https://api.astro.ai/v1/life-timeline" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"time_preset": "age18to21",
"dasha_levels": 2,
"include_ashtakavarga": true,
"include_event_windows": true,
"event_tags": [
"Travel",
"Building"
],
"event_precision_hours": 168,
"event_limit": 8
}'
{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"time_preset": "age18to21",
"dasha_levels": 2,
"include_ashtakavarga": true,
"include_event_windows": true,
"event_tags": [
"Travel",
"Building"
],
"event_precision_hours": 168,
"event_limit": 8
}
Source-backed product reports assembled from deterministic calculator facts.
/v1/reports/chart
Return a source-backed chart report with auditable sections, facts, calculator IDs, and safety policy.
Use when a product needs a report-style chart summary while preserving fact citations and no-prediction policy.
Template-only report sections, audit facts, source calculator IDs, source paths, safety policy, and optional source payloads.
Report prose is deterministic template text. Do not display it as an LLM reading or a guaranteed prediction.
curl -s "https://api.astro.ai/v1/reports/chart" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"include_sections": [
"chart_orientation",
"timing_context",
"strength_context"
],
"detail_level": "brief",
"include_source_payloads": false
}'
{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"include_sections": [
"chart_orientation",
"timing_context",
"strength_context"
],
"detail_level": "brief",
"include_source_payloads": false
}
Facts-first bundles for downstream reading products.
/v1/readings/facts
Collect deterministic facts for an agent or reading pipeline without generating prose.
Use as the safest input to an agent or reading UI because it returns facts, IDs, and warnings without invented prose.
Fact bundles or deterministic summaries with cost units, source IDs, and warnings.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
curl -s "https://api.astro.ai/v1/readings/facts" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}'
{
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
/v1/readings/summary
Return a deterministic reading summary that traces every statement to source facts.
Use when the product needs deterministic text sections that remain traceable to source fact IDs.
Fact bundles or deterministic summaries with cost units, source IDs, and warnings.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
curl -s "https://api.astro.ai/v1/readings/summary" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}'
{
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
Gated prediction metadata and source-backed fact matches.
/v1/predictions/gate
Validate a prediction request and return the gates required before execution.
Use this predictions route when the product needs the specific predictions gate contract rather than a broader bundle.
Provenance metadata or facts-only supported matches. Sensitive prediction prose is intentionally gated.
Treat this surface as safety-critical. The native API exposes provenance and supported facts, not broad horoscope prose.
curl -s "https://api.astro.ai/v1/predictions/gate" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"vedastro_name": "Chapter10Predictions",
"input": {
"time": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
},
"include_corpus_summary": false
}'
{
"vedastro_name": "Chapter10Predictions",
"input": {
"time": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
},
"include_corpus_summary": false
}
/v1/predictions/horoscope-matches
Evaluate the supported facts-only horoscope-prediction subset without returning prose.
Use this predictions route when the product needs the specific predictions horoscope matches contract rather than a broader bundle.
Provenance metadata or facts-only supported matches. Sensitive prediction prose is intentionally gated.
Treat this surface as safety-critical. The native API exposes provenance and supported facts, not broad horoscope prose.
curl -s "https://api.astro.ai/v1/predictions/horoscope-matches" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"native_sex": "male",
"include_inactive_supported": false,
"limit": 25
}'
{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"native_sex": "male",
"include_inactive_supported": false,
"limit": 25
}
/v1/predictions/provenance
List gated VedAstro prediction metadata and provenance boundaries.
Use this predictions route when the product needs the specific predictions provenance contract rather than a broader bundle.
Provenance metadata or facts-only supported matches. Sensitive prediction prose is intentionally gated.
Treat this surface as safety-critical. The native API exposes provenance and supported facts, not broad horoscope prose.
vedastro_name
mixed
Optional
query parameter.
limit
integer
Optional
query parameter.
include_corpus_summary
boolean
Optional
query parameter.
curl -s "https://api.astro.ai/v1/predictions/provenance" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
Relationship and match-context calculation surfaces.
/v1/compatibility/ashtakoot
Return a beta scored Ashtakoot compatibility report for two birth inputs.
Use for a scored eight-kuta compatibility report where beta status and factor evidence are visible.
Compatibility facts, factor scores, or chat-ready context without generating hidden prose.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
curl -s "https://api.astro.ai/v1/compatibility/ashtakoot" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"male": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"female": {
"year": 1998,
"month": 6,
"date": 18,
"hours": 9,
"minutes": 10,
"seconds": 0,
"latitude": 12.9716,
"longitude": 77.5946,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
}'
{
"male": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"female": {
"year": 1998,
"month": 6,
"date": 18,
"hours": 9,
"minutes": 10,
"seconds": 0,
"latitude": 12.9716,
"longitude": 77.5946,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
}
/v1/compatibility/match-chat
Return facts-only MatchChat context for compatibility workflows.
Use as compatibility context for a future chat layer. The endpoint itself does not generate LLM prose.
Compatibility facts, factor scores, or chat-ready context without generating hidden prose.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
curl -s "https://api.astro.ai/v1/compatibility/match-chat" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"male": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"female": {
"year": 1998,
"month": 6,
"date": 18,
"hours": 9,
"minutes": 10,
"seconds": 0,
"latitude": 12.9716,
"longitude": 77.5946,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"user_question": "Which compatibility factors need attention?",
"include_facts": true
}'
{
"male": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"female": {
"year": 1998,
"month": 6,
"date": 18,
"hours": 9,
"minutes": 10,
"seconds": 0,
"latitude": 12.9716,
"longitude": 77.5946,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"user_question": "Which compatibility factors need attention?",
"include_facts": true
}
Planet-strength reports with research-grade caveats.
/v1/strength/shadbala
Return research-grade Shadbala evidence for all planets or one selected planet.
Use this strength route when the product needs the specific strength shadbala contract rather than a broader bundle.
Research-grade strength evidence with component caveats and usage cost.
Strength formulas are convention-sensitive; use warnings and validation status before production interpretation.
curl -s "https://api.astro.ai/v1/strength/shadbala" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"planet": "Sun",
"include_detail": true
}'
{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"planet": "Sun",
"include_detail": true
}
Bindu charts, reductions, and life-map evidence.
/v1/ashtakavarga
Return Bhinnashtakavarga, Sarvashtakavarga, optional reductions, and optional life-map evidence.
Use this ashtakavarga route when the product needs the specific ashtakavarga contract rather than a broader bundle.
Bindu charts, Sarvashtakavarga totals, optional reductions, and optional life-map evidence.
Many rows are research-stage. Inspect stability and accuracy status when using registry calculators.
curl -s "https://api.astro.ai/v1/ashtakavarga" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"include_reductions": true,
"include_life_map": true
}'
{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"include_reductions": true,
"include_life_map": true
}
SVG payloads for chart, kundali, and sky-chart views.
/v1/render/chart
Return an SVG chart payload optimized for fact visibility.
Use when an app needs a lightweight SVG visual without building a chart renderer itself.
SVG payloads plus metadata for chart, kundali, and sky-chart views.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
curl -s "https://api.astro.ai/v1/render/chart" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}'
{
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
/v1/render/kundali
Return a layout-compatible North or South Indian kundali SVG payload.
Use for North or South Indian kundali layouts backed by the same chart facts.
SVG payloads plus metadata for chart, kundali, and sky-chart views.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
curl -s "https://api.astro.ai/v1/render/kundali" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"style": "south_indian",
"division": 1
}'
{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"style": "south_indian",
"division": 1
}
/v1/render/sky-chart
Return a sky-chart SVG payload for the requested birth input.
Use this rendering route when the product needs the specific render sky chart contract rather than a broader bundle.
SVG payloads plus metadata for chart, kundali, and sky-chart views.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
curl -s "https://api.astro.ai/v1/render/sky-chart" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}'
{
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
Discover, inspect, and execute calculator contracts.
/v1/calculation-sets
List curated calculator sets for common workflows.
Use to discover curated bundles such as basic chart facts or agent reading facts.
Metadata, schemas, examples, run results, batch results, or curated calculation-set outputs.
Internal or experimental calculators require explicit execution options before they run.
include_calculator_metadata
boolean
Optional
query parameter.
curl -s "https://api.astro.ai/v1/calculation-sets" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/calculation-sets/{set_id}
Retrieve one curated calculation set and its calculator composition.
Use this calculator registry route when the product needs the specific calculation sets set id contract rather than a broader bundle.
Metadata, schemas, examples, run results, batch results, or curated calculation-set outputs.
Internal or experimental calculators require explicit execution options before they run.
set_id
string
Required
path parameter.
include_calculator_metadata
boolean
Optional
query parameter.
curl -s "https://api.astro.ai/v1/calculation-sets/{set_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/calculation-sets/{set_id}:run
Execute a curated calculation set such as basic chart facts or agent reading facts.
Use when a supported bundle is a better contract than hand-picking calculator IDs.
Metadata, schemas, examples, run results, batch results, or curated calculation-set outputs.
Internal or experimental calculators require explicit execution options before they run.
set_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/calculation-sets/{set_id}:run" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}'
{
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
/v1/calculators
List public calculator contracts with pagination, filters, and registry fingerprint metadata.
Use for discovery before calling the registry runner. Filter by group, stability, schema, or accuracy status.
Metadata, schemas, examples, run results, batch results, or curated calculation-set outputs.
GET registry responses are public in local development but should still be served from your backend in production clients.
group
mixed
Optional
query parameter.
stability
mixed
Optional
query parameter.
accuracy_status
mixed
Optional
query parameter.
input_schema_ref
mixed
Optional
query parameter.
order
string
Optional
query parameter.
include_internal
boolean
Optional
query parameter.
limit
integer
Optional
query parameter.
after
mixed
Optional
Return rows after this calculator id.
curl -s "https://api.astro.ai/v1/calculators" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/calculators/{calculator_id}
Retrieve one calculator contract with schemas, examples, stability, and compatibility metadata.
Use to inspect one contract before execution, especially stability and schema refs.
Metadata, schemas, examples, run results, batch results, or curated calculation-set outputs.
GET registry responses are public in local development but should still be served from your backend in production clients.
calculator_id
string
Required
path parameter.
include_internal
boolean
Optional
query parameter.
curl -s "https://api.astro.ai/v1/calculators/{calculator_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/calculators/{calculator_id}/example
Return a runnable calculator execution payload for a selected calculator.
Use to fetch a runnable sample payload for the selected calculator.
Metadata, schemas, examples, run results, batch results, or curated calculation-set outputs.
GET registry responses are public in local development but should still be served from your backend in production clients.
calculator_id
string
Required
path parameter.
include_internal
boolean
Optional
query parameter.
curl -s "https://api.astro.ai/v1/calculators/{calculator_id}/example" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/calculators/{calculator_id}:run
Execute one calculator by ID with explicit internal and experimental gates.
Use when a product needs a specific long-tail calculator without a dedicated route.
Metadata, schemas, examples, run results, batch results, or curated calculation-set outputs.
Internal or experimental calculators require explicit execution options before they run.
calculator_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/calculators/{calculator_id}:run" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
}
}'
{
"input": {
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
}
}
/v1/calculators:batch
Execute multiple calculators with shared input and per-item overrides.
Use to reduce client round trips when several calculators share the same birth input.
Metadata, schemas, examples, run results, batch results, or curated calculation-set outputs.
Internal or experimental calculators require explicit execution options before they run.
curl -s "https://api.astro.ai/v1/calculators:batch" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
},
"calculations": [
{
"id": "julian-day",
"calculator": "time.julian_day"
},
{
"id": "planets",
"calculator": "chart.planets"
}
]
}'
{
"input": {
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
},
"calculations": [
{
"id": "julian-day",
"calculator": "time.julian_day"
},
{
"id": "planets",
"calculator": "chart.planets"
}
]
}
/v1/schemas
List strict and documented schema references used by calculator contracts.
Use for SDK generation, validation UI, and client-side form builders.
Metadata, schemas, examples, run results, batch results, or curated calculation-set outputs.
Internal or experimental calculators require explicit execution options before they run.
curl -s "https://api.astro.ai/v1/schemas" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/schemas/{schema_ref}
Retrieve one schema reference by ID.
Use this calculator registry route when the product needs the specific schemas schema ref contract rather than a broader bundle.
Metadata, schemas, examples, run results, batch results, or curated calculation-set outputs.
Internal or experimental calculators require explicit execution options before they run.
schema_ref
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/schemas/{schema_ref}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
Citation-backed classical text catalog and deterministic retrieval outlines.
/v1/classical-texts
List the curated classical-text corpus and source policy.
Use before RAG-style workflows to show the available source corpus and copyright boundary.
Catalog records, passage summaries, citation IDs, source paths, source policy, and deterministic retrieval outlines.
This is not a copied book corpus. It returns curated paraphrase notes and citation metadata until licensing and OCR policy are complete.
curl -s "https://api.astro.ai/v1/classical-texts" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/classical-texts/answer
Return a deterministic retrieval outline with citations for a classical-text query.
Use as a no-LLM RAG primitive: it returns an outline and citations rather than free-form doctrine.
Catalog records, passage summaries, citation IDs, source paths, source policy, and deterministic retrieval outlines.
This is not a copied book corpus. It returns curated paraphrase notes and citation metadata until licensing and OCR policy are complete.
curl -s "https://api.astro.ai/v1/classical-texts/answer" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "How should Good Time Finder use panchang factors?",
"max_citations": 4
}'
{
"query": "How should Good Time Finder use panchang factors?",
"max_citations": 4
}
/v1/classical-texts/search
Search curated classical-text passage summaries and citation metadata.
Use to retrieve citation rows for source-backed reports, teacher flows, or Good Time Finder explanations.
Catalog records, passage summaries, citation IDs, source paths, source policy, and deterministic retrieval outlines.
This is not a copied book corpus. It returns curated paraphrase notes and citation metadata until licensing and OCR policy are complete.
curl -s "https://api.astro.ai/v1/classical-texts/search" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "muhurta tithi nakshatra good time",
"limit": 5,
"topics": [
"muhurta"
]
}'
{
"query": "muhurta tithi nakshatra good time",
"limit": 5,
"topics": [
"muhurta"
]
}
/v1/classical-texts/{text_id}
Retrieve one classical text record and its curated passage notes.
Use when a client needs source metadata and passage notes for one classical work.
Catalog records, passage summaries, citation IDs, source paths, source policy, and deterministic retrieval outlines.
This is not a copied book corpus. It returns curated paraphrase notes and citation metadata until licensing and OCR policy are complete.
text_id
string
Required
path parameter.
include_passages
boolean
Optional
query parameter.
curl -s "https://api.astro.ai/v1/classical-texts/{text_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/classical-texts/{text_id}/chapters
Retrieve citation-backed study units for one classical text.
Use when a Teacher UI needs chapter-like study units without copied book pages.
Catalog records, passage summaries, citation IDs, source paths, source policy, and deterministic retrieval outlines.
This is not a copied book corpus. It returns curated paraphrase notes and citation metadata until licensing and OCR policy are complete.
text_id
string
Required
path parameter.
include_passages
boolean
Optional
query parameter.
curl -s "https://api.astro.ai/v1/classical-texts/{text_id}/chapters" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
Source-backed teaching outlines and lesson plans that combine classical citations and optional chart facts without LLM prose.
/v1/teacher/answer
Return a source-backed teacher outline from classical citations and optional chart facts.
Use for Teacher-style product flows where users ask conceptual questions and optionally provide birth context for auditable chart evidence.
A deterministic answer outline or lesson sequence, classical citation IDs, optional chart report facts, source calculators, and safety policy.
Teacher outlines and lesson plans are product scaffolding for learning and explanations, not generated readings or deterministic predictions.
curl -s "https://api.astro.ai/v1/teacher/answer" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"question": "How should I understand my Moon nakshatra and current timing?",
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"max_citations": 4,
"topics": [
"chart",
"dashas"
],
"include_chart_context": true,
"include_classical_context": true,
"detail_level": "brief"
}'
{
"question": "How should I understand my Moon nakshatra and current timing?",
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"max_citations": 4,
"topics": [
"chart",
"dashas"
],
"include_chart_context": true,
"include_classical_context": true,
"detail_level": "brief"
}
/v1/teacher/lesson-plan
Return a source-backed teacher lesson sequence from citations and optional chart facts.
Use when a client needs a saved study sequence with citations, optional chart facts, and follow-up prompts.
A deterministic answer outline or lesson sequence, classical citation IDs, optional chart report facts, source calculators, and safety policy.
Teacher outlines and lesson plans are product scaffolding for learning and explanations, not generated readings or deterministic predictions.
curl -s "https://api.astro.ai/v1/teacher/lesson-plan" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"topic": "Moon nakshatra and current timing",
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"lesson_count": 4,
"max_citations": 4,
"topics": [
"chart",
"dashas"
],
"goal": "understand_chart"
}'
{
"topic": "Moon nakshatra and current timing",
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"lesson_count": 4,
"max_citations": 4,
"topics": [
"chart",
"dashas"
],
"goal": "understand_chart"
}
Local lexical search over calculators, docs, and reference metadata.
/v1/search/calculators
Search implemented calculator metadata.
Use this search route when the product needs the specific search calculators contract rather than a broader bundle.
Ranked local search hits with source, snippet, and score metadata.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
curl -s "https://api.astro.ai/v1/search/calculators" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "moon nakshatra",
"limit": 5
}'
{
"query": "moon nakshatra",
"limit": 5
}
/v1/search/context
Search curated local astrology context for agent workflows.
Use when an agent needs a compact, deterministic context pack across docs, calculators, and coverage metadata.
Ranked local search hits with source, snippet, and score metadata.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
curl -s "https://api.astro.ai/v1/search/context" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "travel event",
"limit": 3
}'
{
"query": "travel event",
"limit": 3
}
/v1/search/docs
Search local documentation and implementation notes.
Use this search route when the product needs the specific search docs contract rather than a broader bundle.
Ranked local search hits with source, snippet, and score metadata.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
curl -s "https://api.astro.ai/v1/search/docs" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "typed calculator registry",
"limit": 5
}'
{
"query": "typed calculator registry",
"limit": 5
}
/v1/search/vedastro
Search the generated VedAstro reference and coverage inventory.
Use this search route when the product needs the specific search vedastro contract rather than a broader bundle.
Ranked local search hits with source, snippet, and score metadata.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
curl -s "https://api.astro.ai/v1/search/vedastro" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "Chapter10Predictions",
"limit": 5
}'
{
"query": "Chapter10Predictions",
"limit": 5
}
Coordinate, timezone, address, IP, and standard-time helpers.
/v1/geo/ip
Resolve approximate location context from an IP address.
Use this geo & time route when the product needs the specific geo ip contract rather than a broader bundle.
Normalized place, coordinate, timezone, offset, and provider metadata.
Provider routes can depend on network and cache settings. Disable providers explicitly in offline deployments.
curl -s "https://api.astro.ai/v1/geo/ip" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"ip_address": "8.8.8.8"
}'
{
"ip_address": "8.8.8.8"
}
/v1/geo/resolve
Resolve coordinates into provider-backed location context.
Use after location selection to normalize coordinates, timezone, and provider metadata.
Normalized place, coordinate, timezone, offset, and provider metadata.
Provider routes can depend on network and cache settings. Disable providers explicitly in offline deployments.
curl -s "https://api.astro.ai/v1/geo/resolve" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"latitude": 13.0827,
"longitude": 80.2707
}'
{
"latitude": 13.0827,
"longitude": 80.2707
}
/v1/geo/search
Search provider-backed locations by address text.
Use before asking a user to confirm a birth or event location.
Normalized place, coordinate, timezone, offset, and provider metadata.
Provider routes can depend on network and cache settings. Disable providers explicitly in offline deployments.
curl -s "https://api.astro.ai/v1/geo/search" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"address": "Chennai, India",
"limit": 5
}'
{
"address": "Chennai, India",
"limit": 5
}
/v1/geo/standard-time-now
Return the current standard time at a resolved location.
Use this geo & time route when the product needs the specific geo standard time now contract rather than a broader bundle.
Normalized place, coordinate, timezone, offset, and provider metadata.
Provider routes can depend on network and cache settings. Disable providers explicitly in offline deployments.
curl -s "https://api.astro.ai/v1/geo/standard-time-now" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"location_name": "Chennai, India"
}'
{
"location_name": "Chennai, India"
}
/v1/timezones/offset
Return timezone offset data for a coordinate and local date-time.
Use when you already have coordinates and civil date-time and only need timezone offset context.
Normalized place, coordinate, timezone, offset, and provider metadata.
Provider routes can depend on network and cache settings. Disable providers explicitly in offline deployments.
curl -s "https://api.astro.ai/v1/timezones/offset" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"year": 2026,
"month": 5,
"date": 22,
"hours": 12,
"minutes": 0,
"latitude": 13.0827,
"longitude": 80.2707
}'
{
"year": 2026,
"month": 5,
"date": 22,
"hours": 12,
"minutes": 0,
"latitude": 13.0827,
"longitude": 80.2707
}
Product-facing suggestions for birth, marriage, and location workflows.
/v1/autofill/birth-location
Return birth-location candidates from a provider-backed address lookup.
Use this autofill route when the product needs the specific autofill birth location contract rather than a broader bundle.
Candidate lists for product forms with explicit basis and warnings.
Autofill routes suggest candidates for user confirmation; they are not hidden ML truth.
curl -s "https://api.astro.ai/v1/autofill/birth-location" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"address": "Chennai, India",
"limit": 5
}'
{
"address": "Chennai, India",
"limit": 5
}
/v1/autofill/birth-time
Return candidate birth times from transparent chart evidence.
Use for candidate ranking against explicit targets. It is evidence for review, not a final rectification claim.
Candidate lists for product forms with explicit basis and warnings.
Autofill routes suggest candidates for user confirmation; they are not hidden ML truth.
curl -s "https://api.astro.ai/v1/autofill/birth-time" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"target_ascendant": "Virgo",
"precision_minutes": 60,
"top_k": 5
}'
{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"target_ascendant": "Virgo",
"precision_minutes": 60,
"top_k": 5
}
/v1/autofill/birth-time-location
Return combined birth-time and birth-location candidates.
Use this autofill route when the product needs the specific autofill birth time location contract rather than a broader bundle.
Candidate lists for product forms with explicit basis and warnings.
Autofill routes suggest candidates for user confirmation; they are not hidden ML truth.
curl -s "https://api.astro.ai/v1/autofill/birth-time-location" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"address": "Chennai, India",
"target_ascendant": "Virgo",
"precision_minutes": 60,
"top_k": 5
}'
{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"address": "Chennai, India",
"target_ascendant": "Virgo",
"precision_minutes": 60,
"top_k": 5
}
/v1/autofill/marriage-partner-name
Return deterministic partner-name suggestions.
Use this autofill route when the product needs the specific autofill marriage partner name contract rather than a broader bundle.
Candidate lists for product forms with explicit basis and warnings.
Autofill routes suggest candidates for user confirmation; they are not hidden ML truth.
curl -s "https://api.astro.ai/v1/autofill/marriage-partner-name" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"description": "marriage partner name",
"number_of_names": 5
}'
{
"description": "marriage partner name",
"number_of_names": 5
}
/v1/autofill/marriage-tags
Return marriage workflow tags from compatibility context.
Use this autofill route when the product needs the specific autofill marriage tags contract rather than a broader bundle.
Candidate lists for product forms with explicit basis and warnings.
Autofill routes suggest candidates for user confirmation; they are not hidden ML truth.
curl -s "https://api.astro.ai/v1/autofill/marriage-tags" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"male": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"female": {
"year": 1998,
"month": 6,
"date": 18,
"hours": 9,
"minutes": 10,
"seconds": 0,
"latitude": 12.9716,
"longitude": 77.5946,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"limit": 12
}'
{
"male": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"female": {
"year": 1998,
"month": 6,
"date": 18,
"hours": 9,
"minutes": 10,
"seconds": 0,
"latitude": 12.9716,
"longitude": 77.5946,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"limit": 12
}
Evidence scans for candidate birth times.
/v1/rectification/house-strength
Scan candidate birth times for target house-strength evidence.
Use this rectification route when the product needs the specific rectification house strength contract rather than a broader bundle.
Ranked or grouped candidate time intervals with transparent evidence.
Candidate scans are evidence tools. Do not present them as final birth-time predictions.
curl -s "https://api.astro.ai/v1/rectification/house-strength" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"target_house": 1,
"precision_minutes": 120
}'
{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"target_house": 1,
"precision_minutes": 120
}
/v1/rectification/rising-sign
Scan candidate birth times for a target rising sign.
Use for a transparent same-day scan where the target rising sign is known.
Ranked or grouped candidate time intervals with transparent evidence.
Candidate scans are evidence tools. Do not present them as final birth-time predictions.
curl -s "https://api.astro.ai/v1/rectification/rising-sign" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"target_ascendant": "Virgo",
"precision_minutes": 60
}'
{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"target_ascendant": "Virgo",
"precision_minutes": 60
}
/v1/rectification/yoni-animal
Scan candidate birth times for a target Yoni animal.
Use this rectification route when the product needs the specific rectification yoni animal contract rather than a broader bundle.
Ranked or grouped candidate time intervals with transparent evidence.
Candidate scans are evidence tools. Do not present them as final birth-time predictions.
curl -s "https://api.astro.ai/v1/rectification/yoni-animal" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"possible_birth_time": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"precision_hours": 6,
"target_animal": "Horse"
}'
{
"possible_birth_time": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"precision_hours": 6,
"target_animal": "Horse"
}
Deterministic name suggestions and number-aware naming helpers.
/v1/names/generate
Generate deterministic names from tone, constraints, and optional number targets.
Use for deterministic name suggestions from a small local candidate pool and numerology evidence.
Deterministic candidate names with number evidence, matched terms, and warnings.
The candidate pool is intentionally small until naming policy and language coverage are defined.
curl -s "https://api.astro.ai/v1/names/generate" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"description": "traditional Tamil name with a calm devotional tone",
"number_of_names": 5
}'
{
"description": "traditional Tamil name with a calm devotional tone",
"number_of_names": 5
}
VedAstro-style time range presets, counts, and CSV lists.
/v1/time-ranges/csv
Generate a CSV-style list of times between two endpoints.
Use this time ranges route when the product needs the specific time ranges csv contract rather than a broader bundle.
Resolved ranges, day counts, or CSV-style time rows.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
curl -s "https://api.astro.ai/v1/time-ranges/csv" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"start": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 8,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"end": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 18,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"hours_between": 2
}'
{
"start": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 8,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"end": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 18,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"hours_between": 2
}
/v1/time-ranges/days
Count days in a named time-range preset.
Use this time ranges route when the product needs the specific time ranges days contract rather than a broader bundle.
Resolved ranges, day counts, or CSV-style time rows.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
curl -s "https://api.astro.ai/v1/time-ranges/days" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"preset": "3weeks"
}'
{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"preset": "3weeks"
}
/v1/time-ranges/resolve
Resolve a named time-range preset into start and end timestamps.
Use this time ranges route when the product needs the specific time ranges resolve contract rather than a broader bundle.
Resolved ranges, day counts, or CSV-style time rows.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
curl -s "https://api.astro.ai/v1/time-ranges/resolve" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"preset": "age1to3"
}'
{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"preset": "age1to3"
}
Saved people, calculation history, product-library snapshots, client sessions, and journal events for reusable workflows.
/v1/attachments
Retrieve a product state resource through the Astro AI /v1 envelope.
Use this product state route when the product needs the specific list attachments contract rather than a broader bundle.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
person_id
mixed
Optional
query parameter.
kind
mixed
Optional
query parameter.
source_type
mixed
Optional
query parameter.
source_id
mixed
Optional
query parameter.
limit
integer
Optional
query parameter.
after
mixed
Optional
query parameter.
curl -s "https://api.astro.ai/v1/attachments" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/attachments
Create a product state resource through the Astro AI /v1 envelope.
Use this product state route when the product needs the specific create attachment contract rather than a broader bundle.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
curl -s "https://api.astro.ai/v1/attachments" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Client intake notes",
"kind": "document",
"person_id": "person_...",
"source_type": "client_session",
"source_id": "session_...",
"file_name": "intake-notes.pdf",
"media_type": "application/pdf",
"summary": "Client supplied context for later journal and Teacher workflows.",
"tags": [
"intake",
"source"
]
}'
{
"title": "Client intake notes",
"kind": "document",
"person_id": "person_...",
"source_type": "client_session",
"source_id": "session_...",
"file_name": "intake-notes.pdf",
"media_type": "application/pdf",
"summary": "Client supplied context for later journal and Teacher workflows.",
"tags": [
"intake",
"source"
]
}
/v1/attachments/{attachment_id}
Create a product state resource through the Astro AI /v1 envelope.
Use this product state route when the product needs the specific delete attachment contract rather than a broader bundle.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
attachment_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/attachments/{attachment_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/attachments/{attachment_id}
Retrieve a product state resource through the Astro AI /v1 envelope.
Use this product state route when the product needs the specific get attachment contract rather than a broader bundle.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
attachment_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/attachments/{attachment_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/attachments/{attachment_id}
Create a product state resource through the Astro AI /v1 envelope.
Use this product state route when the product needs the specific update attachment contract rather than a broader bundle.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
attachment_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/attachments/{attachment_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Updated intake notes",
"summary": "Reviewed client supplied context.",
"tags": [
"intake",
"reviewed"
]
}'
{
"title": "Updated intake notes",
"summary": "Reviewed client supplied context.",
"tags": [
"intake",
"reviewed"
]
}
/v1/calculation-runs
Create or list calculation history entries for saved people or direct birth payloads.
Use to persist traceable calculation history for a saved person or direct birth payload.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
person_id
mixed
Optional
query parameter.
limit
integer
Optional
query parameter.
after
mixed
Optional
query parameter.
curl -s "https://api.astro.ai/v1/calculation-runs" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/calculation-runs
Create or list calculation history entries for saved people or direct birth payloads.
Use to persist traceable calculation history for a saved person or direct birth payload.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
curl -s "https://api.astro.ai/v1/calculation-runs" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"person_id": "person_example",
"calculation": "reading_summary",
"title": "Initial fact-traced reading"
}'
{
"person_id": "person_example",
"calculation": "reading_summary",
"title": "Initial fact-traced reading"
}
/v1/calculation-runs/{run_id}
Fetch one saved calculation-run result and its trace metadata.
Use to replay or inspect a previous chart, panchang, reading, or facts run.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
run_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/calculation-runs/{run_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/client-sessions
Create or list guided client history around saved people, prompts, and linked artifacts.
Use to persist a chat-like guided client workspace without generating astrology replies.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
person_id
mixed
Optional
query parameter.
status
mixed
Optional
query parameter.
limit
integer
Optional
query parameter.
after
mixed
Optional
query parameter.
curl -s "https://api.astro.ai/v1/client-sessions" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/client-sessions
Create or list guided client history around saved people, prompts, and linked artifacts.
Use to persist a chat-like guided client workspace without generating astrology replies.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
curl -s "https://api.astro.ai/v1/client-sessions" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Moon nakshatra onboarding",
"person_id": "person_...",
"mode": "teacher",
"initial_message": "Help me understand my Moon nakshatra and current timing.",
"tags": [
"workbench",
"teacher"
]
}'
{
"title": "Moon nakshatra onboarding",
"person_id": "person_...",
"mode": "teacher",
"initial_message": "Help me understand my Moon nakshatra and current timing.",
"tags": [
"workbench",
"teacher"
]
}
/v1/client-sessions/{session_id}
Fetch, archive, update, or delete one guided client session.
Use to inspect, archive, or remove one saved session while keeping linked artifacts intact.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
session_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/client-sessions/{session_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/client-sessions/{session_id}
Fetch, archive, update, or delete one guided client session.
Use to inspect, archive, or remove one saved session while keeping linked artifacts intact.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
session_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/client-sessions/{session_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/client-sessions/{session_id}
Fetch, archive, update, or delete one guided client session.
Use to inspect, archive, or remove one saved session while keeping linked artifacts intact.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
session_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/client-sessions/{session_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
}
}'
{
"input": {
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
}
}
/v1/client-sessions/{session_id}/messages
Append a user/client/tool message to one guided client session without invoking a model.
Use to append user, assistant, system, or tool messages supplied by the client.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
session_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/client-sessions/{session_id}/messages" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"role": "assistant",
"content": "Saved the Teacher lesson plan and linked it to this session.",
"source_type": "library_item",
"source_id": "item_..."
}'
{
"role": "assistant",
"content": "Saved the Teacher lesson plan and linked it to this session.",
"source_type": "library_item",
"source_id": "item_..."
}
/v1/journal-events
Create or list dated life events tied to saved people for later timeline, rectification, and report workflows.
Use to capture user-confirmed life events that can later inform timelines, rectification, report context, and Teacher lessons.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
person_id
mixed
Optional
query parameter.
event_tag
mixed
Optional
query parameter.
limit
integer
Optional
query parameter.
after
mixed
Optional
query parameter.
curl -s "https://api.astro.ai/v1/journal-events" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/journal-events
Create or list dated life events tied to saved people for later timeline, rectification, and report workflows.
Use to capture user-confirmed life events that can later inform timelines, rectification, report context, and Teacher lessons.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
curl -s "https://api.astro.ai/v1/journal-events" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"person_id": "person_example",
"title": "Moved to a new city",
"happened_at": "2026-05-31T09:00:00+05:30",
"event_tags": [
"relocation",
"career"
],
"notes": "Useful context for timeline and rectification review."
}'
{
"person_id": "person_example",
"title": "Moved to a new city",
"happened_at": "2026-05-31T09:00:00+05:30",
"event_tags": [
"relocation",
"career"
],
"notes": "Useful context for timeline and rectification review."
}
/v1/journal-events/{event_id}
Fetch or delete one saved journal event.
Use to inspect or remove one dated life event without deleting the person profile.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
event_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/journal-events/{event_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/journal-events/{event_id}
Fetch or delete one saved journal event.
Use to inspect or remove one dated life event without deleting the person profile.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
event_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/journal-events/{event_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/journal-events/{event_id}
Fetch or delete one saved journal event.
Use to inspect or remove one dated life event without deleting the person profile.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
event_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/journal-events/{event_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"event_id": "event_example"
}'
{
"event_id": "event_example"
}
/v1/library-items
Create or list saved report snapshots, timeline snapshots, good-time windows, birth-time candidates, Teacher answers, Teacher lesson plans, and notes.
Use to save report snapshots, chosen good-time windows, life timeline views, Teacher answers, Teacher lesson plans, or user-facing notes for later product views.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
kind
mixed
Optional
query parameter.
person_id
mixed
Optional
query parameter.
limit
integer
Optional
query parameter.
after
mixed
Optional
query parameter.
curl -s "https://api.astro.ai/v1/library-items" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/library-items
Create or list saved report snapshots, timeline snapshots, good-time windows, birth-time candidates, Teacher answers, Teacher lesson plans, and notes.
Use to save report snapshots, chosen good-time windows, life timeline views, Teacher answers, Teacher lesson plans, or user-facing notes for later product views.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
curl -s "https://api.astro.ai/v1/library-items" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"kind": "note",
"title": "Saved onboarding note",
"payload": {
"summary": "Keep this with the client profile."
},
"tags": [
"onboarding"
]
}'
{
"kind": "note",
"title": "Saved onboarding note",
"payload": {
"summary": "Keep this with the client profile."
},
"tags": [
"onboarding"
]
}
/v1/library-items/{item_id}
Fetch or delete one saved product-library item.
Use to retrieve or remove one saved snapshot without rerunning its source calculation.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
item_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/library-items/{item_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/library-items/{item_id}
Fetch or delete one saved product-library item.
Use to retrieve or remove one saved snapshot without rerunning its source calculation.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
item_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/library-items/{item_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/match-runs
Create or list saved facts-only Match Finder runs across two saved people.
Use to persist compatibility review context between two saved people without generating advice or a pair verdict.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
person_id
mixed
Optional
query parameter.
limit
integer
Optional
query parameter.
after
mixed
Optional
query parameter.
curl -s "https://api.astro.ai/v1/match-runs" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/match-runs
Create or list saved facts-only Match Finder runs across two saved people.
Use to persist compatibility review context between two saved people without generating advice or a pair verdict.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
curl -s "https://api.astro.ai/v1/match-runs" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"male_person_id": "person_male_example",
"female_person_id": "person_female_example",
"title": "Compatibility review",
"user_question": "Which compatibility facts need attention?",
"include_facts": true
}'
{
"male_person_id": "person_male_example",
"female_person_id": "person_female_example",
"title": "Compatibility review",
"user_question": "Which compatibility facts need attention?",
"include_facts": true
}
/v1/match-runs/{match_id}
Fetch or delete one saved facts-only compatibility run.
Use to inspect or remove one saved Match Finder run while keeping both people intact.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
match_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/match-runs/{match_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/match-runs/{match_id}
Fetch or delete one saved facts-only compatibility run.
Use to inspect or remove one saved Match Finder run while keeping both people intact.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
match_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/match-runs/{match_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/match-runs/{match_id}/report
Retrieve a product state resource through the Astro AI /v1 envelope.
Use this product state route when the product needs the specific get match run report contract rather than a broader bundle.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
match_id
string
Required
path parameter.
include_source_payloads
boolean
Optional
query parameter.
curl -s "https://api.astro.ai/v1/match-runs/{match_id}/report" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/people
Create or list saved birth profiles scoped to the authenticated key or local client identity.
Use to save birth profiles once and reuse them across chart, reading, compatibility, and history workflows.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
limit
integer
Optional
query parameter.
after
mixed
Optional
query parameter.
curl -s "https://api.astro.ai/v1/people" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/people
Create or list saved birth profiles scoped to the authenticated key or local client identity.
Use to save birth profiles once and reuse them across chart, reading, compatibility, and history workflows.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
curl -s "https://api.astro.ai/v1/people" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Example Native",
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"tags": [
"example",
"client"
],
"notes": "Created from the API reference example."
}'
{
"name": "Example Native",
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"tags": [
"example",
"client"
],
"notes": "Created from the API reference example."
}
/v1/people/{person_id}
Fetch, update, or delete one saved birth profile.
Use when a product needs to fetch, update, or remove one saved profile without exposing another client's records.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
person_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/people/{person_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/people/{person_id}
Fetch, update, or delete one saved birth profile.
Use when a product needs to fetch, update, or remove one saved profile without exposing another client's records.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
person_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/people/{person_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/people/{person_id}
Fetch, update, or delete one saved birth profile.
Use when a product needs to fetch, update, or remove one saved profile without exposing another client's records.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
person_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/people/{person_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Updated Example Native",
"tags": [
"example",
"updated"
]
}'
{
"name": "Updated Example Native",
"tags": [
"example",
"updated"
]
}
/v1/people/{person_id}/client-brief
Retrieve a product state resource through the Astro AI /v1 envelope.
Use this product state route when the product needs the specific get person client brief contract rather than a broader bundle.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
person_id
string
Required
path parameter.
limit
integer
Optional
query parameter.
include_payloads
boolean
Optional
query parameter.
curl -s "https://api.astro.ai/v1/people/{person_id}/client-brief" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/people/{person_id}/consultation-packet
Retrieve a product state resource through the Astro AI /v1 envelope.
Use this product state route when the product needs the specific get person consultation packet contract rather than a broader bundle.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
person_id
string
Required
path parameter.
limit
integer
Optional
query parameter.
include_payloads
boolean
Optional
query parameter.
curl -s "https://api.astro.ai/v1/people/{person_id}/consultation-packet" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/people/{person_id}/context
Fetch a compact client-workspace summary for one saved person.
Use for the first screen of a client workspace: recent runs, library items, journal events, match runs, counts, and next actions.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
person_id
string
Required
path parameter.
limit
integer
Optional
query parameter.
include_payloads
boolean
Optional
query parameter.
curl -s "https://api.astro.ai/v1/people/{person_id}/context" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/people/{person_id}/journal-questionnaire
Retrieve a product state resource through the Astro AI /v1 envelope.
Use this product state route when the product needs the specific get person journal questionnaire contract rather than a broader bundle.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
person_id
string
Required
path parameter.
time_preset
string
Optional
query parameter.
limit
integer
Optional
query parameter.
event_tag
mixed
Optional
query parameter.
include_payloads
boolean
Optional
query parameter.
curl -s "https://api.astro.ai/v1/people/{person_id}/journal-questionnaire" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/people/{person_id}/journal-review
Group one saved person's journal events with timeline evidence and safe next steps.
Use when a client needs grouped journal events, timing evidence, and safe next actions for timeline, Teacher, report, or birth-time review workflows.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
person_id
string
Required
path parameter.
time_preset
string
Optional
query parameter.
limit
integer
Optional
query parameter.
event_tag
mixed
Optional
query parameter.
include_payloads
boolean
Optional
query parameter.
curl -s "https://api.astro.ai/v1/people/{person_id}/journal-review" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/people/{person_id}/timeline
Review one saved person's evidence timeline with journal overlays.
Use when a client needs a Life Timeline review for a saved person plus user-confirmed journal overlays.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
person_id
string
Required
path parameter.
time_preset
string
Optional
query parameter.
limit
integer
Optional
query parameter.
include_payloads
boolean
Optional
query parameter.
curl -s "https://api.astro.ai/v1/people/{person_id}/timeline" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/questionnaire-responses
Retrieve a product state resource through the Astro AI /v1 envelope.
Use this product state route when the product needs the specific list questionnaire responses contract rather than a broader bundle.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
person_id
mixed
Optional
query parameter.
status
mixed
Optional
query parameter.
limit
integer
Optional
query parameter.
after
mixed
Optional
query parameter.
curl -s "https://api.astro.ai/v1/questionnaire-responses" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/questionnaire-responses
Create a product state resource through the Astro AI /v1 envelope.
Use this product state route when the product needs the specific create questionnaire response contract rather than a broader bundle.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
curl -s "https://api.astro.ai/v1/questionnaire-responses" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"person_id": "person_example",
"title": "Answered birth-time review questionnaire",
"source_library_item_id": "item_questionnaire_example",
"time_preset": "age18to21",
"event_tag": "relocation",
"answers": [
{
"question_id": "target_signal",
"answer": "target_ascendant",
"confidence": "high"
},
{
"question_id": "target_ascendant_value",
"answer": "Virgo",
"confidence": "medium"
},
{
"question_id": "birth_time_uncertainty",
"answer": "within 30 minutes",
"confidence": "medium"
}
]
}'
{
"person_id": "person_example",
"title": "Answered birth-time review questionnaire",
"source_library_item_id": "item_questionnaire_example",
"time_preset": "age18to21",
"event_tag": "relocation",
"answers": [
{
"question_id": "target_signal",
"answer": "target_ascendant",
"confidence": "high"
},
{
"question_id": "target_ascendant_value",
"answer": "Virgo",
"confidence": "medium"
},
{
"question_id": "birth_time_uncertainty",
"answer": "within 30 minutes",
"confidence": "medium"
}
]
}
/v1/questionnaire-responses/{response_id}
Create a product state resource through the Astro AI /v1 envelope.
Use this product state route when the product needs the specific delete questionnaire response contract rather than a broader bundle.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
response_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/questionnaire-responses/{response_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/questionnaire-responses/{response_id}
Retrieve a product state resource through the Astro AI /v1 envelope.
Use this product state route when the product needs the specific get questionnaire response contract rather than a broader bundle.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
response_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/questionnaire-responses/{response_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/questionnaire-responses/{response_id}/birth-time-review
Retrieve a product state resource through the Astro AI /v1 envelope.
Use this product state route when the product needs the specific get questionnaire birth time review contract rather than a broader bundle.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
response_id
string
Required
path parameter.
precision_minutes
integer
Optional
query parameter.
top_k
integer
Optional
query parameter.
include_evidence_scans
boolean
Optional
query parameter.
include_source_payloads
boolean
Optional
query parameter.
curl -s "https://api.astro.ai/v1/questionnaire-responses/{response_id}/birth-time-review" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/reminders
Retrieve a product state resource through the Astro AI /v1 envelope.
Use this product state route when the product needs the specific list reminders contract rather than a broader bundle.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
person_id
mixed
Optional
query parameter.
status
mixed
Optional
query parameter.
kind
mixed
Optional
query parameter.
limit
integer
Optional
query parameter.
after
mixed
Optional
query parameter.
curl -s "https://api.astro.ai/v1/reminders" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/reminders
Create a product state resource through the Astro AI /v1 envelope.
Use this product state route when the product needs the specific create reminder contract rather than a broader bundle.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
curl -s "https://api.astro.ai/v1/reminders" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Review journal follow-up",
"due_at": "2026-06-07T09:00:00+05:30",
"person_id": "person_example",
"kind": "journal_review",
"source_type": "journal_event",
"source_id": "event_example",
"tags": [
"follow-up",
"journal"
]
}'
{
"title": "Review journal follow-up",
"due_at": "2026-06-07T09:00:00+05:30",
"person_id": "person_example",
"kind": "journal_review",
"source_type": "journal_event",
"source_id": "event_example",
"tags": [
"follow-up",
"journal"
]
}
/v1/reminders/{reminder_id}
Create a product state resource through the Astro AI /v1 envelope.
Use this product state route when the product needs the specific delete reminder contract rather than a broader bundle.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
reminder_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/reminders/{reminder_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/reminders/{reminder_id}
Retrieve a product state resource through the Astro AI /v1 envelope.
Use this product state route when the product needs the specific get reminder contract rather than a broader bundle.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
reminder_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/reminders/{reminder_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
/v1/reminders/{reminder_id}
Create a product state resource through the Astro AI /v1 envelope.
Use this product state route when the product needs the specific update reminder contract rather than a broader bundle.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
reminder_id
string
Required
path parameter.
curl -s "https://api.astro.ai/v1/reminders/{reminder_id}" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"reminder_id": "reminder_example"
}'
{
"reminder_id": "reminder_example"
}
/v1/workbench/dashboard
Retrieve a product state resource through the Astro AI /v1 envelope.
Use this product state route when the product needs the specific get workbench dashboard contract rather than a broader bundle.
Saved person records, calculation-run records, product-library snapshots, journal events, client sessions, and pagination cursors.
The development store is file-backed and scoped by API key or local client identity; use a durable database before hosted multi-user production.
limit
integer
Optional
query parameter.
include_payloads
boolean
Optional
query parameter.
curl -s "https://api.astro.ai/v1/workbench/dashboard" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
Explicitly configured external-provider gates.
/v1/external/bazi/horoscope-predictions
Validate or proxy an explicitly configured external Bazi horoscope provider.
Use this external providers route when the product needs the specific external bazi horoscope predictions contract rather than a broader bundle.
Provider gate metadata or proxied provider output when explicitly configured.
Provider-backed routes fail closed unless the matching environment variables are configured.
curl -s "https://api.astro.ai/v1/external/bazi/horoscope-predictions" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"sort_by_weight": false
}'
{
"birth": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"sort_by_weight": false
}
/v1/external/bazi/match-report
Validate or proxy an explicitly configured external Bazi match-report provider.
Use this external providers route when the product needs the specific external bazi match report contract rather than a broader bundle.
Provider gate metadata or proxied provider output when explicitly configured.
Provider-backed routes fail closed unless the matching environment variables are configured.
curl -s "https://api.astro.ai/v1/external/bazi/match-report" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"male": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"female": {
"year": 1998,
"month": 6,
"date": 18,
"hours": 9,
"minutes": 10,
"seconds": 0,
"latitude": 12.9716,
"longitude": 77.5946,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
}'
{
"male": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
},
"female": {
"year": 1998,
"month": 6,
"date": 18,
"hours": 9,
"minutes": 10,
"seconds": 0,
"latitude": 12.9716,
"longitude": 77.5946,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
}
/v1/external/vedastro/chapter-predictions
Capture explicitly configured VedAstro chapter-prediction fixtures for research.
Use this external providers route when the product needs the specific external vedastro chapter predictions contract rather than a broader bundle.
Provider gate metadata or proxied provider output when explicitly configured.
Provider-backed routes fail closed unless the matching environment variables are configured.
curl -s "https://api.astro.ai/v1/external/vedastro/chapter-predictions" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"vedastro_name": "Chapter10Predictions",
"upstream_payload": {
"time": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
},
"include_provenance": true
}'
{
"vedastro_name": "Chapter10Predictions",
"upstream_payload": {
"time": {
"year": 1998,
"month": 5,
"date": 20,
"hours": 14,
"minutes": 25,
"seconds": 0,
"latitude": 13.0827,
"longitude": 80.2707,
"timezone": 5.5,
"config": {
"ayanamsa": "lahiri",
"observation_point": "topocentric"
}
}
},
"include_provenance": true
}
Catalog of intentionally rejected sensitive or internal rows.
/v1/safety/rejections
List rejected internal and sensitive VedAstro rows with audit metadata.
Use this safety route when the product needs the specific safety rejections contract rather than a broader bundle.
A non-executing catalog of rejected rows and the reason each row stays out of the API.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
clone_decision
mixed
Optional
query parameter.
limit
integer
Optional
query parameter.
curl -s "https://api.astro.ai/v1/safety/rejections" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
VedAstro implementation coverage and clone-decision ledger.
/v1/coverage/vedastro
Return the generated VedAstro coverage ledger with filters.
Use to understand what is implemented, gated, rejected, or still partial against VedAstro.
Coverage summary rows, parity state, and clone-decision metadata.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
implemented_only
boolean
Optional
query parameter.
clone_decision
mixed
Optional
query parameter.
parity_state
mixed
Optional
query parameter.
limit
integer
Optional
query parameter.
curl -s "https://api.astro.ai/v1/coverage/vedastro" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"
Astro AI API operations.
/v1/hermes/astro/chat
Create a hermes astro resource through the Astro AI /v1 envelope.
Use this hermes astro route when the product needs the specific create hermes astro chat contract rather than a broader bundle.
A typed AstroChatResponse payload inside the shared Astro AI success envelope.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
curl -s "https://api.astro.ai/v1/hermes/astro/chat" \
-H "Authorization: Bearer ASTRO_AI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"message": "Explain the chart using source-backed components.",
"person_id": "person_example",
"client_session_id": "session_example",
"mode": "reading",
"include_visual_context": true
}'
{
"message": "Explain the chart using source-backed components.",
"person_id": "person_example",
"client_session_id": "session_example",
"mode": "reading",
"include_visual_context": true
}
/v1/hermes/astro/setup
Retrieve a hermes astro resource through the Astro AI /v1 envelope.
Use this hermes astro route when the product needs the specific get hermes astro setup contract rather than a broader bundle.
A typed HermesAstroProfileSetupResponse payload inside the shared Astro AI success envelope.
Use meta.request_id for support, inspect meta.warnings before presenting results, and keep API keys on your backend.
astro_base_url
mixed
Optional
query parameter.
curl -s "https://api.astro.ai/v1/hermes/astro/setup" \
-H "Authorization: Bearer ASTRO_AI_API_KEY"