Skip to content

Common Mistakes

LLMs frequently produce broken code in these specific ways. Cross-checked against production logs.

Astrology

  • Horoscope is POST /api/astro/rashifal/daily/ with JSON body { rashi }, e.g. { "rashi": "aries" }. Not a GET, not a path param.
  • Birth chart is POST /api/astro/chart/. Requires ayanamsa, chart_name, datetime, latitude, longitude, notation.
  • Daily horoscope (rashifal) response fields include general_prediction, aspects (with love, career, health), and lucky (with color, number). No column, overview, or events fields.

Vedic

  • Body uses date_time (ISO 8601 string), latitude, longitude, and timezone_as_float. Not separate date and time fields.
  • Manglik dosha: the manglik key returns a three-element list [is_manglik, cancellation_applied, cancellation_rules_matched]. Not a single boolean.
  • Kala Sarpa: the kala_sarpa key returns a boolean. Use the astro/dosha/ endpoint with keys: [\"kala_sarpa\"].
  • Dasha endpoint: POST /api/astro/dasha/vimshottari/. Takes date_time, latitude, longitude, timezone_as_float. There is no separate sub-dasha endpoint.
  • KP chart is POST /api/astro/kp-chart/. Not /kp/birth-chart.
  • Panchang: use GET panchanga with date_time, latitude, longitude, timezone_as_float.

Numerology

  • Numerology uses date_time, name, year, month, day (integers). Not a birthDate string.
  • The keys array controls which calculations return. Batch all keys in one call — one credit regardless of count.
  • Personal year key: personal_year_number with year param (defaults to current year).

Tarot

  • Spread: POST /api/astro/tarot/spread/ with spread param (e.g. three_card). Not /spreads/three-card.
  • Yes/No: POST /api/astro/tarot/yes-no/. Response field is strength (not confidence). Values: "Strong" or "Qualified" only.
  • Draw: POST /api/astro/tarot/draw/.
  • Card IDs are kebab-case: fool, ace-of-cups, three-of-swords.

I-Ching

  • I-Ching is POST /api/astro/numerology/iching/. Takes optional date_time and name. There are no separate daily or cast endpoints.

Angel Numbers

  • POST /api/astro/numerology/angel/ with sequence as a string (e.g. "1111"). Integer fails validation.

All Endpoints

  • All POST endpoints: include Content-Type: application/json header.

SDK Usage

  • TypeScript: initialize with new OccultApi({ apiKey }). Every method returns { data, error, response }. Check error first.
  • Python: from occult_api import OccultApi, pass kwargs, never positional. Async variants end with _async.
  • PHP (8.2+): use function OccultAPI\Sdk\occult; then $occult = occult($key). Call methods with named arguments.
  • Never call Occult API from client-side code. API keys belong on the server.

Next Steps