Back to Docs
Numerology Profile

Numerology Profile API

POST/api/v1/numerology/profile

Calculate a Pythagorean, Chaldean, Kabbalah/Gematria, or Ank Jyotish profile. Start with the system alone; the API applies documented defaults and returns the fully resolved versioned method in every response.

Full URL

https://api.freeastroapi.com/api/v1/numerology/profile

Authentication, quota, and privacy

Send x-api-key and Content-Type: application/json. Each call uses the normal API quota. The numerology calculation itself does not persist submitted names, dates, or derived results; every success reports the endpoint policy in meta.privacy.

Quick start

Copy a minimal request

Pick a method below. Each example includes only the input needed for a successful first call; the API resolves the recommended profile, compatible policies, and compound_and_root evidence.

curl -X POST "https://api.freeastroapi.com/api/v1/numerology/profile" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  --data '{
  "method": {
    "system": "pythagorean"
  },
  "subject": {
    "birth_date": "1992-07-16"
  },
  "date_context": {
    "reference_date": "2026-07-15"
  }
}'

The response's meta.method contains the canonical profile and policies actually used, so you can log or pin the exact calculation later.

Interpretations are off by default. Set include_interpretations to true for supported English content. Kabbalah returns a method explanation rather than a personal meaning; Ank Jyotish does not return interpretation prose.

Choose a numerology system

Pick the tradition that matches your product. Profiles are optional unless you want a nonstandard variant or need to choose between two supplied names in Chaldean mode.

Pythagorean

pythagorean
Best for

A complete Western numerology profile with birth-date cycles and optional name analysis.

Needs

Birth date. Add a birth name for name numbers, plus a reference date or timezone for current cycles.

Returns

Life Path, Birthday, Attitude, cycles, pinnacles, challenges, and optional name analysis.

Profile aliases
standardrecommendedraw_date

Chaldean / Cheiro

chaldean
Best for

A Cheiro-style number for the name a person uses now or the name given at birth.

Needs

One current or birth name. Non-Latin names also need a caller-supplied Latin transliteration.

Returns

A Chaldean compound and root using the Cheiro 1-8 alphabet.

Profile aliases
current_namebirth_name

Kabbalah / Gematria

kabbalah
Best for

Hebrew-name Gematria with a standard calculation or an explicitly selected traditional variant.

Needs

One direct Hebrew birth or current name. The API infers the Hebrew script; start with standard unless your method requires an advanced variant.

Returns

A profile-specific Gematria total and root, with optional trace evidence.

Profile aliases
standardrecommended

Ank Jyotish

ank_jyotish
Best for

Indian numerology workflows that need core date and name numbers with planetary rulers.

Needs

Gregorian birth date and one birth or current name. Non-Latin names need Latin transliteration.

Returns

Moolank, Bhagyank, Namank, and versioned ruling-graha metadata with Hindi-ready labels.

Profile aliases
standardrecommended

Defaults and name selection

For Pythagorean, Kabbalah, and Ank Jyotish, omit method.profile to use standard. Chaldean selects its current-name or birth-name profile from the single supplied name. The API derives the compatible master policy and uses compound_and_root unless you request another evidence level.

Kabbalah and Ank Jyotish infer name_source when exactly one birth/current name is supplied. Chaldean likewise selects the matching current-name or birth-name profile.

Kabbalah also infers Hebr when every supplied name is unambiguously Hebrew. If you send subject.name.script explicitly, it must match the input.

If both names are present, make the choice explicit: send name_source for Kabbalah or Ank Jyotish, or use the Chaldean current_name or birth_name profile.

Advanced reproducibility settings

Short aliases keep requests readable. Canonical IDs freeze the exact method implementation for integrations that need strict reproducibility. Both forms are accepted in method.profile.

