WakaTime · Arazzo Workflow

WakaTime Data Dump Export

Version 1.0.0

Check for existing data exports, create a new dump when none exist, then re-list to confirm.

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

Provider

wakatime

Workflows

data-dump-export
List dumps, create one if absent, then re-list to confirm the new job.
Lists existing data dumps and, when none are present, creates a new export job and re-lists the dumps to confirm it was registered.
3 steps inputs: apiKeyBasicAuth, dumpType, emailWhenFinished outputs: dumps, newDumpId, newDumpStatus
1
listDataDumps
listDataDumps
List the user's existing data exports.
2
createDataDump
createDataDump
Trigger generation of a new data export.
3
confirmDataDumps
listDataDumps
Re-list the data dumps to confirm the new export job was registered.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: WakaTime Data Dump Export
  summary: Check for existing data exports, create a new dump when none exist, then re-list to confirm.
  description: >-
    Orchestrates a self-service data export. It lists the user's existing data
    dumps and branches: when an export already exists it ends, and when none
    exist it triggers a new export job and re-lists the dumps to confirm the job
    was registered with its processing status. 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: data-dump-export
  summary: List dumps, create one if absent, then re-list to confirm the new job.
  description: >-
    Lists existing data dumps and, when none are present, creates a new export
    job and re-lists the dumps to confirm it was registered.
  inputs:
    type: object
    required:
    - apiKeyBasicAuth
    properties:
      apiKeyBasicAuth:
        type: string
        description: Base64 of "<api_key>:" for HTTP Basic auth (WakaTime API key as username).
      dumpType:
        type: string
        description: The export type to create (heartbeats or daily).
        default: heartbeats
      emailWhenFinished:
        type: boolean
        description: Whether to email the user when the export finishes.
        default: true
  steps:
  - stepId: listDataDumps
    description: List the user's existing data exports.
    operationId: listDataDumps
    parameters:
    - name: Authorization
      in: header
      value: Basic $inputs.apiKeyBasicAuth
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      dumps: $response.body#/data
    onSuccess:
    - name: dumpExists
      type: end
      criteria:
      - context: $response.body
        condition: $.data.length > 0
        type: jsonpath
    - name: noDump
      type: goto
      stepId: createDataDump
      criteria:
      - context: $response.body
        condition: $.data.length == 0
        type: jsonpath
  - stepId: createDataDump
    description: Trigger generation of a new data export.
    operationId: createDataDump
    parameters:
    - name: Authorization
      in: header
      value: Basic $inputs.apiKeyBasicAuth
    requestBody:
      contentType: application/json
      payload:
        type: $inputs.dumpType
        email_when_finished: $inputs.emailWhenFinished
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      newDumpId: $response.body#/data/id
      newDumpStatus: $response.body#/data/status
  - stepId: confirmDataDumps
    description: Re-list the data dumps to confirm the new export job was registered.
    operationId: listDataDumps
    parameters:
    - name: Authorization
      in: header
      value: Basic $inputs.apiKeyBasicAuth
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      dumps: $response.body#/data
  outputs:
    newDumpId: $steps.createDataDump.outputs.newDumpId
    newDumpStatus: $steps.createDataDump.outputs.newDumpStatus
    dumps: $steps.confirmDataDumps.outputs.dumps

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-data-dump-export-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.