Hasta Backend
  1. public
  • lookup
    • Get localised seed data
      GET
    • Get core seed data
      GET
    • Get zodiac signs
      GET
    • Get subscription and pricing plans
      GET
    • Get FAQs
      GET
    • Get notification intervals
      GET
  • audit
    • Get audit logs
      GET
  • auth
    • Register device
      POST
    • Send OTP
      POST
    • Verify OTP and login
      POST
    • Resend OTP
      POST
    • Refresh access token
      POST
    • Logout
      POST
    • Google OAuth login
      POST
  • admin
    • Register admin account
      POST
    • Admin login
      POST
    • Admin logout
      POST
    • Refresh admin access token
      POST
    • Get admin profile
      GET
    • Update admin password
      PUT
    • Edit language
      PUT
    • Add language
      POST
    • Delete language
      DELETE
    • Delete user event logs
      DELETE
    • Clear lookup cache
      DELETE
    • Clear cache
      DELETE
    • List all subscription plans (admin)
      GET
    • Edit a subscription plan (admin)
      PATCH
    • Edit a subscription plan (admin)
      PATCH
    • Sync a recurring plan with Razorpay
      POST
    • Sync a recurring plan with Razorpay
      POST
    • Create a coupon (admin)
      POST
    • List coupons (admin)
      GET
    • Get a coupon (admin)
      GET
    • Get a coupon (admin)
      GET
    • Edit a coupon (admin)
      PATCH
    • Edit a coupon (admin)
      PATCH
    • List redemptions for a coupon (admin)
      GET
    • List redemptions for a coupon (admin)
      GET
    • Create a recurring scheduled notification (admin)
      POST
    • List scheduled notifications (admin)
      GET
    • Pause a scheduled notification (admin)
      PATCH
    • Resume a paused scheduled notification (admin)
      PATCH
  • blogs
    • Admin - get all blogs
    • Admin - delete a blog
    • Get all blogs
    • Get blog categories
    • Admin - get blog categories (name + slug)
    • Admin - edit a blog
    • Update blog status
    • Admin - send blog notification
    • Get blog details
    • Subscribe to blog notifications
    • Unsubscribe from blog notifications
  • feedback
    • Submit a user feedback
    • Get all queries
    • Update user query status
    • Get all reviews
    • Feature or unfeature a review
    • Get all featured reviews
  • events
    • Track a user event
    • Fetch all tracked events
  • notifications
    • Send broadcast notification
    • Send custom notification to a user
    • Send a test notification (deep link redirect check)
    • Fetch user notifications
    • Get unread notification count
    • Mark notification as read
  • reminders
    • Fetch user reminders
    • Create a reminder
    • Update a reminder
    • Delete a reminder
  • user
    • Create / complete user profile
    • Get my profile
    • Get my feature status
    • Update my intents
    • Update profile image
    • Update language preference
    • Update push notification preference
    • Update current location
    • Get my family members
    • Add a family member
    • Delete a family member
    • Update family member profile image
    • Admin - get user details with family
    • Update a family member's intents
    • Admin - list users
    • Admin - get subscribers list
    • Admin - get user details with family
    • Admin - delete user and all family members
    • Admin - update user status
  • palm
    • Get user palm reading
    • Upload user palm image
    • Upload family member palm image
    • Get family member palm reading
  • horoscopes
    • Get user kundali
    • Get family member kundali
    • Get horoscope (daily / weekly / monthly)
  • reports
    • Share a report via email
    • Get shared report PDF link
  • tarot
    • List all tarot cards
    • Get single tarot card by slug
    • Get today's daily tarot card
    • Get a 3-card tarot reading
    • Get tarot reading history
  • marriage
    • Generate marriage compatibility report
    • Get marriage compatibility report
    • List marriage report history
    • Preview the price to upgrade a compatibility report to the full Marriage Report
    • Start the compatibility -> full Marriage Report upgrade purchase
    • Consume the upgrade purchase and regenerate the full Marriage Report
  • child
    • Generate child report (baby names + birth timing)
    • Like or unlike a suggested baby name
    • Get child report (names + timing)
  • dashboard
    • Dashboard overview stats
    • User growth time-series
    • Subscription distribution by plan
    • Top-up & one-time sales distribution
    • Recent activity feed
  • Health
    • Liveness check
  • panchang
    • Get today's panchang for the user's current location
  • festivals
    • List festivals for the user's regions
    • Festival detail with full linked puja vidhis
  • library
    • List library items
    • Library filter options
    • Library content types
    • List my favourite library items
    • Add a library item to favourites
    • Remove a library item from favourites
    • Admin - list library items (incl. drafts)
    • Admin - create a library item
    • Admin - get a library item (incl. drafts)
    • Admin - edit / publish a library item
    • Stream a library item's audio
    • Get a library item
  • mantras
    • List mantras
    • List my favourite mantras
    • Add a mantra to favourites
    • Remove a mantra from favourites
    • Admin - list mantras (incl. drafts)
    • Admin - create a mantra
    • Admin - get a mantra (incl. drafts)
    • Admin - edit / publish a mantra
    • Stream a mantra's chanting audio
    • Get a mantra
  • nandini
    • Send a message and/or image(s)/PDF(s) to Nandini (reply is streamed over WebSocket)
    • List my Nandini conversations
    • Get a conversation's messages
    • Delete a conversation
    • Edit a message you sent (ChatGPT-style)
    • Share one message as a PDF
  • payments
    • Validate a coupon code
    • Start a plan/report/topup purchase
    • Verify a completed Razorpay payment
    • Cancel a recurring subscription
    • Pause a recurring subscription
    • Resume a paused subscription
  • subscriptions
    • List my purchase history
    • Get one purchase's status
  • public
    • Get today's panchang for any location - no auth required
      GET
    • Free kundali preview - no auth, no account required
      POST
    • Search a place by name (keystroke-aware) - no auth required
      GET
    • Website kundali registration - creates a real account, no auth required
      POST
    • Resolve a place_id to full location + timezone - no auth required
      GET
  • coupons
    • List currently applicable coupons
    • Get a currently applicable coupon
  • account-deletion
    • Request account & data deletion
  1. public

