---
title: "Stress-test electional criteria across start-time and venue uncertainty"
method: POST
path: "/api/astro/electional-robustness-audit"
tags: ["Calculations"]
---

# Stress-test electional criteria across start-time and venue uncertainty

`POST /api/astro/electional-robustness-audit`

## Request

- Base URL: `https://api.cosmicephemeris.com`
- URL: `https://api.cosmicephemeris.com/api/astro/electional-robustness-audit`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

Resolves one exact civil event instant, then evaluates the existing caller-selected electional predicates over a fixed full-factorial matrix of seven exact UTC instants and nine coordinates: the supplied venue plus eight equal bearings on a caller-declared radius. Each criterion reports observed time-axis, location-axis, both-axis, combined-only, center-failure, stable-match, or non-evaluable evidence with traceable failing sample IDs. This is an operational sampled audit, not a best-time search, recommendation, ranking, continuous-time proof, guarantee over the full location disk, statistical confidence, causal attribution, interpretation, or prediction. One standard quota unit per admitted request; failed or timed-out admitted attempts are not refunded. Do not automatically retry.
Historical mode uses an explicit BCE/CE date object and UT1 conventions. Its response is the versioned historical envelope, not the modern UTC envelope. Read result for calculation fields and metadata for limits and uncertainty.

## Headers

- `X-Cosmic-Ephemeris-Receipt` 'v1'

## Request body

- union
  - ElectionalRobustnessAuditRequest
    - `event` HouseSystemReadinessBirth, required
      - `date` string, date, required: Valid Gregorian YYYY-MM-DD local civil date, inclusive 1800-01-01 through 2200-12-31. Calendar validity and timezone conversion are checked by the server.
      - `time` string, required: HH:MM or HH:MM:SS; no offset in this field. Use timezone to select the civil-time zone.
      - `timezone` string, required
      - `lat` number, required
      - `lon` number, required
    - `profile` union, required
      - object
        - `zodiac` 'tropical', required
      - object
        - `zodiac` 'sidereal', required
        - `ayanamsa` 'lahiri' | 'raman' | 'krishnamurti' | 'fagan_bradley' | 'yukteshwar' | 'sassanian' | 'true_chitra' | 'true_revati' | 'true_pushya' | 'galactic_center_0_sagittarius' | 'galactic_alignment_mardyks', required
    - `filters` ElectionalFilters, required
      - `moon_signs` ElectionalSignName[]
      - `moon_phase_sectors` MoonPhaseSector[]
      - `mercury_motion` 'direct' | 'retrograde'
      - `ascendant_signs` ElectionalSignName[]
      - `aspects` ElectionalAspectFilter[]
        - `body_a` 'sun' | 'moon' | 'mercury' | 'venus' | 'mars' | 'jupiter' | 'saturn' | 'uranus' | 'neptune' | 'pluto', required
        - `body_b` 'sun' | 'moon' | 'mercury' | 'venus' | 'mars' | 'jupiter' | 'saturn' | 'uranus' | 'neptune' | 'pluto', required
        - `aspect` 'conjunction' | 'sextile' | 'square' | 'trine' | 'opposition', required
        - `max_orb_degrees` number, required
    - `time_tolerance_minutes` integer, required
    - `location_radius_km` number, required
  - HistoricalElectionalRobustnessAuditRequest: Explicit historical mode, 1000 BCE (BC)–2500 CE (AD). No year zero, implicit calendar, UTC or IANA zone. Preserve tool-specific mathematical, geographic and search limits; calendar/time conventions and estimated Delta-T are not certified historical accuracy.
    - `event` HistoricalBirthInput, required
      - `date` HistoricalDate, required: Explicit civil date, 1000 BCE (BC)–2500 CE (AD); no year zero. Calendar validity is checked by the server. Available only on documented connected historical operations, with explicit UT1/fixed-offset conventions.
        - `year` integer, required
        - `era` 'BCE' | 'CE', required: Display BCE (BC) / CE (AD); API values remain BCE / CE. No year zero.
        - `month` integer, required
        - `day` integer, required
        - `calendar` 'proleptic_gregorian' | 'proleptic_julian', required: Explicit choice; applies the selected calendar rules throughout history without a regional adoption switch.
      - `time` string, required: Explicit HH:MM[:SS]; whole seconds only, no leap seconds. Normalized helper output includes seconds.
      - `timezone` string, required: Explicit UT1 or fixed offset UT1+/-HH:MM[:SS], within 14 hours. Local clock minus offset yields UT1, not UTC. No IANA timezone inference. Original offset spelling is preserved.
      - `lat` number, required
      - `lon` number, required
    - `profile` union, required
      - object
        - `zodiac` 'tropical', required
      - object
        - `zodiac` 'sidereal', required
        - `ayanamsa` 'lahiri' | 'raman' | 'krishnamurti' | 'fagan_bradley' | 'yukteshwar' | 'sassanian' | 'true_chitra' | 'true_revati' | 'true_pushya' | 'galactic_center_0_sagittarius' | 'galactic_alignment_mardyks', required
    - `filters` object, required
      - `moon_signs` string[]
      - `moon_phase_sectors` string[]
      - `mercury_motion` 'direct' | 'retrograde'
      - `ascendant_signs` string[]
      - `aspects` object[]
        - `body_a` 'sun' | 'moon' | 'mercury' | 'venus' | 'mars' | 'jupiter' | 'saturn' | 'uranus' | 'neptune' | 'pluto', required
        - `body_b` 'sun' | 'moon' | 'mercury' | 'venus' | 'mars' | 'jupiter' | 'saturn' | 'uranus' | 'neptune' | 'pluto', required
        - `aspect` 'conjunction' | 'sextile' | 'square' | 'trine' | 'opposition', required
        - `max_orb_degrees` number, required
    - `time_tolerance_minutes` integer, required
    - `location_radius_km` number, required

