Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

WakaTime External Durations API

Non-IDE activity durations created via the API.

WakaTime External Durations API is one of 20 APIs that WakaTime publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 4 JSON Schema definitions.

Tagged areas include External Durations. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, authentication docs, rate-limit docs, a changelog, a status page, and 4 JSON Schemas.

This API exposes 4 operations across 2 paths, and defines 2 schemas. It is described by OpenAPI 3.0.3, at version v1.

Requests are made against 2 base URLs: https://wakatime.com/api/v1, https://api.wakatime.com/api/v1.

4 operations 2 paths 2 schemas 1 DELETE1 GET2 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.3
API Version
v1
Base URL
https://wakatime.com/api/v1/
Authentication
OAuth 2.0, HTTP Basic, HTTP Bearer
Terms of Service
Resource Areas
1

Authentication & Security 3

WakaTime External Durations API declares 3 security schemes for authenticating requests. It supports OAuth 2.0 (oauth2) using the authorizationCode and implicit flows, exposing 8 scopes. It accepts HTTP basic authentication (apiKey). It accepts HTTP bearer tokens (bearerAuth). By default, every request must be authenticated.

  • oauth2 — OAuth 2.0 authorization code flow.
  • apiKey — HTTP Basic with the WakaTime API key as the username. Alternatively, pass ?apikey=... as a query parameter.
  • bearerAuth — OAuth access token in the Authorization header as Bearer wakatok....

Paths & Operations 4

Across 2 paths, the API surfaces 4 operations — 1 DELETE, 1 GET, 2 POST. Each is listed below with its method, path, parameters, and response codes.

External Durations 4

Non-IDE activity durations created via the API.

GET
/users/current/external_durations
List External Durations
listExternalDurations 3 params → 200
POST
/users/current/external_durations
Create External Duration
createExternalDuration body → 201
POST
/users/current/external_durations.bulk
Create External Durations Bulk
createExternalDurationsBulk body → 201
DELETE
/users/current/external_durations.bulk
Delete External Durations Bulk
deleteExternalDurationsBulk body → 200

Schemas 2

The contract defines 2 schemas that model the data the API accepts and returns. The most detailed is ExternalDurationInput (10 properties). Each schema is shown below with its type and property counts.

ExternalDurationInput
object
10 properties 5 required
ExternalDuration

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

wakatime-external-durations-api-openapi.yml Raw ↑

Other APIs WakaTime publishes across the network.

WakaTime Commits API
WakaTime Custom Rules API
WakaTime Data Dumps API
WakaTime Durations API
WakaTime Editors API
WakaTime Goals API
WakaTime Heartbeats API
WakaTime Insights API
WakaTime Languages API
WakaTime Leaderboards API
WakaTime Machines API
WakaTime Meta API