> ## 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.

# Complete Shadbala



## OpenAPI

````yaml /openapi.public.json post /api/v3/vedic/shadbala
openapi: 3.1.0
info:
  title: AstroM8 Public API
  version: 1.3.0
  description: >-
    Astrology calculations, reports, customer delivery, and enterprise
    workflows. Each operation declares whether it uses an API key or a customer
    session bearer token.
servers:
  - url: https://api.astrom8.com
    description: Production
security: []
tags:
  - name: Western
    description: Natal, relationship, return, progression, and transit calculations.
  - name: Vedic
    description: Lahiri sidereal Vedic calculations, matching, timing, and remedies.
  - name: Thai Astrology
    description: Thai calendar, auspicious timing, lunar, festival, and wheel tools.
  - name: Chinese & Korean
    description: BaZi, Qi Men Dun Jia, and Saju calculations.
  - name: Horoscopes
    description: Published daily and range horoscope content.
  - name: Reports
    description: Branded report generation and asynchronous job polling.
  - name: Tarot & Numerology
    description: Tarot spreads and Pythagorean numerology.
  - name: Uranian
    description: Uranian charts, midpoints, and planetary pictures.
  - name: Developer workflow
    description: Preflight capability eligibility and credit estimates.
  - name: Visual readings
    description: >-
      Private Palm and Face Reading upload, preflight, and asynchronous job
      workflows.
  - name: Customer reports
    description: Session-authenticated report jobs and reusable brand profiles.
  - name: Customer delivery
    description: Session-authenticated webhooks and scheduled horoscope delivery.
  - name: Customer visual readings
    description: >-
      Session-authenticated visual reading jobs, economics, and delivery
      subscriptions.
  - name: Cultural Intelligence
    description: >-
      Enterprise API-key workflows for encrypted profiles, teams, and campaign
      content.
