Skip to content

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 v1 routes for calculate-chart, analyze-destiny, and get-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

  1. Sign in to DestinyOracle with Google.
  2. Open /developers/dashboard.
  3. Generate your developer API key.
  4. 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();