## Response `200`

Bounded criterion-level electional robustness evidence

- union
  - ElectionalRobustnessAuditResponse
    - `type` 'electional_robustness_audit', required
    - `status` 'current', required
    - `input` object, required
      - `event` HouseSystemReadinessBirth, required
        - `date` string, date, required: Valid Gregorian YYYY-MM-DD local civil date, inclusive 1800-01-01 through 2200-12-31. Calendar validity and timezone conversion are checked by the server.
        - `time` string, required: HH:MM or HH:MM:SS; no offset in this field. Use timezone to select the civil-time zone.
        - `timezone` string, required
        - `lat` number, required
        - `lon` number, required
      - `profile` union, required
        - object
          - `zodiac` 'tropical', required
        - object
          - `zodiac` 'sidereal', required
          - `ayanamsa` 'lahiri' | 'raman' | 'krishnamurti' | 'fagan_bradley' | 'yukteshwar' | 'sassanian' | 'true_chitra' | 'true_revati' | 'true_pushya' | 'galactic_center_0_sagittarius' | 'galactic_alignment_mardyks', required
      - `filters` ElectionalFilters, required
        - `moon_signs` ElectionalSignName[]
        - `moon_phase_sectors` MoonPhaseSector[]
        - `mercury_motion` 'direct' | 'retrograde'
        - `ascendant_signs` ElectionalSignName[]
        - `aspects` ElectionalAspectFilter[]
          - `body_a` 'sun' | 'moon' | 'mercury' | 'venus' | 'mars' | 'jupiter' | 'saturn' | 'uranus' | 'neptune' | 'pluto', required
          - `body_b` 'sun' | 'moon' | 'mercury' | 'venus' | 'mars' | 'jupiter' | 'saturn' | 'uranus' | 'neptune' | 'pluto', required
          - `aspect` 'conjunction' | 'sextile' | 'square' | 'trine' | 'opposition', required
          - `max_orb_degrees` number, required
      - `time_tolerance_minutes` integer, required
      - `location_radius_km` number, required
    - `time_samples` ElectionalRobustnessAuditTimeSample[], required
      - `id` 'minus_3' | 'minus_2' | 'minus_1' | 'center' | 'plus_1' | 'plus_2' | 'plus_3', required
      - `offset_seconds` integer, required
      - `at_utc` string, date-time, required: Normalized UTC timestamp; fractional seconds may be present.
    - `location_samples` ElectionalRobustnessAuditLocationSample[], required
      - `id` 'center' | 'north' | 'northeast' | 'east' | 'southeast' | 'south' | 'southwest' | 'west' | 'northwest', required
      - `bearing_degrees` number, nullable, required
      - `distance_km` number, required
      - `lat` number, required
      - `lon` number, required
    - `samples` ElectionalRobustnessAuditSample[], required
      - `id` string, required
      - `time_sample_id` 'minus_3' | 'minus_2' | 'minus_1' | 'center' | 'plus_1' | 'plus_2' | 'plus_3', required
      - `time_offset_seconds` integer, required
      - `at_utc` string, date-time, required: Normalized UTC timestamp; fractional seconds may be present.
      - `location_sample_id` 'center' | 'north' | 'northeast' | 'east' | 'southeast' | 'south' | 'southwest' | 'west' | 'northwest', required
      - `bearing_degrees` number, nullable, required
      - `distance_km` number, required
      - `lat` number, required
      - `lon` number, required
      - `status` 'available' | 'unavailable', required
      - `reason_code` 'undefined_for_input_geometry', nullable, required
      - `matches_all` boolean, nullable, required
      - `criteria` ElectionalRobustnessAuditEvaluation[], nullable, required
        - `id` string, required
        - `kind` 'moon_signs' | 'moon_phase_sectors' | 'mercury_motion' | 'ascendant_signs' | 'aspect', required
        - `matched` boolean, required
        - `observed` union, required
          - 'Aries' | 'Taurus' | 'Gemini' | 'Cancer' | 'Leo' | 'Virgo' | 'Libra' | 'Scorpio' | 'Sagittarius' | 'Capricorn' | 'Aquarius' | 'Pisces'
          - 'new_moon' | 'waxing_crescent' | 'first_quarter' | 'waxing_gibbous' | 'full_moon' | 'waning_gibbous' | 'last_quarter' | 'waning_crescent'
          - 'direct' | 'retrograde' | 'stationary'
          - number
    - `criteria` ElectionalRobustnessAuditCriterion[], required
      - `id` string, required
      - `kind` 'moon_signs' | 'moon_phase_sectors' | 'mercury_motion' | 'ascendant_signs' | 'aspect', required
      - `center_match` boolean, nullable, required
      - `attribution` 'not_evaluable' | 'center_does_not_match' | 'stable_match_across_available_samples' | 'time_only_failure_observed' | 'location_only_failure_observed' | 'time_and_location_failure_observed' | 'combined_only_failure_observed', required
      - `time_axis_failure_observed` boolean, required
      - `location_axis_failure_observed` boolean, required
      - `combined_failure_observed` boolean, required
      - `all_samples_evaluable` boolean, required
      - `available_sample_count` integer, required
      - `unavailable_sample_count` integer, required
      - `matching_sample_count` integer, required
      - `failing_sample_count` integer, required
      - `failing_sample_ids` string[], required
    - `summary` object, required
      - `sample_count` 63, required
      - `available_sample_count` integer, required
      - `unavailable_sample_count` integer, required
      - `passing_sample_count` integer, required
      - `failing_sample_count` integer, required
      - `center_evaluable` boolean, required
      - `center_matches_all` boolean, nullable, required
      - `all_available_samples_match_all` boolean, required
      - `criterion_count` integer, required
      - `stable_criterion_count` integer, required
      - `center_failure_criterion_count` integer, required
      - `time_only_failure_criterion_count` integer, required
      - `location_only_failure_criterion_count` integer, required
      - `time_and_location_failure_criterion_count` integer, required
      - `combined_only_failure_criterion_count` integer, required
      - `not_evaluable_criterion_count` integer, required
    - `fallback` object, required
      - `performed` unknown, required
      - `selected_system` unknown, required
    - `metadata` object, required
      - `model` 'cosmicephemeris-electional-robustness-audit-v1', required
      - `ephemeris` 'JPL-DE440', required
      - `sampling_method` 'seven_exact_utc_times_by_center_plus_eight_perimeter_locations_full_factorial', required
      - `time_axis` 'absolute_seconds_from_resolved_center_instant', required
      - `time_sample_count` 7, required
      - `location_sample_count` 9, required
      - `full_factorial` unknown, required
      - `perimeter_only` unknown, required
      - `filter_logic` 'all_selected_filters_must_match', required
      - `continuous_time_guarantee` unknown, required
      - `entire_disk_guarantee` unknown, required
      - `interaction_causality` unknown, required
      - `statistical_confidence` unknown, required
      - `max_chart_evaluations` 63, required
      - `max_criterion_evaluations` 504, required
      - `ranking` unknown, required
      - `recommendations` unknown, required
      - `interpretations` unknown, required
      - `predictions` unknown, required
      - `request_time_network` unknown, required
    - `receipt` CalculationReceipt
      - `schema` 'cosmicephemeris-calculation-receipt-v1', required
      - `kid` string, required
      - `algorithm` 'Ed25519', required
      - `canonicalization` 'cosmicephemeris-canonical-data-v1', required
      - `input_normalization` 'public-request-canonical-data-v1', required
      - `route` string, required
      - `release` string, required
      - `issued_at` string, date-time, required
      - `normalized_input_sha256` string, required
      - `result_sha256` string, required
      - `calculation_profile` object, required
      - `service_dataset_versions` object, required
      - `calculation_fingerprint` string, required
      - `verification_uri` string, required
      - `signature` string, required
  - HistoricalElectionalRobustnessAuditElectionalRobustnessAuditResponse
    - `schema` 'cosmicephemeris-historical-calculation-v1', required
    - `status` 'historical', required
    - `type` 'electional-robustness-audit', required
    - `input` HistoricalElectionalRobustnessAuditRequest, required: Explicit historical mode, 1000 BCE (BC)–2500 CE (AD). No year zero, implicit calendar, UTC or IANA zone. Preserve tool-specific mathematical, geographic and search limits; calendar/time conventions and estimated Delta-T are not certified historical accuracy.
      - `event` HistoricalBirthInput, required
        - `date` HistoricalDate, required: Explicit civil date, 1000 BCE (BC)–2500 CE (AD); no year zero. Calendar validity is checked by the server. Available only on documented connected historical operations, with explicit UT1/fixed-offset conventions.
          - `year` integer, required
          - `era` 'BCE' | 'CE', required: Display BCE (BC) / CE (AD); API values remain BCE / CE. No year zero.
          - `month` integer, required
          - `day` integer, required
          - `calendar` 'proleptic_gregorian' | 'proleptic_julian', required: Explicit choice; applies the selected calendar rules throughout history without a regional adoption switch.
        - `time` string, required: Explicit HH:MM[:SS]; whole seconds only, no leap seconds. Normalized helper output includes seconds.
        - `timezone` string, required: Explicit UT1 or fixed offset UT1+/-HH:MM[:SS], within 14 hours. Local clock minus offset yields UT1, not UTC. No IANA timezone inference. Original offset spelling is preserved.
        - `lat` number, required
        - `lon` number, required
      - `profile` union, required
        - object
          - `zodiac` 'tropical', required
        - object
          - `zodiac` 'sidereal', required
          - `ayanamsa` 'lahiri' | 'raman' | 'krishnamurti' | 'fagan_bradley' | 'yukteshwar' | 'sassanian' | 'true_chitra' | 'true_revati' | 'true_pushya' | 'galactic_center_0_sagittarius' | 'galactic_alignment_mardyks', required
      - `filters` object, required
        - `moon_signs` string[]
        - `moon_phase_sectors` string[]
        - `mercury_motion` 'direct' | 'retrograde'
        - `ascendant_signs` string[]
        - `aspects` object[]
          - `body_a` 'sun' | 'moon' | 'mercury' | 'venus' | 'mars' | 'jupiter' | 'saturn' | 'uranus' | 'neptune' | 'pluto', required
          - `body_b` 'sun' | 'moon' | 'mercury' | 'venus' | 'mars' | 'jupiter' | 'saturn' | 'uranus' | 'neptune' | 'pluto', required
          - `aspect` 'conjunction' | 'sextile' | 'square' | 'trine' | 'opposition', required
          - `max_orb_degrees` number, required
      - `time_tolerance_minutes` integer, required
      - `location_radius_km` number, required
    - `result` object, required: Complete historical calculation adapter result. Times are explicit UT1 date records, never UTC strings; derived times may include fractional seconds and years outside the input range.
    - `metadata` object, required
      - `time_standard` 'UT1', required
      - `historical_accuracy_certified` unknown, required
      - `warnings` string[], required

