WakaTime Organizations API

Team/organization dashboards and member analytics.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

wakatime-organizations-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: WakaTime Commits Organizations API
  version: v1
  description: 'WakaTime API v1 provides automated time-tracking analytics for software developers. IDE

    plugins (VS Code, JetBrains, Vim, Emacs, Sublime, Xcode, Visual Studio, Eclipse, Zed, and

    many more) send "heartbeats" describing the file, project, language, branch, and editor a

    developer is working in. WakaTime aggregates that data into dashboards, summaries, stats,

    goals, leaderboards, and team/org dashboards.


    Authentication is via OAuth 2.0 (authorize / token / revoke) with scopes such as

    `read_summaries`, `read_stats`, `read_goals`, `read_heartbeats`, `write_heartbeats`,

    `read_orgs`, `write_orgs`, and `email`, or via API Key (HTTP Basic auth or `?api_key=`)

    for personal use. The default rate limit is fewer than 10 requests per second on average

    over any 5-minute window.


    All responses follow the pattern `{"data": ...}` for successful requests or

    `{"error": "message"}` for errors.

    '
  contact:
    name: WakaTime Support
    url: https://wakatime.com/contact
    email: support@wakatime.com
  termsOfService: https://wakatime.com/terms
  license:
    name: WakaTime Terms of Service
    url: https://wakatime.com/terms
  x-generated-from: documentation
  x-source-url: https://wakatime.com/developers
  x-last-validated: '2026-05-30'
servers:
- url: https://wakatime.com/api/v1
  description: WakaTime production API
- url: https://api.wakatime.com/api/v1
  description: WakaTime alternate hostname
security:
- oauth2: []
- apiKey: []
- bearerAuth: []
tags:
- name: Organizations
  description: Team/organization dashboards and member analytics.
