---
title: "AI Transit Narrative (single date)"
method: POST
path: "/reports/ai/transit-narrative"
tags: ["AI Reports"]
---

# AI Transit Narrative (single date)

`POST /reports/ai/transit-narrative`

Snapshot transit interpretation for a specific date. Inputs: chart + transitDate (+optional transitTime/tzOffset), language, tone, length. Returns narrative grounded in transit-to-natal aspects (orb ≤1°).

## Headers

- `X-Provider` 'openai' | 'anthropic' | 'google' | 'groq' | 'mistral' | 'openrouter' | 'deepseek' | 'together'
- `X-Provider-Key` string
- `X-Provider-Model` string

## Request body

- Transit
  - `date` string
  - `time` string
  - `timezoneOffset` number, nullable — Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC.
  - `ayanamsaId` number, nullable
  - `ayanamsa` 'fagan-bradley' | 'lahiri' | 'de-luce' | 'raman' | 'krishnamurti' | 'kp' | 'yukteshwar' | 'jn-bhasin' | 'true-citra' | 'djwhal-khul' — Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either.

## Response `200`

Successful calculation

- object
  - `ok` boolean
  - `data` object
    - `narrative` string, nullable
    - `disclaimer` string, nullable
    - `model` string, nullable
    - `tokens` object, nullable
      - `input` number, nullable
      - `output` number, nullable

## Other responses

- `400` — Validation error
- `401` — Missing or invalid API key

---

[API](https://skmtc.net/astroway/apis/astroway-calculation-api.md) · [All operations](https://skmtc.net/astroway/apis/astroway-calculation-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/astroway/astroway-calculation-api/revisions/6828e5609564/schema)
