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

# Thai moon phase



## OpenAPI

````yaml /openapi.public.json get /api/v3/thai/moon-phase
openapi: 3.1.0
info:
  title: AstroM8 Public API
  version: 1.1.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: Customer reports
    description: Session-authenticated report jobs and reusable brand profiles.
  - name: Customer delivery
    description: Session-authenticated webhooks and scheduled horoscope delivery.
  - name: Cultural Intelligence
    description: >-
      Enterprise API-key workflows for encrypted profiles, teams, and campaign
      content.
paths:
  /api/v3/thai/moon-phase:
    get:
      tags:
        - Thai Astrology
      summary: Thai moon phase
      parameters:
        - name: date
          in: query
          required: true
          schema:
            type: string
            format: date
            example: '2026-05-08'
        - name: tz
          in: query
          required: false
          schema:
            type: integer
            default: 420
            minimum: -720
            maximum: 840
        - name: lat
          in: query
          required: false
          schema:
            type: number
            default: 13.7563
        - name: lng
          in: query
          required: false
          schema:
            type: number
            default: 100.5018
      responses:
        '200':
          description: Moon phase + Thai paksha label
          content:
            application/json:
              schema:
                type: object
                required:
                  - date
                  - buddhist_date
                  - paksha
                  - paksha_th
                  - paksha_en
                  - lunar_day
                  - tithi
                  - thai_label
                  - phase_key
                  - phase_th
                  - phase_en
                  - illumination_percent
                  - is_wan_phra
                  - wan_phra_label_th
                properties:
                  date:
                    type: string
                    format: date
                  buddhist_date:
                    type: string
                  paksha:
                    type: string
                    enum:
                      - shukla
                      - krishna
                  paksha_th:
                    type: string
                    enum:
                      - ข้างขึ้น
                      - ข้างแรม
                  paksha_en:
                    type: string
                    enum:
                      - waxing
                      - waning
                  lunar_day:
                    type: integer
                    minimum: 1
                    maximum: 15
                  tithi:
                    type: integer
                    minimum: 1
                    maximum: 30
                  thai_label:
                    type: string
                    example: ขึ้น 15 ค่ำ
                  phase_key:
                    type: string
                    enum:
                      - new
                      - waxing_crescent
                      - first_quarter
                      - waxing_gibbous
                      - full
                      - waning_gibbous
                      - last_quarter
                      - waning_crescent
                  phase_th:
                    type: string
                  phase_en:
                    type: string
                  illumination_percent:
                    type: number
                    minimum: 0
                    maximum: 100
                  is_wan_phra:
                    type: boolean
                  wan_phra_label_th:
                    type:
                      - string
                      - 'null'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
      security:
        - ApiKeyAuth: []
components:
  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...
  schemas:
    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.
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      description: Use the raw API key as the Bearer token, or send X-API-Key instead.

````