Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Exist.io API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fexist.io%2Fexist-io" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fexist.io%2Fexist-io" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Exist.io API.
Read a user's aggregated daily attribute values across mood, sleep, activity, and productivity metrics
Fetch generated insights and trend correlations Exist computes from the user's tracked data
Acquire ownership of an attribute so an integration can write daily values to it
Increment or set values on owned attributes such as custom counters or mood scores
GET STARTED
Retrieve attribute templates to discover which standardised metrics Exist supports
Pull rolling averages and historical correlation pairs for self-reflection summaries
Patterns agents use Exist.io API for, with concrete tasks.
★ Personal Analytics Dashboard Sync
Pull a user's Exist.io profile, attribute values, and insights into a personal dashboard or journaling app. The /api/2/attributes/with-values endpoint returns combined metadata and recent values in a single call, while /api/2/insights surfaces narrative insights Exist has generated. Useful for quantified-self apps that want a unified view of mood, sleep, activity, and custom metrics without integrating each underlying source separately.
Call GET /api/2/attributes/with-values to fetch the user's last 30 days of mood, sleep, and step values, then call GET /api/2/insights to retrieve any insights generated this week.
Custom Habit Tracking Integration
Acquire ownership of a custom attribute through /api/2/attributes/acquire and write daily values back via /api/2/attributes/update or /api/2/attributes/increment. This lets a habit tracker, journaling app, or smart-home integration contribute new data into the user's Exist timeline so it can be correlated with the rest of their tracked metrics.
Call POST /api/2/attributes/acquire to claim a meditation_minutes attribute, then call POST /api/2/attributes/update with today's value of 20 minutes.
Correlation and Insight Extraction
Use /api/2/correlations and /api/2/correlations/combo to surface statistically significant relationships Exist has detected between attributes, such as caffeine intake versus sleep score. Combined with /api/2/averages, this powers reflection prompts or weekly review summaries in a coaching agent.
Call GET /api/2/correlations to list the user's strongest correlations and pick the top three to summarise in a weekly review email.
AI Reflection Agent via Jentic
An AI coaching agent loads Exist.io operations through Jentic, then on each weekly schedule pulls attribute values, insights, and correlations to draft a personalised reflection. Through Jentic the agent searches by intent ("read my exist.io insights") and receives the right operation schema, with bearer credentials kept in your Jentic One instance rather than embedded in the agent.
Through Jentic, search 'read exist.io attribute values', load the GET /api/2/attributes/with-values operation, execute it for the past seven days, and summarise mood and sleep trends.
14 endpoints — jentic publishes the only available openapi specification for exist.
METHOD
PATH
DESCRIPTION
/api/2/accounts/profile
Get the authenticated user's profile
/api/2/attributes/with-values
List attributes with recent values
/api/2/insights
Get generated insights
/api/2/correlations
List discovered correlations
/api/2/attributes/acquire
Acquire an attribute for writing
/api/2/attributes/update
Update values on owned attributes
/api/2/attributes/increment
Increment values on owned attributes
/api/2/accounts/profile
Get the authenticated user's profile
/api/2/attributes/with-values
List attributes with recent values
/api/2/insights
Get generated insights
/api/2/correlations
List discovered correlations
/api/2/attributes/acquire
Acquire an attribute for writing
/api/2/attributes/update
Update values on owned attributes
/api/2/attributes/increment
Increment values on owned attributes
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the Exist.io API by hand means learning its bearer token auth and tracking the profile, attribute, insight, and correlation endpoints under /api/2 yourself. Through Jentic you install once, import Exist.io from the API Directory, store the token once, and your agent calls it.
Permission scoping
Exist.io identifies attributes in the request body rather than the URL path, so scope the agent to the operations it needs, such as reading insights or updating an attribute value. Actions like acquiring or incrementing attributes stay out of the allowed set unless you add them.
Credential isolation
Your Exist.io bearer token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'read exist.io insights' or 'update an exist attribute', and Jentic returns the matching Exist.io operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Exist.io API through Jentic.
Why is there no official OpenAPI spec for Exist.io API?
Exist.io does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Exist.io API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.
What authentication does the Exist.io API use?
The Exist.io API uses HTTP bearer token authentication. You pass an Authorization: Bearer <token> header where the token is either a personal access token or an OAuth2-issued token. Through Jentic the token is held in the encrypted vault and only scoped credentials are issued to the agent at execution time, so the raw token never enters agent context.
Can I write data into a user's Exist.io account with this API?
Yes, but only for attributes your client owns. Call POST /api/2/attributes/acquire to claim ownership of a custom or supported attribute, then use POST /api/2/attributes/update or POST /api/2/attributes/increment to write daily values. Attributes already owned by another integration cannot be written until they are released.
What insights and correlations are available?
GET /api/2/insights returns the narrative insights Exist generates, GET /api/2/correlations returns the strongest detected attribute pairs with their correlation strength, and GET /api/2/correlations/combo lets you query a specific pair. GET /api/2/averages returns rolling averages for an attribute.
How do I read a user's mood values for the last week through Jentic?
Run pip install jentic, then use the async client to search 'read exist.io attribute values', load the returned GET /api/2/attributes/with-values operation, and execute with attributes=mood and limit=7. Jentic returns the parsed response with no manual auth handling required.
What are the rate limits for the Exist.io API?
The OpenAPI spec does not declare rate limits. Exist.io applies per-user limits in production; treat 429 responses as authoritative and back off using the Retry-After header when present.
Can I limit what my agent is allowed to do with the Exist.io API?
Yes. Because you host Jentic One yourself, your own rules decide which Exist.io operations and credentials the agent may use, so you can allow read-only calls such as GET /api/2/attributes/with-values, GET /api/2/insights, and GET /api/2/correlations while keeping everything else off. Since Exist.io identifies attributes in the request body rather than the URL path, you scope by operation: write actions like POST /api/2/attributes/acquire, /api/2/attributes/update, and /api/2/attributes/increment stay out of the allowed set unless you add them. Your bearer token is injected only for the operations you have approved, so the agent cannot call an endpoint you have not enabled.
Know of an official OpenAPI document? Contribute it →
For Agents
Read a user's aggregated personal analytics data from Exist.io, surface insights and correlations, and write back values for owned attributes such as mood, productivity, or custom metrics.
Use for: I need to read my Exist.io mood and productivity values for the last week, Fetch the daily insights Exist generated for my user account, Retrieve the correlations Exist found between my sleep and mood, Acquire a custom attribute so my agent can log meditation minutes
Not supported: Does not handle device-level raw fitness data, calendar events, or task management - use for aggregated personal analytics, attribute values, and Exist-generated insights only.
Jentic publishes the only available OpenAPI specification for Exist.io API, keeping it validated and agent-ready. Exist.io is a personal analytics platform that aggregates self-tracking data from services like Fitbit, Apple Health, Oura, RescueTime, and Google Fit into one timeline. The API exposes user profiles, attribute templates, attribute values, daily insights, correlations, and averages, and lets approved clients write data to attributes they own. It is built around 14 endpoints under /api/2/ and uses bearer token authentication for personal-access or OAuth-issued tokens.