SystemShort profileCanonical profile ID
pythagoreanstandardpythagorean-component-preserve-core-v1
pythagoreanraw_datepythagorean-raw-date-preserve-core-v1
chaldeancurrent_namechaldean-cheiro-current-name-v1
chaldeanbirth_namechaldean-cheiro-birth-name-v1
kabbalahstandardkabbalah-gematria-hechrechi-v1
kabbalahordinalkabbalah-gematria-siduri-v1
kabbalahreduced_letterskabbalah-gematria-katan-v1
kabbalahreduced_totalkabbalah-gematria-katan-mispari-v1
kabbalahfull_letter_nameskabbalah-gematria-millui-alef-v1
kabbalahfull_letter_names_reducedkabbalah-gematria-millui-alef-reduced-v1
ank_jyotishstandardank-jyotish-civil-cheiro-navagraha-reduce-all-v1

Master policies: Pythagorean resolves to preserve_core_11_22_33; Chaldean and Ank Jyotish resolve to reduce_all; Kabbalah resolves to not_applicable.

Evidence policies: use compound_and_root for normal responses or full_trace when you need reduction paths and character-level evidence. Pythagorean also supports root_only.

Traditional Kabbalah synonyms: siduri, katan, katan_mispari, millui, and millui_reduced remain accepted for existing integrations.

Optional machine-readable metadata

Normal profile requests do not require a registry lookup. Advanced clients can query GET /api/v1/numerology/methods for supported variants and GET /api/v1/numerology/alphabets for exact letter-value tables.

Request body

Parameter
method.system
Type
string enum
Required
Yes
Default
-
Description
Discriminator: pythagorean, chaldean, kabbalah, or ank_jyotish.
Parameter
method.profile
Type
string enum
Required
No
Default
system default
Description
Optional short alias or canonical profile ID. Most systems use standard when omitted; Chaldean infers current_name or birth_name from the single supplied name. Use descriptive aliases such as ordinal or reduced_letters for Kabbalah variants.
Parameter
method.master_policy
Type
string enum
Required
No
Default
from profile
Description
Advanced override. Normally omit it: the server derives the only compatible master-number policy from the resolved profile.
Parameter
method.compound_policy
Type
string enum
Required
No
Default
compound_and_root
Description
Optional evidence level: root_only, compound_and_root, or full_trace where the profile permits it.
Parameter
method.name_source
Type
birth | current
Required
Conditional
Default
-
Description
Kabbalah and Ank Jyotish infer this when exactly one birth/current name is present and require it when both are present. For Chaldean with both names, use current_name or birth_name in method.profile instead.
Parameter
subject.birth_date
Type
date
Required
Conditional
Default
-
Description
Gregorian YYYY-MM-DD birth date. Required for Pythagorean and Ank Jyotish; unused by name-only methods.
Parameter
subject.name
Type
object
Required
Conditional
Default
-
Description
Structured name input containing at least birth or current. Required by Chaldean, Kabbalah, and Ank Jyotish; optional for Pythagorean name analysis.
Parameter
subject.name.birth
Type
string
Required
Conditional
Default
-
Description
Nonblank full birth name, maximum 200 characters. Pythagorean uses this field when present. Also required by profiles or name_source values that select birth.
Parameter
subject.name.current
Type
string
Required
Conditional
Default
-
Description
Nonblank current or everyday name, maximum 200 characters. Required by the Chaldean current-name profile or when name_source is current.
Parameter
subject.name.script
Type
ISO 15924
Required
No
Default
Latn / inferred Hebr
Description
Exact ISO 15924-style code matching ^[A-Z][a-z]{3}$, such as Latn, Deva, Cyrl, or Hebr. Kabbalah infers Hebr when every supplied name is unambiguously Hebrew; an explicitly supplied script must be correct.
Parameter
subject.name.transliteration
Type
object
Required
Conditional
Default
-
Description
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.
Parameter
subject.calendar
Type
literal
Required
No
Default
gregory
Description
Currently fixed to the Gregorian calendar.
Parameter
subject.locale
Type
string enum
Required
No
Default
en
Description
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.
Parameter
subject.tz_str
Type
string
Required
Conditional
Default
-
Description
Pythagorean only. Required when reference_date/as_of is omitted. Accepts an IANA timezone or AUTO.
Parameter
subject.city
Type
string
Required
Conditional
Default
-
Description
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.
Parameter
subject.lat / subject.lng
Type
number pair
Required
Conditional
Default
-
Description
Latitude -90..90 and longitude -180..180. Both must be supplied together; they can resolve AUTO without geocoding a city.
Parameter
date_context.reference_date
Type
date
Required
Conditional
Default
-
Description
Date used for Pythagorean personal year/month/day cycles. The alias date_context.as_of is also accepted.
Parameter
date_context.year_anchor
Type
literal
Required
No
Default
calendar_year
Description
Currently fixed to calendar_year and echoed in meta.date_context.
Parameter
include_interpretations
Type
boolean
Required
No
Default
false
Description
Opt in to available versioned content. Arithmetic and provenance are always returned.

