{"openapi":"3.1.0","info":{"title":"Biorhythm API","version":"1.0.0","description":"Biorhythm calculation as an API, computed locally and deterministically — a fun, for-entertainment model of three sine-wave cycles that supposedly run from the day you are born: a 23-day physical cycle, a 28-day emotional cycle and a 33-day intellectual cycle, each given by sin(2π·days/period). The cycles endpoint computes the three percentages and their phase (rising, falling or a critical zero-crossing where the cycle changes sign) for a given date, plus the average. The range endpoint returns the daily values over a window of up to 60 days from a start date, ready to plot as three sine waves. The compatibility endpoint compares two birthdates and gives, for each cycle, a defined heuristic compatibility score (1 + cos(2π·Δdays/period))/2 — 100 % when two people's cycles are perfectly in phase and 0 % when exactly opposite — and an overall score. Dates are in YYYY-MM-DD form. Biorhythms have no scientific basis; this is purely an entertainment tool. Everything is computed locally and deterministically, so it is instant and private. Ideal for lifestyle, horoscope, wellness, game and novelty app developers, daily-widget and compatibility tools, and fun dashboards. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is the entertainment biorhythm; for name and birthdate numerology use a numerology API and for star signs a zodiac API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/biorhythm-api","description":"oanor gateway"}],"tags":[{"name":"Biorhythm"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/compatibility":{"get":{"operationId":"get_v1_compatibility","tags":["Biorhythm"],"summary":"Compatibility","description":"","parameters":[{"name":"birthdate1","in":"query","required":true,"description":"First birthdate","schema":{"type":"string"},"example":"2000-01-01"},{"name":"birthdate2","in":"query","required":true,"description":"Second birthdate","schema":{"type":"string"},"example":"1998-06-15"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Compatibility (defined heuristic, for fun): for each cycle, (1 + cos(2π·Δdays/period))/2 — 100 % when two people's cycles are perfectly in phase, 0 % when exactly opposite.","inputs":{"birthdate1":"2000-01-01","birthdate2":"1998-06-15"},"days_apart":565,"overall_compatibility":54.01,"physical_compatibility":4.14,"emotional_compatibility":71.69,"intellectual_compatibility":86.19},"meta":{"timestamp":"2026-06-05T19:50:32.694Z","request_id":"35a81e00-7c02-4f42-9152-d252079cf456"},"status":"ok","message":"Compatibility","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/cycles":{"get":{"operationId":"get_v1_cycles","tags":["Biorhythm"],"summary":"Biorhythm cycles","description":"","parameters":[{"name":"birthdate","in":"query","required":true,"description":"Birthdate (YYYY-MM-DD)","schema":{"type":"string"},"example":"2000-01-01"},{"name":"date","in":"query","required":false,"description":"Target date (YYYY-MM-DD)","schema":{"type":"string"},"example":"2000-02-01"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Biorhythm (for entertainment): value = sin(2π·days/period) with physical 23-day, emotional 28-day and intellectual 33-day cycles. A 'critical' day is a zero crossing where the cycle changes sign.","inputs":{"date":"2000-02-01","birthdate":"2000-01-01"},"physical":{"phase":"falling","percent":81.7},"emotional":{"phase":"rising","percent":62.35},"days_alive":31,"intellectual":{"phase":"rising","percent":-37.17},"average_percent":35.63},"meta":{"timestamp":"2026-06-05T19:50:32.797Z","request_id":"afa3aa7a-f0b8-4ee0-a0eb-d1597a05ad21"},"status":"ok","message":"Biorhythm cycles","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/range":{"get":{"operationId":"get_v1_range","tags":["Biorhythm"],"summary":"Daily series","description":"","parameters":[{"name":"birthdate","in":"query","required":true,"description":"Birthdate (YYYY-MM-DD)","schema":{"type":"string"},"example":"2000-01-01"},{"name":"start","in":"query","required":false,"description":"Start date (YYYY-MM-DD)","schema":{"type":"string"},"example":"2000-02-01"},{"name":"days","in":"query","required":false,"description":"Number of days (max 60)","schema":{"type":"string"},"example":"14"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Daily biorhythm values over the requested window (max 60 days). Plot each cycle as a sine wave to see the chart.","inputs":{"days":14,"start":"2000-02-01","birthdate":"2000-01-01"},"series":[{"date":"2000-02-01","physical":81.7,"emotional":62.35,"days_alive":31,"intellectual":-37.17},{"date":"2000-02-02","physical":63.11,"emotional":78.18,"days_alive":32,"intellectual":-18.93},{"date":"2000-02-03","physical":39.84,"emotional":90.1,"days_alive":33,"intellectual":0},{"date":"2000-02-04","physical":13.62,"emotional":97.49,"days_alive":34,"intellectual":18.93},{"date":"2000-02-05","physical":-13.62,"emotional":100,"days_alive":35,"intellectual":37.17},{"date":"2000-02-06","physical":-39.84,"emotional":97.49,"days_alive":36,"intellectual":54.06},{"date":"2000-02-07","physical":-63.11,"emotional":90.1,"days_alive":37,"intellectual":69.01},{"date":"2000-02-08","physical":-81.7,"emotional":78.18,"days_alive":38,"intellectual":81.46},{"date":"2000-02-09","physical":-94.23,"emotional":62.35,"days_alive":39,"intellectual":90.96},{"date":"2000-02-10","physical":-99.77,"emotional":43.39,"days_alive":40,"intellectual":97.18},{"date":"2000-02-11","physical":-97.91,"emotional":22.25,"days_alive":41,"intellectual":99.89},{"date":"2000-02-12","physical":-88.79,"emotional":0,"days_alive":42,"intellectual":98.98},{"date":"2000-02-13","physical":-73.08,"emotional":-22.25,"days_alive":43,"intellectual":94.5},{"date":"2000-02-14","physical":-51.96,"emotional":-43.39,"days_alive":44,"intellectual":86.6}]},"meta":{"timestamp":"2026-06-05T19:50:32.888Z","request_id":"13a59379-990c-4766-b0d8-5cca77bf3e37"},"status":"ok","message":"Daily series","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Spec","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"notes":"Dates are YYYY-MM-DD. Cycles: physical 23 days, emotional 28 days, intellectual 33 days. Biorhythms have no scientific basis — this is an entertainment tool.","cycles":{"physical":23,"emotional":28,"intellectual":33},"service":"biorhythm-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/range":"Daily biorhythm series over a window (max 60 days).","GET /v1/cycles":"Physical/emotional/intellectual percentages and phase for a date.","GET /v1/compatibility":"Cycle compatibility between two birthdates."},"description":"Biorhythm calculator (for entertainment): physical, emotional and intellectual cycles for a date, a daily series, and the compatibility between two birthdates."},"meta":{"timestamp":"2026-06-05T19:50:32.992Z","request_id":"3b95be4b-7b4b-4e92-8d7a-f867ff280fbc"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":6000,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":300,"monthly_call_quota":50000,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":900,"monthly_call_quota":210000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":2900,"monthly_call_quota":1280000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/biorhythm-api"}