| method.system | string enum | Yes | - | Discriminator: pythagorean, chaldean, kabbalah, or ank_jyotish. |
| method.profile | string enum | Yes | - | Versioned profile ID advertised by GET /methods. The profile must belong to method.system. |
| method.master_policy | string enum | Yes | - | Explicit master-number policy allowed by the selected profile. There is no hidden method default. |
| method.compound_policy | string enum | Yes | - | Controls result evidence: root_only, compound_and_root, or full_trace where the profile permits it. |
| method.name_source | birth | current | Conditional | - | Required for Kabbalah and Ank Jyotish. Chaldean encodes the selected name source in its profile ID. |
| subject.birth_date | date | Conditional | - | Gregorian YYYY-MM-DD birth date. Required for Pythagorean and Ank Jyotish; unused by name-only methods. |
| subject.name | object | Conditional | - | Structured name input containing at least birth or current. Required by Chaldean, Kabbalah, and Ank Jyotish; optional for Pythagorean name analysis. |
| subject.name.birth | string | Conditional | - | Nonblank full birth name, maximum 200 characters. Pythagorean uses this field when present. Also required by profiles or name_source values that select birth. |
| subject.name.current | string | Conditional | - | Nonblank current or everyday name, maximum 200 characters. Required by the Chaldean current-name profile or when name_source is current. |
| subject.name.script | ISO 15924 | No | Latn | Exact ISO 15924-style code matching ^[A-Z][a-z]{3}$, such as Latn, Deva, Cyrl, or Hebr. Kabbalah requires Hebr. |
| subject.name.transliteration | object | Conditional | - | Caller-supplied Latin form. Include a nonblank profile (max 100) plus matching nonblank birth/current values (max 200). Pythagorean and Chaldean treat a supplied value as authoritative even for Latn; Ank ignores it for Latn. Kabbalah uses direct Hebrew. |
| subject.calendar | literal | No | gregory | Currently fixed to the Gregorian calendar. |
| subject.locale | string enum | No | en | en, en-IN, hi, or hi-IN. Current Pythagorean, Chaldean, and Kabbalah opt-in content requires exact en; other locales do not fall back to English. Hindi locales localize Ank labels and graha metadata. |
| subject.tz_str | string | Conditional | - | Pythagorean only. Required when reference_date/as_of is omitted. Accepts an IANA timezone or AUTO. |
| subject.city | string | Conditional | - | Location for tz_str=AUTO, maximum 200 characters. With no reference date, use this or paired lat/lng. With an explicit date, it is optional but needed if AUTO must actually resolve a timezone. |
| subject.lat / subject.lng | number pair | Conditional | - | Latitude -90..90 and longitude -180..180. Both must be supplied together; they can resolve AUTO without geocoding a city. |
| date_context.reference_date | date | Conditional | - | Date used for Pythagorean personal year/month/day cycles. The alias date_context.as_of is also accepted. |
| date_context.year_anchor | literal | No | calendar_year | Currently fixed to calendar_year and echoed in meta.date_context. |
| include_interpretations | boolean | No | false | Opt in to available versioned content. Arithmetic and provenance are always returned. |