### Example Response for Meta Information Source: https://wakatime.com/developers This is an example JSON response for the GET /api/v1/meta endpoint, providing information about WakaTime servers and IP addresses. ```json { "data": { "ip_descriptions": , "ips": { "api": , "website": , "worker": }, "last_modified_at": }, } ``` -------------------------------- ### Example Response for Machine Names Source: https://wakatime.com/developers This is an example JSON response for the GET /api/v1/users/:user/machine_names endpoint, detailing the structure of machine information. ```json { "data": { "id": , "name": , "value": , "ip": , "last_seen_at": , "timezone": , "created_at": , }, } ``` -------------------------------- ### List User Projects API Response Source: https://wakatime.com/developers Example response for the GET /api/v1/users/:user/projects or GET /api/v1/users/current/projects endpoints, detailing user projects and their associated metadata. ```json { "data": [ { "id": , "name": , "repository": , "badge": , "color": , "clients": , "has_public_url": , "human_readable_last_heartbeat_at": , "last_heartbeat_at": , "human_readable_first_heartbeat_at": , "first_heartbeat_at": , "url": , "urlencoded_name": , "created_at": }, … ] } ``` -------------------------------- ### Example Response for Listing Custom Rules Source: https://wakatime.com/developers This is an example of the JSON response when listing custom rules for an organization. It shows the structure of the 'data' array containing individual rule configurations. ```json { "data": [ { "action": "source": , "operation": "source_value": , "destinations": [ { "id": , "destination": , "destination_value": , }, … ], "priority": , }, … ], } ``` -------------------------------- ### Status Bar API Example Response (200 OK) Source: https://wakatime.com/developers This is an example of a successful response (200 OK) from the Status Bar API. It includes details about coding activity, categorized by projects, languages, editors, and operating systems. ```json { "cached_at": , "has_team_features": , "data": { "grand_total": { "decimal": , "digital": , "hours": , "minutes": , "text": , "total_seconds": }, "categories": [ { "name": , "total_seconds": , "percent": , "decimal": , "digital": , "text": , "hours": , "minutes": }, … ], "projects": [ { "name": , "total_seconds": , "percent": , "decimal": , "digital": , "text": , "hours": , "minutes": }, … ], "languages": [ { "name": , "total_seconds": , "percent": , "decimal": , "digital": , "text": , "hours": , "minutes": , "seconds": }, … ], "editors": [ { "name": , "total_seconds": , "percent": , "decimal": , "digital": , "text": , "hours": , "minutes": , "seconds": }, … ], "operating_systems": [ { "name": , "total_seconds": , "percent": , "decimal": , "digital": ``` -------------------------------- ### Example Response for All Time Since Today API Source: https://wakatime.com/developers This is an example JSON response for the /api/v1/users/:user/all_time_since_today endpoint, showing total coding activity since account creation. It includes daily averages, decimal and digital formats, and range details. ```json { "data": { "daily_average": , "decimal": , "digital": , "is_up_to_date": , "percent_calculated": , "range": { "end": , "end_date": , "end_text": , "start": , "start_date": , "start_text": , "timezone": }, "text": , "timeout": , "total_seconds": } } ``` -------------------------------- ### List Program Languages API Response Source: https://wakatime.com/developers Example response for the GET /api/v1/program_languages endpoint, listing supported programming languages and their attributes. ```json { "data": [ "id": , "name": "color": , "is_verified": , "created_at": , "modified_at": ], … "total": , "total_pages": , } ``` -------------------------------- ### Example Response for Updating Custom Rules Source: https://wakatime.com/developers This is an example of the JSON response after successfully updating an organization's custom rules. It indicates any changes made, such as added, removed, or rearranged rules. ```json { "data": { "changes": { "added": [], "removed": [], "rearranged": [], } } } ``` -------------------------------- ### WakaTime API Example Response Source: https://wakatime.com/developers This is an example of a JSON response from the WakaTime API, illustrating the structure of goal data and related information. It includes details about coding activity, goals, and user profiles. ```json { "cached_at": , "data": { "average_status": "chart_data": [ { "actual_seconds": , "actual_seconds_text": , "goal_seconds": , "goal_seconds_text": , "range": { "date": , "end": , "start": , "text": , "timezone": }, "range_status": "range_status_reason": }, … ], "created_at": , "cumulative_status": "custom_title": , "delta": "editors": , "id": , "ignore_days": "ignore_zero_days": , "improve_by_percent": , "is_current_user_owner": , "is_enabled": , "is_inverse": , "is_snoozed": , "is_tweeting": , "languages": , "modified_at": , "owner": { "display_name": , "email": , "full_name": , "id": , "photo": , "username": , }, "projects": , "range_text": , "seconds": , "shared_with": [ { "display_name": , "email": , "full_name": , "id": , "photo": , "status": , "user_id": , "username": , }, … ], "snooze_until": , "status": "status_percent_calculated": , "subscribers": [ { "email": , "email_frequency": , "full_name": , "user_id": , "username": }, … ], "title": , "type": } } ``` -------------------------------- ### WakaTime Project Commits API Response Example Source: https://wakatime.com/developers This is an example of the JSON response received when querying the WakaTime API for project commits. It includes details about each commit, author, committer, and project repository information. ```json { "commits": [ { "author_avatar_url": "author_date": , "author_email": , "author_html_url": , "author_name": , "author_url": , "author_username": , "branch": , "committer_avatar_url": , "committer_date": , "committer_email": , "committer_html_url": , "committer_name": , "committer_url": , "committer_username": , "created_at": , "hash": , "html_url": , "human_readable_total": , "human_readable_total_with_seconds": , "id": , "message": , "ref": , "total_seconds": , "truncated_hash": , "url": }, … ], "author": , "next_page": "next_page_url": "page": "prev_page": "prev_page_url": "branch": , "project": { "id": , "name": , "privacy": , "repository": { "default_branch": , "description": , "fork_count": "full_name": , "homepage": , "html_url": , "id": , "is_fork": , "is_private": , "last_synced_at": , "name": , "provider": , "star_count": "url": , "watch_count": } }, "status": , "total": , "total_pages": } ``` -------------------------------- ### GET /api/v1/users/:user/user_agents Source: https://wakatime.com/developers List of plugins which have sent data for a specific user. ```APIDOC ## GET /api/v1/users/:user/user_agents ### Description List of plugins which have sent data for this user. ### Method GET ### Endpoint /api/v1/users/:user/user_agents ### Scope Required read_stats.editors ### Response #### Success Response (200) - **data** (object) - Contains user agent details. - **id** (string) - unique id of this user agent - **value** (string) - a user agent string - **editor** (string) - the editor/IDE name of this user agent - **version** (string) - the wakatime plugin version of this user agent - **os** (string) - operating system of this user agent - **last_seen_at** (string) - time when this user agent was last seen in ISO 8601 format - **is_browser_extension** (boolean) - true if this plugin is the browser-wakatime extension - **is_desktop_app** (boolean) - true if this plugin is the macos-wakatime native desktop app - **created_at** (string) - time when this user agent was first seen in ISO 8601 format ### Response Example ```json { "data": { "id": "", "value": "", "editor": "", "version": "", "os": "", "last_seen_at": "", "is_browser_extension": , "is_desktop_app": , "created_at": "" } } ``` ``` -------------------------------- ### GET /api/v1/meta Source: https://wakatime.com/developers Retrieves meta-information about WakaTime, including public IP addresses used by WakaTime servers. ```APIDOC ## GET /api/v1/meta ### Description Information about WakaTime, such as a list of public ip addresses used by WakaTime servers. ### Method GET ### Endpoint /api/v1/meta ### Response #### Success Response (200) - **data** (object) - Contains meta information. - **ip_descriptions** (object) - Explanation of each IP category (api, website, worker). - **ips** (object) - IP addresses used by WakaTime servers. - **api** (list of strings) - IP addresses used by WakaTime API servers. - **website** (list of strings) - IP addresses used by WakaTime website servers. - **worker** (list of strings) - IP addresses used by WakaTime background worker servers. - **last_modified_at** (string) - Last time an IP was modified (ISO 8601 format). ### Response Example ```json { "data": { "ip_descriptions": , "ips": { "api": , "website": , "worker": }, "last_modified_at": "" } } ``` ``` -------------------------------- ### Example API Response for Org Dashboard Durations Source: https://wakatime.com/developers This JSON structure represents a successful response from the API, showing coding activity broken down by project for each member. It includes start and end times, timezone, member details, and duration information. ```json { "data": [ { "start": , "end": , "timezone": "member": { "id": , "email": , "full_name": , "photo": , "username": , "default_personal_privacy":