{"openapi":"3.1.0","info":{"title":"Wakatime Summaries (BYOK) API","version":"0.1.0","description":"Wakatime Summaries (BYOK) lets an AI assistant read your own Wakatime Summaries data through the Wakatime Summaries API with a key you supply (OAuth access token (WakaTime documents API keys as write-only, so reading needs an access token from an OAuth app)). Read-only: 7 tools (get_summaries, get_status_bar_today, list_user_agents, list_private_leaderboards, list_editors, list_program_languages,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-wakatime-summaries.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-wakatime-summaries/docs"},"termsOfService":"https://connectorbay.com/byok-wakatime-summaries/terms"},"servers":[{"url":"https://byok-wakatime-summaries.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-wakatime-summaries/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_summaries":{"post":{"operationId":"get_summaries","summary":"Your coding activity per day for a date range, each day with total time and the breakdown by category, project, language","description":"Your coding activity per day for a date range, each day with total time and the breakdown by category, project, language, editor and operating system. Needs start and end, or a named range. Use for \"How much did I code each day last week, by project and language\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"start":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"First day, YYYY-MM-DD (use with end).","title":"Start"},"end":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Last day, YYYY-MM-DD (use with start).","title":"End"},"range":{"anyOf":[{"enum":["Today","Yesterday","Last 7 Days","Last 7 Days from Yesterday","Last 14 Days","Last 30 Days","This Week","Last Week","This Month","Last Month"],"type":"string"},{"type":"null"}],"default":null,"description":"Named range instead of start and end.","title":"Range"},"project":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only time logged to this project name.","title":"Project"},"writes_only":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to count only writing time; leave out for your account setting.","title":"Writes Only"}},"title":"get_summariesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_status_bar_today":{"post":{"operationId":"get_status_bar_today","summary":"Your coding activity today (the numbers shown in editor status bars): total time and breakdown by project, language and ","description":"Your coding activity today (the numbers shown in editor status bars): total time and breakdown by project, language and editor. Served from a cache. Use for \"How long have I coded today\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_status_bar_todayArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_user_agents":{"post":{"operationId":"list_user_agents","summary":"List the plugins and tools that have sent you coding activity: editor, plugin version, operating system, AI model detect","description":"List the plugins and tools that have sent you coding activity: editor, plugin version, operating system, AI model detected, and when last seen. Use for \"Which editors and plugins have reported coding time to WakaTime\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_user_agentsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_private_leaderboards":{"post":{"operationId":"list_private_leaderboards","summary":"List your private leaderboards with name, member count and time range. Use for \"Which private WakaTime leaderboards am I","description":"List your private leaderboards with name, member count and time range. Use for \"Which private WakaTime leaderboards am I in\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_private_leaderboardsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_editors":{"post":{"operationId":"list_editors","summary":"List the editors and IDEs WakaTime has plugins for, with latest plugin version and website (public data). Use for \"Which","description":"List the editors and IDEs WakaTime has plugins for, with latest plugin version and website (public data). Use for \"Which editors does WakaTime support\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"unreleased":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include unreleased plugins.","title":"Unreleased"}},"title":"list_editorsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_program_languages":{"post":{"operationId":"list_program_languages","summary":"List the programming languages WakaTime verifies, with chart color and dates (public data). Use for \"Which programming l","description":"List the programming languages WakaTime verifies, with chart color and dates (public data). Use for \"Which programming languages does WakaTime recognize\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_program_languagesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_aggregate_stats":{"post":{"operationId":"get_aggregate_stats","summary":"Aggregate coding stats of all WakaTime users for the last 7 days or a past year: time per category, average, median and ","description":"Aggregate coding stats of all WakaTime users for the last 7 days or a past year: time per category, average, median and maximum (public data). Use for \"How much does the average WakaTime user code per year\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"range":{"description":"last_7_days or a past year since 2013, for example 2025.","maxLength":12,"title":"Range","type":"string"}},"required":["range"],"title":"get_aggregate_statsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}