WakaTime · Schema

SummaryDay

A single day's coding-activity summary returned by the WakaTime Summaries API. Each summary aggregates a day's heartbeats by category, project, language, editor, OS, machine, branch, dependency, and entity.

Developer ProductivityDeveloper ToolsTime TrackingCoding AnalyticsLeaderboardsIDE PluginsOpen SourcePublic APIs

Properties

Name Type Description
grand_total object
categories array
projects array
languages array
editors array
operating_systems array
machines array
branches array
dependencies array
entities array
range object
View JSON Schema on GitHub

JSON Schema

wakatime-summary-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/wakatime/main/json-schema/wakatime-summary-schema.json",
  "title": "SummaryDay",
  "description": "A single day's coding-activity summary returned by the WakaTime Summaries API. Each summary aggregates a day's heartbeats by category, project, language, editor, OS, machine, branch, dependency, and entity.",
  "type": "object",
  "additionalProperties": true,
  "properties": {
    "grand_total": { "$ref": "#/$defs/SummaryTotal" },
    "categories":        { "type": "array", "items": { "$ref": "#/$defs/SummaryBreakdown" } },
    "projects":          { "type": "array", "items": { "$ref": "#/$defs/SummaryBreakdown" } },
    "languages":         { "type": "array", "items": { "$ref": "#/$defs/SummaryBreakdown" } },
    "editors":           { "type": "array", "items": { "$ref": "#/$defs/SummaryBreakdown" } },
    "operating_systems": { "type": "array", "items": { "$ref": "#/$defs/SummaryBreakdown" } },
    "machines":          { "type": "array", "items": { "$ref": "#/$defs/SummaryBreakdown" } },
    "branches":          { "type": "array", "items": { "$ref": "#/$defs/SummaryBreakdown" } },
    "dependencies":      { "type": "array", "items": { "$ref": "#/$defs/SummaryBreakdown" } },
    "entities":          { "type": "array", "items": { "$ref": "#/$defs/SummaryBreakdown" } },
    "range": {
      "type": "object",
      "properties": {
        "date":  { "type": "string", "format": "date" },
        "start": { "type": "string", "format": "date-time" },
        "end":   { "type": "string", "format": "date-time" },
        "text":  { "type": "string" },
        "timezone": { "type": "string" }
      }
    }
  },
  "$defs": {
    "SummaryTotal": {
      "type": "object",
      "properties": {
        "hours":         { "type": "integer", "minimum": 0 },
        "minutes":       { "type": "integer", "minimum": 0 },
        "total_seconds": { "type": "number",  "minimum": 0 },
        "digital":       { "type": "string", "description": "HH:MM formatted." },
        "decimal":       { "type": "string", "description": "Hours as decimal string." },
        "text":          { "type": "string", "description": "Human-readable string e.g. '4 hrs 12 mins'." }
      }
    },
    "SummaryBreakdown": {
      "type": "object",
      "properties": {
        "name":             { "type": "string" },
        "total_seconds":    { "type": "number", "minimum": 0 },
        "percent":          { "type": "number", "minimum": 0, "maximum": 100 },
        "digital":          { "type": "string" },
        "decimal":          { "type": "string" },
        "text":             { "type": "string" },
        "hours":            { "type": "integer", "minimum": 0 },
        "minutes":          { "type": "integer", "minimum": 0 },
        "seconds":          { "type": ["integer", "null"], "minimum": 0 },
        "machine_name_id":  { "type": ["string", "null"] }
      }
    }
  }
}