Name validation and transliteration precedence

  • A supplied name object must contain birth, current, or both.
  • For non-Latin Pythagorean and Chaldean input, provide transliteration for every supplied birth/current value. Ank Jyotish needs transliteration only for the selected or inferred name source.
  • Pythagorean and Chaldean calculate from a supplied matching transliteration even when script: "Latn". Omit it for Latin names unless that replacement is intentional. Ank retains but ignores transliteration for Latin input.
  • Kabbalah accepts direct Hebrew input and does not use Latin transliteration. When script is omitted, the API infers Hebr only if every selected name is unambiguously Hebrew.

Pythagorean timezone and calendar anchor

  • With reference_date or as_of, timezone is optional and that exact Gregorian date anchors the personal cycles. tz_str: "AUTO" without a location is valid here, but no resolved timezone is returned.
  • Without a date, subject.tz_str is required so the API can resolve the local current date.
  • tz_str: "AUTO" uses the same resolver as natal calculation. A city or paired coordinates is required when no date is supplied, and is optional with an explicit date unless you need AUTO resolved.
  • The response returns the resolved reference date, the requested timezone when supplied, the resolved timezone when resolution occurs, calendar: "gregory", and year_anchor: "calendar_year".
  • Chaldean, Kabbalah, and Ank Jyotish do not use this cycle date context.

Expanded request examples

These examples add realistic optional inputs such as names, scripts, locales, transliteration, and date context while still relying on server-derived profiles and policies.

curl -X POST "https://api.freeastroapi.com/api/v1/numerology/profile" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  --data '{
  "method": {
    "system": "pythagorean"
  },
  "subject": {
    "birth_date": "1992-07-16",
    "name": {
      "birth": "John Alan Doe",
      "script": "Latn"
    },
    "tz_str": "Europe/Paris"
  },
  "date_context": {
    "reference_date": "2026-07-15"
  },
  "include_interpretations": false
}'

Response envelope

Field
meta.schema_version
Type
string
Required
n/a
Description
Response contract version; currently 2.0.
Field
meta.source_profile_version
Type
string
Required
n/a
Description
Version of the method/source registry used for the calculation.
Field
meta.method
Type
object
Required
n/a
Description
Exact system, profile, and policy combination applied to the request.
Field
meta.date_context
Type
object
Required
n/a
Description
Pythagorean cycle anchor. Includes reference date, calendar/year anchor, and requested/resolved timezone when applicable.
Field
meta.calculation_policy
Type
object
Required
n/a
Description
Preserved masters, normalization rules, Y policy, alphabet table, and method-specific calculation settings.
Field
meta.graha_mapping
Type
object
Required
n/a
Description
Ank Jyotish only: versioned 1-9 ruling-graha registry with English, common, IAST, and Hindi names.
Field
meta.interpretations
Type
object
Required
n/a
Description
Whether content was requested, locale/content version, content kinds, and availability.
Field
meta.privacy
Type
object
Required
n/a
Description
Endpoint-level non-persistence metadata for the submitted subject data and derived numerology result.
Field
normalized_input
Type
object
Required
n/a
Description
Normalized dates, names, scripts, transliteration provenance, locale, and selected name source.
Field
data.kind
Type
string enum
Required
n/a
Description
Response discriminator matching method.system.
Field
data.core / data.*_analysis
Type
object
Required
n/a
Description
System-specific result: Pythagorean core/cycles/life cycles/name analysis, Chaldean name analysis, Kabbalah name analysis, or Ank core numbers.

