Generate detailed, fully branded PDF and HTML astrology reports. Reports are generated asynchronously — you receive URLs immediately and the report is ready within 10-30 seconds.
Base URL
https://pdf.divineapi.com
Authentication
Every request requires two headers:
Header
Description
Authorization
Bearer {api_acc_token} — identifies the user
x-api-key
Use api_key for live mode, test_api_key for test mode
Live mode deducts from remaining_credits. Test mode deducts from remaining_test_credits.
Generate Report
POST /api/v1/reports/generate
How It Works
Send a POST request with birth data + branding — receive reportId + URLs immediately (status: processing)
Report generates in the background (10-30 seconds)
Poll GET /api/v1/reports/:reportId/status until status is completed
Language code. Default: "en". Vedic reports support: en, hi, tm (Tamil), tl (Telugu), bn (Bengali), ma (Marathi), ml (Malayalam), kn (Kannada). Numerology reports support en only.
remedy
boolean
Optional
Include the remedies section in the report. Default: true. Set to false to omit all remedy suggestions. Applies to Vedic reports only.
Remedy control (Vedic reports). By default (remedy=true) each report includes one consolidated Remedies section covering gemstone, mantra, ritual, charity and practical measures. Set remedy=false to drop that section entirely, so that no gemstone, rudraksha or physical-item suggestion appears anywhere in the report. This is intended for astrologers who give their own remedy advice in consultations and do not want the report to conflict with it. Numerology reports contain no remedies, so the parameter is ignored for them, and the comprehensive-dosha-remedies-report is entirely remedy-focused, so remedy=false has no effect on it.
Numerology reports use fname, lname, and mobile_number instead of full_name, hour, min, sec, gender, place, lat, lon, tzone.
Company Branding (Required)
Parameter
Type
Required
Description
company_name
string
Yes
Your company/brand name
company_url
string
Yes
Your company website URL
company_email
string
Yes
Your company email address
company_mobile
string
Yes
Your company phone number
company_bio
string
Yes
Short company description
footer_text
string
Yes
Text displayed in the report footer
logo_url
string
Yes
URL to your company logo image
Design Customization (Optional)
Parameter
Type
Default
Description
text_primary_color
string
#000000
Body text color (hex format #RRGGBB)
text_secondary_color
string
#fff6d3
Secondary text color
background_color
string
#fff6d3
Page background color
theme_color
string
#af1f0f
Theme/accent color used for highlights, table headers, borders
{
"error": "Missing required branding fields",
"details": [
"Please enter company name",
"Please enter company url",
"Please enter company email",
"Please enter company mobile number",
"Please enter company bio",
"Please enter footer text",
"Please enter logo url"
]
}
Invalid Color Format (400)
{
"error": "Invalid color format for theme_color. Must be hex (#RRGGBB)."
}
Authentication Failed (401)
{
"error": "Bearer token required"
}
{
"error": "x-api-key header required"
}
{
"error": "API key does not match authenticated user"
}
Insufficient Credits (402)
{
"error": "Insufficient credits"
}
Rate Limit Exceeded (429)
{
"error": "Rate limit exceeded. Maximum 100 reports per hour."
}
Check Report Status
GET /api/v1/reports/:reportId/status?token={token}
Poll this endpoint to check when a report is ready. The statusUrl is returned by the generate endpoint — use it directly.
This request is being sent to the Translator API endpoint because a non-English language is selected. To use this feature, set up a Translator from your DivineAPI Dashboard.Supported Reference Article →