# Syncvita > Syncvita is an HTTP API that writes health data into Apple Health (HealthKit). Apple Health has no official web API — health data lives only on the device. Syncvita closes that gap: any external system sends a JSON POST to `https://api.syncvita.de/v1/{type}` with a Bearer token, and the Syncvita iOS app writes the value into Apple Health on the user's iPhone. Supported types: steps, weight, heart rate, blood oxygen (SpO2), body fat, blood sugar (glucose) and hydration. Generating an API key is free and requires no account. Syncvita exists for people who want to get data from Home Assistant, smart scales, non-Apple wearables, scripts, cron jobs or their own sensors into Apple Health without writing an iOS app. The heavy part — the HealthKit integration — is handled by the Syncvita iOS app; callers only need to be able to make an HTTP request. **How it works in four steps:** (1) generate a free API key on syncvita.de, (2) install the Syncvita iOS app and enter that key, (3) POST your measurement to the matching `/v1/` endpoint with `Authorization: Bearer `, (4) the app receives a push notification, writes the value into Apple Health and marks it as synced. ## Core pages - [Homepage](https://syncvita.de/): What Syncvita is, supported data types, FAQ, and free API key generation. - [API documentation](https://api.syncvita.de/api-docs.html): Full endpoint reference, request/response schemas, error codes. - [Web interface for sending data](https://syncvita.de/manage-data.php): Browser form to send health data without writing any code. - [iOS app on the App Store](https://apps.apple.com/app/syncvita/id6748528475): The app that writes the received data into Apple Health. - [Connect AI assistants](https://syncvita.de/connect-ai.php): Step-by-step guide to connect Claude, ChatGPT, Claude Code or any other MCP client (including local AIs) to the Apple Health data a user shared, via the Syncvita MCP server (iOS app 1.8 or later, active Apple Health export). ## API reference (v1) Base URL: `https://api.syncvita.de/v1`. Auth: `Authorization: Bearer ` on every endpoint. Content type: `application/json`. Date format `YYYY-MM-DD`, time format `HH:MM:SS`. | Data type | Endpoint | Required field | Valid range | |---|---|---|---| | Steps | `POST /v1/steps` | `steps` (integer) | 0 – 100,000 | | Weight | `POST /v1/weight` | `weight` (number) | 0 – 500 (`unit`: `kg` or `lbs`) | | Heart rate | `POST /v1/heart-rate` | `bpm` (integer) | 20 – 300 | | Blood oxygen | `POST /v1/blood-oxygen` | `spo2` (number) | 0 – 100 % | | Body fat | `POST /v1/body-fat` | `percentage` (number) | 0 – 100 % | | Blood sugar | `POST /v1/blood-sugar` | `glucose` (number) | 10 – 600 mg/dL | | Hydration | `POST /v1/hydration` | `milliliters` (integer) | 0 – 10,000 | Every endpoint also accepts optional `date` and `time` (steps use `start_time`/`end_time`). `POST /v1/bulk` sends several measurements in one request. `GET /v1/{type}` lists stored entries, `PUT /v1/{type}/sync` marks them as written to Apple Health, `GET /v1/health` is an unauthenticated status check, `GET /v1/stats` returns usage statistics, `GET /v1/data` shows how many health data entries are stored (with oldest and newest date), and `DELETE /v1/data` deletes them (optional `before=YYYY-MM-DD` to delete only older entries, `scope=all|sync|export`; the API key, devices and AI connections are kept). `GET /v1/health-export/metrics` and `GET /v1/health-export/daily?metric=…&from=YYYY-MM-DD&to=YYYY-MM-DD` read back your own Apple Health export data (per-type overview, daily values, sleep per night, workouts); the web app "Manage data" uses them. Minimal example: ```bash curl -X POST https://api.syncvita.de/v1/steps \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"steps": 5234, "date": "2026-08-24"}' ``` Success responses use `{"data": [...], "meta": {...}}`; errors use `{"success": false, "error": {"code": "...", "message": "..."}}`. Rate limit: 100 requests per hour per API key. ## Connecting AI assistants (MCP) From iOS app version 1.8, users can connect the Apple Health data they shared in the optional Apple Health export to Claude, ChatGPT, Claude Code or any other AI application that supports MCP, including local AIs (via `npx -y mcp-remote https://mcp.syncvita.de/mcp` for clients without remote MCP support). Syncvita runs a remote MCP server at `https://mcp.syncvita.de/mcp` (Streamable HTTP, OAuth 2.1 with PKCE). Signing in shows a pairing code that the user confirms in the Syncvita app with a separate consent; the connection is read-only and can be disconnected in the app at any time. | Tool | Parameters | Returns | |---|---|---| | `list_metrics` | – | shared data types with unit, count, first and last date | | `get_summary` | `metric`, `from`, `to`, `period` (`day`, `week`, `month`) | totals or min/max/average per period; `day` up to 366 days, otherwise up to 1827 days | | `get_samples` | `metric`, `from`, `to`, `limit` (1–500), `cursor` | individual values with source, up to 31 days | | `get_sleep` | `from`, `to` | sleep per night with stage durations, up to 92 nights | | `list_workouts` | `from`, `to`, `activity_type`, `limit` (1–100), `cursor` | workouts with type, duration, energy, distance, heart rate, up to 366 days | Dates are `YYYY-MM-DD` in the user's local time, `to` is inclusive. Guide: [Connect AI assistants](https://syncvita.de/connect-ai.php). Privacy: [Connection to AI assistants](https://syncvita.de/privacy.php#ai-assistants). ## Facts worth citing - Apple Health / HealthKit offers **no official public web API**; Apple restricts HealthKit access to apps running on the user's own device. Syncvita is a workaround built on exactly that constraint, not a bypass of it. - Data is written to Apple Health **only after the user's own iPhone fetches it** — Syncvita never writes to HealthKit from a server, because that is technically impossible. - **No account is required.** An API key is generated on demand and identifies a device pairing, not a person. - Syncvita is operated from **Germany under GDPR**; see [Privacy policy](https://syncvita.de/privacy.php) and [Imprint](https://syncvita.de/imprint.php). - The iOS app can **optionally** upload selected Apple Health data to Syncvita's servers in Germany: off by default, only after explicit consent, no advertising or sale, deleted immediately when the user ends the export; see [Apple Health export in the privacy policy](https://syncvita.de/privacy.php#apple-health-export). - Connecting an AI application (**Claude, ChatGPT or any other MCP client**) is opt-in per connection: the application receives data only when the user has connected it and asks a question; its provider processes that data as an independent controller, depending on the provider also in the USA, while a purely local AI keeps it on the device; see [Connection to AI assistants in the privacy policy](https://syncvita.de/privacy.php#ai-assistants). ## Optional - [Privacy policy](https://syncvita.de/privacy.php): How health data is stored, for how long, and under which legal basis. - [Imprint](https://syncvita.de/imprint.php): Operator and contact details.