{"id":"363725b4-f97e-4349-8622-a238af4a95f0","name":"Tredict","slug":"tredict","description":"Get and set activities, health data and more","website_url":"https://www.tredict.com/blog/oauth_docs","category":["health","data"],"score":{"overall":69,"raw":69,"capped":false,"verified":false,"breakdown":{"latency":8,"consistency":8,"doc_quality":7,"error_clarity":6,"auth_simplicity":6,"token_efficiency":8,"first_try_success":6,"response_parseability":8},"source":"prowl","credential_tested":false,"probe_health":{"status":"healthy","up_pct":1.0,"samples":8,"target":"website","p50_latency_ms":266,"last_probed":"2026-08-24T00:41:04.161872+00:00","lookback_hours":24,"no_response":0}},"latency":null,"uptime_30d":null,"protocols":["rest"],"auth_type":null,"mcp_manifest_url":null,"openapi_spec_url":null,"verified":false,"domain_verified":false,"claimed":false,"vendor_id":null,"status":"active","profile":null,"pricing":{"model":"freemium","free_tier":"Basic API features with limited calls","premium_tier":"Full API access, likely requires subscription","clarity_issue":"Pricing not explicitly documented on OAuth page; API access probably needs premium account"},"last_crawled":"2026-08-23T05:59:47.326899+00:00","last_benchmarked":"2026-08-20T21:16:46.162894+00:00","supports_x402":false,"agent_auth_methods":null,"supports_streaming":false,"has_sandbox":false,"sdks":null,"llms_txt_url":null,"similarity_score":null,"telemetry_evidence":null,"mycelio":{"signed":false,"source":"heuristic","outline":[{"id":"tredict","depth":1,"heading":"Tredict","preview":"","size_bytes":0},{"id":"tredict-api-oauth2-documentation","depth":2,"heading":"Tredict API - OAuth2 documentation","preview":"This guide enables you to authorize our users into your application via OAuth2 and upload or related activities to our a…","size_bytes":71218},{"id":"table-of-contents","depth":5,"heading":"Table of contents","preview":"Introduction   Apply        Integrate            Register account       Request auth code       Request access token…","size_bytes":935},{"id":"introduction","depth":3,"heading":"Introduction","preview":"OAuth2 is an open standard for authorization, commonly used as a way to grant websites or applications limited access to…","size_bytes":658},{"id":"apply","depth":3,"heading":"Apply","preview":"To apply to the API and get your client credentials, please send the following to support@tredict.com:  Name of your app…","size_bytes":1084},{"id":"personal-api-vs-oauth2","depth":5,"heading":"Personal API vs OAuth2","preview":"Do you need to apply for the OAuth2.1 flow or is the Personal API sufficient for your use case?  Feature       Personal…","size_bytes":677},{"id":"integrate","depth":3,"heading":"Integrate","preview":"Tredict enables you to authorize and gain access to selected functionality of our users and system via the OAuth2 princi…","size_bytes":125},{"id":"register-account-for-testing","depth":4,"heading":"Register account for testing","preview":"Register a Tredict account for testing purposes at https://www.tredict.com/register/","size_bytes":84},{"id":"request-authorization-code","depth":4,"heading":"Request authorization code","preview":"Redirect your user to the following url, so the user can authenticate as a Tredict user and gives an authorization grant…","size_bytes":2263},{"id":"localization","depth":4,"heading":"Localization","preview":"Tredict is also available in German. To display a German authorization dialog, just use https://www.tredict.de/ accordin…","size_bytes":301},{"id":"request-user-access-token","depth":4,"heading":"Request user access token","preview":"You can request an user access token either with a freshly received authorization code or a long live refresh token.  Ac…","size_bytes":3323},{"id":"pkce-flow","depth":5,"heading":"PKCE Flow","preview":"Tredict supports the OAuth2.1 flow with Proof Key for Code Exchange (PKCE). PKCE is recommended for public clients (e.g.…","size_bytes":239},{"id":"create-a-code-verifier","depth":5,"heading":"Create a code verifier","preview":"code_verifier=$(openssl rand -base64 32 | tr -d '+/' | tr -d '=' | tr -d ' ') echo \"Code Verifier: $code_verifier\"","size_bytes":114},{"id":"create-a-code-challenge","depth":5,"heading":"Create a code challenge","preview":"code_challenge=$(echo -n \"$code_verifier\" | openssl dgst -sha256 -binary | openssl enc -base64 -A | tr -d '=' | tr '/+'…","size_bytes":176},{"id":"redirect-the-user-with-code-challenge","depth":5,"heading":"Redirect the user with code challenge","preview":"https://www.tredict.com/authorization/?client_id=${your_client_id_here}&state=my_user_locale%3Des%26my_oauth_user_id%3D8…","size_bytes":183},{"id":"exchange-the-authorization-code-for-an-access-token-with-cod","depth":5,"heading":"Exchange the authorization code for an access token with code verifier","preview":"curl -X POST \"https://www.tredict.com/user/oauth/v2/token\" \\   -H \"Content-Type: application/x-www-form-urlencoded\" \\…","size_bytes":302},{"id":"scopes","depth":4,"heading":"Scopes","preview":"Currently you need to contact us to extend or reduce your scopes. As default \"activityWrite\" is set. Scopes are applied…","size_bytes":513},{"id":"using-tokens-in-api-requests","depth":4,"heading":"Using tokens in API requests","preview":"Once you have obtained an access token, you can use it to make authenticated requests to the Tredict API. Include the ac…","size_bytes":492},{"id":"guides-skills","depth":3,"heading":"Guides & Skills","preview":"These topic-specific guides cover the most common use cases and are a good starting point before diving into the full en…","size_bytes":461},{"id":"endpoints","depth":3,"heading":"Endpoints","preview":"","size_bytes":0},{"id":"activity-list-download","depth":4,"heading":"Activity list - Download","preview":"You can fetch a list of activities from the activitiy list endpoint.  GET https://www.tredict.com/api/oauth/v2/activityL…","size_bytes":2508},{"id":"activity-download","depth":4,"heading":"Activity - Download","preview":"You can fetch the details of an activity from the activity endpoint.  GET https://www.tredict.com/api/oauth/v2/activity/…","size_bytes":7949},{"id":"activity-update","depth":4,"heading":"Activity - Update","preview":"Change fields like title and notes in an existing executed activity or planned training.  POST https://www.tredict.com/a…","size_bytes":969},{"id":"activity-file-download","depth":4,"heading":"Activity file - Download","preview":"Download the activity as a raw file in .fit- or .tcx-format. The file extension depends on the original source.  GET htt…","size_bytes":853},{"id":"activity-file-upload","depth":4,"heading":"Activity file - Upload","preview":"The activity endpoint takes .fit or .tcx workout files. .fit is preferable.  POST https://www.tredict.com/api/oauth/v2/a…","size_bytes":2013}],"readiness":80,"fetched_at":1787260606,"affordances":[{"kind":"link","label":"Tredict","target":"https://www.tredict.com/?training_and_prediction_the_concise_way"},{"kind":"link","label":"Log In","target":"https://www.tredict.com/login/#login-form"},{"kind":"link","label":"Coaches","target":"https://plans.tredict.com/en/coaches/"},{"kind":"link","label":"Documentation & Help","target":"https://www.tredict.com/blog/"},{"kind":"link","label":"Price","target":"https://www.tredict.com/price/"},{"kind":"link","label":"Contact","target":"https://www.tredict.com/contact/"},{"kind":"link","label":"Try it free","target":"https://www.tredict.com/register/#register-form"},{"kind":"link","label":"KeePass2","target":"https://keepass.info/download.html"},{"kind":"link","label":"https://www.tredict.com/register/","target":"https://www.tredict.com/register/"},{"kind":"link","label":"Setup and getting started","target":"https://www.tredict.com/skills/setup.md"},{"kind":"link","label":"Activities","target":"https://www.tredict.com/skills/activities.md"},{"kind":"link","label":"Structured workouts","target":"https://www.tredict.com/skills/workouts.md"},{"kind":"link","label":"Health data","target":"https://www.tredict.com/skills/health-data.md"},{"kind":"link","label":"media page","target":"https://www.tredict.com/media/"},{"kind":"link","label":"llms.txt","target":"https://www.tredict.com/llms.txt"},{"kind":"link","label":"llms-full.txt","target":"https://www.tredict.com/llms-full.txt"},{"kind":"link","label":"Learn more about Tredict with the glossary","target":"https://www.tredict.com/glossary/"},{"kind":"link","label":"Maybe your question has already been asked?","target":"https://www.tredict.com/faq/"},{"kind":"link","label":"Find training plans","target":"https://plans.tredict.com/"},{"kind":"link","label":"Join the Tredict Club on Strava","target":"https://www.strava.com/clubs/tredict/"},{"kind":"link","label":"Follow us on Instagram","target":"https://www.instagram.com/tredict/"},{"kind":"link","label":"Auf Deutsch 🇩🇪","target":"https://www.tredict.de/"},{"kind":"link","label":"Legal notice","target":"https://www.tredict.com/legalnotice/"},{"kind":"link","label":"Privacy","target":"https://www.tredict.com/privacy/"},{"kind":"link","label":"Terms of Use","target":"https://www.tredict.com/termsofuse/"},{"kind":"link","label":"Changelog","target":"https://www.tredict.com/changelog/"},{"kind":"link","label":"Merch","target":"https://tredict.myspreadshop.net/all"}],"ttl_seconds":86400,"content_length":68778},"featured":false}