DAOTIMING BUSINESS API

The Temporal Regime API.

Alternative data for time itself: Qi Men time-slice boards as structured JSON and ML feature vectors — single moments, batches, or whole time series. Plus the Personal Structure API: four-pillar and purple-star chart data. You build the experience; your users own the consent. We serve the data.

Windows and tendencies, never verdicts — the guardrails ship inside every payload.

PRICING

$500/ quarter
  • · 10,000 Time Slice casts (Temporal Regime: single / batch / series / features)
  • · 2,000 chart builds (Personal Structure; reads included, no per-read metering)
  • · Key valid 92 days; renew by purchasing again — no subscription lock-in
  • · Usage anytime via GET /api/v1/usage

Higher volume, SLA or custom terms — [email protected].

GET ACCESS

Payment via Stripe. Your key arrives by email within a minute of payment — it is shown once and stored only as a hash.

GETTING STARTED — 5 MINUTES

  1. Buy access above. Your key (dt_live_…) arrives by email within a minute — it is shown once; we store only a hash.
  2. Cast your first slice:
curl -X POST https://daotiming.com/api/v1/timeslice \
  -H "Authorization: Bearer dt_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"question":"Is this week the right window to launch?"}'

The response carries the structured board, a 65-dimension feature vector, and a ready-to-use AI prompt — paste the prompt into any frontier model and it reads the slice in DaoTiming’s language. That’s the whole integration.

TEMPORAL REGIME API · FLAGSHIP

Every two hours the configuration of time changes regime. The Temporal Regime API serves that configuration as data — the way market-regime features are served to quant desks. No usable open-source engine for this system exists. Time-slice data describes moments, not people — no personal data is involved.

LAYERENDPOINTWHATQUOTA
L1 · SinglePOST /api/v1/timesliceOne moment → the full board: canon chart, ML features, ready-to-use AI prompt.1 cast
L2 · BatchPOST /api/v1/timeslice/batchUp to 500 moments in one call — "I have twenty years of event timestamps, generate all of it."1 cast each
L3 · Time SeriesPOST /api/v1/timeslice/seriesA start and an end → one slice per double-hour (the board rotates every 2h). Up to 2,000 slices per request.1 cast/slice
L4 · Featuresformat: "features"Available on all three: the board as a 65-dimension numeric vector with a self-describing schema. One row per slice — drop it straight into a training pipeline.included

PERSONAL STRUCTURE API

Four-pillar and purple-star chart data for consenting individuals — raw facts, derived mechanics, and the quantitative series.

POST /api/v1/chartRegister a four-pillar chart: pillars (3LP), hidden stems with fractional weights, Ten Aspects, element balance, seasonal command, rooting facts.1 build
GET /api/v1/chart/{id}/year/{yyyy}One year, full mechanics: Luck Pillar, annual pillar, 12 solar-term monthly windows, annual transformations + seats, activated threads, relation events, flow layer, full purple-star board as data.included
GET /api/v1/chart/{id}/seriesSeven dimensions × 1,200 monthly samples + 100 yearly candles (true OHLC) + decade chapters.included
GET /api/v1/chart/{id}/prompt/{yyyy}The three-layer structured packet our Life Terminal ships — glossary, reading instructions, binding limitations. Paste into any frontier model.included
GET /api/v1/usagePlan status: build + cast quotas, usage, expiry.free
What the API deliberately does not serve: the mapping registry that turns charts into levels, any visual rendering (the Terminal, boards, poster, animations), and the Terminal service layer (hour calibration, lifetime hosting, the public track record). The API serves data. The Life Terminal is the instrument built on it — not available through the API, at any volume.

INTEGRATION MANUAL

Base URLhttps://daotiming.com/api/v1. All responses are UTF-8 JSON.

Authentication — every request carries Authorization: Bearer dt_live_…. The key arrives by email at purchase, is shown once, and is stored only as a hash.

Key lifetime — a key is valid for 92 days from purchase, then expires (requests return 403). Renew by purchasing again; there is no auto-renewal and no subscription to cancel.