Website kundali registration - creates a real account, no auth required

POST
https://uat-api.hastaai.in/api/v1/public/kundali/register
public
Last modified:2026-09-08 10:09:06
Request: application/json. No auth, no OTP, no email verification - the website has already collected these details directly from the visitor and this endpoint registers them on the spot.
Unlike POST /public/kundali (a stateless, nothing-saved preview - kept as-is for now, will be removed once the website is live), this creates a real account: users + profiles rows, auth_providers='website', is_onboarded=true. If the email already exists anywhere - a blog subscriber, or an existing app user - no duplicate account is ever created: a subscribers-role row is upgraded to a full account (and mailed about it) and genuinely-empty profile fields are filled in; an account already signed in with Google is left untouched (only the kundali is generated against it). The very same email later completing the app's normal device-register + email-OTP flow logs straight into this same account - no separate linking step needed.
Body: full_name, email, gender, date_of_birth, latitude, longitude, timezone (required); birth_time or moon_sign (one required - same precise/indicative contract as POST /public/kundali); birth_place, intent (optional).
Success: 200 - the same chart/planet/dasha shape as POST /public/kundali (data.confidence, data.charts[] as base64 data URIs for instant display, data.intents[], data.glossary[]), plus data.play_store_url (empty string until the Play Store listing is live - hide the CTA in that case). The full narrative report (with R2-hosted chart images) generates in the background against the new/reconciled account, the same way it does after the app's own onboarding.
Errors: 422 - neither birth_time nor moon_sign supplied, an unrecognised moon_sign, or an invalid email. 429 - too many registrations from this IP (>5 per 600s).

Request

Body Params application/jsonRequired

Example
{
    "birth_place": "Delhi, India",
    "birth_time": "06:30:00",
    "date_of_birth": "1993-07-15",
    "email": "rahul@example.com",
    "full_name": "Rahul Sharma",
    "gender": "M",
    "intent": "[\"career\", \"wealth\"]",
    "latitude": 28.6139,
    "longitude": 77.209,
    "timezone": "Asia/Kolkata"
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://uat-api.hastaai.in/api/v1/public/kundali/register' \
--header 'Content-Type: application/json' \
--data-raw '{
    "birth_place": "Delhi, India",
    "birth_time": "06:30:00",
    "date_of_birth": "1993-07-15",
    "email": "rahul@example.com",
    "full_name": "Rahul Sharma",
    "gender": "M",
    "intent": "[\"career\", \"wealth\"]",
    "latitude": 28.6139,
    "longitude": 77.209,
    "timezone": "Asia/Kolkata"
}'

Responses

🟢200OK
application/json
Successful Response
Bodyapplication/json

Example
{
    "success": true,
    "message": "Success",
    "data": {
        "name": "Rahul",
        "confidence": "precise",
        "sun_sign": "Cancer",
        "moon_sign": "Scorpio",
        "lagna": {
            "degree": 123.45,
            "sign": "Leo",
            "sign_num": 5,
            "nakshatra": "Purva Phalguni",
            "pada": 2
        },
        "planets": {
            "Sun": {
                "degree": 89.12,
                "sign": "Cancer",
                "sign_num": 4,
                "house": 12,
                "nakshatra": "Pushya",
                "nakshatra_lord": "Saturn",
                "retrograde": false
            }
        },
        "moon_nakshatra": {
            "index": 17,
            "name": "Anuradha",
            "pada": 3,
            "lord": "Saturn",
            "degree": 214.5
        },
        "vimshottari_dasha": [
            {
                "planet": "Venus",
                "start_date": "1993-07-15",
                "end_date": "2013-07-15",
                "years": 20
            }
        ],
        "charts": [
            {
                "chart_type": "rashi",
                "style": "north",
                "label": "Birth Chart (North Indian)",
                "image_base64": "data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoBAAEAAgA0JaQAA3AA/v3AgAA="
            },
            {
                "chart_type": "rashi",
                "style": "south",
                "label": "Birth Chart (South Indian)",
                "image_base64": "data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoBAAEAAgA0JaQAA3AA/v3AgAA="
            }
        ],
        "intents": [
            {
                "slug": "career",
                "name": "Career",
                "description": "Growth, work and professional direction",
                "icon": "https://images.hastaai.in/intent/career.webp"
            }
        ],
        "glossary": [
            {
                "slug": "nakshatra",
                "term": "Nakshatra",
                "meaning": "The Moon's 'star home' among 27 lunar mansions. It colours the day's energy and your natural instincts."
            }
        ],
        "play_store_url": "https://play.google.com/store/apps/details?id=in.hastaai.app"
    }
}
🟠422Parameter Error
🟠429
Modified at 2026-09-08 10:09:06
Previous
Search a place by name (keystroke-aware) - no auth required
Next
Resolve a place_id to full location + timezone - no auth required
Built with