Skip to content

Western product profiles

Product profiles are deterministic Western feature vectors for UI, analytics, and LLM grounding. They are not LLM-generated text.

All routes require charts:read and a stored Western chart. Both routes accept house_system=placidus|whole_sign|equal; the override applies only to that response.

All product profiles — GET /v1/western/charts/{id}/product-profile

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.astrolinkers.com/v1/western/charts/$CHART/product-profile?house_system=whole_sign"
{
  "chart_id": "019e32b5-...",
  "profiles": [
    {
      "domain": "career",
      "score": 0.642,
      "primary_style": "structured_builder",
      "signals": [
        {
          "key": "tenth_house",
          "value": 0.5,
          "explanation": "Tenth-house emphasis supports public role focus."
        }
      ],
      "themes": ["fire", "mutable"]
    }
  ]
}

Single product profile — GET /v1/western/charts/{id}/product-profile/{domain}

Supported domains:

Domain Purpose
personality Baseline self-expression and temperament style.
career Work style and public-role orientation.
relationship Partnership orientation.
stress Pressure pattern and internalization tendency.
communication Messaging, learning, and exchange style.
leadership Initiative, visibility, and directive capacity.
money Resource and value pattern.
decision_making Choice-making and follow-through pattern.
curl -H "Authorization: Bearer $TOKEN" \
  "https://api.astrolinkers.com/v1/western/charts/$CHART/product-profile/communication"
{
  "domain": "communication",
  "score": 0.718,
  "primary_style": "verbal_connector",
  "signals": [
    {
      "key": "mercury",
      "value": 0.75,
      "explanation": "Mercury strength supports communication agility."
    },
    {
      "key": "air",
      "value": 0.31,
      "explanation": "Air emphasis supports exchange and abstraction."
    },
    {
      "key": "third_house",
      "value": 0.25,
      "explanation": "Third-house emphasis supports learning and messaging."
    }
  ],
  "themes": ["air", "cardinal"]
}

How to use this layer

Recommended LLM flow:

  1. Fetch the deterministic product profile.
  2. Pass the profile as structured context to the LLM.
  3. Ask the LLM to explain the signals in user-friendly language.
  4. Keep the profile in the UI so generated prose remains auditable.

The API intentionally returns compact primary_style labels and signal explanations so clients can render useful UI even without an LLM call.