{"openapi":"3.0.1","info":{"title":"Human Design API","description":"API for generating Human Design charts, transit charts, composite relationship charts, and planetary positions.\n\n---\n\n## Date & Time Formatting\n\n### Date Format (Required)\nAll date parameters use **ISO 8601** format:\n\n```\nYYYY-MM-DDTHH:MM:SS\n```\n\n**Examples:**\n- `1990-05-15T14:30:00` → May 15, 1990 at 2:30 PM\n- `2024-12-25T00:00:00` → December 25, 2024 at midnight\n- `1985-03-22T08:45:00` → March 22, 1985 at 8:45 AM\n\n**Important:** Include the time component for accurate chart calculations. Birth time significantly affects the Human Design chart.\n\n### Timezone Format (Required)\nUse **IANA timezone identifiers** (also called Olson timezone names):\n\n**Common Examples:**\n| Region | Timezone ID |\n|--------|-------------|\n| US Eastern | `America/New_York` |\n| US Pacific | `America/Los_Angeles` |\n| US Central | `America/Chicago` |\n| UK | `Europe/London` |\n| Central Europe | `Europe/Paris` |\n| Australia Sydney | `Australia/Sydney` |\n| Japan | `Asia/Tokyo` |\n| India | `Asia/Kolkata` |\n| UTC | `UTC` |\n\n**Full list:** [IANA Time Zone Database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)\n\n### Month Format (Lunar Return only)\nFor the `/lunar-return` endpoint, use `YYYY-MM` format:\n- `2024-06` → June 2024\n- `2025-01` → January 2025\n\n---\n\n## Authentication\nREST and Agent HTTP (`/agent/v1/tools/*`) clients authenticate with\n`Authorization: Bearer <api_key>` or `X-Api-Key`. The deprecated MCP compatibility route\n(`/mcp`) accepts those API-key forms for the six calculation/reference tools and HumanDesign.ai\nOAuth for account-connected tools; new MCP clients connect directly to\n`https://mcp.humandesign.ai/`. Historical credential fields shown on legacy REST models are\ndeprecated compatibility fields and must not be placed in URLs.\nConsuming REST and Agent HTTP calculations should send a stable `Idempotency-Key` header;\nthe MCP adapter requires the key as a tool argument and forwards it to Agent HTTP. Keys are\nbound to canonical request fingerprints. Same-request retries deterministically recalculate\nwith zero additional quota debit after the prior provider claim reaches a terminal state;\nconcurrent duplicates return 409 without reaching the provider. Legacy direct clients may omit\nthe header but cannot replay that call. This is quota-idempotent recomputation, not byte-for-byte\nresponse storage. The open-ended SSE stream and multi-chart batch endpoint do not accept a\ncaller idempotency key and are excluded from this retry guarantee.\n\n---\n\n## Complete Endpoint Reference\n\n### Core Charts\n- **GET /hd-data** - Generate natal Human Design chart (v1)\n- **GET /v2/hd-data** - Enhanced natal chart with detailed properties\n- **GET /v3/hd-data** - Full chart with zodiac signs, retrograde status, gate categories, and variable terminology\n\n### Transit & Forecasting\n- **GET /hd-data-transit** - Transit chart overlaying natal chart with current planetary positions\n- **GET /planetary-positions** - Real-time planetary positions with dignity states and gate activations\n- **GET /planetary-forecast** - Daily forecast showing gate transitions (up to 31 days)\n\n### Relationship Charts\n- **GET /hd-data-composite** - Basic composite chart for two people\n- **GET /v2/hd-data-composite** - Enhanced composite with chemistry scores and detailed analysis\n- **POST /group-composite** - Group composite chart for 3-12 people\n\n### Return Charts\n- **GET /solar-return** - Solar Return chart for a specific year\n- **GET /lunar-return** - Lunar Return chart for a specific month (YYYY-MM format)\n- **GET /saturn-return** - Saturn Return information and charts (~29, ~58 years)\n- **GET /chiron-return** - Chiron Return information and chart (~50 years)\n- **GET /progressed-chart** - Secondary progressed chart showing evolution over time\n\n### Calendar & Scheduling\n- **GET /gate-calendar** - Monthly gate calendar showing daily planetary positions\n- **GET /transit-alerts** - Personalized transit alerts for a natal chart (up to 90 days)\n- **GET /moon-phases** - Moon phases with gate activations through the lunar cycle\n- **GET /ical-export** - Export transit forecast as downloadable iCal (.ics) file\n\n### Reference Library\n- **GET /library/gates** - List all 64 Human Design gates\n- **GET /library/gates/{gateNumber}** - Detailed gate information (1-64)\n- **GET /library/channels** - List all 36 Human Design channels\n- **GET /library/channels/{channelId}** - Detailed channel information (e.g., '1-8')\n- **GET /library/centers** - List all 9 Human Design centers\n- **GET /library/centers/{centerName}** - Detailed center information (e.g., 'Sacral', 'G')\n- **GET /library/profiles** - List all 12 Human Design profiles\n- **GET /library/profiles/{profileId}** - Detailed profile information (e.g., '1/3', '4-6')\n\n### Celebrity Database\n- **GET /celebrity/search** - Search celebrities by name\n- **GET /celebrity/{slugOrId}** - Get celebrity details by slug (e.g., 'elon-musk') or numeric ID\n\n### Location Search\n- **GET /locations** - Search for cities/locations by name (for timezone lookup)\n\n### Real-time\n- **GET /stream/planetary-positions** - Stream real-time planetary positions via Server-Sent Events (SSE)\n\nWebhook delivery is not part of this release. Legacy webhook routes return `501 Not Implemented`\nand are intentionally excluded from this public contract.\n\n### Batch Processing\n- **POST /batch/charts** - Generate multiple Human Design charts in a single request (max 50)","contact":{"name":"Human Design AI","url":"https://humandesign.ai"},"version":"v1"},"paths":{"/agent/v1/mcp/catalog":{"get":{"tags":["AgentMcpCatalog"],"responses":{"200":{"description":"Success","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/AgentMcpCatalogResponseDTO"}},"application/json":{"schema":{"$ref":"#/components/schemas/AgentMcpCatalogResponseDTO"}},"text/json":{"schema":{"$ref":"#/components/schemas/AgentMcpCatalogResponseDTO"}}}},"401":{"description":"Unauthorized","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"429":{"description":"Too Many Requests","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"503":{"description":"Server Error"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-tool-units":{"resolve_timezone":0,"generate_chart":1,"generate_composite_chart":1,"get_reference_item":0,"get_transits":1,"search_celebrities":0}}},"/agent/v1/tools/resolve-timezone":{"post":{"tags":["AgentTools"],"requestBody":{"content":{"application/json":{"schema":{}},"text/json":{"schema":{}},"application/*+json":{"schema":{}}}},"responses":{"200":{"description":"Tool result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"400":{"description":"Argument validation error (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"401":{"description":"Missing or malformed API credential (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"403":{"description":"Tier or entitlement denied (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"404":{"description":"Known reference was not found (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"409":{"description":"Idempotency conflict or same calculation already in progress (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"429":{"description":"Quota exhausted (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"500":{"description":"Internal contract failure (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"502":{"description":"Authorized provider execution failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"503":{"description":"Authorization or provider-claim settlement outcome unavailable; chargedUnits can be null only when consumption itself is uncertain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"504":{"description":"Authorized provider execution timed out","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}]}},"/agent/v1/tools/generate-chart":{"post":{"tags":["AgentTools"],"parameters":[{"name":"Idempotency-Key","in":"header","description":"Strongly recommended stable per-calculation key. Retry the same normalized arguments with the same key. Reuse with different arguments is rejected. The quota authority gives one request a short provider claim; concurrent duplicates return 409 without reaching the provider. After a terminal outcome, a same-request replay may deterministically recalculate with zero additional quota debit. Omission remains supported for legacy clients but is not caller-replayable.","schema":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string","example":"calc-client-00000001"},"required":false}],"requestBody":{"content":{"application/json":{"schema":{}},"text/json":{"schema":{}},"application/*+json":{"schema":{}}}},"responses":{"200":{"description":"Tool result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"400":{"description":"Argument validation error (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"401":{"description":"Missing or malformed API credential (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"403":{"description":"Tier or entitlement denied (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"404":{"description":"Known reference was not found (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"409":{"description":"Idempotency conflict or same calculation already in progress (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"429":{"description":"Quota exhausted (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"500":{"description":"Internal contract failure (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"502":{"description":"Authorized provider execution failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"503":{"description":"Authorization or provider-claim settlement outcome unavailable; chargedUnits can be null only when consumption itself is uncertain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"504":{"description":"Authorized provider execution timed out","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}},"/agent/v1/tools/get_chart":{"post":{"tags":["AgentTools"],"summary":"Generate chart (get_chart compatibility alias)","description":"Accepts the same birthDateTime, timezone and detailLevel inputs as generate-chart. Executes the generate_chart tool with the same authorization, quota, response envelope and idempotency fingerprint. This is a POST calculation from birth data, not retrieval of a saved chart.","parameters":[{"name":"Idempotency-Key","in":"header","description":"Strongly recommended stable per-calculation key. Retry the same normalized arguments with the same key. Reuse with different arguments is rejected. The quota authority gives one request a short provider claim; concurrent duplicates return 409 without reaching the provider. After a terminal outcome, a same-request replay may deterministically recalculate with zero additional quota debit. Omission remains supported for legacy clients but is not caller-replayable.","schema":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string","example":"calc-client-00000001"},"required":false}],"requestBody":{"content":{"application/json":{"schema":{}},"text/json":{"schema":{}},"application/*+json":{"schema":{}}}},"responses":{"200":{"description":"Tool result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"400":{"description":"Argument validation error (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"401":{"description":"Missing or malformed API credential (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"403":{"description":"Tier or entitlement denied (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"404":{"description":"Known reference was not found (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"409":{"description":"Idempotency conflict or same calculation already in progress (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"429":{"description":"Quota exhausted (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"500":{"description":"Internal contract failure (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"502":{"description":"Authorized provider execution failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"503":{"description":"Authorization or provider-claim settlement outcome unavailable; chargedUnits can be null only when consumption itself is uncertain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"504":{"description":"Authorized provider execution timed out","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1,"x-hdai-canonical-path":"/agent/v1/tools/generate-chart"}},"/agent/v1/tools/generate-composite-chart":{"post":{"tags":["AgentTools"],"parameters":[{"name":"Idempotency-Key","in":"header","description":"Strongly recommended stable per-calculation key. Retry the same normalized arguments with the same key. Reuse with different arguments is rejected. The quota authority gives one request a short provider claim; concurrent duplicates return 409 without reaching the provider. After a terminal outcome, a same-request replay may deterministically recalculate with zero additional quota debit. Omission remains supported for legacy clients but is not caller-replayable.","schema":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string","example":"calc-client-00000001"},"required":false}],"requestBody":{"content":{"application/json":{"schema":{}},"text/json":{"schema":{}},"application/*+json":{"schema":{}}}},"responses":{"200":{"description":"Tool result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"400":{"description":"Argument validation error (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"401":{"description":"Missing or malformed API credential (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"403":{"description":"Tier or entitlement denied (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"404":{"description":"Known reference was not found (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"409":{"description":"Idempotency conflict or same calculation already in progress (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"429":{"description":"Quota exhausted (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"500":{"description":"Internal contract failure (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"502":{"description":"Authorized provider execution failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"503":{"description":"Authorization or provider-claim settlement outcome unavailable; chargedUnits can be null only when consumption itself is uncertain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"504":{"description":"Authorized provider execution timed out","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}},"/agent/v1/tools/get-reference-item":{"post":{"tags":["AgentTools"],"requestBody":{"content":{"application/json":{"schema":{}},"text/json":{"schema":{}},"application/*+json":{"schema":{}}}},"responses":{"200":{"description":"Tool result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"400":{"description":"Argument validation error (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"401":{"description":"Missing or malformed API credential (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"403":{"description":"Tier or entitlement denied (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"404":{"description":"Known reference was not found (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"409":{"description":"Idempotency conflict or same calculation already in progress (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"429":{"description":"Quota exhausted (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"500":{"description":"Internal contract failure (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"502":{"description":"Authorized provider execution failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"503":{"description":"Authorization or provider-claim settlement outcome unavailable; chargedUnits can be null only when consumption itself is uncertain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"504":{"description":"Authorized provider execution timed out","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}]}},"/agent/v1/tools/get-transits":{"post":{"tags":["AgentTools"],"parameters":[{"name":"Idempotency-Key","in":"header","description":"Strongly recommended stable per-calculation key. Retry the same normalized arguments with the same key. Reuse with different arguments is rejected. The quota authority gives one request a short provider claim; concurrent duplicates return 409 without reaching the provider. After a terminal outcome, a same-request replay may deterministically recalculate with zero additional quota debit. Omission remains supported for legacy clients but is not caller-replayable.","schema":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string","example":"calc-client-00000001"},"required":false}],"requestBody":{"content":{"application/json":{"schema":{}},"text/json":{"schema":{}},"application/*+json":{"schema":{}}}},"responses":{"200":{"description":"Tool result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"400":{"description":"Argument validation error (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"401":{"description":"Missing or malformed API credential (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"403":{"description":"Tier or entitlement denied (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"404":{"description":"Known reference was not found (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"409":{"description":"Idempotency conflict or same calculation already in progress (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"429":{"description":"Quota exhausted (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"500":{"description":"Internal contract failure (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"502":{"description":"Authorized provider execution failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"503":{"description":"Authorization or provider-claim settlement outcome unavailable; chargedUnits can be null only when consumption itself is uncertain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"504":{"description":"Authorized provider execution timed out","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}},"/agent/v1/tools/search-celebrities":{"post":{"tags":["AgentTools"],"requestBody":{"content":{"application/json":{"schema":{}},"text/json":{"schema":{}},"application/*+json":{"schema":{}}}},"responses":{"200":{"description":"Tool result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"400":{"description":"Argument validation error (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"401":{"description":"Missing or malformed API credential (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"403":{"description":"Tier or entitlement denied (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"404":{"description":"Known reference was not found (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"409":{"description":"Idempotency conflict or same calculation already in progress (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"429":{"description":"Quota exhausted (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"500":{"description":"Internal contract failure (zero charged units)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"502":{"description":"Authorized provider execution failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"503":{"description":"Authorization or provider-claim settlement outcome unavailable; chargedUnits can be null only when consumption itself is uncertain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}},"504":{"description":"Authorized provider execution timed out","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolEnvelope"}}}}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}]}},"/gate-calendar":{"get":{"tags":["Calendar"],"summary":"Get monthly gate calendar showing daily planetary positions and gate activations","parameters":[{"name":"Api_key","in":"query","description":"Deprecated, unsafe URL credential retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","deprecated":true,"schema":{"type":"string"}},{"name":"Year","in":"query","description":"Calendar year (4 digits). Example: 2024","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"Month","in":"query","description":"Calendar month (1-12). Example: 6 for June","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"Timezone","in":"query","description":"Optional: IANA timezone identifier. Defaults to UTC.\r\nExamples: America/New_York, Europe/London","schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Strongly recommended stable per-calculation key. Retry the same normalized arguments with the same key. Reuse with different arguments is rejected. The quota authority gives one request a short provider claim; concurrent duplicates return 409 without reaching the provider. After a terminal outcome, a same-request replay may deterministically recalculate with zero additional quota debit. Omission remains supported for legacy clients but is not caller-replayable.","schema":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string","example":"calc-client-00000001"},"required":false}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}},"/transit-alerts":{"get":{"tags":["Calendar"],"summary":"Get transit alerts for a natal chart showing significant upcoming transits","parameters":[{"name":"Api_key","in":"query","description":"Deprecated, unsafe URL credential retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","deprecated":true,"schema":{"type":"string"}},{"name":"Date","in":"query","description":"Your birth date and time in ISO 8601 format: YYYY-MM-DDTHH:MM:SS\r\nExample: 1990-05-15T14:30:00 (May 15, 1990 at 2:30 PM)","required":true,"schema":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."}},{"name":"Timezone","in":"query","description":"IANA timezone identifier for your birth location.\r\nExamples: America/New_York, Europe/London, Asia/Tokyo","required":true,"schema":{"type":"string"}},{"name":"Days","in":"query","description":"Number of days to look ahead for alerts. Default: 30, Max: 90","schema":{"type":"integer","format":"int32"}},{"name":"Idempotency-Key","in":"header","description":"Strongly recommended stable per-calculation key. Retry the same normalized arguments with the same key. Reuse with different arguments is rejected. The quota authority gives one request a short provider claim; concurrent duplicates return 409 without reaching the provider. After a terminal outcome, a same-request replay may deterministically recalculate with zero additional quota debit. Omission remains supported for legacy clients but is not caller-replayable.","schema":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string","example":"calc-client-00000001"},"required":false}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}},"/moon-phases":{"get":{"tags":["Calendar"],"summary":"Get moon phases and daily moon gate positions for a month","parameters":[{"name":"Api_key","in":"query","description":"Deprecated, unsafe URL credential retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","deprecated":true,"schema":{"type":"string"}},{"name":"Year","in":"query","description":"Calendar year (4 digits). Example: 2024","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"Month","in":"query","description":"Calendar month (1-12). Example: 6 for June","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"Timezone","in":"query","description":"Optional: IANA timezone identifier. Defaults to UTC.\r\nExamples: America/Los_Angeles, Europe/Paris","schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Strongly recommended stable per-calculation key. Retry the same normalized arguments with the same key. Reuse with different arguments is rejected. The quota authority gives one request a short provider claim; concurrent duplicates return 409 without reaching the provider. After a terminal outcome, a same-request replay may deterministically recalculate with zero additional quota debit. Omission remains supported for legacy clients but is not caller-replayable.","schema":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string","example":"calc-client-00000001"},"required":false}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}},"/ical-export":{"get":{"tags":["Calendar"],"summary":"Export transit forecast as iCal (.ics) calendar file","parameters":[{"name":"Api_key","in":"query","description":"Deprecated, unsafe URL credential retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","deprecated":true,"schema":{"type":"string"}},{"name":"Date","in":"query","description":"Your birth date and time in ISO 8601 format: YYYY-MM-DDTHH:MM:SS\r\nExample: 1990-05-15T14:30:00 (May 15, 1990 at 2:30 PM)","required":true,"schema":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."}},{"name":"Timezone","in":"query","description":"IANA timezone identifier for your birth location.\r\nExamples: America/Chicago, Europe/Berlin","required":true,"schema":{"type":"string"}},{"name":"Days","in":"query","description":"Number of days to include in the calendar export. Default: 30, Max: 90","schema":{"type":"integer","format":"int32"}},{"name":"Idempotency-Key","in":"header","description":"Strongly recommended stable per-calculation key. Retry the same normalized arguments with the same key. Reuse with different arguments is rejected. The quota authority gives one request a short provider claim; concurrent duplicates return 409 without reaching the provider. After a terminal outcome, a same-request replay may deterministically recalculate with zero additional quota debit. Omission remains supported for legacy clients but is not caller-replayable.","schema":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string","example":"calc-client-00000001"},"required":false}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}},"/hd-data":{"get":{"tags":["HD"],"parameters":[{"name":"Api_key","in":"query","description":"Deprecated, unsafe URL credential retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","deprecated":true,"schema":{"type":"string"}},{"name":"Date","in":"query","description":"Birth local wall time: YYYY-MM-DDTHH:MM[:SS[.fraction]]. Do not include Z or an offset.\r\nExample: 1990-05-15T14:30:00 (May 15, 1990 at 2:30 PM)","required":true,"schema":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."}},{"name":"Timezone","in":"query","description":"IANA timezone identifier for the birth location.\r\nExamples: America/New_York, Europe/London, Asia/Tokyo, UTC\r\nFull list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Strongly recommended stable per-calculation key. Retry the same normalized arguments with the same key. Reuse with different arguments is rejected. The quota authority gives one request a short provider claim; concurrent duplicates return 409 without reaching the provider. After a terminal outcome, a same-request replay may deterministically recalculate with zero additional quota debit. Omission remains supported for legacy clients but is not caller-replayable.","schema":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string","example":"calc-client-00000001"},"required":false}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}},"/v2/hd-data":{"get":{"tags":["HD"],"parameters":[{"name":"Api_key","in":"query","description":"Deprecated, unsafe URL credential retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","deprecated":true,"schema":{"type":"string"}},{"name":"Date","in":"query","description":"Birth local wall time: YYYY-MM-DDTHH:MM[:SS[.fraction]]. Do not include Z or an offset.\r\nExample: 1990-05-15T14:30:00 (May 15, 1990 at 2:30 PM)","required":true,"schema":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."}},{"name":"Timezone","in":"query","description":"IANA timezone identifier for the birth location.\r\nExamples: America/New_York, Europe/London, Asia/Tokyo, UTC\r\nFull list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Strongly recommended stable per-calculation key. Retry the same normalized arguments with the same key. Reuse with different arguments is rejected. The quota authority gives one request a short provider claim; concurrent duplicates return 409 without reaching the provider. After a terminal outcome, a same-request replay may deterministically recalculate with zero additional quota debit. Omission remains supported for legacy clients but is not caller-replayable.","schema":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string","example":"calc-client-00000001"},"required":false}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}},"/v3/hd-data":{"get":{"tags":["HD"],"summary":"Enhanced v3 endpoint with zodiac signs, retrograde status, gate categories, and full variable terminology","parameters":[{"name":"Api_key","in":"query","description":"Deprecated, unsafe URL credential retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","deprecated":true,"schema":{"type":"string"}},{"name":"Date","in":"query","description":"Birth local wall time: YYYY-MM-DDTHH:MM[:SS[.fraction]]. Do not include Z or an offset.\r\nExample: 1990-05-15T14:30:00 (May 15, 1990 at 2:30 PM)","required":true,"schema":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."}},{"name":"Timezone","in":"query","description":"IANA timezone identifier for the birth location.\r\nExamples: America/New_York, Europe/London, Asia/Tokyo, UTC\r\nFull list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Strongly recommended stable per-calculation key. Retry the same normalized arguments with the same key. Reuse with different arguments is rejected. The quota authority gives one request a short provider claim; concurrent duplicates return 409 without reaching the provider. After a terminal outcome, a same-request replay may deterministically recalculate with zero additional quota debit. Omission remains supported for legacy clients but is not caller-replayable.","schema":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string","example":"calc-client-00000001"},"required":false}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}},"/locations":{"get":{"tags":["HD"],"parameters":[{"name":"query","in":"query","schema":{"type":"string"}},{"name":"lang","in":"query","schema":{"type":"string"}},{"name":"api_key","in":"query","description":"Deprecated, unsafe URL credential retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","deprecated":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}]}},"/hd-data-composite":{"get":{"tags":["HD"],"parameters":[{"name":"Date1","in":"query","description":"Second person's local birth wall time. Do not include Z or an offset.\r\nExample: 1992-08-20T09:15:00 (August 20, 1992 at 9:15 AM)","schema":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."}},{"name":"Timezone1","in":"query","description":"IANA timezone identifier for second person's birth location.\r\nExamples: America/Los_Angeles, Europe/Paris, Asia/Kolkata","schema":{"type":"string"}},{"name":"Api_key","in":"query","description":"Deprecated, unsafe URL credential retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","deprecated":true,"schema":{"type":"string"}},{"name":"Date","in":"query","description":"Birth local wall time: YYYY-MM-DDTHH:MM[:SS[.fraction]]. Do not include Z or an offset.\r\nExample: 1990-05-15T14:30:00 (May 15, 1990 at 2:30 PM)","required":true,"schema":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."}},{"name":"Timezone","in":"query","description":"IANA timezone identifier for the birth location.\r\nExamples: America/New_York, Europe/London, Asia/Tokyo, UTC\r\nFull list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Strongly recommended stable per-calculation key. Retry the same normalized arguments with the same key. Reuse with different arguments is rejected. The quota authority gives one request a short provider claim; concurrent duplicates return 409 without reaching the provider. After a terminal outcome, a same-request replay may deterministically recalculate with zero additional quota debit. Omission remains supported for legacy clients but is not caller-replayable.","schema":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string","example":"calc-client-00000001"},"required":false}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}},"/celebrity/search":{"get":{"tags":["HD"],"summary":"Search for celebrities by name","parameters":[{"name":"api_key","in":"query","description":"Deprecated, unsafe URL credential retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","deprecated":true,"schema":{"type":"string"}},{"name":"query","in":"query","description":"Search query (name)","schema":{"type":"string"}},{"name":"limit","in":"query","description":"Maximum number of results (default 20, max 100)","schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}]}},"/celebrity/{slugOrId}":{"get":{"tags":["HD"],"summary":"Get a celebrity by slug or ID","parameters":[{"name":"api_key","in":"query","description":"Deprecated, unsafe URL credential retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","deprecated":true,"schema":{"type":"string"}},{"name":"slugOrId","in":"path","description":"Celebrity slug (e.g., \"elon-musk\") or UUID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}]}},"/hd-data-transit":{"get":{"tags":["HD"],"summary":"Get transit chart showing natal chart overlaid with transiting planetary positions","parameters":[{"name":"TransitDate","in":"query","description":"Transit local wall time in TransitTimezone. Do not include Z or an offset.\r\nUse current date/time for \"today's transits\" or a future date for forecasting.\r\nExample: 2024-06-15T12:00:00","required":true,"schema":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."}},{"name":"TransitTimezone","in":"query","description":"IANA timezone identifier for the transit location.\r\nTypically your current location. Examples: America/Chicago, Europe/Berlin","required":true,"schema":{"type":"string"}},{"name":"Api_key","in":"query","description":"Deprecated, unsafe URL credential retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","deprecated":true,"schema":{"type":"string"}},{"name":"Date","in":"query","description":"Birth local wall time: YYYY-MM-DDTHH:MM[:SS[.fraction]]. Do not include Z or an offset.\r\nExample: 1990-05-15T14:30:00 (May 15, 1990 at 2:30 PM)","required":true,"schema":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."}},{"name":"Timezone","in":"query","description":"IANA timezone identifier for the birth location.\r\nExamples: America/New_York, Europe/London, Asia/Tokyo, UTC\r\nFull list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Strongly recommended stable per-calculation key. Retry the same normalized arguments with the same key. Reuse with different arguments is rejected. The quota authority gives one request a short provider claim; concurrent duplicates return 409 without reaching the provider. After a terminal outcome, a same-request replay may deterministically recalculate with zero additional quota debit. Omission remains supported for legacy clients but is not caller-replayable.","schema":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string","example":"calc-client-00000001"},"required":false}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}},"/planetary-positions":{"get":{"tags":["HD"],"summary":"Get current planetary positions with dignity states, retrograde status, and gate activations","parameters":[{"name":"Api_key","in":"query","description":"Deprecated, unsafe URL credential retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","deprecated":true,"schema":{"type":"string"}},{"name":"Date","in":"query","description":"Optional local wall time in Timezone. Do not include Z or an offset.\r\nDefaults to current UTC time if not provided.\r\nExample: 2024-06-15T18:00:00","schema":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."}},{"name":"Timezone","in":"query","description":"Optional: IANA timezone identifier. Defaults to UTC if not provided.\r\nExamples: America/New_York, UTC","schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Strongly recommended stable per-calculation key. Retry the same normalized arguments with the same key. Reuse with different arguments is rejected. The quota authority gives one request a short provider claim; concurrent duplicates return 409 without reaching the provider. After a terminal outcome, a same-request replay may deterministically recalculate with zero additional quota debit. Omission remains supported for legacy clients but is not caller-replayable.","schema":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string","example":"calc-client-00000001"},"required":false}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}},"/planetary-forecast":{"get":{"tags":["HD"],"summary":"Get planetary forecast for a date range showing daily gate activations and transitions","parameters":[{"name":"Api_key","in":"query","description":"Deprecated, unsafe URL credential retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","deprecated":true,"schema":{"type":"string"}},{"name":"StartDate","in":"query","description":"Forecast start local wall time in Timezone. Do not include Z or an offset.\r\nExample: 2024-06-01T00:00:00","required":true,"schema":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."}},{"name":"EndDate","in":"query","description":"Forecast end local wall time in Timezone. Do not include Z or an offset.\r\nMaximum range is 31 days from start date.\r\nExample: 2024-06-30T23:59:59","required":true,"schema":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."}},{"name":"Timezone","in":"query","description":"Optional: IANA timezone identifier. Defaults to UTC if not provided.\r\nExamples: Europe/London, Asia/Singapore","schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Strongly recommended stable per-calculation key. Retry the same normalized arguments with the same key. Reuse with different arguments is rejected. The quota authority gives one request a short provider claim; concurrent duplicates return 409 without reaching the provider. After a terminal outcome, a same-request replay may deterministically recalculate with zero additional quota debit. Omission remains supported for legacy clients but is not caller-replayable.","schema":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string","example":"calc-client-00000001"},"required":false}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}},"/v2/hd-data-composite":{"get":{"tags":["HD"],"summary":"Enhanced V2 composite chart with detailed relationship analysis, chemistry scores, and gate comparison","parameters":[{"name":"Date1","in":"query","description":"Second person's local birth wall time. Do not include Z or an offset.\r\nExample: 1992-08-20T09:15:00 (August 20, 1992 at 9:15 AM)","schema":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."}},{"name":"Timezone1","in":"query","description":"IANA timezone identifier for second person's birth location.\r\nExamples: America/Los_Angeles, Europe/Paris, Asia/Kolkata","schema":{"type":"string"}},{"name":"Api_key","in":"query","description":"Deprecated, unsafe URL credential retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","deprecated":true,"schema":{"type":"string"}},{"name":"Date","in":"query","description":"Birth local wall time: YYYY-MM-DDTHH:MM[:SS[.fraction]]. Do not include Z or an offset.\r\nExample: 1990-05-15T14:30:00 (May 15, 1990 at 2:30 PM)","required":true,"schema":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."}},{"name":"Timezone","in":"query","description":"IANA timezone identifier for the birth location.\r\nExamples: America/New_York, Europe/London, Asia/Tokyo, UTC\r\nFull list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Strongly recommended stable per-calculation key. Retry the same normalized arguments with the same key. Reuse with different arguments is rejected. The quota authority gives one request a short provider claim; concurrent duplicates return 409 without reaching the provider. After a terminal outcome, a same-request replay may deterministically recalculate with zero additional quota debit. Omission remains supported for legacy clients but is not caller-replayable.","schema":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string","example":"calc-client-00000001"},"required":false}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}},"/solar-return":{"get":{"tags":["HD"],"summary":"Get Solar Return chart for a specific year","parameters":[{"name":"Api_key","in":"query","description":"Deprecated, unsafe URL credential retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","deprecated":true,"schema":{"type":"string"}},{"name":"Date","in":"query","description":"Your birth date and time in ISO 8601 format: YYYY-MM-DDTHH:MM:SS\r\nExample: 1990-05-15T14:30:00 (May 15, 1990 at 2:30 PM)","required":true,"schema":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."}},{"name":"Timezone","in":"query","description":"IANA timezone identifier for your birth location.\r\nExamples: America/New_York, Europe/London, Asia/Tokyo","required":true,"schema":{"type":"string"}},{"name":"Year","in":"query","description":"The year for which to calculate the Solar Return.\r\nExample: 2024 (calculates the chart for your 2024 birthday)","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"Idempotency-Key","in":"header","description":"Strongly recommended stable per-calculation key. Retry the same normalized arguments with the same key. Reuse with different arguments is rejected. The quota authority gives one request a short provider claim; concurrent duplicates return 409 without reaching the provider. After a terminal outcome, a same-request replay may deterministically recalculate with zero additional quota debit. Omission remains supported for legacy clients but is not caller-replayable.","schema":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string","example":"calc-client-00000001"},"required":false}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}},"/lunar-return":{"get":{"tags":["HD"],"summary":"Get Lunar Return chart for a specific month","parameters":[{"name":"Api_key","in":"query","description":"Deprecated, unsafe URL credential retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","deprecated":true,"schema":{"type":"string"}},{"name":"Date","in":"query","description":"Your birth date and time in ISO 8601 format: YYYY-MM-DDTHH:MM:SS\r\nExample: 1990-05-15T14:30:00 (May 15, 1990 at 2:30 PM)","required":true,"schema":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."}},{"name":"Timezone","in":"query","description":"IANA timezone identifier for your birth location.\r\nExamples: America/Los_Angeles, Europe/Paris, Asia/Kolkata","required":true,"schema":{"type":"string"}},{"name":"Month","in":"query","description":"Month for Lunar Return in YYYY-MM format.\r\nExamples: 2024-06 (June 2024), 2025-01 (January 2025)","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Strongly recommended stable per-calculation key. Retry the same normalized arguments with the same key. Reuse with different arguments is rejected. The quota authority gives one request a short provider claim; concurrent duplicates return 409 without reaching the provider. After a terminal outcome, a same-request replay may deterministically recalculate with zero additional quota debit. Omission remains supported for legacy clients but is not caller-replayable.","schema":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string","example":"calc-client-00000001"},"required":false}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}},"/saturn-return":{"get":{"tags":["HD"],"summary":"Get Saturn Return information and charts (~29, ~58 years)","parameters":[{"name":"Api_key","in":"query","description":"Deprecated, unsafe URL credential retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","deprecated":true,"schema":{"type":"string"}},{"name":"Date","in":"query","description":"Your birth date and time in ISO 8601 format: YYYY-MM-DDTHH:MM:SS\r\nExample: 1990-05-15T14:30:00 (May 15, 1990 at 2:30 PM)","required":true,"schema":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."}},{"name":"Timezone","in":"query","description":"IANA timezone identifier for your birth location.\r\nExamples: America/Chicago, Europe/Berlin, Australia/Sydney","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Strongly recommended stable per-calculation key. Retry the same normalized arguments with the same key. Reuse with different arguments is rejected. The quota authority gives one request a short provider claim; concurrent duplicates return 409 without reaching the provider. After a terminal outcome, a same-request replay may deterministically recalculate with zero additional quota debit. Omission remains supported for legacy clients but is not caller-replayable.","schema":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string","example":"calc-client-00000001"},"required":false}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}},"/chiron-return":{"get":{"tags":["HD"],"summary":"Get Chiron Return information and chart (~50 years)","parameters":[{"name":"Api_key","in":"query","description":"Deprecated, unsafe URL credential retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","deprecated":true,"schema":{"type":"string"}},{"name":"Date","in":"query","description":"Your birth date and time in ISO 8601 format: YYYY-MM-DDTHH:MM:SS\r\nExample: 1990-05-15T14:30:00 (May 15, 1990 at 2:30 PM)","required":true,"schema":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."}},{"name":"Timezone","in":"query","description":"IANA timezone identifier for your birth location.\r\nExamples: America/Denver, Europe/Rome, Asia/Singapore","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Strongly recommended stable per-calculation key. Retry the same normalized arguments with the same key. Reuse with different arguments is rejected. The quota authority gives one request a short provider claim; concurrent duplicates return 409 without reaching the provider. After a terminal outcome, a same-request replay may deterministically recalculate with zero additional quota debit. Omission remains supported for legacy clients but is not caller-replayable.","schema":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string","example":"calc-client-00000001"},"required":false}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}},"/progressed-chart":{"get":{"tags":["HD"],"summary":"Get Progressed chart showing evolution over time (secondary progressions)","parameters":[{"name":"Api_key","in":"query","description":"Deprecated, unsafe URL credential retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","deprecated":true,"schema":{"type":"string"}},{"name":"Date","in":"query","description":"Your birth date and time in ISO 8601 format: YYYY-MM-DDTHH:MM:SS\r\nExample: 1990-05-15T14:30:00 (May 15, 1990 at 2:30 PM)","required":true,"schema":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."}},{"name":"Timezone","in":"query","description":"IANA timezone identifier for your birth location.\r\nExamples: America/New_York, Europe/London","required":true,"schema":{"type":"string"}},{"name":"ProgressedTo","in":"query","description":"The date to progress the chart to in ISO 8601 format: YYYY-MM-DDTHH:MM:SS\r\nTypically today's date or a future date you want to explore.\r\nExample: 2024-06-15T12:00:00","required":true,"schema":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."}},{"name":"Idempotency-Key","in":"header","description":"Strongly recommended stable per-calculation key. Retry the same normalized arguments with the same key. Reuse with different arguments is rejected. The quota authority gives one request a short provider claim; concurrent duplicates return 409 without reaching the provider. After a terminal outcome, a same-request replay may deterministically recalculate with zero additional quota debit. Omission remains supported for legacy clients but is not caller-replayable.","schema":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string","example":"calc-client-00000001"},"required":false}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}},"/group-composite":{"post":{"tags":["HD"],"summary":"Get group composite chart for 3 or more people","parameters":[{"name":"Idempotency-Key","in":"header","description":"Strongly recommended stable per-calculation key. Retry the same normalized arguments with the same key. Reuse with different arguments is rejected. The quota authority gives one request a short provider claim; concurrent duplicates return 409 without reaching the provider. After a terminal outcome, a same-request replay may deterministically recalculate with zero additional quota debit. Omission remains supported for legacy clients but is not caller-replayable.","schema":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string","example":"calc-client-00000001"},"required":false}],"requestBody":{"description":"List of members with their birth dates and timezones","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupCompositeRequestDTO"}},"text/json":{"schema":{"$ref":"#/components/schemas/GroupCompositeRequestDTO"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/GroupCompositeRequestDTO"}}}},"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}},"/batch/charts":{"post":{"tags":["HD"],"summary":"Generate multiple charts in a single request","requestBody":{"description":"List of chart requests to process (max 50)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchChartRequestDTO"}},"text/json":{"schema":{"$ref":"#/components/schemas/BatchChartRequestDTO"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/BatchChartRequestDTO"}}}},"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}},"/health":{"get":{"tags":["HDGraph"],"operationId":"Health","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuntimeStatusResponse"}}}}}}},"/ready":{"get":{"tags":["HDGraph"],"operationId":"Readiness","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuntimeStatusResponse"}}}},"503":{"description":"Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuntimeStatusResponse"}}}}}}},"/internal/app-v3/chart":{"post":{"tags":["InternalAppV3"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalAppV3ChartRequestDTO"}},"text/json":{"schema":{"$ref":"#/components/schemas/InternalAppV3ChartRequestDTO"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/InternalAppV3ChartRequestDTO"}}}},"responses":{"200":{"description":"Success"}}}},"/internal/app-v3/birth-locations/search":{"post":{"tags":["InternalAppV3"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalBirthLocationSearchRequestDTO"}},"text/json":{"schema":{"$ref":"#/components/schemas/InternalBirthLocationSearchRequestDTO"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/InternalBirthLocationSearchRequestDTO"}}}},"responses":{"200":{"description":"Success"}}}},"/library/gates":{"get":{"tags":["Library"],"summary":"Get all 64 Human Design gates with summary information","responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}]}},"/library/gates/{gateNumber}":{"get":{"tags":["Library"],"summary":"Get detailed information for a specific gate","parameters":[{"name":"gateNumber","in":"path","description":"Gate number (1-64)","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}]}},"/library/channels":{"get":{"tags":["Library"],"summary":"Get all 36 Human Design channels with summary information","responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}]}},"/library/channels/{channelId}":{"get":{"tags":["Library"],"summary":"Get detailed information for a specific channel","parameters":[{"name":"channelId","in":"path","description":"Channel identifier (e.g., \"1-8\" or \"8-1\")","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}]}},"/library/centers":{"get":{"tags":["Library"],"summary":"Get all 9 Human Design centers with summary information","responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}]}},"/library/centers/{centerName}":{"get":{"tags":["Library"],"summary":"Get detailed information for a specific center","parameters":[{"name":"centerName","in":"path","description":"Center name (e.g., \"G\", \"Sacral\", \"Solar Plexus\", \"Head\")","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}]}},"/library/profiles":{"get":{"tags":["Library"],"summary":"Get all 12 Human Design profiles with summary information","responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}]}},"/library/profiles/{profileId}":{"get":{"tags":["Library"],"summary":"Get detailed information for a specific profile","parameters":[{"name":"profileId","in":"path","description":"Profile identifier (e.g., \"1/3\", \"4-6\", \"51\")","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}]}},"/mcp":{"post":{"tags":["MCP compatibility"],"summary":"Deprecated Streamable HTTP MCP compatibility proxy","description":"Transparent compatibility proxy. New clients must use POST https://mcp.humandesign.ai/. Authenticated requests are not redirected.","requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"required":["jsonrpc","id","method","params"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}]},"method":{"enum":["initialize"],"type":"string"},"params":{"required":["protocolVersion","capabilities","clientInfo"],"type":"object","properties":{"protocolVersion":{"type":"string","example":"2025-11-25"},"capabilities":{"type":"object"},"clientInfo":{"type":"object"}}}},"additionalProperties":false},{"required":["jsonrpc","method"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"method":{"enum":["notifications/initialized"],"type":"string"},"params":{"type":"object"}},"additionalProperties":false},{"required":["jsonrpc","id","method"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}]},"method":{"enum":["ping"],"type":"string"},"params":{"type":"object"}},"additionalProperties":false},{"required":["jsonrpc","id","method"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}]},"method":{"enum":["tools/list"],"type":"string"},"params":{"type":"object"}},"additionalProperties":false},{"required":["jsonrpc","id","method","params"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}]},"method":{"enum":["tools/call"],"type":"string"},"params":{"oneOf":[{"required":["name"],"type":"object","properties":{"name":{"enum":["resolve_timezone"],"type":"string"},"arguments":{"required":["query"],"type":"object","properties":{"query":{"type":"string"},"lang":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["generate_chart"],"type":"string"},"arguments":{"required":["birthDateTime","timezone","idempotencyKey"],"type":"object","properties":{"birthDateTime":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."},"timezone":{"type":"string"},"detailLevel":{"enum":["core","full"],"type":"string","default":"core"},"idempotencyKey":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string"}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["generate_composite_chart"],"type":"string"},"arguments":{"required":["personA","personB","idempotencyKey"],"type":"object","properties":{"personA":{"required":["birthDateTime","timezone"],"type":"object","properties":{"birthDateTime":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."},"timezone":{"type":"string"}},"additionalProperties":false},"personB":{"required":["birthDateTime","timezone"],"type":"object","properties":{"birthDateTime":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."},"timezone":{"type":"string"}},"additionalProperties":false},"idempotencyKey":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string"}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["get_reference_item"],"type":"string"},"arguments":{"required":["kind","id"],"type":"object","properties":{"kind":{"enum":["gate","channel","center","profile"],"type":"string"},"id":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["get_transits"],"type":"string"},"arguments":{"required":["date","idempotencyKey"],"type":"object","properties":{"date":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Transit local wall time. Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."},"timezone":{"type":"string"},"natalChart":{"required":["birthDateTime","timezone"],"type":"object","properties":{"birthDateTime":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."},"timezone":{"type":"string"}},"additionalProperties":false},"idempotencyKey":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string"}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["search_celebrities"],"type":"string"},"arguments":{"required":["query"],"type":"object","properties":{"query":{"type":"string"},"limit":{"maximum":100,"minimum":1,"type":"integer","default":10}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["account_get_context"],"type":"string"},"arguments":{"type":"object","properties":{"workspaceId":{"type":"string","format":"uuid"}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["account_get_usage"],"type":"string"},"arguments":{"type":"object","properties":{"workspaceId":{"type":"string","format":"uuid"}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["chart_get_primary"],"type":"string"},"arguments":{"type":"object","additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["chart_generate"],"type":"string"},"arguments":{"required":["birthDate","birthTimeUnknown","birthLocation","mode","idempotencyKey"],"type":"object","properties":{"birthDate":{"type":"string","format":"date"},"birthTime":{"pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$","type":"string","description":"Required unless birthTimeUnknown is true; omit when it is true."},"birthTimeUnknown":{"type":"boolean"},"birthLocation":{"maxLength":200,"minLength":2,"type":"string"},"locationId":{"maxLength":160,"minLength":1,"type":"string"},"timezone":{"maxLength":100,"minLength":1,"type":"string"},"mode":{"enum":["preview","execute"],"type":"string"},"idempotencyKey":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string"},"confirmationToken":{"minLength":20,"type":"string","description":"Required for execute and rejected for preview."}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["chart_render"],"type":"string"},"arguments":{"type":"object","properties":{"workspaceId":{"type":"string","format":"uuid"},"resourceType":{"enum":["chart","composite"],"type":"string","default":"chart"},"resourceId":{"minLength":1,"type":"string"},"chartId":{"minLength":1,"type":"string","description":"Deprecated saved-chart alias. Use resourceId.","deprecated":true},"target":{"enum":["primary"],"type":"string"},"format":{"enum":["png","svg"],"type":"string","default":"png"},"layout":{"enum":["square","portrait","report"],"type":"string","default":"portrait"},"theme":{"enum":["light","dark","transparent"],"type":"string","default":"light"}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["library_search"],"type":"string"},"arguments":{"type":"object","properties":{"workspaceId":{"type":"string","format":"uuid"},"search":{"maxLength":160,"type":"string"},"type":{"enum":["all","chart","composite","report"],"type":"string","default":"all"},"folderId":{"type":"string","format":"uuid"},"limit":{"maximum":100,"minimum":1,"type":"integer","default":24},"offset":{"minimum":0,"type":"integer","default":0}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["library_get"],"type":"string"},"arguments":{"required":["kind","id"],"type":"object","properties":{"workspaceId":{"type":"string","format":"uuid"},"kind":{"enum":["chart","composite","report"],"type":"string"},"id":{"minLength":1,"type":"string"}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["library_organize"],"type":"string"},"arguments":{"required":["idempotencyKey","action"],"type":"object","properties":{"workspaceId":{"type":"string","format":"uuid"},"idempotencyKey":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string"},"action":{"enum":["create_folder","rename_folder","delete_folder","assign_item","clear_item_folder"],"type":"string"},"name":{"maxLength":120,"type":"string"},"folderId":{"type":"string","format":"uuid"},"itemId":{"type":"string"},"itemKind":{"enum":["chart","composite","report"],"type":"string"},"executionMode":{"enum":["preview","execute"],"type":"string","default":"execute"},"confirmationToken":{"minLength":20,"type":"string"}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["operation_get"],"type":"string"},"arguments":{"required":["operationId"],"type":"object","properties":{"workspaceId":{"type":"string","format":"uuid"},"operationId":{"type":"string","format":"uuid"}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["operation_cancel"],"type":"string"},"arguments":{"required":["idempotencyKey","operationId"],"type":"object","properties":{"workspaceId":{"type":"string","format":"uuid"},"idempotencyKey":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string"},"operationId":{"type":"string","format":"uuid"}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["report_list_templates"],"type":"string"},"arguments":{"type":"object","properties":{"workspaceId":{"type":"string","format":"uuid"}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["report_get"],"type":"string"},"arguments":{"required":["reportId"],"type":"object","properties":{"workspaceId":{"type":"string","format":"uuid"},"reportId":{"minLength":1,"type":"string"}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["builder_project_list"],"type":"string"},"arguments":{"type":"object","properties":{"workspaceId":{"type":"string","format":"uuid"}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["builder_project_get"],"type":"string"},"arguments":{"required":["projectId"],"type":"object","properties":{"workspaceId":{"type":"string","format":"uuid"},"projectId":{"type":"string","format":"uuid"}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["builder_plan_get"],"type":"string"},"arguments":{"required":["projectId"],"type":"object","properties":{"workspaceId":{"type":"string","format":"uuid"},"projectId":{"type":"string","format":"uuid"}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["builder_run_get"],"type":"string"},"arguments":{"required":["projectId"],"type":"object","properties":{"workspaceId":{"type":"string","format":"uuid"},"projectId":{"type":"string","format":"uuid"}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["builder_run_cancel"],"type":"string"},"arguments":{"required":["idempotencyKey","projectId"],"type":"object","properties":{"workspaceId":{"type":"string","format":"uuid"},"idempotencyKey":{"maxLength":160,"minLength":8,"pattern":"^[A-Za-z0-9._:-]{8,160}$","type":"string"},"projectId":{"type":"string","format":"uuid"}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["builder_preview_get"],"type":"string"},"arguments":{"required":["projectId"],"type":"object","properties":{"workspaceId":{"type":"string","format":"uuid"},"projectId":{"type":"string","format":"uuid"}},"additionalProperties":false}},"additionalProperties":false},{"required":["name"],"type":"object","properties":{"name":{"enum":["builder_asset_list"],"type":"string"},"arguments":{"required":["projectId"],"type":"object","properties":{"workspaceId":{"type":"string","format":"uuid"},"projectId":{"type":"string","format":"uuid"}},"additionalProperties":false}},"additionalProperties":false}]}},"additionalProperties":false}]}}},"required":true},"responses":{"200":{"description":"JSON-RPC response","headers":{"Deprecation":{"schema":{"type":"string","example":"true"}},"Sunset":{"schema":{"type":"string","format":"http-date"}},"Link":{"schema":{"type":"string","example":"<https://mcp.humandesign.ai/>; rel=\"successor-version\""}}},"content":{"application/json":{"schema":{"oneOf":[{"required":["jsonrpc","id","result"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}]},"result":{"type":"object","properties":{"protocolVersion":{"type":"string"},"capabilities":{"type":"object"},"serverInfo":{"type":"object"},"tools":{"type":"array","items":{"required":["name","inputSchema"],"type":"object","properties":{"name":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"inputSchema":{"type":"object"},"outputSchema":{"type":"object"},"annotations":{"type":"object"}}}},"content":{"type":"array","items":{"required":["type"],"type":"object","properties":{"type":{"enum":["text","image","resource_link","resource"],"type":"string"},"text":{"type":"string"},"data":{"type":"string"},"mimeType":{"type":"string"},"uri":{"type":"string","format":"uri"},"name":{"type":"string"},"resource":{"type":"object"}},"description":"MCP text, image, resource-link, or embedded-resource content block."}},"structuredContent":{"required":["version"],"type":"object","properties":{"version":{"enum":["v1"],"type":"string"},"tool":{"type":"string"},"ok":{"type":"boolean"},"data":{"oneOf":[{"type":"object"},{"type":"array","items":{}}],"nullable":true},"meta":{"required":["surface","units","chargedUnits","quotaOutcome","idempotencyReplayable","quota"],"type":"object","properties":{"surface":{"type":"string"},"operation":{"type":"string"},"requiredTier":{"type":"string"},"units":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"chargedUnits":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"quotaOutcome":{"enum":["charged","not_charged","uncertain","replayed"],"type":"string"},"idempotentReplay":{"type":"boolean","nullable":true},"idempotencyReplayable":{"type":"boolean"},"currentTier":{"type":"string"},"membershipLevel":{"type":"integer","nullable":true},"membershipName":{"type":"string"},"quota":{"type":"object"},"tool":{"type":"object","nullable":true}},"nullable":true},"billing":{"type":"object","nullable":true},"quota":{"type":"object","nullable":true},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"nullable":true}},"description":"Versioned structured tool result. Calculation tools use the Agent v1 envelope; account-connected tools use a compatible versioned platform envelope."},"isError":{"type":"boolean"}},"description":"Method-specific MCP result. Tool calls include content and structuredContent; tools/list includes tool definitions."}},"additionalProperties":false},{"required":["jsonrpc","id","error"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}],"nullable":true},"error":{"required":["code","message"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"nullable":true}}}},"additionalProperties":false}]}}}},"202":{"description":"JSON-RPC notification accepted; no response body","headers":{"Deprecation":{"schema":{"type":"string","example":"true"}},"Sunset":{"schema":{"type":"string","format":"http-date"}},"Link":{"schema":{"type":"string","example":"<https://mcp.humandesign.ai/>; rel=\"successor-version\""}}}},"400":{"description":"Malformed JSON-RPC request","headers":{"Deprecation":{"schema":{"type":"string","example":"true"}},"Sunset":{"schema":{"type":"string","format":"http-date"}},"Link":{"schema":{"type":"string","example":"<https://mcp.humandesign.ai/>; rel=\"successor-version\""}}},"content":{"application/json":{"schema":{"oneOf":[{"required":["jsonrpc","id","result"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}]},"result":{"type":"object","properties":{"protocolVersion":{"type":"string"},"capabilities":{"type":"object"},"serverInfo":{"type":"object"},"tools":{"type":"array","items":{"required":["name","inputSchema"],"type":"object","properties":{"name":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"inputSchema":{"type":"object"},"outputSchema":{"type":"object"},"annotations":{"type":"object"}}}},"content":{"type":"array","items":{"required":["type"],"type":"object","properties":{"type":{"enum":["text","image","resource_link","resource"],"type":"string"},"text":{"type":"string"},"data":{"type":"string"},"mimeType":{"type":"string"},"uri":{"type":"string","format":"uri"},"name":{"type":"string"},"resource":{"type":"object"}},"description":"MCP text, image, resource-link, or embedded-resource content block."}},"structuredContent":{"required":["version"],"type":"object","properties":{"version":{"enum":["v1"],"type":"string"},"tool":{"type":"string"},"ok":{"type":"boolean"},"data":{"oneOf":[{"type":"object"},{"type":"array","items":{}}],"nullable":true},"meta":{"required":["surface","units","chargedUnits","quotaOutcome","idempotencyReplayable","quota"],"type":"object","properties":{"surface":{"type":"string"},"operation":{"type":"string"},"requiredTier":{"type":"string"},"units":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"chargedUnits":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"quotaOutcome":{"enum":["charged","not_charged","uncertain","replayed"],"type":"string"},"idempotentReplay":{"type":"boolean","nullable":true},"idempotencyReplayable":{"type":"boolean"},"currentTier":{"type":"string"},"membershipLevel":{"type":"integer","nullable":true},"membershipName":{"type":"string"},"quota":{"type":"object"},"tool":{"type":"object","nullable":true}},"nullable":true},"billing":{"type":"object","nullable":true},"quota":{"type":"object","nullable":true},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"nullable":true}},"description":"Versioned structured tool result. Calculation tools use the Agent v1 envelope; account-connected tools use a compatible versioned platform envelope."},"isError":{"type":"boolean"}},"description":"Method-specific MCP result. Tool calls include content and structuredContent; tools/list includes tool definitions."}},"additionalProperties":false},{"required":["jsonrpc","id","error"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}],"nullable":true},"error":{"required":["code","message"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"nullable":true}}}},"additionalProperties":false}]}}}},"401":{"description":"Missing or invalid credential","headers":{"Deprecation":{"schema":{"type":"string","example":"true"}},"Sunset":{"schema":{"type":"string","format":"http-date"}},"Link":{"schema":{"type":"string","example":"<https://mcp.humandesign.ai/>; rel=\"successor-version\""}}},"content":{"application/json":{"schema":{"oneOf":[{"required":["jsonrpc","id","result"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}]},"result":{"type":"object","properties":{"protocolVersion":{"type":"string"},"capabilities":{"type":"object"},"serverInfo":{"type":"object"},"tools":{"type":"array","items":{"required":["name","inputSchema"],"type":"object","properties":{"name":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"inputSchema":{"type":"object"},"outputSchema":{"type":"object"},"annotations":{"type":"object"}}}},"content":{"type":"array","items":{"required":["type"],"type":"object","properties":{"type":{"enum":["text","image","resource_link","resource"],"type":"string"},"text":{"type":"string"},"data":{"type":"string"},"mimeType":{"type":"string"},"uri":{"type":"string","format":"uri"},"name":{"type":"string"},"resource":{"type":"object"}},"description":"MCP text, image, resource-link, or embedded-resource content block."}},"structuredContent":{"required":["version"],"type":"object","properties":{"version":{"enum":["v1"],"type":"string"},"tool":{"type":"string"},"ok":{"type":"boolean"},"data":{"oneOf":[{"type":"object"},{"type":"array","items":{}}],"nullable":true},"meta":{"required":["surface","units","chargedUnits","quotaOutcome","idempotencyReplayable","quota"],"type":"object","properties":{"surface":{"type":"string"},"operation":{"type":"string"},"requiredTier":{"type":"string"},"units":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"chargedUnits":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"quotaOutcome":{"enum":["charged","not_charged","uncertain","replayed"],"type":"string"},"idempotentReplay":{"type":"boolean","nullable":true},"idempotencyReplayable":{"type":"boolean"},"currentTier":{"type":"string"},"membershipLevel":{"type":"integer","nullable":true},"membershipName":{"type":"string"},"quota":{"type":"object"},"tool":{"type":"object","nullable":true}},"nullable":true},"billing":{"type":"object","nullable":true},"quota":{"type":"object","nullable":true},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"nullable":true}},"description":"Versioned structured tool result. Calculation tools use the Agent v1 envelope; account-connected tools use a compatible versioned platform envelope."},"isError":{"type":"boolean"}},"description":"Method-specific MCP result. Tool calls include content and structuredContent; tools/list includes tool definitions."}},"additionalProperties":false},{"required":["jsonrpc","id","error"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}],"nullable":true},"error":{"required":["code","message"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"nullable":true}}}},"additionalProperties":false}]}}}},"403":{"description":"Origin, tier, or entitlement rejected","headers":{"Deprecation":{"schema":{"type":"string","example":"true"}},"Sunset":{"schema":{"type":"string","format":"http-date"}},"Link":{"schema":{"type":"string","example":"<https://mcp.humandesign.ai/>; rel=\"successor-version\""}}},"content":{"application/json":{"schema":{"oneOf":[{"required":["jsonrpc","id","result"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}]},"result":{"type":"object","properties":{"protocolVersion":{"type":"string"},"capabilities":{"type":"object"},"serverInfo":{"type":"object"},"tools":{"type":"array","items":{"required":["name","inputSchema"],"type":"object","properties":{"name":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"inputSchema":{"type":"object"},"outputSchema":{"type":"object"},"annotations":{"type":"object"}}}},"content":{"type":"array","items":{"required":["type"],"type":"object","properties":{"type":{"enum":["text","image","resource_link","resource"],"type":"string"},"text":{"type":"string"},"data":{"type":"string"},"mimeType":{"type":"string"},"uri":{"type":"string","format":"uri"},"name":{"type":"string"},"resource":{"type":"object"}},"description":"MCP text, image, resource-link, or embedded-resource content block."}},"structuredContent":{"required":["version"],"type":"object","properties":{"version":{"enum":["v1"],"type":"string"},"tool":{"type":"string"},"ok":{"type":"boolean"},"data":{"oneOf":[{"type":"object"},{"type":"array","items":{}}],"nullable":true},"meta":{"required":["surface","units","chargedUnits","quotaOutcome","idempotencyReplayable","quota"],"type":"object","properties":{"surface":{"type":"string"},"operation":{"type":"string"},"requiredTier":{"type":"string"},"units":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"chargedUnits":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"quotaOutcome":{"enum":["charged","not_charged","uncertain","replayed"],"type":"string"},"idempotentReplay":{"type":"boolean","nullable":true},"idempotencyReplayable":{"type":"boolean"},"currentTier":{"type":"string"},"membershipLevel":{"type":"integer","nullable":true},"membershipName":{"type":"string"},"quota":{"type":"object"},"tool":{"type":"object","nullable":true}},"nullable":true},"billing":{"type":"object","nullable":true},"quota":{"type":"object","nullable":true},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"nullable":true}},"description":"Versioned structured tool result. Calculation tools use the Agent v1 envelope; account-connected tools use a compatible versioned platform envelope."},"isError":{"type":"boolean"}},"description":"Method-specific MCP result. Tool calls include content and structuredContent; tools/list includes tool definitions."}},"additionalProperties":false},{"required":["jsonrpc","id","error"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}],"nullable":true},"error":{"required":["code","message"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"nullable":true}}}},"additionalProperties":false}]}}}},"406":{"description":"Unsupported Accept header","headers":{"Deprecation":{"schema":{"type":"string","example":"true"}},"Sunset":{"schema":{"type":"string","format":"http-date"}},"Link":{"schema":{"type":"string","example":"<https://mcp.humandesign.ai/>; rel=\"successor-version\""}}},"content":{"application/json":{"schema":{"oneOf":[{"required":["jsonrpc","id","result"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}]},"result":{"type":"object","properties":{"protocolVersion":{"type":"string"},"capabilities":{"type":"object"},"serverInfo":{"type":"object"},"tools":{"type":"array","items":{"required":["name","inputSchema"],"type":"object","properties":{"name":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"inputSchema":{"type":"object"},"outputSchema":{"type":"object"},"annotations":{"type":"object"}}}},"content":{"type":"array","items":{"required":["type"],"type":"object","properties":{"type":{"enum":["text","image","resource_link","resource"],"type":"string"},"text":{"type":"string"},"data":{"type":"string"},"mimeType":{"type":"string"},"uri":{"type":"string","format":"uri"},"name":{"type":"string"},"resource":{"type":"object"}},"description":"MCP text, image, resource-link, or embedded-resource content block."}},"structuredContent":{"required":["version"],"type":"object","properties":{"version":{"enum":["v1"],"type":"string"},"tool":{"type":"string"},"ok":{"type":"boolean"},"data":{"oneOf":[{"type":"object"},{"type":"array","items":{}}],"nullable":true},"meta":{"required":["surface","units","chargedUnits","quotaOutcome","idempotencyReplayable","quota"],"type":"object","properties":{"surface":{"type":"string"},"operation":{"type":"string"},"requiredTier":{"type":"string"},"units":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"chargedUnits":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"quotaOutcome":{"enum":["charged","not_charged","uncertain","replayed"],"type":"string"},"idempotentReplay":{"type":"boolean","nullable":true},"idempotencyReplayable":{"type":"boolean"},"currentTier":{"type":"string"},"membershipLevel":{"type":"integer","nullable":true},"membershipName":{"type":"string"},"quota":{"type":"object"},"tool":{"type":"object","nullable":true}},"nullable":true},"billing":{"type":"object","nullable":true},"quota":{"type":"object","nullable":true},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"nullable":true}},"description":"Versioned structured tool result. Calculation tools use the Agent v1 envelope; account-connected tools use a compatible versioned platform envelope."},"isError":{"type":"boolean"}},"description":"Method-specific MCP result. Tool calls include content and structuredContent; tools/list includes tool definitions."}},"additionalProperties":false},{"required":["jsonrpc","id","error"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}],"nullable":true},"error":{"required":["code","message"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"nullable":true}}}},"additionalProperties":false}]}}}},"410":{"description":"Legacy MCP compatibility window has ended","headers":{"Deprecation":{"schema":{"type":"string","example":"true"}},"Sunset":{"schema":{"type":"string","format":"http-date"}},"Link":{"schema":{"type":"string","example":"<https://mcp.humandesign.ai/>; rel=\"successor-version\""}}},"content":{"application/json":{"schema":{"oneOf":[{"required":["jsonrpc","id","result"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}]},"result":{"type":"object","properties":{"protocolVersion":{"type":"string"},"capabilities":{"type":"object"},"serverInfo":{"type":"object"},"tools":{"type":"array","items":{"required":["name","inputSchema"],"type":"object","properties":{"name":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"inputSchema":{"type":"object"},"outputSchema":{"type":"object"},"annotations":{"type":"object"}}}},"content":{"type":"array","items":{"required":["type"],"type":"object","properties":{"type":{"enum":["text","image","resource_link","resource"],"type":"string"},"text":{"type":"string"},"data":{"type":"string"},"mimeType":{"type":"string"},"uri":{"type":"string","format":"uri"},"name":{"type":"string"},"resource":{"type":"object"}},"description":"MCP text, image, resource-link, or embedded-resource content block."}},"structuredContent":{"required":["version"],"type":"object","properties":{"version":{"enum":["v1"],"type":"string"},"tool":{"type":"string"},"ok":{"type":"boolean"},"data":{"oneOf":[{"type":"object"},{"type":"array","items":{}}],"nullable":true},"meta":{"required":["surface","units","chargedUnits","quotaOutcome","idempotencyReplayable","quota"],"type":"object","properties":{"surface":{"type":"string"},"operation":{"type":"string"},"requiredTier":{"type":"string"},"units":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"chargedUnits":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"quotaOutcome":{"enum":["charged","not_charged","uncertain","replayed"],"type":"string"},"idempotentReplay":{"type":"boolean","nullable":true},"idempotencyReplayable":{"type":"boolean"},"currentTier":{"type":"string"},"membershipLevel":{"type":"integer","nullable":true},"membershipName":{"type":"string"},"quota":{"type":"object"},"tool":{"type":"object","nullable":true}},"nullable":true},"billing":{"type":"object","nullable":true},"quota":{"type":"object","nullable":true},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"nullable":true}},"description":"Versioned structured tool result. Calculation tools use the Agent v1 envelope; account-connected tools use a compatible versioned platform envelope."},"isError":{"type":"boolean"}},"description":"Method-specific MCP result. Tool calls include content and structuredContent; tools/list includes tool definitions."}},"additionalProperties":false},{"required":["jsonrpc","id","error"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}],"nullable":true},"error":{"required":["code","message"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"nullable":true}}}},"additionalProperties":false}]}}}},"415":{"description":"Unsupported content type","headers":{"Deprecation":{"schema":{"type":"string","example":"true"}},"Sunset":{"schema":{"type":"string","format":"http-date"}},"Link":{"schema":{"type":"string","example":"<https://mcp.humandesign.ai/>; rel=\"successor-version\""}}},"content":{"application/json":{"schema":{"oneOf":[{"required":["jsonrpc","id","result"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}]},"result":{"type":"object","properties":{"protocolVersion":{"type":"string"},"capabilities":{"type":"object"},"serverInfo":{"type":"object"},"tools":{"type":"array","items":{"required":["name","inputSchema"],"type":"object","properties":{"name":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"inputSchema":{"type":"object"},"outputSchema":{"type":"object"},"annotations":{"type":"object"}}}},"content":{"type":"array","items":{"required":["type"],"type":"object","properties":{"type":{"enum":["text","image","resource_link","resource"],"type":"string"},"text":{"type":"string"},"data":{"type":"string"},"mimeType":{"type":"string"},"uri":{"type":"string","format":"uri"},"name":{"type":"string"},"resource":{"type":"object"}},"description":"MCP text, image, resource-link, or embedded-resource content block."}},"structuredContent":{"required":["version"],"type":"object","properties":{"version":{"enum":["v1"],"type":"string"},"tool":{"type":"string"},"ok":{"type":"boolean"},"data":{"oneOf":[{"type":"object"},{"type":"array","items":{}}],"nullable":true},"meta":{"required":["surface","units","chargedUnits","quotaOutcome","idempotencyReplayable","quota"],"type":"object","properties":{"surface":{"type":"string"},"operation":{"type":"string"},"requiredTier":{"type":"string"},"units":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"chargedUnits":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"quotaOutcome":{"enum":["charged","not_charged","uncertain","replayed"],"type":"string"},"idempotentReplay":{"type":"boolean","nullable":true},"idempotencyReplayable":{"type":"boolean"},"currentTier":{"type":"string"},"membershipLevel":{"type":"integer","nullable":true},"membershipName":{"type":"string"},"quota":{"type":"object"},"tool":{"type":"object","nullable":true}},"nullable":true},"billing":{"type":"object","nullable":true},"quota":{"type":"object","nullable":true},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"nullable":true}},"description":"Versioned structured tool result. Calculation tools use the Agent v1 envelope; account-connected tools use a compatible versioned platform envelope."},"isError":{"type":"boolean"}},"description":"Method-specific MCP result. Tool calls include content and structuredContent; tools/list includes tool definitions."}},"additionalProperties":false},{"required":["jsonrpc","id","error"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}],"nullable":true},"error":{"required":["code","message"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"nullable":true}}}},"additionalProperties":false}]}}}},"429":{"description":"Quota or rate limit exceeded","headers":{"Deprecation":{"schema":{"type":"string","example":"true"}},"Sunset":{"schema":{"type":"string","format":"http-date"}},"Link":{"schema":{"type":"string","example":"<https://mcp.humandesign.ai/>; rel=\"successor-version\""}}},"content":{"application/json":{"schema":{"oneOf":[{"required":["jsonrpc","id","result"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}]},"result":{"type":"object","properties":{"protocolVersion":{"type":"string"},"capabilities":{"type":"object"},"serverInfo":{"type":"object"},"tools":{"type":"array","items":{"required":["name","inputSchema"],"type":"object","properties":{"name":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"inputSchema":{"type":"object"},"outputSchema":{"type":"object"},"annotations":{"type":"object"}}}},"content":{"type":"array","items":{"required":["type"],"type":"object","properties":{"type":{"enum":["text","image","resource_link","resource"],"type":"string"},"text":{"type":"string"},"data":{"type":"string"},"mimeType":{"type":"string"},"uri":{"type":"string","format":"uri"},"name":{"type":"string"},"resource":{"type":"object"}},"description":"MCP text, image, resource-link, or embedded-resource content block."}},"structuredContent":{"required":["version"],"type":"object","properties":{"version":{"enum":["v1"],"type":"string"},"tool":{"type":"string"},"ok":{"type":"boolean"},"data":{"oneOf":[{"type":"object"},{"type":"array","items":{}}],"nullable":true},"meta":{"required":["surface","units","chargedUnits","quotaOutcome","idempotencyReplayable","quota"],"type":"object","properties":{"surface":{"type":"string"},"operation":{"type":"string"},"requiredTier":{"type":"string"},"units":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"chargedUnits":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"quotaOutcome":{"enum":["charged","not_charged","uncertain","replayed"],"type":"string"},"idempotentReplay":{"type":"boolean","nullable":true},"idempotencyReplayable":{"type":"boolean"},"currentTier":{"type":"string"},"membershipLevel":{"type":"integer","nullable":true},"membershipName":{"type":"string"},"quota":{"type":"object"},"tool":{"type":"object","nullable":true}},"nullable":true},"billing":{"type":"object","nullable":true},"quota":{"type":"object","nullable":true},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"nullable":true}},"description":"Versioned structured tool result. Calculation tools use the Agent v1 envelope; account-connected tools use a compatible versioned platform envelope."},"isError":{"type":"boolean"}},"description":"Method-specific MCP result. Tool calls include content and structuredContent; tools/list includes tool definitions."}},"additionalProperties":false},{"required":["jsonrpc","id","error"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}],"nullable":true},"error":{"required":["code","message"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"nullable":true}}}},"additionalProperties":false}]}}}},"502":{"description":"Unexpected adapter response","headers":{"Deprecation":{"schema":{"type":"string","example":"true"}},"Sunset":{"schema":{"type":"string","format":"http-date"}},"Link":{"schema":{"type":"string","example":"<https://mcp.humandesign.ai/>; rel=\"successor-version\""}}},"content":{"application/json":{"schema":{"oneOf":[{"required":["jsonrpc","id","result"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}]},"result":{"type":"object","properties":{"protocolVersion":{"type":"string"},"capabilities":{"type":"object"},"serverInfo":{"type":"object"},"tools":{"type":"array","items":{"required":["name","inputSchema"],"type":"object","properties":{"name":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"inputSchema":{"type":"object"},"outputSchema":{"type":"object"},"annotations":{"type":"object"}}}},"content":{"type":"array","items":{"required":["type"],"type":"object","properties":{"type":{"enum":["text","image","resource_link","resource"],"type":"string"},"text":{"type":"string"},"data":{"type":"string"},"mimeType":{"type":"string"},"uri":{"type":"string","format":"uri"},"name":{"type":"string"},"resource":{"type":"object"}},"description":"MCP text, image, resource-link, or embedded-resource content block."}},"structuredContent":{"required":["version"],"type":"object","properties":{"version":{"enum":["v1"],"type":"string"},"tool":{"type":"string"},"ok":{"type":"boolean"},"data":{"oneOf":[{"type":"object"},{"type":"array","items":{}}],"nullable":true},"meta":{"required":["surface","units","chargedUnits","quotaOutcome","idempotencyReplayable","quota"],"type":"object","properties":{"surface":{"type":"string"},"operation":{"type":"string"},"requiredTier":{"type":"string"},"units":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"chargedUnits":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"quotaOutcome":{"enum":["charged","not_charged","uncertain","replayed"],"type":"string"},"idempotentReplay":{"type":"boolean","nullable":true},"idempotencyReplayable":{"type":"boolean"},"currentTier":{"type":"string"},"membershipLevel":{"type":"integer","nullable":true},"membershipName":{"type":"string"},"quota":{"type":"object"},"tool":{"type":"object","nullable":true}},"nullable":true},"billing":{"type":"object","nullable":true},"quota":{"type":"object","nullable":true},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"nullable":true}},"description":"Versioned structured tool result. Calculation tools use the Agent v1 envelope; account-connected tools use a compatible versioned platform envelope."},"isError":{"type":"boolean"}},"description":"Method-specific MCP result. Tool calls include content and structuredContent; tools/list includes tool definitions."}},"additionalProperties":false},{"required":["jsonrpc","id","error"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}],"nullable":true},"error":{"required":["code","message"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"nullable":true}}}},"additionalProperties":false}]}}}},"503":{"description":"Dedicated MCP adapter unavailable","headers":{"Deprecation":{"schema":{"type":"string","example":"true"}},"Sunset":{"schema":{"type":"string","format":"http-date"}},"Link":{"schema":{"type":"string","example":"<https://mcp.humandesign.ai/>; rel=\"successor-version\""}}},"content":{"application/json":{"schema":{"oneOf":[{"required":["jsonrpc","id","result"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}]},"result":{"type":"object","properties":{"protocolVersion":{"type":"string"},"capabilities":{"type":"object"},"serverInfo":{"type":"object"},"tools":{"type":"array","items":{"required":["name","inputSchema"],"type":"object","properties":{"name":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"inputSchema":{"type":"object"},"outputSchema":{"type":"object"},"annotations":{"type":"object"}}}},"content":{"type":"array","items":{"required":["type"],"type":"object","properties":{"type":{"enum":["text","image","resource_link","resource"],"type":"string"},"text":{"type":"string"},"data":{"type":"string"},"mimeType":{"type":"string"},"uri":{"type":"string","format":"uri"},"name":{"type":"string"},"resource":{"type":"object"}},"description":"MCP text, image, resource-link, or embedded-resource content block."}},"structuredContent":{"required":["version"],"type":"object","properties":{"version":{"enum":["v1"],"type":"string"},"tool":{"type":"string"},"ok":{"type":"boolean"},"data":{"oneOf":[{"type":"object"},{"type":"array","items":{}}],"nullable":true},"meta":{"required":["surface","units","chargedUnits","quotaOutcome","idempotencyReplayable","quota"],"type":"object","properties":{"surface":{"type":"string"},"operation":{"type":"string"},"requiredTier":{"type":"string"},"units":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"chargedUnits":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"quotaOutcome":{"enum":["charged","not_charged","uncertain","replayed"],"type":"string"},"idempotentReplay":{"type":"boolean","nullable":true},"idempotencyReplayable":{"type":"boolean"},"currentTier":{"type":"string"},"membershipLevel":{"type":"integer","nullable":true},"membershipName":{"type":"string"},"quota":{"type":"object"},"tool":{"type":"object","nullable":true}},"nullable":true},"billing":{"type":"object","nullable":true},"quota":{"type":"object","nullable":true},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"nullable":true}},"description":"Versioned structured tool result. Calculation tools use the Agent v1 envelope; account-connected tools use a compatible versioned platform envelope."},"isError":{"type":"boolean"}},"description":"Method-specific MCP result. Tool calls include content and structuredContent; tools/list includes tool definitions."}},"additionalProperties":false},{"required":["jsonrpc","id","error"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}],"nullable":true},"error":{"required":["code","message"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"nullable":true}}}},"additionalProperties":false}]}}}}},"deprecated":true,"security":[{"BearerApiKey":[]},{"XApiKey":[]},{"McpOAuth":[]}]},"get":{"tags":["MCP compatibility"],"summary":"Deprecated MCP compatibility route (method not allowed)","description":"Returns 405. Connect clients to POST https://mcp.humandesign.ai/ instead.","responses":{"405":{"description":"Method Not Allowed","headers":{"Allow":{"schema":{"type":"string","example":"POST"}},"Deprecation":{"schema":{"type":"string","example":"true"}},"Sunset":{"schema":{"type":"string","format":"http-date"}},"Link":{"schema":{"type":"string"}}}},"410":{"description":"Legacy MCP compatibility window has ended","headers":{"Deprecation":{"schema":{"type":"string","example":"true"}},"Sunset":{"schema":{"type":"string","format":"http-date"}},"Link":{"schema":{"type":"string","example":"<https://mcp.humandesign.ai/>; rel=\"successor-version\""}}},"content":{"application/json":{"schema":{"oneOf":[{"required":["jsonrpc","id","result"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}]},"result":{"type":"object","properties":{"protocolVersion":{"type":"string"},"capabilities":{"type":"object"},"serverInfo":{"type":"object"},"tools":{"type":"array","items":{"required":["name","inputSchema"],"type":"object","properties":{"name":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"inputSchema":{"type":"object"},"outputSchema":{"type":"object"},"annotations":{"type":"object"}}}},"content":{"type":"array","items":{"required":["type"],"type":"object","properties":{"type":{"enum":["text","image","resource_link","resource"],"type":"string"},"text":{"type":"string"},"data":{"type":"string"},"mimeType":{"type":"string"},"uri":{"type":"string","format":"uri"},"name":{"type":"string"},"resource":{"type":"object"}},"description":"MCP text, image, resource-link, or embedded-resource content block."}},"structuredContent":{"required":["version"],"type":"object","properties":{"version":{"enum":["v1"],"type":"string"},"tool":{"type":"string"},"ok":{"type":"boolean"},"data":{"oneOf":[{"type":"object"},{"type":"array","items":{}}],"nullable":true},"meta":{"required":["surface","units","chargedUnits","quotaOutcome","idempotencyReplayable","quota"],"type":"object","properties":{"surface":{"type":"string"},"operation":{"type":"string"},"requiredTier":{"type":"string"},"units":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"chargedUnits":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"quotaOutcome":{"enum":["charged","not_charged","uncertain","replayed"],"type":"string"},"idempotentReplay":{"type":"boolean","nullable":true},"idempotencyReplayable":{"type":"boolean"},"currentTier":{"type":"string"},"membershipLevel":{"type":"integer","nullable":true},"membershipName":{"type":"string"},"quota":{"type":"object"},"tool":{"type":"object","nullable":true}},"nullable":true},"billing":{"type":"object","nullable":true},"quota":{"type":"object","nullable":true},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"nullable":true}},"description":"Versioned structured tool result. Calculation tools use the Agent v1 envelope; account-connected tools use a compatible versioned platform envelope."},"isError":{"type":"boolean"}},"description":"Method-specific MCP result. Tool calls include content and structuredContent; tools/list includes tool definitions."}},"additionalProperties":false},{"required":["jsonrpc","id","error"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}],"nullable":true},"error":{"required":["code","message"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"nullable":true}}}},"additionalProperties":false}]}}}}},"deprecated":true,"security":[{"BearerApiKey":[]},{"XApiKey":[]},{"McpOAuth":[]}]},"delete":{"tags":["MCP compatibility"],"summary":"Deprecated MCP compatibility route (method not allowed)","description":"Returns 405. Connect clients to POST https://mcp.humandesign.ai/ instead.","responses":{"405":{"description":"Method Not Allowed","headers":{"Allow":{"schema":{"type":"string","example":"POST"}},"Deprecation":{"schema":{"type":"string","example":"true"}},"Sunset":{"schema":{"type":"string","format":"http-date"}},"Link":{"schema":{"type":"string"}}}},"410":{"description":"Legacy MCP compatibility window has ended","headers":{"Deprecation":{"schema":{"type":"string","example":"true"}},"Sunset":{"schema":{"type":"string","format":"http-date"}},"Link":{"schema":{"type":"string","example":"<https://mcp.humandesign.ai/>; rel=\"successor-version\""}}},"content":{"application/json":{"schema":{"oneOf":[{"required":["jsonrpc","id","result"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}]},"result":{"type":"object","properties":{"protocolVersion":{"type":"string"},"capabilities":{"type":"object"},"serverInfo":{"type":"object"},"tools":{"type":"array","items":{"required":["name","inputSchema"],"type":"object","properties":{"name":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"inputSchema":{"type":"object"},"outputSchema":{"type":"object"},"annotations":{"type":"object"}}}},"content":{"type":"array","items":{"required":["type"],"type":"object","properties":{"type":{"enum":["text","image","resource_link","resource"],"type":"string"},"text":{"type":"string"},"data":{"type":"string"},"mimeType":{"type":"string"},"uri":{"type":"string","format":"uri"},"name":{"type":"string"},"resource":{"type":"object"}},"description":"MCP text, image, resource-link, or embedded-resource content block."}},"structuredContent":{"required":["version"],"type":"object","properties":{"version":{"enum":["v1"],"type":"string"},"tool":{"type":"string"},"ok":{"type":"boolean"},"data":{"oneOf":[{"type":"object"},{"type":"array","items":{}}],"nullable":true},"meta":{"required":["surface","units","chargedUnits","quotaOutcome","idempotencyReplayable","quota"],"type":"object","properties":{"surface":{"type":"string"},"operation":{"type":"string"},"requiredTier":{"type":"string"},"units":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"chargedUnits":{"maximum":1,"minimum":0,"type":"integer","nullable":true},"quotaOutcome":{"enum":["charged","not_charged","uncertain","replayed"],"type":"string"},"idempotentReplay":{"type":"boolean","nullable":true},"idempotencyReplayable":{"type":"boolean"},"currentTier":{"type":"string"},"membershipLevel":{"type":"integer","nullable":true},"membershipName":{"type":"string"},"quota":{"type":"object"},"tool":{"type":"object","nullable":true}},"nullable":true},"billing":{"type":"object","nullable":true},"quota":{"type":"object","nullable":true},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"nullable":true}},"description":"Versioned structured tool result. Calculation tools use the Agent v1 envelope; account-connected tools use a compatible versioned platform envelope."},"isError":{"type":"boolean"}},"description":"Method-specific MCP result. Tool calls include content and structuredContent; tools/list includes tool definitions."}},"additionalProperties":false},{"required":["jsonrpc","id","error"],"type":"object","properties":{"jsonrpc":{"enum":["2.0"],"type":"string"},"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}],"nullable":true},"error":{"required":["code","message"],"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"nullable":true}}}},"additionalProperties":false}]}}}}},"deprecated":true,"security":[{"BearerApiKey":[]},{"XApiKey":[]},{"McpOAuth":[]}]}},"/stream/planetary-positions":{"get":{"tags":["Streaming"],"summary":"Stream real-time planetary positions via Server-Sent Events (SSE)","parameters":[{"name":"api_key","in":"query","description":"Deprecated, unsafe URL credential retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","deprecated":true,"schema":{"type":"string"}},{"name":"interval","in":"query","description":"Update interval in seconds (10-3600, default: 60)","schema":{"type":"integer","format":"int32","default":60}}],"responses":{"200":{"description":"Success"}},"security":[{"BearerApiKey":[]},{"XApiKey":[]}],"x-hdai-policy-units":1}}},"components":{"schemas":{"AgentMcpCatalogQuotaDTO":{"type":"object","properties":{"limit":{"type":"integer","format":"int32","nullable":true},"used":{"type":"integer","format":"int32","nullable":true},"remaining":{"type":"integer","format":"int32","nullable":true},"reset":{"type":"string","nullable":true}},"additionalProperties":false},"AgentMcpCatalogResponseDTO":{"required":["currentTier","quota","tools","version"],"type":"object","properties":{"version":{"minLength":1,"type":"string"},"currentTier":{"minLength":1,"type":"string"},"tools":{"type":"array","items":{"$ref":"#/components/schemas/AgentToolDefinitionDTO"}},"quota":{"$ref":"#/components/schemas/AgentMcpCatalogQuotaDTO"}},"additionalProperties":false},"AgentToolDefinitionDTO":{"required":["description","inputSchema","name","title","units"],"type":"object","properties":{"name":{"minLength":1,"type":"string"},"title":{"minLength":1,"type":"string"},"description":{"minLength":1,"type":"string"},"inputSchema":{},"units":{"maximum":1,"minimum":0,"type":"integer","description":"Authoritative calculation quota units consumed by a successful\r\nauthorized execution. Discovery/read tools are zero.","format":"int32"}},"additionalProperties":false},"AgentToolEnvelope":{"type":"object","properties":{"version":{"type":"string","nullable":true},"tool":{"type":"string","nullable":true},"data":{},"meta":{"$ref":"#/components/schemas/AgentToolMetaDTO"},"error":{"$ref":"#/components/schemas/AgentToolError"}},"additionalProperties":false},"AgentToolError":{"type":"object","properties":{"code":{"type":"string","nullable":true},"message":{"type":"string","nullable":true}},"additionalProperties":false},"AgentToolMetaDTO":{"required":["chargedUnits","idempotencyReplayable","quota","quotaOutcome","surface","units"],"type":"object","properties":{"surface":{"minLength":1,"type":"string"},"operation":{"type":"string","nullable":true},"requiredTier":{"type":"string","nullable":true},"units":{"maximum":1,"minimum":0,"type":"integer","format":"int32"},"chargedUnits":{"maximum":1,"minimum":0,"type":"integer","format":"int32","nullable":true},"quotaOutcome":{"minLength":1,"pattern":"^(?:charged|not_charged|uncertain|replayed)$","type":"string"},"idempotentReplay":{"type":"boolean","nullable":true},"idempotencyReplayable":{"type":"boolean"},"currentTier":{"type":"string","nullable":true},"membershipLevel":{"type":"integer","format":"int32","nullable":true},"membershipName":{"type":"string","nullable":true},"quota":{"$ref":"#/components/schemas/AgentToolQuotaDTO"},"tool":{"nullable":true}},"additionalProperties":false},"AgentToolQuotaDTO":{"type":"object","properties":{"limit":{"type":"integer","format":"int32","nullable":true},"used":{"type":"integer","format":"int32","nullable":true},"remaining":{"type":"integer","format":"int32","nullable":true},"reset":{"type":"string","nullable":true}},"additionalProperties":false},"BatchChartItemDTO":{"required":["date","timezone"],"type":"object","properties":{"id":{"type":"string","description":"Optional identifier for this chart (returned in results for easy matching)","nullable":true},"date":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."},"timezone":{"minLength":1,"type":"string","description":"IANA timezone identifier for the birth location.\r\nExamples: America/New_York, Europe/London, Asia/Tokyo, UTC"}},"additionalProperties":false,"description":"Individual chart item within a batch request"},"BatchChartRequestDTO":{"required":["charts"],"type":"object","properties":{"api_key":{"type":"string","description":"Deprecated credential field retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","nullable":true,"deprecated":true},"charts":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/BatchChartItemDTO"},"description":"List of chart requests to process (1-50 charts per batch)"},"version":{"type":"string","description":"Chart version to return: \"v1\", \"v2\", or \"v3\" (default: \"v3\")","nullable":true}},"additionalProperties":false,"description":"Request DTO for batch chart generation (generate multiple charts in one request)"},"CalculationEngineMetadata":{"type":"object","properties":{"name":{"type":"string","nullable":true},"version":{"type":"string","nullable":true}},"additionalProperties":false},"GroupCompositeRequestDTO":{"required":["members"],"type":"object","properties":{"api_key":{"type":"string","description":"Deprecated credential field retained only for compatibility. Use Authorization: Bearer or X-Api-Key.","nullable":true,"deprecated":true},"members":{"minItems":3,"type":"array","items":{"$ref":"#/components/schemas/GroupMemberDTO"},"description":"List of people to include in the group composite (minimum 3 members)"}},"additionalProperties":false,"description":"Request DTO for group composite chart (3+ people)"},"GroupMemberDTO":{"required":["date","timezone"],"type":"object","properties":{"name":{"type":"string","description":"Optional name or identifier for the person (for display in results)","nullable":true},"date":{"pattern":"^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,7})?)?$","type":"string","description":"Local wall time (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS[.fraction]). Do not include Z or a numeric UTC offset; the separate timezone field supplies the IANA zone."},"timezone":{"minLength":1,"type":"string","description":"IANA timezone identifier for the birth location.\r\nExamples: America/New_York, Europe/London, Asia/Tokyo, UTC"}},"additionalProperties":false,"description":"Individual group member for composite analysis"},"InternalAppV3ChartRequestDTO":{"required":["birthDateTime","schemaVersion","timezone"],"type":"object","properties":{"birthDateTime":{"minLength":1,"type":"string"},"timezone":{"minLength":1,"type":"string"},"schemaVersion":{"minLength":1,"type":"string"}},"additionalProperties":false,"description":"Service-to-service request used by the HDAI app's private chart flow.\r\nBirth details belong in the request body, never in a URL."},"InternalBirthLocationSearchRequestDTO":{"required":["query"],"type":"object","properties":{"query":{"minLength":1,"type":"string"}},"additionalProperties":false,"description":"Private birthplace-search request. The query is deliberately body-only so\r\nit is not copied into access logs, browser history, or referrers."},"ProblemDetails":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32","nullable":true},"detail":{"type":"string","nullable":true},"instance":{"type":"string","nullable":true}},"additionalProperties":{}},"RuntimeStatusResponse":{"type":"object","properties":{"status":{"type":"string","nullable":true},"service":{"type":"string","nullable":true},"serviceVersion":{"type":"string","nullable":true},"buildSha":{"type":"string","nullable":true},"environment":{"type":"string","nullable":true},"deploymentId":{"type":"string","nullable":true},"calculationEngine":{"$ref":"#/components/schemas/CalculationEngineMetadata"},"dataVersion":{"type":"string","nullable":true},"timestamp":{"type":"string","format":"date-time"},"missing":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false}},"securitySchemes":{"BearerApiKey":{"type":"http","description":"API key supplied as Authorization: Bearer <api_key>.","scheme":"bearer","bearerFormat":"API key"},"XApiKey":{"type":"apiKey","description":"API key supplied in the X-Api-Key header.","name":"X-Api-Key","in":"header"},"McpOAuth":{"type":"oauth2","description":"HumanDesign.ai OAuth for account-connected tools. Clients request only identity/session scopes; chart, library, report, and Builder capabilities are server-derived from membership, role, workspace grant, entitlement, and rollout state, then exposed by tools/list.","flows":{"authorizationCode":{"authorizationUrl":"https://mcp.humandesign.ai/oauth/authorize","tokenUrl":"https://mcp.humandesign.ai/oauth/token","scopes":{"email":"Read the signed-in account email for identity linking.","profile":"Read the signed-in account profile identity.","offline_access":"Issue a rotating refresh token for reconnection."}}}}}}}