Copy page

Copy page as Markdown for LLMs

View as Markdown

View this page as plain text


Open in ChatGPT

Ask ChatGPT about this page

Open in Claude

Ask Claude about this page

Dominants 

The Dominants API identifies the most influential planets, dominant element balance, and the signature sign pattern from a natal chart useful for personality profiling, chart emphasis, and quick “top factors” summaries in Western astrology.


API Endpoint

POST https://astroapi-8.divineapi.com/western-api/v1/dominants

Headers

NameTypeDescription
Authorization*Stringyour API Access Token (eg: Bearer {token})

Request Body

NameTypeDescription (with example)
api_key*StringYour API key (e.g., Your API Key)
full_name*StringFull name of the user (e.g., Rahul Kumar)
day*IntegerBirth day (e.g., 24)
month*IntegerBirth month (e.g., 05)
year*IntegerBirth year (e.g., 2023)
hour*IntegerBirth hour in 24-hour format (e.g., 14)
min*IntegerBirth minutes (e.g., 40)
sec*IntegerBirth seconds (e.g., 43)
genderStringGender of the user (e.g., male)
place*StringBirth place (e.g., New Delhi, India)
lat*FloatBirth latitude (e.g., 28.7041)
lon*FloatBirth longitude (e.g., 77.1025)
tzone*FloatTimezone in decimal (e.g., 5.5)
method*StringDominants calculation method (e.g., TRADITIONAL) Allowed Values: TRADITIONAL, MODERN
node_typeStringmeannode or truenode (default: meannode)

200: OK Dominants Details fetched successfully

{
    "status": "success",
    "code": 200,
    "message": "Request successful",
    "data": {
        "dominant_planets": [
            {
                "planet_name": "Sun",
                "sign": 3,
                "house": 0,
                "angle": 0,
                "ruler": 1,
                "aspects": 7,
                "total": 11,
                "percent": "14.29",
                "rank": 3
            },
            {
                "planet_name": "Moon",
                "sign": 6,
                "house": 2,
                "angle": 0,
                "ruler": 3,
                "aspects": 6,
                "total": 17,
                "percent": "22.08",
                "rank": 1
            },
            {
                "planet_name": "Mercury",
                "sign": 4,
                "house": 0,
                "angle": 0,
                "ruler": 1,
                "aspects": 3,
                "total": 8,
                "percent": "10.39",
                "rank": 7
            },
            {
                "planet_name": "Venus",
                "sign": 2,
                "house": 2,
                "angle": 0,
                "ruler": 5,
                "aspects": 0,
                "total": 9,
                "percent": "11.69",
                "rank": 6
            },
            {
                "planet_name": "Mars",
                "sign": 4,
                "house": 2,
                "angle": 0,
                "ruler": 0,
                "aspects": 6,
                "total": 12,
                "percent": "15.58",
                "rank": 2
            },
            {
                "planet_name": "Jupiter",
                "sign": 2,
                "house": 2,
                "angle": 0,
                "ruler": 1,
                "aspects": 5,
                "total": 10,
                "percent": "12.99",
                "rank": 4
            },
            {
                "planet_name": "Saturn",
                "sign": 3,
                "house": 0,
                "angle": 0,
                "ruler": 0,
                "aspects": 7,
                "total": 10,
                "percent": "12.99",
                "rank": 5
            }
        ],
        "dominant_element": {
            "table": {
                "Fire": {
                    "sun_moon_asc": 0,
                    "personal": 2,
                    "dominant": 2,
                    "sum": 4,
                    "percent": "16%"
                },
                "Earth": {
                    "sun_moon_asc": 0,
                    "personal": 4,
                    "dominant": 0,
                    "sum": 4,
                    "percent": "16%"
                },
                "Air": {
                    "sun_moon_asc": 6,
                    "personal": 0,
                    "dominant": 2,
                    "sum": 8,
                    "percent": "32%"
                },
                "Water": {
                    "sun_moon_asc": 3,
                    "personal": 4,
                    "dominant": 2,
                    "sum": 9,
                    "percent": "36%"
                }
            },
            "dominant": "Water"
        },
        "signature_sign": {
            "element_counts": {
                "Fire": 1,
                "Earth": 2,
                "Air": 1,
                "Water": 3
            },
            "modality_counts": {
                "Cardinal": 2,
                "Fixed": 3,
                "Mutable": 2
            },
            "signature": "Water + Fixed",
            "sign": "Scorpio"
        }
    }
}