paths:
  /users/current/orgs:
    get:
      operationId: listOrgs
      summary: List Organizations
      description: Returns the organizations the authenticated user belongs to.
      tags:
      - Organizations
      responses:
        '200':
          description: Organization list.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /users/current/orgs/{org}/custom_rules:
    get:
      operationId: listOrgCustomRules
      summary: List Org Custom Rules
      description: Returns custom rules defined at the organization level.
      tags:
      - Organizations
      parameters:
      - $ref: '#/components/parameters/OrgPath'
      responses:
        '200':
          description: Org custom rules.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: putOrgCustomRules
      summary: Put Org Custom Rules
      description: Replaces the custom rules for the organization.
      tags:
      - Organizations
      parameters:
      - $ref: '#/components/parameters/OrgPath'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/CustomRuleInput'
            examples:
              PutOrgCustomRulesRequestExample:
                summary: Default putOrgCustomRules request
                x-microcks-default: true
                value:
                - id: 5f8a2c7f-8b3a-4c2c-9b3f-1d2c4f5b6a7c
                  name: WakaTime
                  if_match: {}
                  then_set: {}
      responses:
        '200':
          description: Updated org custom rules.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /users/current/orgs/{org}/dashboards:
    get:
      operationId: listOrgDashboards
      summary: List Org Dashboards
      description: Returns dashboards available in the organization.
      tags:
      - Organizations
      parameters:
      - $ref: '#/components/parameters/OrgPath'
      responses:
        '200':
          description: Org dashboard list.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /users/current/orgs/{org}/dashboards/{dashboard}/members:
    get:
      operationId: listDashboardMembers
      summary: List Dashboard Members
      description: Returns the members included in the dashboard.
      tags:
      - Organizations
      parameters:
      - $ref: '#/components/parameters/OrgPath'
      - $ref: '#/components/parameters/DashboardPath'
      responses:
        '200':
          description: Dashboard member list.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /users/current/orgs/{org}/dashboards/{dashboard}/summaries:
    get:
      operationId: listDashboardSummaries
      summary: List Dashboard Summaries
      description: Returns aggregated daily summaries for the dashboard.
      tags:
      - Organizations
      parameters:
      - $ref: '#/components/parameters/OrgPath'
      - $ref: '#/components/parameters/DashboardPath'
      - name: start
        in: query
        required: true
        schema:
          type: string
          format: date
        example: '2026-05-30'
      - name: end
        in: query
        required: true
        schema:
          type: string
          format: date
        example: '2026-05-30'
      - $ref: '#/components/parameters/ProjectQuery'
      - $ref: '#/components/parameters/BranchesQuery'
      responses:
        '200':
          description: Dashboard summaries.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /users/current/orgs/{org}/dashboards/{dashboard}/member/{member}/summaries:
    get:
      operationId: listDashboardMemberSummaries
      summary: List Dashboard Member Summaries
      description: Returns summaries for a specific member within the dashboard.
      tags:
      - Organizations
      parameters:
      - $ref: '#/components/parameters/OrgPath'
      - $ref: '#/components/parameters/DashboardPath'
      - $ref: '#/components/parameters/MemberPath'
      - name: start
        in: query
        required: true
        schema:
          type: string
          format: date
        example: '2026-05-30'
      - name: end
        in: query
        required: true
        schema:
          type: string
          format: date
        example: '2026-05-30'
      responses:
        '200':
          description: Member summaries.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /users/current/orgs/{org}/dashboards/{dashboard}/durations:
    get:
      operationId: listDashboardDurations
      summary: List Dashboard Durations
      description: Returns durations for the dashboard for a given day.
      tags:
      - Organizations
      parameters:
      - $ref: '#/components/parameters/OrgPath'
      - $ref: '#/components/parameters/DashboardPath'
      - $ref: '#/components/parameters/DateQueryRequired'
      responses:
        '200':
          description: Dashboard durations.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /users/current/orgs/{org}/dashboards/{dashboard}/member/{member}/durations:
    get:
      operationId: listDashboardMemberDurations
      summary: List Dashboard Member Durations
      description: Returns durations for a specific member within the dashboard for a given day.
      tags:
      - Organizations
      parameters:
      - $ref: '#/components/parameters/OrgPath'
      - $ref: '#/components/parameters/DashboardPath'
      - $ref: '#/components/parameters/MemberPath'
      - $ref: '#/components/parameters/DateQueryRequired'
      responses:
        '200':
          description: Member durations.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  parameters:
    DashboardPath:
      name: dashboard
      in: path
      required: true
      description: Dashboard id.
      schema:
        type: string
      example: example
    DateQueryRequired:
      name: date
      in: query
      required: true
      description: Day to query (YYYY-MM-DD).
      schema:
        type: string
        format: date
      example: '2026-05-30'
    BranchesQuery:
      name: branches
      in: query
      description: Comma-separated list of git branches to include.
      schema:
        type: string
      example: example
    OrgPath:
      name: org
      in: path
      required: true
      description: Organization id.
      schema:
        type: string
      example: example
    MemberPath:
      name: member
      in: path
      required: true
      description: Org member id.
      schema:
        type: string
      example: example
    ProjectQuery:
      name: project
      in: query
      description: Filter by project name.
      schema:
        type: string
      example: example
  schemas:
    CustomRuleInput:
      type: object
      properties:
        id:
          type: string
          nullable: true
          example: 5f8a2c7f-8b3a-4c2c-9b3f-1d2c4f5b6a7c
        name:
          type: string
          example: WakaTime
        if_match:
          type: object
          additionalProperties: true
          example: {}
        then_set:
          type: object
          additionalProperties: true
          example: {}
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 authorization code flow.
      flows:
        authorizationCode:
          authorizationUrl: https://wakatime.com/oauth/authorize
          tokenUrl: https://wakatime.com/oauth/token
          refreshUrl: https://wakatime.com/oauth/token
          scopes:
            email: Read user email.
            read_summaries: Read coding-activity summaries.
            read_stats: Read aggregate stats.
            read_goals: Read coding goals.
            read_heartbeats: Read raw heartbeats.
            write_heartbeats: Send heartbeats.
            read_orgs: Read organization data.
            write_orgs: Modify organization data.
        implicit:
          authorizationUrl: https://wakatime.com/oauth/authorize
          scopes:
            email: Read user email.
            read_summaries: Read coding-activity summaries.
            read_stats: Read aggregate stats.
            read_goals: Read coding goals.
            read_heartbeats: Read raw heartbeats.
            write_heartbeats: Send heartbeats.
            read_orgs: Read organization data.
            write_orgs: Modify organization data.
    apiKey:
      type: http
      scheme: basic
      description: HTTP Basic with the WakaTime API key as the username. Alternatively, pass `?api_key=...` as a query parameter.
    bearerAuth:
      type: http
      scheme: bearer
      description: OAuth access token in the Authorization header as `Bearer waka_tok_...`.