Astrology Birth Chart GPT

Astrology Birth Chart GPT · GPT 작업

Astrology API

API for calculating astrological birth charts.

  • POST /astro-gptCalculateBirthChart

    Calculate an astrological birth chart.

  • POST /astro-gpt/registerSend detailed birth chart information to the user's email.

    Sends the user's birth chart details via email upon user request.

원본 API 스키마
{
  "openapi": "3.1.0",
  "info": {
    "title": "Astrology API",
    "description": "API for calculating astrological birth charts.",
    "version": "v1.0.0"
  },
  "servers": [
    {
      "url": "https://authorityastrology.com/api"
    }
  ],
  "paths": {
    "/astro-gpt": {
      "post": {
        "description": "Calculate an astrological birth chart.",
        "operationId": "CalculateBirthChart",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "birthData": {
                    "type": "object",
                    "properties": {
                      "birthDate": {
                        "type": "string",
                        "format": "date",
                        "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                        "example": "1985-01-08",
                        "description": "The birth date of the individual in YYYY-MM-DD format."
                      },
                      "birthTime": {
                        "type": "string",
                        "format": "time",
                        "pattern": "^\\d{2}:\\d{2}$",
                        "example": "06:08",
                        "description": "The birth time of the individual in HH:MM format (24-hour clock)."
                      },
                      "birthLatitude": {
                        "type": "number",
                        "format": "float",
                        "example": 52.3511,
                        "description": "The latitude of the birth location, in decimal degrees."
                      },
                      "birthLongitude": {
                        "type": "number",
                        "format": "float",
                        "example": 4.6203,
                        "description": "The longitude of the birth location, in decimal degrees."
                      },
                      "placeOfBirth": {
                        "type": "string",
                        "example": "Heemstede, Netherlands",
                        "description": "The name of the place of birth."
                      }
                    },
                    "required": [
                      "birthDate",
                      "birthTime",
                      "birthLatitude",
                      "birthLongitude",
                      "placeOfBirth"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response with birth chart data.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "BirthData": {
                      "type": "object",
                      "properties": {
                        "birthDataA": {
                          "type": "object",
                          "properties": {
                            "birthDate": {
                              "type": "string",
                              "format": "date"
                            },
                            "birthTime": {
                              "type": "string",
                              "format": "time"
                            },
                            "birthLatitude": {
                              "type": "number",
                              "format": "float"
                            },
                            "birthLongitude": {
                              "type": "number",
                              "format": "float"
                            },
                            "placeOfBirth": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "Planets": {
                      "type": "object"
                    },
                    "HouseSystem": {
                      "type": "string"
                    },
                    "HouseCusps": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    },
                    "Aspects": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "Patterns": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request."
          },
          "500": {
            "description": "Internal server error."
          }
        }
      }
    },
    "/astro-gpt/register": {
      "post": {
        "summary": "Send detailed birth chart information to the user's email.",
        "description": "Sends the user's birth chart details via email upon user request.",
        "operationId": "sendDetailToUser",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "firstName": {
                    "type": "string",
                    "description": "The user's first name.",
                    "minLength": 1,
                    "example": "John"
                  },
                  "email": {
                    "type": "string",
                    "description": "The user's email address.",
                    "format": "email",
                    "example": "john.doe@example.com"
                  },
                  "birthData": {
                    "type": "object",
                    "properties": {
                      "birthDate": {
                        "type": "string",
                        "format": "date",
                        "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                        "example": "1985-01-08",
                        "description": "The birth date of the individual in YYYY-MM-DD format."
                      },
                      "birthTime": {
                        "type": "string",
                        "format": "time",
                        "pattern": "^([01]\\d|2[0-3]):([0-5]\\d)$",
                        "example": "06:08",
                        "description": "The birth time of the individual in HH:MM format (24-hour clock)."
                      },
                      "birthLatitude": {
                        "type": "number",
                        "format": "float",
                        "example": 52.3511,
                        "description": "The latitude of the birth location, in decimal degrees.",
                        "minimum": -90,
                        "maximum": 90
                      },
                      "birthLongitude": {
                        "type": "number",
                        "format": "float",
                        "example": 4.6203,
                        "description": "The longitude of the birth location, in decimal degrees.",
                        "minimum": -180,
                        "maximum": 180
                      },
                      "placeOfBirth": {
                        "type": "string",
                        "description": "The name of the place of birth.",
                        "example": "Heemstede, Netherlands",
                        "minLength": 1
                      }
                    },
                    "required": [
                      "birthDate",
                      "birthTime",
                      "birthLatitude",
                      "birthLongitude",
                      "placeOfBirth"
                    ]
                  }
                },
                "required": [
                  "firstName",
                  "email",
                  "birthData"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The birth chart details have been successfully sent to the user.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean",
                      "example": true
                    },
                    "message": {
                      "type": "string",
                      "example": "Your chart is ready. Please check your email for the link to your chart."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input data or failed to process the request.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "example": "Invalid input data or failed to register user."
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "example": "Internal server error. Please try again later."
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}