Quota — one cast per Time Slice board and one build per newly registered chart; batch and series claim their casts atomically up front, and any cast is refunded if the engine fails to return it. Re-registering an identical chart is free. Reads (year / series / prompt) are unmetered. Check remaining quota anytime with GET /api/v1/usage.

Limits — batch ≤ 500 moments, time-series ≤ 2,000 slices per request (chunk longer ranges). A 429 means your quarterly quota is spent — it is not a per-second rate limit.

Versioning — the path carries the major version (/v1). Field additions are backward-compatible; any breaking change ships under a new version, and the old one keeps running.

Language — all text output uses window language: structural tendencies, never verdicts.

POST /api/v1/timeslice

Casts one Time Slice (Qi Men) board. Returns everything an integration needs for one moment.

FIELDTYPENOTE
datetimestring · optionalISO-8601 moment (e.g. "2026-07-13T20:00:00Z"). Defaults to now. Range 1900–2100. The board rotates per double-hour.
formatstring · optional"canon" (structured board, DaoTiming English) · "features" (numeric vector) · "prompt" (AI prompt string) · "full" (all three + display projection). Default "full".
questionstring · optionalThe plain-language question (≤500 chars). Woven into the AI prompt.
mode"basic"|"advanced" · optionalAI-prompt depth. "advanced" carries the full pattern layer.

Returns: JSON { datetimeUsed, chart?, features?, prompt?, display? } per format. chart = cycle (Yang/Yin), Cycle Number, Cycle Anchor, Concealed Stem, Chief Field/Zone, both Horses, casting pillars (3LP), and all nine palaces (Nine Fields / Eight Zones / Eight Actors / Heaven+Earth+Shadow stems) with an embedded glossary.

curl -X POST https://daotiming.com/api/v1/timeslice \
  -H "Authorization: Bearer dt_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"datetime":"2026-07-13T20:00:00Z","question":"Should we sign this week?","mode":"advanced"}'
POST /api/v1/timeslice/batch

Casts up to 500 moments in one call. The whole batch is quota-claimed atomically — it either fits or nothing is charged.

FIELDTYPENOTE
datetimesstring[] · required1–500 ISO-8601 moments.
formatstring · optionalSame four values. Default "canon".

Returns: JSON { count, results: [ per-moment objects as in /timeslice ] }.

curl -X POST https://daotiming.com/api/v1/timeslice/batch \
  -H "Authorization: Bearer dt_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"datetimes":["2025-01-01T09:00:00-05:00","2025-01-01T11:00:00-05:00"],"format":"features"}'
POST /api/v1/timeslice/series

Expands a range into one slice per double-hour and casts them all. 20 years ≈ 87,600 slices — chunk into ≤2,000-slice requests.

FIELDTYPENOTE
startstring · requiredISO-8601 range start.
endstring · requiredISO-8601 range end (exclusive of partial trailing slices).
formatstring · optionalDefault "features" — the time-series story is an ML story.

Returns: JSON { count, sliceMinutes: 120, results: [...] }.

curl -X POST https://daotiming.com/api/v1/timeslice/series \
  -H "Authorization: Bearer dt_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"start":"2026-01-01T00:00:00Z","end":"2026-06-30T23:59:00Z","format":"features"}'
POST /api/v1/chart

Registers a four-pillar chart. The returned chartId keys the other structure endpoints. Re-registering the same birth data is free.

FIELDTYPENOTE
birthDatestring · required"YYYY-MM-DD", 1900–2030. Clock time only — no true solar time (declared in the response).
birthTimestring · required"HH:MM", 24-hour local clock.
gender"male"|"female" · requiredSets the Luck Pillar direction.

Returns: JSON { chartId, natal, endpoints }: birthMeta rule declarations, dayMaster, pillars with per-character element/polarity + hidden stems (fractional weights + Ten Aspects), elementBalance, seasonalContext, rooting, visibleSupport.

curl -X POST https://daotiming.com/api/v1/chart \
  -H "Authorization: Bearer dt_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"birthDate":"1992-04-17","birthTime":"09:30","gender":"female"}'
GET /api/v1/chart/{chartId}/year/{yyyy}

