WakaTime · Arazzo Workflow

WakaTime User Profile Overview

Version 1.0.0

Assemble a snapshot of the authenticated user's profile, all-time totals, recent stats, and projects.

1 workflow 1 source API 1 provider
View Spec View on GitHub Developer ProductivityDeveloper ToolsTime TrackingCoding AnalyticsLeaderboardsIDE PluginsOpen-SourcePublic APIsArazzoWorkflows

Provider

wakatime

Workflows

user-profile-overview
Load the current user, their all-time totals, range stats, and project list.
Resolves the authenticated user, then enriches that identity with all-time coding totals, stats for a preset named range, and the full project list.
4 steps inputs: apiKeyBasicAuth, range outputs: allTimeText, humanReadableTotal, projects, username
1
getCurrentUser
getCurrentUser
Load the authenticated user's profile to confirm identity and capture the username.
2
getAllTime
getAllTimeSinceTodayCurrent
Fetch the total coding activity the user has logged since account creation up to today.
3
getStats
getStatsByRange
Pull coding stats for the requested preset named range.
4
listProjects
listProjects
List the projects the authenticated user has logged time against.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: WakaTime User Profile Overview
  summary: Assemble a snapshot of the authenticated user's profile, all-time totals, recent stats, and projects.
  description: >-
    Builds a complete at-a-glance picture of the authenticated WakaTime user by
    chaining four read operations: it loads the current user profile, fetches
    the all-time-since-today totals, pulls preset-range coding stats, and lists
    the projects the user has logged time against. Every step spells out its
    request inline, including HTTP Basic authentication with the WakaTime API
    key as the username, so the flow can be read and executed without opening
    the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: wakatimeApi
  url: ../openapi/wakatime-api-v1-openapi.yml
  type: openapi
workflows:
- workflowId: user-profile-overview
  summary: Load the current user, their all-time totals, range stats, and project list.
  description: >-
    Resolves the authenticated user, then enriches that identity with all-time
    coding totals, stats for a preset named range, and the full project list.
  inputs:
    type: object
    required:
    - apiKeyBasicAuth
    properties:
      apiKeyBasicAuth:
        type: string
        description: Base64 of "<api_key>:" for HTTP Basic auth (WakaTime API key as username).
      range:
        type: string
        description: Preset stats range (last_7_days, last_30_days, last_6_months, last_year, all_time).
        default: last_7_days
  steps:
  - stepId: getCurrentUser
    description: Load the authenticated user's profile to confirm identity and capture the username.
    operationId: getCurrentUser
    parameters:
    - name: Authorization
      in: header
      value: Basic $inputs.apiKeyBasicAuth
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      userId: $response.body#/data/id
      username: $response.body#/data/username
      lastProject: $response.body#/data/last_project
  - stepId: getAllTime
    description: Fetch the total coding activity the user has logged since account creation up to today.
    operationId: getAllTimeSinceTodayCurrent
    parameters:
    - name: Authorization
      in: header
      value: Basic $inputs.apiKeyBasicAuth
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      allTimeText: $response.body#/data/text
      allTimeSeconds: $response.body#/data/total_seconds
  - stepId: getStats
    description: Pull coding stats for the requested preset named range.
    operationId: getStatsByRange
    parameters:
    - name: Authorization
      in: header
      value: Basic $inputs.apiKeyBasicAuth
    - name: range
      in: path
      value: $inputs.range
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      humanReadableTotal: $response.body#/data/human_readable_total
      dailyAverage: $response.body#/data/human_readable_daily_average
  - stepId: listProjects
    description: List the projects the authenticated user has logged time against.
    operationId: listProjects
    parameters:
    - name: Authorization
      in: header
      value: Basic $inputs.apiKeyBasicAuth
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      projects: $response.body#/data
      firstProjectName: $response.body#/data/0/name
  outputs:
    username: $steps.getCurrentUser.outputs.username
    allTimeText: $steps.getAllTime.outputs.allTimeText
    humanReadableTotal: $steps.getStats.outputs.humanReadableTotal
    projects: $steps.listProjects.outputs.projects

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/wakatime-user-profile-overview-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.