Example Code Implementations

Below are example implementations in various programming environments.


cURL

curl --location 'https://astroapi-8.divineapi.com/western-api/v1/dominants' \
--header 'Authorization: Bearer {token}' \
--form 'api_key="Your API Key"' \
--form 'full_name="Rahul Kumar"' \
--form 'day="24"' \
--form 'month="05"' \
--form 'year="2023"' \
--form 'hour="14"' \
--form 'min ="40"' \
--form 'sec="43"' \
--form 'gender="male"' \
--form 'place="New Delhi, India"' \
--form 'lat="28.7041"' \
--form 'lon="77.1025"' \
--form 'tzone="5.5"' \
--form 'method="TRADITIONAL"'

NodeJS

var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://astroapi-8.divineapi.com/western-api/v1/dominants',
  'headers': {
    'Authorization': 'Bearer {token}'
  },
  formData: {
    'api_key': 'Your API Key',
    'full_name': 'Rahul Kumar',
    'day': '24',
    'month': '05',
    'year': '2023',
    'hour': '14',
    'min ': '40',
    'sec': '43',
    'gender': 'male',
    'place': 'New Delhi, India',
    'lat': '28.7041',
    'lon': '77.1025',
    'tzone': '5.5',
    'method': 'TRADITIONAL'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

JavaScript jQuery AJAX

var form = new FormData();
form.append("api_key", "Your API Key");
form.append("full_name", "Rahul Kumar");
form.append("day", "24");
form.append("month", "05");
form.append("year", "2023");
form.append("hour", "14");
form.append("min ", "40");
form.append("sec", "43");
form.append("gender", "male");
form.append("place", "New Delhi, India");
form.append("lat", "28.7041");
form.append("lon", "77.1025");
form.append("tzone", "5.5");
form.append("method", "TRADITIONAL");

var settings = {
  "url": "https://astroapi-8.divineapi.com/western-api/v1/dominants",
  "method": "POST",
  "timeout": 0,
  "headers": {
    "Authorization": "Bearer {token}"
  },
  "processData": false,
  "mimeType": "multipart/form-data",
  "contentType": false,
  "data": form
};

$.ajax(settings).done(function (response) {
  console.log(response);
});

Python

import requests

url = "https://astroapi-8.divineapi.com/western-api/v1/dominants"

payload = {'api_key': 'Your API Key',
'full_name': 'Rahul Kumar',
'day': '24',
'month': '05',
'year': '2023',
'hour': '14',
'min ': '40',
'sec': '43',
'gender': 'male',
'place': 'New Delhi, India',
'lat': '28.7041',
'lon': '77.1025',
'tzone': '5.5',
'method': 'TRADITIONAL'}
files=[

]
headers = {
  'Authorization': 'Bearer {token}'
}

response = requests.request("POST", url, headers=headers, data=payload, files=files)

print(response.text)

Implementation Notes

Use Authorization: Bearer {Your Auth Token} and {Your API Key} securely; never expose them in client-side code.

Provide date, time, and coordinates in correct numeric formats; use decimal timezone values (e.g., 5.5).

Check HTTP status codes, log responses, and handle 4xx/5xx errors gracefully.

Example Code
curl -X POST "https://astroapi-8.divineapi.com/western-api/v1/dominants" \
  -H "Authorization: Bearer {token}" \
  --form 'api_key="Your API Key"' \
  --form 'full_name="Rahul Kumar"' \
  --form 'day="24"' \
  --form 'month="05"' \
  --form 'year="2023"' \
  --form 'hour="14"' \
  --form 'min ="40"' \
  --form 'sec="43"' \
  --form 'gender="male"' \
  --form 'place="New Delhi, India"' \
  --form 'lat="28.7041"' \
  --form 'lon="77.1025"' \
  --form 'tzone="5.5"' \
  --form 'method="TRADITIONAL"'
const FormData = require('form-data');
const axios = require('axios');

const form = new FormData();
form.append('api_key', 'Your API Key');
form.append('full_name', 'Rahul Kumar');
form.append('day', '24');
form.append('month', '05');
form.append('year', '2023');
form.append('hour', '14');
form.append('min ', '40');
form.append('sec', '43');
form.append('gender', 'male');
form.append('place', 'New Delhi, India');
form.append('lat', '28.7041');
form.append('lon', '77.1025');
form.append('tzone', '5.5');
form.append('method', 'TRADITIONAL');

const response = await axios.post('https://astroapi-8.divineapi.com/western-api/v1/dominants', form, {
  headers: {
    ...form.getHeaders(),
    'Authorization': 'Bearer {token}',
  }
});

console.log(response.data);
import requests

url = "https://astroapi-8.divineapi.com/western-api/v1/dominants"
headers = {
    "Authorization": "Bearer {token}",
}
payload = {
    "api_key": "Your API Key",
    "full_name": "Rahul Kumar",
    "day": "24",
    "month": "05",
    "year": "2023",
    "hour": "14",
    "min ": "40",
    "sec": "43",
    "gender": "male",
    "place": "New Delhi, India",
    "lat": "28.7041",
    "lon": "77.1025",
    "tzone": "5.5",
    "method": "TRADITIONAL",
}

response = requests.post(url, headers=headers, data=payload)

print(response.json())
const formData = new FormData();
formData.append('api_key', 'Your API Key');
formData.append('full_name', 'Rahul Kumar');
formData.append('day', '24');
formData.append('month', '05');
formData.append('year', '2023');
formData.append('hour', '14');
formData.append('min ', '40');
formData.append('sec', '43');
formData.append('gender', 'male');
formData.append('place', 'New Delhi, India');
formData.append('lat', '28.7041');
formData.append('lon', '77.1025');
formData.append('tzone', '5.5');
formData.append('method', 'TRADITIONAL');

const response = await fetch('https://astroapi-8.divineapi.com/western-api/v1/dominants', {
  method: 'POST',
  headers: {
      'Authorization': "Bearer {token}",
    },
  body: formData,
});

const data = await response.json();
console.log(data);
<?php

use GuzzleHttp\Client;

$client = new Client();

$response = $client->request('POST', 'https://astroapi-8.divineapi.com/western-api/v1/dominants', [
    'headers' => [
        'Authorization' => 'Bearer {token}',
    ],
    'multipart' => [
        ['name' => 'api_key', 'contents' => 'Your API Key'],
        ['name' => 'full_name', 'contents' => 'Rahul Kumar'],
        ['name' => 'day', 'contents' => '24'],
        ['name' => 'month', 'contents' => '05'],
        ['name' => 'year', 'contents' => '2023'],
        ['name' => 'hour', 'contents' => '14'],
        ['name' => 'min ', 'contents' => '40'],
        ['name' => 'sec', 'contents' => '43'],
        ['name' => 'gender', 'contents' => 'male'],
        ['name' => 'place', 'contents' => 'New Delhi, India'],
        ['name' => 'lat', 'contents' => '28.7041'],
        ['name' => 'lon', 'contents' => '77.1025'],
        ['name' => 'tzone', 'contents' => '5.5'],
        ['name' => 'method', 'contents' => 'TRADITIONAL'],
    ],
]);

echo $response->getBody();
package main

import (
    "bytes"
    "fmt"
    "mime/multipart"
    "net/http"
    "io"
)

func main() {
    body := &bytes.Buffer{}
    writer := multipart.NewWriter(body)
    writer.WriteField("api_key", "Your API Key")
    writer.WriteField("full_name", "Rahul Kumar")
    writer.WriteField("day", "24")
    writer.WriteField("month", "05")
    writer.WriteField("year", "2023")
    writer.WriteField("hour", "14")
    writer.WriteField("min ", "40")
    writer.WriteField("sec", "43")
    writer.WriteField("gender", "male")
    writer.WriteField("place", "New Delhi, India")
    writer.WriteField("lat", "28.7041")
    writer.WriteField("lon", "77.1025")
    writer.WriteField("tzone", "5.5")
    writer.WriteField("method", "TRADITIONAL")
    writer.Close()

    req, _ := http.NewRequest("POST", "https://astroapi-8.divineapi.com/western-api/v1/dominants", body)
    req.Header.Set("Content-Type", writer.FormDataContentType())
    req.Header.Set("Authorization", "Bearer {token}")

    client := &http.Client{}
    resp, _ := client.Do(req)
    defer resp.Body.Close()

    body2, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body2))
}
import okhttp3.*;
import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        OkHttpClient client = new OkHttpClient();

        RequestBody body = new MultipartBody.Builder()
            .setType(MultipartBody.FORM)
            .addFormDataPart("api_key", "Your API Key")
            .addFormDataPart("full_name", "Rahul Kumar")
            .addFormDataPart("day", "24")
            .addFormDataPart("month", "05")
            .addFormDataPart("year", "2023")
            .addFormDataPart("hour", "14")
            .addFormDataPart("min ", "40")
            .addFormDataPart("sec", "43")
            .addFormDataPart("gender", "male")
            .addFormDataPart("place", "New Delhi, India")
            .addFormDataPart("lat", "28.7041")
            .addFormDataPart("lon", "77.1025")
            .addFormDataPart("tzone", "5.5")
            .addFormDataPart("method", "TRADITIONAL")
            .build();

        Request request = new Request.Builder()
            .url("https://astroapi-8.divineapi.com/western-api/v1/dominants")
            .post(body)
            .addHeader("Authorization", "Bearer {token}")
            .build();

        Response response = client.newCall(request).execute();
        System.out.println(response.body().string());
    }
}
import Foundation

