{
  "openapi": "3.0.1",
  "info": {
    "title": "Life Manual",
    "description": "Chinese astrology & BaZi API: Four Pillars of Destiny (Saju) birth chart, Chinese zodiac horoscope, Day Master personality, Five Elements (Wu Xing), lucky colors & numbers, Feng Shui Kua, 2026 Year of the Horse forecast, love compatibility. No LLM, no stored data. From $0.30.",
    "version": "0.1",
    "x-build-id": "ACjO5cbTkw6CVDbMI"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/awake_froghopper~chinese-bazi-four-pillars/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-awake_froghopper-chinese-bazi-four-pillars",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/awake_froghopper~chinese-bazi-four-pillars/runs": {
      "post": {
        "operationId": "runs-sync-awake_froghopper-chinese-bazi-four-pillars",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/awake_froghopper~chinese-bazi-four-pillars/run-sync": {
      "post": {
        "operationId": "run-sync-awake_froghopper-chinese-bazi-four-pillars",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "plan": {
            "title": "⭐ Plan",
            "enum": [
              "custom",
              "full"
            ],
            "type": "string",
            "description": "custom = pay only for the modules you tick below (basic chart $0.30 always included). full = Full Life Manual bundle, only the bundle is charged: $1.99 per chart without a partner (every module except compatibility, save ~36% vs $3.10) or $2.99 per chart when you add a partner (every module incl. 💞 love compatibility, save ~35% vs $4.60).",
            "default": "custom"
          },
          "modules": {
            "title": "Modules (custom plan)",
            "type": "array",
            "description": "Extra modules per chart, each charged separately on top of the basic chart ($0.30): zodiac-profile $0.30, day-master-profile $0.50, element-balance-lucky $0.50, feng-shui-kua $0.30, western-crossover $0.20, forecast $1.00, compatibility $1.50 (needs partner; skipped and not charged without one). Ignored when Plan = full.",
            "items": {
              "type": "string",
              "enum": [
                "zodiac-profile",
                "day-master-profile",
                "element-balance-lucky",
                "feng-shui-kua",
                "western-crossover",
                "forecast",
                "compatibility"
              ],
              "enumTitles": [
                "Zodiac profile — $0.30",
                "Day Master personality — $0.50",
                "Five Elements + lucky colors/numbers — $0.50",
                "Feng Shui Kua directions — $0.30",
                "Western zodiac crossover — $0.20",
                "Forecast: luck pillars + 2026/2027 — $1.00",
                "💞 Love compatibility (needs partner) — $1.50"
              ]
            },
            "default": [
              "zodiac-profile"
            ]
          },
          "fullLifeManual": {
            "title": "Full Life Manual (shortcut)",
            "type": "boolean",
            "description": "Same as Plan = full. $1.99 per chart without a partner, $2.99 per chart with a partner (adds love compatibility).",
            "default": false
          },
          "birthDate": {
            "title": "Birth date",
            "type": "string",
            "description": "YYYY-MM-DD (Gregorian, or lunar if Calendar = lunar). Leave empty if you use the People array. If no birth data is given at all, the run returns one free demo chart for a sample person (nothing charged)."
          },
          "birthTime": {
            "title": "Birth time (local clock)",
            "type": "string",
            "description": "HH:MM or HH:MM:SS, local clock time at the birthplace. Leave empty if unknown: the hour pillar is then omitted."
          },
          "gender": {
            "title": "Gender",
            "enum": [
              "male",
              "female"
            ],
            "type": "string",
            "description": "Needed for the luck-pillar (da yun) direction and the Yuan Chen star.",
            "default": "male"
          },
          "timezone": {
            "title": "Timezone of the birthplace",
            "type": "string",
            "description": "IANA timezone of the birthplace, e.g. America/New_York, Europe/London, Europe/Paris, Asia/Singapore, Australia/Sydney, Asia/Shanghai, or a fixed offset like +08:00 / -05:00. Historical daylight saving time is handled automatically. Tip: use the city's zone, not where you live now.",
            "default": "Asia/Shanghai"
          },
          "partner": {
            "title": "💞 Compatibility partner (optional)",
            "type": "object",
            "description": "Second person for the 💞 compatibility module ($1.50 à la carte; with Plan = full, adding a partner switches the bundle to Full Life Manual + Love at $2.99 instead of $1.99). Fields: birthDate, birthTime, gender, timezone (optional: longitude, solarTime, calendar). Partner birth data is never echoed in the output."
          },
          "birthDatetime": {
            "title": "Birth datetime (ISO, alternative)",
            "type": "string",
            "description": "Alternative to Birth date + time, e.g. 1990-05-15T12:00:00+08:00. An offset inside the string overrides Timezone."
          },
          "calendar": {
            "title": "Calendar of the birth date",
            "enum": [
              "gregorian",
              "lunar"
            ],
            "type": "string",
            "description": "gregorian (default) or lunar (Chinese lunar calendar date).",
            "default": "gregorian"
          },
          "lunarLeapMonth": {
            "title": "Lunar leap month",
            "type": "boolean",
            "description": "Only for calendar = lunar: the month is the leap (intercalary) month.",
            "default": false
          },
          "solarTime": {
            "title": "Solar time correction (day/hour pillars)",
            "enum": [
              "clock",
              "meanSolar",
              "trueSolar"
            ],
            "type": "string",
            "description": "clock = local standard time (default). meanSolar = longitude-corrected mean solar time. trueSolar = apparent solar time (mean solar + equation of time). meanSolar/trueSolar need Longitude.",
            "default": "clock"
          },
          "longitude": {
            "title": "Longitude of birthplace",
            "type": "string",
            "description": "Decimal degrees, east positive (Shanghai 121.47, Shantou 116.68, New York -74.0). Required for solar time correction."
          },
          "ziHourRule": {
            "title": "Zi hour (23:00-01:00) day boundary",
            "enum": [
              "nextDayAt23",
              "sameDayLateZi"
            ],
            "type": "string",
            "description": "nextDayAt23 = day changes at 23:00 (default). sameDayLateZi = 23:00-24:00 keeps the same day pillar (早晚子时 / late zi).",
            "default": "nextDayAt23"
          },
          "applyDst": {
            "title": "Apply historical daylight saving time",
            "type": "boolean",
            "description": "If true (default), DST from the tz database is removed from the clock time. Set false if the recorded time is already standard time.",
            "default": true
          },
          "qiYunMethod": {
            "title": "Luck start age method",
            "enum": [
              "days",
              "minutes"
            ],
            "type": "string",
            "description": "days = classic 3 days = 1 year (default). minutes = 4320 minutes = 1 year (finer).",
            "default": "days"
          },
          "daYunCount": {
            "title": "Number of luck pillars",
            "minimum": 1,
            "maximum": 12,
            "type": "integer",
            "description": "How many 10-year luck pillars to return (1-12).",
            "default": 8
          },
          "liuNianFrom": {
            "title": "Annual pillars from year",
            "minimum": 1800,
            "maximum": 2200,
            "type": "integer",
            "description": "First year for liu nian (annual pillars). Default: current year."
          },
          "liuNianTo": {
            "title": "Annual pillars to year",
            "minimum": 1800,
            "maximum": 2200,
            "type": "integer",
            "description": "Last year for liu nian. Default: current year + 4 (or From + 9 if From is set). Max 120 years."
          },
          "liuNianYears": {
            "title": "Specific annual pillar years",
            "type": "array",
            "description": "Optional explicit list of years, overrides From/To."
          },
          "people": {
            "title": "People (batch)",
            "type": "array",
            "description": "Batch mode, up to 500 charts. Each object accepts the same fields as above (birthDate, birthTime, gender, timezone, longitude, ...), plus an optional id to match results. Top-level options act as defaults."
          },
          "includeInputEcho": {
            "title": "Echo input in results",
            "type": "boolean",
            "description": "Include the birth input in each result row. Set false to keep birth data out of the dataset (results then carry only id and the computed chart).",
            "default": true
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}