One year’s full mechanics. Unmetered reads. Year range: birth year to +99.

FIELDTYPENOTE
chartIdpathFrom POST /api/v1/chart.
yyyypathCalendar year.

Returns: luckPillar (+boundary notes), annualPillar, 12 solar-term monthlyWindows with fired relations, annualMutagen + seats, activatedThreads, relationEvents (bonding/clash/punishment/piercing/po with magnitudes and hidden-stem participants), flowLayer (proportions + deltas, mixing indices, chain-topology events, absorption verdicts — glossary embedded), ziweiBoard, palaceStates, prosperityFlow, guardrail.

curl https://daotiming.com/api/v1/chart/CHART_ID/year/2026 \
  -H "Authorization: Bearer dt_live_YOUR_KEY"
GET /api/v1/chart/{chartId}/series

The quantitative layer. First call computes (~10–30s) and caches forever.

FIELDTYPENOTE
chartIdpathFrom POST /api/v1/chart.

Returns: dims (7 × 1,200 monthly), candles (100 yearly true-OHLC per dimension + composite), markers, decades, meta, scale note (0–100 within-chart relative levels; cross-person comparison undefined; risk = exposure).

curl https://daotiming.com/api/v1/chart/CHART_ID/series \
  -H "Authorization: Bearer dt_live_YOUR_KEY"
GET /api/v1/chart/{chartId}/prompt/{yyyy}

The flagship personal packet — the same three-layer package the Life Terminal ships.

FIELDTYPENOTE
chartIdpathFrom POST /api/v1/chart.
yyyypathCalendar year.

Returns: JSON { query, prompt }: the fired HLQL clauses + the full text package (rawFacts / derivedMechanics / interpretiveScores, zh↔en legend, reading instructions, binding limitations — Day-Master strength classification is explicitly forbidden).

curl https://daotiming.com/api/v1/chart/CHART_ID/prompt/2026 \
  -H "Authorization: Bearer dt_live_YOUR_KEY"
GET /api/v1/usage

Your plan status. Free.

Returns: plan, company, status, quotaBuilds/usedBuilds/remainingBuilds, quotaCasts/usedCasts/remainingCasts, expiresAt.

curl https://daotiming.com/api/v1/usage \
  -H "Authorization: Bearer dt_live_YOUR_KEY"

ERRORS

400malformed input — the message names the field and the accepted format
401missing, malformed or unknown API key
403key suspended or expired
404unknown chartId — register the chart first
429quota exhausted (builds or casts) — the message says which; contact [email protected] to extend
5xxengine or upstream error — safe to retry

ACCEPTABLE USE POLICY

Permitted uses

  • Personal analysis purchased by the data subject themselves
  • Astrology, human-design and structural-analysis apps serving consenting users
  • Coaches and consultants, with the client's explicit consent
  • Partner and family relationship exploration, all parties consenting
  • Voluntary team-communication exercises — never hiring, firing, promotion or compensation
  • Content platforms generating personalised reflection questions
  • AI assistants reading a user's own data in an ongoing conversation
  • Quantitative research on Temporal Regime features (time-slice data carries no personal information)

Prohibited uses — at any price

  • Employment decisions of any kind: hiring, screening, firing, promotion, compensation
  • Credit, lending, insurance underwriting or pricing, housing, education admissions
  • Law-enforcement, surveillance or government eligibility use
  • Profiling any person without their explicit consent
  • Medical, legal or financial verdicts presented as advice
  • Systematic extraction: enumerating charts to reconstruct the mapping, building derivative datasets for resale, or training models to replicate the engines
  • Building a product substantially similar to the DaoTiming Life Terminal

By purchasing access you attest that every personal chart submitted belongs to a person who has explicitly consented, and that none of the prohibited uses apply. Violation terminates the license immediately, without refund; you indemnify DaoTiming against claims arising from your use. Per-customer usage is logged and auditable.

Outputs are structural descriptions — windows, tendencies, exposure. They are not advice, not predictions of events, and not a consumer report within the meaning of the FCRA. They must never be the basis of a decision with legal or material effect on a person.

DaoTiming Business API — Temporal Regime data + personal structure data