{
  "user-data-get":            {
    "with_related_data": false
  },
  "user-data-set":            {
    "beginning_of_week": {
      "type":   "enum",
      "values": [0, 1, 2, 3, 4, 5, 6]
    },
    "timeofday_format":  {
      "type":   "enum",
      "values": ["H:mm", "h:mm A"]
    },
    "date_format":       {
      "type":   "enum",
      "values": ["YYYY-MM-DD", "DD.MM.YYYY", "DD-MM-YYYY", "MM/DD/YYYY", "DD/MM/YYYY", "MM-DD-YYYY"]
    }
  },
  "user-signup":              {
    "email":    "required",
    "password": "required",
    "timezone": "required"
  },
  "client-create":            {
    "name": "required",
    "wid":  "required"
  },
  "client-get-projects":      {
    "active": {
      "type":    "enum",
      "values":  ["true", "false", "both"],
      "default": true
    }
  },
  "project-create":           {
    "name":           "required",
    "wid":            "required",
    "active":         true,
    "is_private":     true,
    "template":       false,
    "billable":       false,
    "auto_estimates": false
  },
  "project-user-add":         {
    "pid":     "required",
    "uid":     "required",
    "manager": false
  },
  "tag-create":               {
    "name": "required",
    "wid":  "required"
  },
  "tag-update":               {
    "name": "required"
  },
  "task-create":              {
    "name":              "required",
    "pid":               "required",
    "active":            true,
    "estimated_seconds": 0
  },
  "time-entry-create":        {
    "billable":     false,
    "start":        {
      "type":     "date",
      "format":   "YYYY-MM-DDTHH:mm:ss.SSS[Z]",
      "required": true
    },
    "stop":         {
      "type":   "date",
      "format": "YYYY-MM-DDTHH:mm:ss.SSS[Z]"
    },
    "duration":     "required"
  },
  "time-entry-get-timerange": {
    "start_date": {
      "type":   "date",
      "format": "YYYY-MM-DDTHH:mm:ss.SSSZ"
    },
    "end_date":   {
      "type":   "date",
      "format": "YYYY-MM-DDTHH:mm:ss.SSSZ"
    }
  },
  "time-entry-update-tags":   {
    "tag_action": {
      "type":     "enum",
      "values":   ["add", "remove"],
      "required": true
    },
    "tags":       "required"
  },
  "workspace-projects": {
    "active": {
      "type":    "enum",
      "values":  ["true", "false", "both"],
      "default": true
    }
  },
  "workspace-tasks": {
    "active": {
      "type":    "enum",
      "values":  ["true", "false", "both"],
      "default": true
    }
  },
  "report-detailed":          {
    "workspace_id":        "required",
    "since":               {
      "type":    "date",
      "format":  "YYYY-MM-DD",
      "default": {
        "days": -6
      }
    },
    "until":               {
      "type":    "date",
      "format":  "YYYY-MM-DD",
      "default": {}
    },
    "billable":            {
      "type":    "enum",
      "values":  ["yes", "no", "both"],
      "default": "both"
    },
    "client_ids":          0,
    "project_ids":         0,
    "user_ids":            null,
    "tag_ids":             0,
    "task_ids":            0,
    "time_entry_ids":      null,
    "description":         "",
    "without_description": true,
    "order_field":         {
      "type":    "enum",
      "values":  ["date", "description", "duration", "user"],
      "default": "date"
    },
    "order_desc":          {
      "type":    "enum",
      "values":  ["on", "off"],
      "default": "off"
    },
    "distinct_rates":      {
      "type":    "enum",
      "values":  ["on", "off"],
      "default": "off"
    },
    "rounding":            {
      "type":    "enum",
      "values":  ["on", "off"],
      "default": "off"
    },
    "display_hours":       {
      "type":    "enum",
      "values":  ["decimal", "minutes"],
      "default": "minutes"
    },
    "page":                1
  },
  "report-summary":           {
    "workspace_id":        "required",
    "since":               {
      "type":    "date",
      "format":  "YYYY-MM-DD",
      "default": {
        "days": -6
      }
    },
    "until":               {
      "type":    "date",
      "format":  "YYYY-MM-DD",
      "default": {}
    },
    "billable":            {
      "type":    "enum",
      "values":  ["yes", "no", "both"],
      "default": "both"
    },
    "client_ids":          0,
    "project_ids":         0,
    "user_ids":            null,
    "tag_ids":             0,
    "task_ids":            0,
    "time_entry_ids":      null,
    "description":         "",
    "without_description": true,
    "order_field":         {
      "type":    "enum",
      "values":  ["title", "duration", "amount"],
      "default": "title"
    },
    "order_desc":          {
      "type":    "enum",
      "values":  ["on", "off"],
      "default": "off"
    },
    "distinct_rates":      {
      "type":    "enum",
      "values":  ["on", "off"],
      "default": "off"
    },
    "rounding":            {
      "type":    "enum",
      "values":  ["on", "off"],
      "default": "off"
    },
    "display_hours":       {
      "type":    "enum",
      "values":  ["decimal", "minutes"],
      "default": "minutes"
    },
    "grouping":            {
      "type":    "enum",
      "values":  ["projects", "clients", "users"],
      "default": "projects"
    },
    "subgrouping":         {
      "type":    "enum",
      "values":  ["time_entries", "tasks", "projects", "users", "clients"],
      "default": "time_entries"
    }
  },
  "report-weekly":            {
    "workspace_id":        "required",
    "since":               {
      "type":    "date",
      "format":  "YYYY-MM-DD",
      "default": {
        "days": -6
      }
    },
    "billable":            {
      "type":    "enum",
      "values":  ["yes", "no", "both"],
      "default": "both"
    },
    "client_ids":          0,
    "project_ids":         0,
    "user_ids":            null,
    "tag_ids":             0,
    "task_ids":            0,
    "time_entry_ids":      null,
    "description":         "",
    "without_description": true,
    "order_field":         {
      "type":    "enum",
      "values":  ["title", "day1", "day2", "day3", "day4", "day5", "day6", "day7", "week_total"],
      "default": "title"
    },
    "order_desc":          {
      "type":    "enum",
      "values":  ["on", "off"],
      "default": "off"
    },
    "distinct_rates":      {
      "type":    "enum",
      "values":  ["on", "off"],
      "default": "off"
    },
    "rounding":            {
      "type":    "enum",
      "values":  ["on", "off"],
      "default": "off"
    },
    "display_hours":       {
      "type":    "enum",
      "values":  ["decimal", "minutes"],
      "default": "minutes"
    },
    "grouping":            {
      "type":    "enum",
      "values":  ["users", "projects"],
      "default": "projects"
    },
    "calculate":           {
      "type":    "enum",
      "values":  ["time", "earnings"],
      "default": "time"
    }
  }
}