---
title: "Human Design Penta"
method: POST
path: "/human-design/penta"
tags: ["Human Design"]
---

# Human Design Penta

`POST /human-design/penta`

## Request

- Base URL: `https://api.openephemeris.com`
- URL: `https://api.openephemeris.com/human-design/penta`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-OpenEphemeris-API-Key`
  - API key in header `X-API-Key`
  - API key in header `X-Service-Key`

Generate a Penta (Group Dynamics) Analysis.
Valid for groups of 3 to 5 people.
Focuses on trans-auric forms (BG5).

**Pricing:** 2 credits per member chart — 6 for 3 members, 8 for 4, 10 for 5 — read from the request before any compute.

## Request body

- PentaRequest: Request for Penta (Small Group) Analysis. Valid for 3-5 people.
  - `format` string: Response format: json | llm.
  - `group_name` string, required
  - `members` PentaMember[], required
    - `birth_data` HumanDesignChartRequest, required: Request model for a full Natal Human Design Chart. Exactly one of `birth_datetime_utc` (an instant the caller has already converted) or `birth_datetime_local` (a naive local wall-clock time the SERVER converts, using `latitude`/`longitude` and the historical-correction overlay) is required. Prefer `birth_datetime_local` for a birth time read off a certificate: only the server-side conversion can apply the pre-1970 corrections, and the Human Design design chart is cast ~88° of solar arc earlier, so an hour of error moves gates and lines on both charts.
      - `birth_datetime_local` string: Naive local wall-clock birth datetime (YYYY-MM-DDTHH:MM:SS, no zone suffix), resolved by the server. Mutually exclusive with `birth_datetime_utc` — exactly one of the two is required. The zone comes from the sibling `timezone` field when supplied, otherwise from `latitude`/`longitude`; the historical-correction overlay is consulted for pre-1970 dates. The resolution is echoed back in the response `metadata` as tz_confidence / tz_rule_source / tz_resolved_offset / resolved_utc.
      - `birth_datetime_utc` string, date-time: Birth instant as an RFC 3339 datetime, e.g. '1987-07-15T14:01:00Z'. The caller has already done the timezone math, so the historical-correction overlay does not apply. Mutually exclusive with `birth_datetime_local`.
      - `format` string: Response format: json | llm.
      - `include_chiron` boolean: Include Chiron gate mapping in the calculation.
      - `include_lilith` boolean: Include Black Moon Lilith gate mapping in the calculation.
      - `include_visual` boolean, nullable: When true, a high-fidelity Human Design bodygraph SVG/PNG is embedded in the response alongside the data payload. Adds 2 credits to the request cost.
      - `latitude` number: Birth latitude in decimal degrees. Seeds timezone resolution for `birth_datetime_local` — with `longitude` it selects the IANA zone and lets the historical-correction overlay apply — and, where the endpoint renders one, positions the mandala house ring. Not read at all when `birth_datetime_utc` is used.
      - `longitude` number: Birth longitude in decimal degrees. Seeds timezone resolution for `birth_datetime_local` — with `latitude` it selects the IANA zone and lets the historical-correction overlay apply — and, where the endpoint renders one, positions the mandala house ring. Not read at all when `birth_datetime_utc` is used.
      - `timezone` TimezoneInput: Timezone input using IANA names or UTC offsets.
        - `fold_preference` 'earlier' | 'later': Which occurrence to use when the naive local datetime falls in a fall-back fold (a repeated hour): 'earlier' (default — first occurrence) or 'later'. Only meaningful for naive datetimes; the response reports datetime_status=ambiguous_fold either way so the ambiguity can be surfaced to the user.
        - `iana_name` string: IANA timezone name
        - `time_standard` 'auto' | 'standard' | 'daylight': How to interpret a naive local datetime when this zone is applied. 'auto' (default): resolve through the historical-correction overlay where one covers the region/era, then IANA tzdata. 'standard': force the zone's standard (non-daylight) offset — for callers who KNOW the recorded time was standard time regardless of what tzdata believes. 'daylight': force standard+1h. Forcing either marks the resolution tz_confidence=client_override. Ignored when the datetime carries its own Z/±HH:MM suffix or when utc_offset is used.
        - `utc_offset` number: UTC offset in hours
      - `visual_config` VisualRenderConfig: Optional rendering preferences for inline chart visuals.
        - `format` 'svg' | 'png': Output encoding: "svg" (default) or "png". PNG requires resvg on the server.
        - `layout` 'graph' | 'mandala': Bodygraph composition: "graph" (default) is the classic layout; "mandala" nests the same diagram inside concentric rings. Ignored for wheel renders. Honored on natal and overlay (transit, connection) bodygraph paths.
        - `size` integer: Canvas pixel dimension. Range [200, 4000]. Default 800.
        - `theme` 'light' | 'dark': Colour palette: "light" (default) or "dark".
    - `id` string, required
    - `name` string, required
  - `settings` object: Optional settings like house system or perspective

## Response `200`

Successful Response

- PentaResponse: Penta (Group) Analysis Response. Focuses on the Trans-auric form emergent from 3-5 people.
  - `channels` PentaChannel[], required
    - `function` string, required
    - `id` string, required
    - `missing_gates` integer[], required
    - `name` string, required
    - `status` string, required
  - `functional_attributes` PentaSkillAttribute[], required
    - `contributors` string[], required
    - `gate` integer, required
    - `redundancy` integer, required
    - `skill` string, required
    - `status` string, required
  - `leadership_dynamics` PentaLeadership, required: Analysis of the specific leadership gates in the G-Throat.
    - `alpha_role` object, required
    - `gaps` string[], required
    - `style` string, required
  - `metadata` object, required
  - `penta_summary` PentaSummary, required: High-level summary of the group dynamic.
    - `functional_score` number, required
    - `group_size` integer, required
    - `primary_gap` string
    - `stability` string, required
  - `redundancies` PentaRedundancy[], required
    - `impact` string, required
    - `members` string[], required
    - `skill` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/openephemeris/apis/open-ephemeris-api.md) · [All operations](https://skmtc.dev/openephemeris/apis/open-ephemeris-api/llms.txt) · [OpenAPI document](https://skmtc.dev/openephemeris/apis/open-ephemeris-api/revisions/d195a769cb89?raw)