Optional fields are omitted when unavailable; clients should not depend on explicit null values.

Numeric result semantics

Do not treat value and root as synonyms. The method decides which unreduced compound or master number remains canonical.

Field
raw_total
Type
integer
Required
n/a
Description
Arithmetic total before the method applies its final reduction policy.
Field
compound
Type
integer
Required
n/a
Description
Unreduced compound retained by the selected method and compound policy.
Field
value
Type
integer
Required
n/a
Description
Canonical method value. It is not always the root: a Pythagorean birthday may preserve 16 and classic Gematria may preserve 26.
Field
root
Type
integer
Required
n/a
Description
Reduced root used for comparisons and value_display.
Field
value_display
Type
string
Required
n/a
Description
Stable display form such as 17/8, 26/8, or 6.
Field
master_number
Type
integer
Required
n/a
Description
Present only when the selected policy preserves an applicable 11, 22, or 33.
Field
reduction_path
Type
array<integer>
Required
n/a
Description
Ordered reduction path included by full_trace, for example [30, 3].
Field
steps
Type
array<object>
Required
n/a
Description
Auditable full_trace operations with source, input, and result.
Field
details
Type
object
Required
n/a
Description
Calculation evidence such as date digits, per-token totals, character values, and alphabet IDs.
Field
karmic_debts
Type
array<object>
Required
n/a
Description
Pythagorean debt findings with number, root, display, source component, and provenance origin.
Field
warnings
Type
array<object>
Required
n/a
Description
Nonfatal method or content caveats. Warnings do not change the HTTP success status.
root_only

Canonical value/root without totals or calculation evidence.

compound_and_root

Default. Keeps totals and structured details, but omits the step trace.

full_trace

Adds reduction paths, operations, and character-level evidence.

Selected response fields

These are valid excerpts from successful responses. Notice that meta.method contains canonical profile IDs and policies even though the requests omit them.

{
  "meta": {
    "schema_version": "2.0",
    "source_profile_version": "2026-07",
    "method": {
      "system": "pythagorean",
      "profile": "pythagorean-component-preserve-core-v1",
      "master_policy": "preserve_core_11_22_33",
      "compound_policy": "compound_and_root"
    },
    "date_context": {
      "reference_date": "2026-07-15",
      "timezone_requested": "Europe/Paris",
      "timezone_resolved": "Europe/Paris",
      "calendar": "gregory",
      "year_anchor": "calendar_year"
    },
    "privacy": {
      "persisted": false,
      "retention": "none_by_numerology_endpoint",
      "request_data_stored_by_endpoint": false
    }
  },
  "data": {
    "kind": "pythagorean",
    "core": {
      "life_path": {
        "calculation": "life_path",
        "raw_total": 17,
        "compound": 17,
        "value": 8,
        "root": 8,
        "value_display": "17/8"
      },
      "birthday": {
        "calculation": "birthday",
        "raw_total": 16,
        "compound": 16,
        "value": 16,
        "root": 7,
        "value_display": "16/7"
      }
    },
    "cycles": {
      "personal_year": {
        "value_display": "6"
      },
      "personal_month": {
        "value_display": "13/4"
      },
      "personal_day": {
        "value_display": "19/1"
      }
    },
    "name_analysis": {
      "expression": {
        "value_display": "9"
      },
      "soul_urge": {
        "value_display": "19/1"
      },
      "personality": {
        "value_display": "17/8"
      }
    }
  }
}

Interpretation behavior

include_interpretations defaults to false. Calculation values, provenance, and warnings do not depend on prose content.

  • Locale: current Pythagorean, Chaldean, and Kabbalah content requires exact subject.locale: "en". en-IN, hi, and hi-IN do not fall back to English; unavailable content is omitted and reported with NUM-CONTENT-001.
  • Pythagorean: calculation-specific English archetype content is available for locale en.
  • Chaldean: English compound/root content is available for compounds 10-52 with locale en. Larger totals return root-only content with NUM-CONTENT-002.
  • Kabbalah: arithmetic alone is not presented as a universal personal meaning. For locale en, opt-in content is a profile-specific method explanation.
  • Ank Jyotish: deterministic arithmetic and graha metadata are returned without generated interpretation prose, even when requested.

