{
  "opencollection": "1.0.0",
  "info": {
    "name": "Everhour API",
    "version": "1.2"
  },
  "request": {
    "auth": {
      "type": "apikey",
      "apikey": {
        "key": "X-Api-Key",
        "value": "{{apiKey}}",
        "placement": "header"
      }
    }
  },
  "items": [
    {
      "info": {
        "name": "Time Records",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get all time records",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/team/time"
          },
          "docs": "Returns time records across the whole team, optionally filtered by date range and paginated. Pass opts_include_billing=1 to include billing data (admins with billing permissions only)."
        },
        {
          "info": {
            "name": "Get user time records",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/users/{userId}/time"
          },
          "docs": "Returns time records reported by a specific user."
        },
        {
          "info": {
            "name": "Get task time records",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/tasks/{taskId}/time"
          },
          "docs": "Returns time records reported against a specific task."
        },
        {
          "info": {
            "name": "Get project time records",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/projects/{projectId}/time"
          },
          "docs": "Returns time records reported against a specific project."
        },
        {
          "info": {
            "name": "Add time",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.everhour.com/time",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Adds a time record to a task for a user on a given date."
        },
        {
          "info": {
            "name": "Update time record",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.everhour.com/time/{timeId}",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates an existing time record."
        },
        {
          "info": {
            "name": "Delete time record",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.everhour.com/time/{timeId}"
          },
          "docs": "Deletes a time record."
        }
      ]
    },
    {
      "info": {
        "name": "Timers",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Start timer",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.everhour.com/timers",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Starts a timer on a task for the current user."
        },
        {
          "info": {
            "name": "Get running timer",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/timers/current"
          },
          "docs": "Returns the currently running timer for the current user."
        },
        {
          "info": {
            "name": "Stop timer",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.everhour.com/timers/current"
          },
          "docs": "Stops the currently running timer and records the tracked time."
        },
        {
          "info": {
            "name": "Get all team timers",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/team/timers"
          },
          "docs": "Returns all currently running timers across the team."
        }
      ]
    },
    {
      "info": {
        "name": "Timecards",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get all timecards",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/timecards"
          },
          "docs": "Returns timecards for the whole team within a date range (last two weeks by default)."
        },
        {
          "info": {
            "name": "Get user timecards",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/users/{userId}/timecards"
          },
          "docs": "Returns timecards for a user within a date range (last two weeks by default)."
        },
        {
          "info": {
            "name": "Get timecard",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/users/{userId}/timecards/{date}"
          },
          "docs": "Returns the timecard for a user on a specific date."
        },
        {
          "info": {
            "name": "Update timecard",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.everhour.com/users/{userId}/timecards/{date}",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates clock-in, clock-out, or break time on a timecard."
        },
        {
          "info": {
            "name": "Delete timecard",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.everhour.com/users/{userId}/timecards/{date}"
          },
          "docs": "Deletes a user's timecard for a specific date."
        },
        {
          "info": {
            "name": "Clock in",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.everhour.com/users/{userId}/timecards/clock-in",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Clocks a user in, creating or updating today's timecard."
        },
        {
          "info": {
            "name": "Clock out",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.everhour.com/users/{userId}/timecards/clock-out",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Clocks a user out on today's timecard."
        }
      ]
    },
    {
      "info": {
        "name": "Timesheets",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get user timesheets",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/users/{userId}/timesheets"
          },
          "docs": "Returns weekly timesheets for a user (most recent weeks first)."
        },
        {
          "info": {
            "name": "Get team timesheets",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/timesheets"
          },
          "docs": "Returns timesheets for the whole team for a given week. The week ID is the two-digit year plus the week number (for example 2535 for week 35 of 2025)."
        },
        {
          "info": {
            "name": "Approve week / request approval",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.everhour.com/timesheets/{timesheetId}/approval",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Submits a weekly timesheet for approval (or approves it directly when called by an admin). The timesheet ID is the user ID concatenated with the week ID."
        },
        {
          "info": {
            "name": "Approve or reject approval request",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.everhour.com/timesheets/{timesheetId}/approval",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Approves or rejects a pending timesheet approval request, optionally per day of the week."
        },
        {
          "info": {
            "name": "Discard your approval request",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.everhour.com/timesheets/{timesheetId}/discard-approval",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Discards a previously submitted timesheet approval request."
        }
      ]
    },
    {
      "info": {
        "name": "Projects",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get all projects",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/projects"
          },
          "docs": "Returns projects, optionally filtered by name query or source integration platform."
        },
        {
          "info": {
            "name": "Create project",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.everhour.com/projects",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a native Everhour project."
        },
        {
          "info": {
            "name": "Get project",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/projects/{projectId}"
          },
          "docs": "Returns a single project by ID."
        },
        {
          "info": {
            "name": "Update project",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.everhour.com/projects/{projectId}",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates a project."
        },
        {
          "info": {
            "name": "Delete project",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.everhour.com/projects/{projectId}"
          },
          "docs": "Deletes a project."
        },
        {
          "info": {
            "name": "Archive or unarchive project",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.everhour.com/projects/{projectId}/archive",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Archives or unarchives a project."
        },
        {
          "info": {
            "name": "Update project billing and budget",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.everhour.com/projects/{projectId}/billing",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates a project's billing type (non_billable, hourly, fixed_fee), rate configuration (project_rate or user_rate with per-user overrides), and budget (money, time, or costs; general, monthly, weekly, or daily periods)."
        },
        {
          "info": {
            "name": "Sync integration project",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.everhour.com/projects/{projectId}/sync"
          },
          "docs": "Instantly synchronizes a project from a connected integration (Asana, Trello, ClickUp, GitHub, and more) into Everhour instead of waiting for background sync. Safe to call multiple times; returns the existing project if already synced."
        },
        {
          "info": {
            "name": "Get project sections",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/projects/{projectId}/sections"
          },
          "docs": "Returns the sections of a project."
        },
        {
          "info": {
            "name": "Create section",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.everhour.com/projects/{projectId}/sections",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a section in a project."
        },
        {
          "info": {
            "name": "Get section",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/sections/{sectionId}"
          },
          "docs": "Returns a single section by ID."
        },
        {
          "info": {
            "name": "Update section",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.everhour.com/sections/{sectionId}",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates a section."
        },
        {
          "info": {
            "name": "Delete section",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.everhour.com/sections/{sectionId}"
          },
          "docs": "Deletes a section."
        }
      ]
    },
    {
      "info": {
        "name": "Tasks",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get project tasks",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/projects/{projectId}/tasks"
          },
          "docs": "Returns the tasks of a project, paginated up to 250 per page."
        },
        {
          "info": {
            "name": "Create task",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.everhour.com/projects/{projectId}/tasks",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a task in a project section."
        },
        {
          "info": {
            "name": "Search tasks",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/tasks/search"
          },
          "docs": "Searches tasks across all projects by name."
        },
        {
          "info": {
            "name": "Search project tasks",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/projects/{projectId}/tasks/search"
          },
          "docs": "Searches tasks within a single project by name."
        },
        {
          "info": {
            "name": "Get task",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/tasks/{taskId}"
          },
          "docs": "Returns a single task by ID. Pass opts_include_billing=1 to include billing data (admins with billing permissions only)."
        },
        {
          "info": {
            "name": "Update task",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.everhour.com/tasks/{taskId}",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates a task, including custom field values."
        },
        {
          "info": {
            "name": "Delete task",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.everhour.com/tasks/{taskId}"
          },
          "docs": "Deletes a task."
        },
        {
          "info": {
            "name": "Update task estimate",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.everhour.com/tasks/{taskId}/estimate",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Sets or updates the time estimate on a task (overall or per user)."
        },
        {
          "info": {
            "name": "Delete task estimate",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.everhour.com/tasks/{taskId}/estimate"
          },
          "docs": "Removes the time estimate from a task."
        }
      ]
    },
    {
      "info": {
        "name": "Schedule",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get all assignments",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/resource-planner/assignments"
          },
          "docs": "Returns resource planner assignments, filterable by type, project, task, client, and date range."
        },
        {
          "info": {
            "name": "Create assignment or time off",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.everhour.com/resource-planner/assignments",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a resource planner assignment. With type time-off (plus timeOffType, timeOffPeriod, and approval fields) this same endpoint creates time off for a user."
        },
        {
          "info": {
            "name": "Update assignment",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.everhour.com/resource-planner/assignments/{assignmentId}",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates a resource planner assignment."
        },
        {
          "info": {
            "name": "Delete assignment",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.everhour.com/resource-planner/assignments/{assignmentId}"
          },
          "docs": "Deletes a resource planner assignment."
        }
      ]
    },
    {
      "info": {
        "name": "Time Off",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get time off types",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/resource-planner/time-off-types"
          },
          "docs": "Returns the team's time off types (vacation, sick leave, and so on)."
        },
        {
          "info": {
            "name": "Create time off type",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.everhour.com/resource-planner/time-off-types",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a time off type."
        },
        {
          "info": {
            "name": "Update time off type",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.everhour.com/resource-planner/time-off-types/{typeId}",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates a time off type."
        },
        {
          "info": {
            "name": "Delete time off type",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.everhour.com/resource-planner/time-off-types/{typeId}"
          },
          "docs": "Deletes a time off type."
        },
        {
          "info": {
            "name": "Get all allocations",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/allocations"
          },
          "docs": "Returns time off allocations (accrual balances) for team members."
        },
        {
          "info": {
            "name": "Create allocation",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.everhour.com/allocations",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a time off allocation for one or more users."
        },
        {
          "info": {
            "name": "Update allocation",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.everhour.com/allocations/{allocationId}",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates a time off allocation."
        },
        {
          "info": {
            "name": "Delete allocation",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.everhour.com/allocations/{allocationId}"
          },
          "docs": "Deletes a time off allocation."
        }
      ]
    },
    {
      "info": {
        "name": "Clients",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get all clients",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/clients"
          },
          "docs": "Returns clients, optionally filtered by name query."
        },
        {
          "info": {
            "name": "Create client",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.everhour.com/clients",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a client and optionally links projects to it."
        },
        {
          "info": {
            "name": "Get client",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/clients/{clientId}"
          },
          "docs": "Returns a single client by ID."
        },
        {
          "info": {
            "name": "Update client",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.everhour.com/clients/{clientId}",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates a client."
        },
        {
          "info": {
            "name": "Update client budget",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.everhour.com/clients/{clientId}/budget",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Sets or updates a client budget - money, time, or costs based, with general, monthly, weekly, or daily periods, thresholds, and overbudget protection."
        },
        {
          "info": {
            "name": "Delete client budget",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.everhour.com/clients/{clientId}/budget"
          },
          "docs": "Removes the budget from a client."
        }
      ]
    },
    {
      "info": {
        "name": "Invoices",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get all invoices",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/invoices"
          },
          "docs": "Returns all invoices."
        },
        {
          "info": {
            "name": "Get invoice",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/invoices/{invoiceId}"
          },
          "docs": "Returns a single invoice by ID."
        },
        {
          "info": {
            "name": "Update invoice",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.everhour.com/invoices/{invoiceId}",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates invoice details, tax, discount, and line items."
        },
        {
          "info": {
            "name": "Delete invoice",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.everhour.com/invoices/{invoiceId}"
          },
          "docs": "Deletes an invoice."
        },
        {
          "info": {
            "name": "Create invoice",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.everhour.com/clients/{clientId}/invoices",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates an invoice for a client from uninvoiced time and expenses within a date range."
        },
        {
          "info": {
            "name": "Refresh invoice line items",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.everhour.com/invoices/{invoiceId}/reset-time",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Rebuilds the invoice line items from current time and expense data."
        },
        {
          "info": {
            "name": "Mark invoice as draft, sent, or paid",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.everhour.com/invoices/{invoiceId}/{status}"
          },
          "docs": "Transitions an invoice between draft, sent, and paid statuses."
        },
        {
          "info": {
            "name": "Export invoice to Xero, QuickBooks, or FreshBooks",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.everhour.com/invoices/{invoiceId}/export"
          },
          "docs": "Exports the invoice to a connected accounting integration."
        }
      ]
    },
    {
      "info": {
        "name": "Expenses",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get all expenses",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/expenses"
          },
          "docs": "Returns all expenses."
        },
        {
          "info": {
            "name": "Create expense",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.everhour.com/expenses",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates an expense in a category, optionally linked to a project and user."
        },
        {
          "info": {
            "name": "Update expense",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.everhour.com/expenses/{expenseId}",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates an expense."
        },
        {
          "info": {
            "name": "Delete expense",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.everhour.com/expenses/{expenseId}"
          },
          "docs": "Deletes an expense."
        },
        {
          "info": {
            "name": "Get all expense categories",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/expenses/categories"
          },
          "docs": "Returns all expense categories."
        },
        {
          "info": {
            "name": "Create expense category",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.everhour.com/expenses/categories",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates an expense category, optionally unit-based (for example mileage)."
        },
        {
          "info": {
            "name": "Update expense category",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.everhour.com/expenses/categories/{categoryId}",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates an expense category."
        },
        {
          "info": {
            "name": "Delete expense category",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.everhour.com/expenses/categories/{categoryId}"
          },
          "docs": "Deletes an expense category, optionally moving or removing its expenses."
        }
      ]
    },
    {
      "info": {
        "name": "Reports",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Projects report",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/dashboards/projects"
          },
          "docs": "Returns aggregated time, billable amounts, costs, profit, and expense metrics per project. Time columns are in seconds and amounts in cents."
        },
        {
          "info": {
            "name": "Clients report",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/dashboards/clients"
          },
          "docs": "Returns aggregated time, billable amounts, costs, profit, and expense metrics per client."
        },
        {
          "info": {
            "name": "Users report",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/dashboards/users"
          },
          "docs": "Returns aggregated time, time off, billable amounts, costs, and profit metrics per team member."
        }
      ]
    },
    {
      "info": {
        "name": "Users",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get current user",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/users/me"
          },
          "docs": "Returns the user profile that owns the API key."
        },
        {
          "info": {
            "name": "Get all users",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/team/users"
          },
          "docs": "Returns all team members with roles and statuses."
        }
      ]
    },
    {
      "info": {
        "name": "Webhooks",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Create webhook",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.everhour.com/hooks",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a webhook subscription. Everhour sends a verification POST with an X-Hook-Secret header to the target URL; the target must echo the header back to complete verification. Supported events cover project, task, timer, time, section, client, and estimate changes."
        },
        {
          "info": {
            "name": "Get webhook",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.everhour.com/hooks/{hookId}"
          },
          "docs": "Returns a webhook subscription by ID."
        },
        {
          "info": {
            "name": "Update webhook",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.everhour.com/hooks/{hookId}",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates a webhook subscription (re-triggers target URL verification)."
        },
        {
          "info": {
            "name": "Delete webhook",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.everhour.com/hooks/{hookId}"
          },
          "docs": "Deletes a webhook subscription."
        }
      ]
    }
  ]
}