## Other responses

- `400`: Invalid request, malformed JSON, out-of-range date/location, unknown model, invalid timezone or ambiguous/nonexistent clock-change time. Invalid attempts reaching quota reservation consume one unit.
- `401`: Missing, invalid, revoked API key or unavailable activated key owner. Dashboard cookies do not authenticate calculation routes.
- `403`: Origin not allowed by production CORS policy. Server-to-server requests can omit Origin.
- `429`: Monthly quota exhausted, per-user two-request concurrency reached, or nginx rate/connection admission refused. Retry-After: 2 is sent for application per-user concurrency only, not a promise that monthly quota resets in two seconds.
- `502`: Engine unavailable, unsuccessful internal server response or invalid upstream JSON. No engine internals are exposed.
- `503`: Four-request global calculation pool full (Retry-After: 2), maintenance or upstream service unavailable.
- `504`: Application engine timeout: 15 seconds normally; planetary events, house ingresses, aspect windows, event calendar, eclipse geometry, electional search, and event-rule search use 30 seconds; Nakshatra Timeline plus the explicitly enumerated readiness, robustness, location, uncertainty, and electional-audit family use 60 seconds. Timer includes response-body parsing; an admitted timeout consumes quota.

---

[API](https://skmtc.dev/cosmicephemeris/apis/cosmic-ephemeris-calculation-api.md) · [All operations](https://skmtc.dev/cosmicephemeris/apis/cosmic-ephemeris-calculation-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cosmicephemeris/apis/cosmic-ephemeris-calculation-api/revisions/f041e924cea3?raw)