Errors and nonfatal warnings

Numerology validation uses RFC 9457 application/problem+json with a trace ID. Authentication happens earlier: missing and invalid keys return ordinary JSON with HTTP 401 and 403.

Field
NUM-000
Type
HTTP 422
Required
n/a
Description
Fallback invalid request.
Field
NUM-001
Type
HTTP 400
Required
n/a
Description
Invalid birth date, reference_date, or as_of value.
Field
NUM-002
Type
HTTP 400
Required
n/a
Description
Unsupported system/profile or a method field that belongs to another discriminator variant.
Field
NUM-003
Type
HTTP 422
Required
n/a
Description
Missing, blank, or unmappable required name.
Field
NUM-004
Type
HTTP 422
Required
n/a
Description
Unsupported, mixed, or incorrect script.
Field
NUM-005
Type
HTTP 422
Required
n/a
Description
Vowel/Y-policy ambiguity. The same code can also appear as a nonfatal result warning.
Field
NUM-006
Type
HTTP 422
Required
n/a
Description
Required transliteration or transliteration profile is missing or invalid.
Field
NUM-007
Type
HTTP 409
Required
n/a
Description
Master or compound policy is incompatible with the selected profile.
Field
NUM-008
Type
HTTP 422
Required
n/a
Description
Required timezone/date context is missing or AUTO cannot be resolved.

422 — missing Pythagorean timezone

{
  "type": "https://freeastroapi.com/problems/num-008",
  "title": "Invalid date context",
  "status": 422,
  "detail": "subject.tz_str is required when date_context.reference_date is omitted",
  "instance": "/api/v1/numerology/profile",
  "code": "NUM-008",
  "field": "subject.tz_str",
  "trace_id": "45457e6a"
}

Successful results can also carry NUM-CONTENT-001/002 or NUM-METHOD-001..004 warnings. Treat them as machine-readable caveats, not failed calculations.

Method scope

Numerology is tradition-specific symbolic practice, not a scientific measurement or professional recommendation. The Ank profile is explicitly a modern composite: Gregorian civil-date arithmetic, Cheiro 1-8 Namank, deterministic name-source selection, and a versioned 1-9 graha map. It does not silently apply a near-dawn birth boundary or infer a person's most-used name.

Frequently asked questions

Which numerology profile should my integration use?

Start with method.system and omit profile for the recommended standard calculation. Use a short profile alias only when you need a variant, or pin the canonical ID returned in meta.method for strict reproducibility. GET /api/v1/numerology/methods exposes every current choice.

How does the API choose a name when I omit name_source?

Kabbalah and Ank Jyotish infer birth or current when exactly one is supplied. Chaldean also chooses the matching profile when there is only one name. If both names are present, select name_source for Kabbalah or Ank Jyotish, or use the current_name or birth_name Chaldean profile alias.

When is a timezone required?

Only Pythagorean personal cycles need a date anchor. If reference_date or as_of is present, timezone is optional. If it is omitted, provide an IANA tz_str or AUTO with a city or paired coordinates.

Does the numerology endpoint store names or birth dates?

The calculation endpoint does not persist subject names, dates, or derived numerology results. Successful responses expose this endpoint-level policy in meta.privacy; normal platform security and quota operations are separate.

Are interpretations returned automatically?

No. include_interpretations defaults to false. With subject.locale set exactly to en, Pythagorean and bounded Chaldean English content can be requested and Kabbalah can return a method explanation rather than a generic personal meaning. en-IN, hi, and hi-IN do not fall back to English. Ank Jyotish returns arithmetic and graha metadata without interpretation prose.

What does Hindi locale support include?

For Ank Jyotish, hi and hi-IN return Hindi calculation labels plus English, common romanization, IAST, and Hindi graha names. Hindi interpretation prose is not currently returned.