> ## Documentation Index
> Fetch the complete documentation index at: https://docs.astrom8.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Build with the Western API

> Use civil birth time correctly across natal, relationship, return, progression, Uranian, and transit workflows.

AstroM8 Western calculations use a birth date, local birth time, coordinates, and a civil timezone offset. Keep the exact input with the result so the calculation can be reproduced.

## Civil timezone offsets

For Uranian charts and transit events, send `birth_timezone_offset_minutes` as minutes east of UTC at the birth place and date. Bangkok is `420`; India is `330`; New York during standard time is `-300`.

```json theme={null}
{
  "birth_date": "1990-05-15",
  "birth_time": "14:30",
  "birth_lat": 13.7563,
  "birth_lon": 100.5018,
  "birth_timezone_offset_minutes": 420
}
```

The field is optional for backward compatibility. When omitted, AstroM8 estimates an offset from longitude. That estimate cannot represent daylight-saving transitions or every civil timezone, so new integrations should always send a historically correct offset.

## Transit example

```bash theme={null}
curl --request POST \
  --url 'https://api.astrom8.com/api/v3/western/transits' \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: astrom8_...' \
  --data '{
    "birth_date": "1990-05-15",
    "birth_time": "14:30",
    "birth_lat": 13.7563,
    "birth_lon": 100.5018,
    "birth_timezone_offset_minutes": 420,
    "target_date": "2026-08-11",
    "orb_days": 3
  }'
```

Use an IANA timezone database in the client or account profile to resolve historical offsets. A present-day offset is not sufficient for births during a different daylight-saving rule.
