DestinyOracle Developer Docs¶
Build on DestinyOracle through a hosted MCP endpoint or the public REST v1 API.
What is live¶
- Public routes at
/developers,/developers/docs, and/developers/dashboard - One Bearer API key per account
- Hosted MCP access at
/api/mcp/sse - REST
v1routes forcalculate-chart,analyze-destiny, andget-energy-metrics - Prepaid USD developer balance with premium deductions only on successful premium responses
Platform entry points¶
- Public docs:
/developers/docs/ - Private dashboard:
/developers/dashboard - Main product site:
/
Authentication¶
Use the Authorization header only:
Authorization: Bearer YOUR_API_KEY
Query-string API keys are not part of the hosted contract.
Rate Limits¶
- Hosted REST and MCP traffic is limited to 10 calls per second per API key.
Get your API key¶
- Sign in to DestinyOracle with Google.
- Open
/developers/dashboard. - Generate your developer API key.
- Save it immediately.
You can keep only one active key per account in v1. Regenerating it invalidates the old key immediately.
Quick start¶
curl¶
curl -X POST https://destinyoracle.app/api/developer/v1/calculate-chart \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"birthDate": "1995-10-15",
"birthTime": "08:30",
"gender": "female",
"timezone": "Asia/Singapore",
"language": "en"
}'
JavaScript¶
const response = await fetch(
"https://destinyoracle.app/api/developer/v1/calculate-chart",
{
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.DESTINYORACLE_API_KEY}`,
},
body: JSON.stringify({
birthDate: "1995-10-15",
birthTime: "08:30",
gender: "female",
timezone: "Asia/Singapore",
language: "en",
}),
},
);
console.log(await response.json());
TypeScript¶
const response = await fetch(
"https://destinyoracle.app/api/developer/v1/analyze-destiny",
{
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${apiKey}`,
},
body: JSON.stringify({
birthDate: "1995-10-15",
birthTime: "08:30",
gender: "female",
timezone: "Asia/Singapore",
palaces: ["soul", "career"],
language: "en",
}),
},
);
if (!response.ok) {
throw new Error(`DestinyOracle analyze-destiny failed: ${response.status}`);
}
const data = await response.json();