paths:
  /api/v3/vedic/shadbala:
    post:
      tags:
        - Vedic
      summary: Complete Shadbala
      operationId: calculateVedicShadbala
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VedicShadbalaRequest'
      responses:
        '200':
          description: Complete six-family Shadbala calculation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VedicShadbalaResponse'
        '400':
          description: >-
            Invalid birth subject, unsupported ayanamsa, or Mercury
            classification.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '403':
          description: Pro tier required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonError'
        '503':
          description: Swiss Ephemeris or sidereal bindings unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonError'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    VedicShadbalaRequest:
      type: object
      properties:
        birth_subject:
          $ref: '#/components/schemas/BirthSubjectInput'
        mercury_natures:
          type: object
          properties:
            paksha:
              type: string
              enum:
                - benefic
                - malefic
              description: Mercury classification used only for Paksha Bala.
            drik:
              type: string
              enum:
                - benefic
                - malefic
              description: Mercury classification used only for Drik Bala.
          required:
            - paksha
            - drik
      required:
        - birth_subject
        - mercury_natures
    VedicShadbalaResponse:
      type: object
      properties:
        system:
          const: vedic
        ayanamsa:
          const: lahiri
        result:
          type: object
          properties:
            aggregate:
              type: object
              properties:
                method:
                  type: object
                  properties:
                    ayana_profile:
                      const: tropical_plane_zero_latitude_single_sun
                    cheshta_profile:
                      const: vp_jain_1900_ujjain_surya_siddhanta
                    yuddha_profile:
                      const: vp_jain_disc_normalized_pre_ayana_tri_bala
                    luminary_allocation:
                      const: split_kala_cheshta
                    drik_profile:
                      const: parashari_signed_drishti_pinda
                    nodes:
                      const: excluded
                  required:
                    - ayana_profile
                    - cheshta_profile
                    - yuddha_profile
                    - luminary_allocation
                    - drik_profile
                    - nodes
                planets:
                  type: array
                  minItems: 7
                  maxItems: 7
                  items:
                    type: object
                    properties:
                      planet:
                        type: string
                        enum:
                          - Sun
                          - Moon
                          - Mars
                          - Mercury
                          - Jupiter
                          - Venus
                          - Saturn
                      components_virupa:
                        type: object
                        properties:
                          sthana:
                            type: object
                            properties:
                              uchcha:
                                type: number
                                description: >-
                                  Strength in virupa unless the field name
                                  states another unit.
                              saptavargaja:
                                type: number
                                description: >-
                                  Strength in virupa unless the field name
                                  states another unit.
                              ojayugma:
                                type: number
                                description: >-
                                  Strength in virupa unless the field name
                                  states another unit.
                              kendradi:
                                type: number
                                description: >-
                                  Strength in virupa unless the field name
                                  states another unit.
                              drekkana:
                                type: number
                                description: >-
                                  Strength in virupa unless the field name
                                  states another unit.
                            required:
                              - uchcha
                              - saptavargaja
                              - ojayugma
                              - kendradi
                              - drekkana
                          dig:
                            type: number
                            description: >-
                              Strength in virupa unless the field name states
                              another unit.
                          kala:
                            type: object
                            properties:
                              natonnata:
                                type: number
                                description: >-
                                  Strength in virupa unless the field name
                                  states another unit.
                              paksha:
                                type: number
                                description: >-
                                  Strength in virupa unless the field name
                                  states another unit.
                              tribhaga:
                                type: number
                                description: >-
                                  Strength in virupa unless the field name
                                  states another unit.
                              abda:
                                type: number
                                description: >-
                                  Strength in virupa unless the field name
                                  states another unit.
                              masa:
                                type: number
                                description: >-
                                  Strength in virupa unless the field name
                                  states another unit.
                              dina:
                                type: number
                                description: >-
                                  Strength in virupa unless the field name
                                  states another unit.
                              hora:
                                type: number
                                description: >-
                                  Strength in virupa unless the field name
                                  states another unit.
                              ayana:
                                type: number
                                description: >-
                                  Strength in virupa unless the field name
                                  states another unit.
                              yuddha:
                                type: number
                                description: >-
                                  Strength in virupa unless the field name
                                  states another unit.
                            required:
                              - natonnata
                              - paksha
                              - tribhaga
                              - abda
                              - masa
                              - dina
                              - hora
                              - ayana
                              - yuddha
                          cheshta:
                            type: number
                            description: >-
                              Strength in virupa unless the field name states
                              another unit.
                          drik:
                            type: number
                            description: >-
                              Strength in virupa unless the field name states
                              another unit.
                        required:
                          - sthana
                          - dig
                          - kala
                          - cheshta
                          - drik
                      family_totals_virupa:
                        type: object
                        properties:
                          sthana:
                            type: number
                            description: >-
                              Strength in virupa unless the field name states
                              another unit.
                          dig:
                            type: number
                            description: >-
                              Strength in virupa unless the field name states
                              another unit.
                          kala:
                            type: number
                            description: >-
                              Strength in virupa unless the field name states
                              another unit.
                          cheshta:
                            type: number
                            description: >-
                              Strength in virupa unless the field name states
                              another unit.
                          naisargika:
                            type: number
                            description: >-
                              Strength in virupa unless the field name states
                              another unit.
                          drik:
                            type: number
                            description: >-
                              Strength in virupa unless the field name states
                              another unit.
                        required:
                          - sthana
                          - dig
                          - kala
                          - cheshta
                          - naisargika
                          - drik
                      total_virupa:
                        type: number
                      total_rupa:
                        type: number
                      required_virupa:
                        type: number
                      strength_ratio:
                        type: number
                    required:
                      - planet
                      - components_virupa
                      - family_totals_virupa
                      - total_virupa
                      - total_rupa
                      - required_virupa
                      - strength_ratio
              required:
                - method
                - planets
            context:
              type: object
              properties:
                instant_utc:
                  type: string
                  format: date-time
                classifications:
                  type: object
                  properties:
                    moon:
                      type: string
                      enum:
                        - benefic
                        - malefic
                    mercury:
                      type: object
                      properties:
                        paksha:
                          type: string
                          enum:
                            - benefic
                            - malefic
                        drik:
                          type: string
                          enum:
                            - benefic
                            - malefic
                      required:
                        - paksha
                        - drik
                  required:
                    - moon
                    - mercury
                kala:
                  type: object
                  additionalProperties: true
                profiles:
                  type: object
                  additionalProperties:
                    type: string
              required:
                - instant_utc
                - classifications
                - kala
                - profiles
            yuddha:
              type: object
              additionalProperties: true
            drik:
              type: array
              items:
                type: object
                additionalProperties: true
          required:
            - aggregate
            - context
            - yuddha
            - drik
        derivation:
          type: object
          properties:
            instant_utc:
              type: string
              format: date-time
            astrological_date:
              type: string
              format: date
            period:
              type: string
              enum:
                - day
                - night
            third:
              type: integer
              minimum: 1
              maximum: 3
            sunrise_utc:
              type: string
              format: date-time
            period_start_utc:
              type: string
              format: date-time
            period_end_utc:
              type: string
              format: date-time
            elapsed_minutes_since_astrological_sunrise:
              type: number
            nata_ghatis:
              type: number
            equation_of_time_minutes:
              type: number
            sun_time_method:
              const: swisseph_rise_trans
            ayanamsa:
              const: lahiri
          required:
            - instant_utc
            - astrological_date
            - period
            - third
            - sunrise_utc
            - period_start_utc
            - period_end_utc
            - elapsed_minutes_since_astrological_sunrise
            - nata_ghatis
            - equation_of_time_minutes
            - sun_time_method
            - ayanamsa
      required:
        - system
        - ayanamsa
        - result
        - derivation
    JsonError:
      type: object
      required:
        - error
        - message
      properties:
        error:
          type: string
          description: >-
            Stable slug (e.g. unauthorized, payment_required,
            internal_server_error).
        message:
          type: string
          description: Human-readable message safe for clients.
        code:
          type: string
          description: Optional provider-specific code.
        request_id:
          type: string
          description: Correlation id when middleware sets it.
    BirthSubjectInput:
      type: object
      required:
        - date
        - time
        - latitude
        - longitude
        - timezoneOffsetMinutes
      properties:
        ayanamsa:
          type: string
          enum:
            - lahiri
          default: lahiri
        date:
          type: string
          format: date
          examples:
            - '1992-04-15'
        time:
          type: string
          pattern: ^\d{2}:\d{2}(:\d{2})?$
          examples:
            - '08:30:00'
        latitude:
          type: number
          minimum: -90
          maximum: 90
        longitude:
          type: number
          minimum: -180
          maximum: 180
        timezoneOffsetMinutes:
          type: integer
          minimum: -840
          maximum: 840
  responses:
    Unauthorized:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/JsonError'
          example:
            error: unauthorized
            message: Invalid API key
            code: '401'
            request_id: 01HQXYZ...
    PaymentRequired:
      description: >-
        Insufficient credits (checked before work where applicable; deduction is
        atomic)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/JsonError'
          example:
            error: payment_required
            message: Insufficient credits for this request
            code: '402'
            request_id: 01HQXYZ...
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      description: Use the raw API key as the Bearer token, or send X-API-Key instead.

````