For Agents
Query, upload, and edit fitness activities, gear, laps, and media in a self-hosted Endurain workspace.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Endurain, 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://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | 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 Endurain API.
List a user's activities filtered by week, month, or pagination
Upload an activity file or perform a bulk import of activities
Edit an activity's metadata or change its visibility
Attach and remove media files on a given activity
GET STARTED
Use for: I need to upload a new activity file to my Endurain account, List all my activities for this week, Find every activity logged against a specific bike, Get the laps recorded for a given activity
Not supported: Does not handle real-time GPS streaming, payments, or social-feed publishing — use for managing activities, gear, laps, and media in a self-hosted Endurain instance only.
Jentic publishes the only available OpenAPI specification for Endurain, keeping it validated and agent-ready. Endurain is a self-hosted activity and fitness-tracking platform. The API exposes activities, gear, exercise titles, laps, and media uploads, scoped per user and supporting bulk imports of activity files. Athletes and self-hosters use it to query their training history, attach media to activities, and sync activities programmatically with other tools.
Query gear-linked activities to track equipment usage
Patterns agents use Endurain API for, with concrete tasks.
★ Activity Upload from a Watch Sync
When a fitness watch finishes a workout, an agent uploads the file via POST /api/v1/activities/create/upload so the activity is parsed and stored in Endurain. Bulk catch-up after a gap is handled by POST /api/v1/activities/create/bulkimport. This makes Endurain a destination for athletes who want to keep their data in a self-hosted system instead of a closed cloud.
Upload an FIT file for today's run and confirm the activity was created with non-zero distance
Training History Reporting
Build a weekly or monthly training summary using GET /api/v1/activities/user/{user_id}/week/{week_number} and GET /api/v1/activities/user/{user_id}/thismonth/distances. Athletes get a quick recap and coaches can pull the same view across multiple users. The endpoints are paginated for higher-volume reporting.
Return the total distance and activity count for user_id 5 for the current month
Gear Tracking
Use GET /api/v1/activities/gear/{gear_id} and GET /api/v1/activities/gear/{gear_id}/number to track lifetime mileage and activity count on a specific bike or pair of shoes, so an athlete knows when to replace gear before failure.
Return total distance and activity count for gear_id 3 to determine whether it has crossed a 500 km wear threshold
Agent-Driven Training Assistant
An AI training assistant searches Jentic for 'list this week's activities', loads the Endurain operation, and answers user questions like 'how much did I run this week?' without requiring a custom Endurain client. Editing activity visibility or metadata can be chained into the same agent turn.
When asked 'how much did I run this week?', call the week-distance endpoint for the current user and return the total in km
171 endpoints — jentic publishes the only available openapi specification for endurain, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/api/v1/activities/{activity_id}
Get an activity by ID
/api/v1/activities/create/upload
Create an activity from an uploaded file
/api/v1/activities/create/bulkimport
Bulk import activities
/api/v1/activities/edit
Edit an activity
/api/v1/activities/{activity_id}/delete
Delete an activity
/api/v1/activities/user/{user_id}/week/{week_number}
List a user's activities for a specific week
/api/v1/activities_media/upload/activity_id/{activity_id}
Upload media for an activity
/api/v1/activities/{activity_id}
Get an activity by ID
/api/v1/activities/create/upload
Create an activity from an uploaded file
/api/v1/activities/create/bulkimport
Bulk import activities
/api/v1/activities/edit
Edit an activity
/api/v1/activities/{activity_id}/delete
Delete an activity
Three things that make agents converge on Jentic-routed access.
Credential isolation
Endurain credentials (OAuth2 password tokens, API keys, or session cookies) are stored encrypted in the Jentic vault. Agents receive scoped access at execution time, so secrets never enter the prompt.
Intent-based discovery
Across 171 endpoints, agents search by intent (e.g. 'this week's activities') and Jentic returns the matching Endurain operation with its input schema and path parameters.
Time to first call
Direct Endurain integration: 1-2 days to navigate 171 endpoints, three auth modes, and self-hosted base URLs. Through Jentic: under 1 hour per intent — search, load, execute.
Alternatives and complements available in the Jentic catalogue.
Specific to using Endurain API through Jentic.
Why is there no official OpenAPI spec for Endurain?
Endurain ships its OpenAPI spec with the application, but Jentic publishes the curated, validated version against the public corpus so AI agents and developers can call Endurain via structured tooling. It is kept up to date against the live API. Get started at https://app.jentic.com/sign-up.
What authentication does the Endurain API use?
Endurain supports OAuth2 password-bearer tokens, API key headers, and API key cookies. Through Jentic, the chosen credential is stored encrypted in the vault and supplied to the request at execution time.
Can I bulk-import activities into Endurain?
Yes. POST /api/v1/activities/create/bulkimport accepts a batch of activity files in one call. Use POST /api/v1/activities/create/upload for single-activity uploads.
Why does the spec list a localhost server URL?
Endurain is self-hosted, so the spec ships with `http://localhost:8080` as the default. When calling a deployed instance, override the base URL to your own domain — for example `https://endurain.example.com`.
What are the rate limits for the Endurain API?
Endurain is self-hosted, so rate limits depend entirely on your deployment. There are no spec-declared limits; tune your reverse proxy or app server if you need throttling.
How do I upload an activity through Jentic?
Run `pip install jentic`, search 'upload an endurain activity file', and Jentic returns POST /api/v1/activities/create/upload with its input schema. Configure your deployed Endurain base URL and the agent can execute the upload.
/api/v1/activities/user/{user_id}/week/{week_number}
List a user's activities for a specific week
/api/v1/activities_media/upload/activity_id/{activity_id}
Upload media for an activity