let url = URL(string: "https://astroapi-8.divineapi.com/western-api/v1/dominants")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer {token}", forHTTPHeaderField: "Authorization")

let boundary = "Boundary-\(UUID().uuidString)"
request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")

var bodyData = Data()
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"api_key\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("Your API Key\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"full_name\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("Rahul Kumar\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"day\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("24\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"month\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("05\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"year\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("2023\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"hour\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("14\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"min \"\r\n\r\n".data(using: .utf8)!)
bodyData.append("40\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"sec\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("43\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"gender\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("male\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"place\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("New Delhi, India\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"lat\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("28.7041\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"lon\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("77.1025\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"tzone\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("5.5\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"method\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("TRADITIONAL\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)--\r\n".data(using: .utf8)!)
request.httpBody = bodyData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        print(String(data: data, encoding: .utf8) ?? "")
    }
}
task.resume()
import okhttp3.*

fun main() {
    val client = OkHttpClient()

    val body = MultipartBody.Builder()
        .setType(MultipartBody.FORM)
        .addFormDataPart("api_key", "Your API Key")
        .addFormDataPart("full_name", "Rahul Kumar")
        .addFormDataPart("day", "24")
        .addFormDataPart("month", "05")
        .addFormDataPart("year", "2023")
        .addFormDataPart("hour", "14")
        .addFormDataPart("min ", "40")
        .addFormDataPart("sec", "43")
        .addFormDataPart("gender", "male")
        .addFormDataPart("place", "New Delhi, India")
        .addFormDataPart("lat", "28.7041")
        .addFormDataPart("lon", "77.1025")
        .addFormDataPart("tzone", "5.5")
        .addFormDataPart("method", "TRADITIONAL")
        .build()

    val request = Request.Builder()
        .url("https://astroapi-8.divineapi.com/western-api/v1/dominants")
        .post(body!!)
        .addHeader("Authorization", "Bearer {token}")
        .build()

    client.newCall(request).execute().use { response ->
        println(response.body?.string())
    }
}
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program {
    static async Task Main() {
        using var client = new HttpClient();
        client.DefaultRequestHeaders.Add("Authorization", "Bearer {token}");

        var content = new MultipartFormDataContent();
        content.Add(new StringContent("Your API Key"), "api_key");
        content.Add(new StringContent("Rahul Kumar"), "full_name");
        content.Add(new StringContent("24"), "day");
        content.Add(new StringContent("05"), "month");
        content.Add(new StringContent("2023"), "year");
        content.Add(new StringContent("14"), "hour");
        content.Add(new StringContent("40"), "min ");
        content.Add(new StringContent("43"), "sec");
        content.Add(new StringContent("male"), "gender");
        content.Add(new StringContent("New Delhi, India"), "place");
        content.Add(new StringContent("28.7041"), "lat");
        content.Add(new StringContent("77.1025"), "lon");
        content.Add(new StringContent("5.5"), "tzone");
        content.Add(new StringContent("TRADITIONAL"), "method");

        var response = await client.PostAsync("https://astroapi-8.divineapi.com/western-api/v1/dominants", content);
        var result = await response.Content.ReadAsStringAsync();
        Console.WriteLine(result);
    }
}