
# Field Formats (agent gotchas)

Fields LLMs most often get wrong. Copy the format exactly.

## Western Astrology

| Field | Format | Good | Bad |
|-------|--------|------|-----|
| `timezone` | Decimal hours (number) OR IANA string | `5.5` (IST), `-5` (NY EST), OR `"Asia/Kolkata"` | `"5:30"`, `"GMT-5"`, `"+0530"` |
| `date` | ISO date string | `"1990-01-15"` | `"Jan 15 1990"`, `"15/01/1990"` |
| `time` | 24-hour string with seconds | `"14:30:00"`, `"09:00:00"` | `"2:30 PM"`, `"14:30"` |
| `latitude` / `longitude` | Decimal degrees (float) | `28.6139`, `-74.006` | DMS strings, degree symbols |
| `sign` (Western horoscope path) | Lowercase zodiac | `aries`, `taurus`, ... `pisces` | `"Aries"`, zodiac symbols, numbers |
| `houseSystem` | Kebab-case enum | `placidus` (default), `whole-sign`, `equal`, `koch` | `whole_sign`, `WholeSign` |
| `nodeType` | Kebab-case enum | `true-node`, `mean-node` | `"true"`, `"True Node"` |
| `person1` / `person2` | Nested object with full birth data | `{ date, time, latitude, longitude, timezone }` | Flat fields |
| `seed` (daily endpoints) | Any string | `"user-42"`, email hash | Numbers, objects |

## Vedic Astrology

| Field | Format | Good | Bad |
|-------|--------|------|-----|
| `timezone` | Decimal hours (number) OR IANA string | `5.5` (IST), `-5` (NY EST), OR `"Asia/Kolkata"` | `"5:30"`, `"GMT-5"`, `"+0530"` |
| `date` | ISO date string | `"1990-01-15"` | `"Jan 15 1990"`, `"15/01/1990"` |
| `time` | 24-hour string with seconds | `"14:30:00"`, `"09:00:00"` | `"2:30 PM"`, `"14:30"` |
| `latitude` / `longitude` | Decimal degrees (float) | `28.6139`, `-74.006` | DMS strings, degree symbols |
| `ayanamsa` (KP) | Kebab-case enum | `kp-newcomb` (default), `kp-old`, `lahiri`, `custom` | `"KP"`, `"Lahiri"` |
| `nodeType` | Kebab-case enum | `true-node`, `mean-node` | `"true"`, `"True Node"` |
| `person1` / `person2` | Nested object with full birth data | `{ date, time, latitude, longitude, timezone }` | Flat fields |
| `seed` (daily endpoints) | Any string | `"user-42"`, email hash | Numbers, objects |

## Numerology

| Field | Format | Good | Bad |
|-------|--------|------|-----|
| `fullName` (numerology) | Birth-certificate name | `"John William Smith"` | Nickname, married name |
| Numerology `{ year, month, day }` | Three separate integers | `year: 1990, month: 1, day: 15` | A `birthDate` string |

## Tarot

| Field | Format | Good | Bad |
|-------|--------|------|-----|
| Tarot card `id` | Kebab-case slug | `the-fool`, `ace-of-cups`, `three-of-cups` | Numeric like `major-01` |
| Tarot `count` | Integer 1 to 78 | `3`, `10`, `78` | `0`, `79`, strings |
| `seed` (daily endpoints) | Any string | `"user-42"`, email hash | Numbers, objects |

## Biorhythm

| Field | Format | Good | Bad |
|-------|--------|------|-----|
| `birthDate` (biorhythm) | ISO date string | `"1990-01-15"` | Date object, `"15/01/1990"` |
| `date` | ISO date string | `"1990-01-15"` | `"Jan 15 1990"`, `"15/01/1990"` |
| `seed` (daily endpoints) | Any string | `"user-42"`, email hash | Numbers, objects |
| `person1` / `person2` | Nested object with full birth data | `{ date, time, latitude, longitude, timezone }` | Flat fields |

## I-Ching

| Field | Format | Good | Bad |
|-------|--------|------|-----|
| I Ching hexagram `number` | Integer 1 to 64 | `1`, `64` | `"qian"`, names |
| `seed` (daily endpoints) | Any string | `"user-42"`, email hash | Numbers, objects |

## Crystals

| Field | Format | Good | Bad |
|-------|--------|------|-----|
| `sign` (Western horoscope path) | Lowercase zodiac | `aries`, `taurus`, ... `pisces` | `"Aries"`, zodiac symbols, numbers |
| `chakra` | Kebab-case | `root`, `heart`, `third-eye`, `crown` | `"Third Eye"`, `third_eye` |
| `month` (birthstone) | Integer 1-12 | `1`, `12` | `"January"`, `"01"` |

## Dreams

| Field | Format | Good | Bad |
|-------|--------|------|-----|
| Dream symbol `id` | Kebab-case slug | `flying`, `teeth-falling-out`, `water` | Display names with spaces |

## Angel Numbers

| Field | Format | Good | Bad |
|-------|--------|------|-----|
| `number` (angel number path) | String | `"1111"`, `"777"` | `1111` (integer fails path validation) |

## Path Hygiene

No trailing slashes on any endpoint. Use `/vedic-astrology/birth-chart`, not `/vedic-astrology/birth-chart/`.
