Versions in this module Expand all Collapse all v0 v0.1.1 Jun 10, 2026 Changes in this version type ApprovalsListCmd + All bool + From string + To string type EstimatesListCmd + All bool type ExpensesListCmd + All bool type InvoicesListCmd + All bool type TimeListCmd + All bool v0.1.0 Feb 4, 2026 Changes in this version + func Execute(args []string) (err error) + func ExitCode(err error) int + func GetTokenSource(ctx context.Context, flags *RootFlags) (oauth2.TokenSource, int64, error) + func NewClientFromFlags(ctx context.Context, flags *RootFlags) (*api.Client, error) + func VersionString() string + type ApprovalsApproveCmd struct + Force bool + IDs []int64 + User string + Week bool + func (c *ApprovalsApproveCmd) Run(cli *CLI) error + type ApprovalsCmd struct + Approve ApprovalsApproveCmd + List ApprovalsListCmd + Reject ApprovalsRejectCmd + Submit ApprovalsSubmitCmd + Unsubmit ApprovalsUnsubmitCmd + type ApprovalsListCmd struct + Status string + User string + Week bool + func (c *ApprovalsListCmd) Run(cli *CLI) error + type ApprovalsRejectCmd struct + Force bool + IDs []int64 + func (c *ApprovalsRejectCmd) Run(cli *CLI) error + type ApprovalsSubmitCmd struct + Force bool + IDs []int64 + Week bool + func (c *ApprovalsSubmitCmd) Run(cli *CLI) error + type ApprovalsUnsubmitCmd struct + Force bool + IDs []int64 + Week bool + func (c *ApprovalsUnsubmitCmd) Run(cli *CLI) error + type AuthCmd struct + List AuthListCmd + Login AuthLoginCmd + Logout AuthLogoutCmd + Setup AuthSetupCmd + Status AuthStatusCmd + Switch AuthSwitchCmd + type AuthListCmd struct + func (c *AuthListCmd) Run() error + type AuthLoginCmd struct + ClientName string + ForceConsent bool + Manual bool + PAT bool + func (c *AuthLoginCmd) Run(cli *CLI) error + type AuthLogoutCmd struct + All bool + ClientName string + Email string + func (c *AuthLogoutCmd) Run() error + type AuthSetupCmd struct + ClientID string + ClientName string + ClientSecret string + func (c *AuthSetupCmd) Run() error + type AuthStatusCmd struct + ClientName string + func (c *AuthStatusCmd) Run() error + type AuthSwitchCmd struct + Account string + func (c *AuthSwitchCmd) Run() error + type BulkCmd struct + Export BulkExportCmd + Import BulkImportCmd + type BulkExportCmd struct + From string + Output string + Project string + To string + User string + func (c *BulkExportCmd) Run(cli *CLI) error + type BulkImportCmd struct + DryRun bool + File string + func (c *BulkImportCmd) Run(cli *CLI) error + type CLI struct + Approvals ApprovalsCmd + Auth AuthCmd + Bulk BulkCmd + Clients ClientsCmd + Company CompanyCmd + Completion CompletionCmd + Config ConfigCmd + Dashboard DashboardCmd + Estimates EstimatesCmd + Expenses ExpensesCmd + Invoices InvoicesCmd + Projects ProjectsCmd + Reports ReportsCmd + Tasks TasksCmd + Time TimeCmd + Timer TimerCmd + Users UsersCmd + Version kong.VersionFlag + VersionCmd VersionCmd + type ClientsAddCmd struct + Active *bool + Address string + Currency string + Name string + func (c *ClientsAddCmd) Run(cli *CLI) error + type ClientsCmd struct + Add ClientsAddCmd + Edit ClientsEditCmd + List ClientsListCmd + Remove ClientsRemoveCmd + Show ClientsShowCmd + type ClientsEditCmd struct + Active *bool + Address string + Currency string + ID int64 + Name string + func (c *ClientsEditCmd) Run(cli *CLI) error + type ClientsListCmd struct + Active *bool + UpdatedSince string + func (c *ClientsListCmd) Run(cli *CLI) error + type ClientsRemoveCmd struct + Force bool + ID int64 + func (c *ClientsRemoveCmd) Run(cli *CLI) error + type ClientsShowCmd struct + ID int64 + func (c *ClientsShowCmd) Run(cli *CLI) error + type CompanyCmd struct + Edit bool + WantsTimestamps *bool + WeeklyCapacity *int + func (c *CompanyCmd) Run(cli *CLI) error + type CompletionBashCmd struct + func (c *CompletionBashCmd) Run() error + type CompletionCmd struct + Bash CompletionBashCmd + Fish CompletionFishCmd + Zsh CompletionZshCmd + type CompletionFishCmd struct + func (c *CompletionFishCmd) Run() error + type CompletionZshCmd struct + func (c *CompletionZshCmd) Run() error + type ConfigCmd struct + Path ConfigPathCmd + Set ConfigSetCmd + Show ConfigShowCmd + Unset ConfigUnsetCmd + type ConfigPathCmd struct + func (c *ConfigPathCmd) Run() error + type ConfigSetCmd struct + Key string + Value string + func (c *ConfigSetCmd) Run() error + type ConfigShowCmd struct + func (c *ConfigShowCmd) Run(cli *CLI) error + type ConfigUnsetCmd struct + Key string + func (c *ConfigUnsetCmd) Run() error + type DashboardCmd struct + Week string + func (c *DashboardCmd) Run(cli *CLI) error + type EstimatesAddCmd struct + Currency string + Discount float64 + HarvestClient string + IssueDate string + Notes string + Number string + PurchaseOrder string + Subject string + Tax float64 + Tax2 float64 + func (c *EstimatesAddCmd) Run(cli *CLI) error + type EstimatesCmd struct + Add EstimatesAddCmd + Edit EstimatesEditCmd + List EstimatesListCmd + MarkAccepted EstimatesMarkAcceptedCmd + MarkDeclined EstimatesMarkDeclinedCmd + MarkDraft EstimatesMarkDraftCmd + MarkSent EstimatesMarkSentCmd + Remove EstimatesRemoveCmd + Send EstimatesSendCmd + Show EstimatesShowCmd + type EstimatesEditCmd struct + Currency string + Discount float64 + HarvestClient string + ID int64 + IssueDate string + Notes string + Number string + PurchaseOrder string + Subject string + Tax float64 + Tax2 float64 + func (c *EstimatesEditCmd) Run(cli *CLI) error + type EstimatesListCmd struct + From string + HarvestClient string + State string + To string + UpdatedSince string + func (c *EstimatesListCmd) Run(cli *CLI) error + type EstimatesMarkAcceptedCmd struct + ID int64 + func (c *EstimatesMarkAcceptedCmd) Run(cli *CLI) error + type EstimatesMarkDeclinedCmd struct + ID int64 + func (c *EstimatesMarkDeclinedCmd) Run(cli *CLI) error + type EstimatesMarkDraftCmd struct + ID int64 + func (c *EstimatesMarkDraftCmd) Run(cli *CLI) error + type EstimatesMarkSentCmd struct + ID int64 + func (c *EstimatesMarkSentCmd) Run(cli *CLI) error + type EstimatesRemoveCmd struct + Force bool + ID int64 + func (c *EstimatesRemoveCmd) Run(cli *CLI) error + type EstimatesSendCmd struct + Body string + ID int64 + Recipients []string + SendMeACopy bool + Subject string + func (c *EstimatesSendCmd) Run(cli *CLI) error + type EstimatesShowCmd struct + ID int64 + func (c *EstimatesShowCmd) Run(cli *CLI) error + type ExitError struct + Code int + Err error + func (e *ExitError) Error() string + func (e *ExitError) Unwrap() error + type ExpensesAddCmd struct + Billable *bool + Category string + Date string + Notes string + Project string + Receipt string + TotalCost float64 + Units int + func (c *ExpensesAddCmd) Run(cli *CLI) error + type ExpensesCategoriesCmd struct + Active *bool + func (c *ExpensesCategoriesCmd) Run(cli *CLI) error + type ExpensesCmd struct + Add ExpensesAddCmd + Categories ExpensesCategoriesCmd + Edit ExpensesEditCmd + List ExpensesListCmd + Receipt ExpensesReceiptCmd + Remove ExpensesRemoveCmd + Show ExpensesShowCmd + type ExpensesEditCmd struct + Billable *bool + Category string + Date string + DeleteReceipt bool + ID int64 + Notes string + Project string + TotalCost float64 + Units int + func (c *ExpensesEditCmd) Run(cli *CLI) error + type ExpensesListCmd struct + Billed bool + From string + HarvestClient string + Project string + To string + Unbilled bool + UpdatedSince string + User string + func (c *ExpensesListCmd) Run(cli *CLI) error + type ExpensesReceiptCmd struct + ID int64 + Receipt string + func (c *ExpensesReceiptCmd) Run(cli *CLI) error + type ExpensesRemoveCmd struct + Force bool + ID int64 + func (c *ExpensesRemoveCmd) Run(cli *CLI) error + type ExpensesShowCmd struct + ID int64 + func (c *ExpensesShowCmd) Run(cli *CLI) error + type InvoicePaymentsAddCmd struct + Amount float64 + InvoiceID int64 + Notes string + PaidDate string + func (c *InvoicePaymentsAddCmd) Run(cli *CLI) error + type InvoicePaymentsCmd struct + Add InvoicePaymentsAddCmd + List InvoicePaymentsListCmd + Remove InvoicePaymentsRemoveCmd + type InvoicePaymentsListCmd struct + InvoiceID int64 + func (c *InvoicePaymentsListCmd) Run(cli *CLI) error + type InvoicePaymentsRemoveCmd struct + Force bool + InvoiceID int64 + PaymentID int64 + func (c *InvoicePaymentsRemoveCmd) Run(cli *CLI) error + type InvoicesAddCmd struct + Currency string + Discount float64 + DueDate string + HarvestClient string + IssueDate string + Notes string + Number string + PaymentTerm string + PurchaseOrder string + Subject string + Tax float64 + Tax2 float64 + func (c *InvoicesAddCmd) Run(cli *CLI) error + type InvoicesCmd struct + Add InvoicesAddCmd + Edit InvoicesEditCmd + List InvoicesListCmd + MarkClosed InvoicesMarkClosedCmd + MarkDraft InvoicesMarkDraftCmd + MarkSent InvoicesMarkSentCmd + Payments InvoicePaymentsCmd + Remove InvoicesRemoveCmd + Send InvoicesSendCmd + Show InvoicesShowCmd + type InvoicesEditCmd struct + Currency string + Discount float64 + DueDate string + ID int64 + IssueDate string + Notes string + Number string + PaymentTerm string + PurchaseOrder string + Subject string + Tax float64 + Tax2 float64 + func (c *InvoicesEditCmd) Run(cli *CLI) error + type InvoicesListCmd struct + From string + HarvestClient string + Project string + State string + To string + UpdatedSince string + func (c *InvoicesListCmd) Run(cli *CLI) error + type InvoicesMarkClosedCmd struct + ID int64 + func (c *InvoicesMarkClosedCmd) Run(cli *CLI) error + type InvoicesMarkDraftCmd struct + ID int64 + func (c *InvoicesMarkDraftCmd) Run(cli *CLI) error + type InvoicesMarkSentCmd struct + ID int64 + func (c *InvoicesMarkSentCmd) Run(cli *CLI) error + type InvoicesRemoveCmd struct + Force bool + ID int64 + func (c *InvoicesRemoveCmd) Run(cli *CLI) error + type InvoicesSendCmd struct + AttachPDF bool + Body string + ID int64 + Recipients []string + SendCopy bool + Subject string + func (c *InvoicesSendCmd) Run(cli *CLI) error + type InvoicesShowCmd struct + ID int64 + func (c *InvoicesShowCmd) Run(cli *CLI) error + type ProjectsAddCmd struct + BillBy string + Billable bool + Budget float64 + BudgetBy string + Code string + EndsOn string + FixedFee bool + HarvestClient string + HourlyRate float64 + Name string + Notes string + StartsOn string + func (c *ProjectsAddCmd) Run(cli *CLI) error + type ProjectsCmd struct + Add ProjectsAddCmd + Edit ProjectsEditCmd + List ProjectsListCmd + Remove ProjectsRemoveCmd + Show ProjectsShowCmd + type ProjectsEditCmd struct + Active string + BillBy string + Billable string + Budget float64 + BudgetBy string + Code string + EndsOn string + FixedFee string + HarvestClient string + HourlyRate float64 + ID int64 + Name string + Notes string + StartsOn string + func (c *ProjectsEditCmd) Run(cli *CLI) error + type ProjectsListCmd struct + Active string + HarvestClient string + UpdatedSince string + func (c *ProjectsListCmd) Run(cli *CLI) error + type ProjectsRemoveCmd struct + Force bool + ID int64 + func (c *ProjectsRemoveCmd) Run(cli *CLI) error + type ProjectsShowCmd struct + ID int64 + func (c *ProjectsShowCmd) Run(cli *CLI) error + type ReportsBudgetCmd struct + Active bool + Inactive bool + func (c *ReportsBudgetCmd) Run(cli *CLI) error + type ReportsCmd struct + Budget ReportsBudgetCmd + Expenses ReportsExpensesCmd + Time ReportsTimeCmd + Uninvoiced ReportsUninvoicedCmd + type ReportsExpensesCmd struct + By string + From string + To string + func (c *ReportsExpensesCmd) Run(cli *CLI) error + type ReportsTimeCmd struct + By string + From string + To string + func (c *ReportsTimeCmd) Run(cli *CLI) error + type ReportsUninvoicedCmd struct + From string + To string + func (c *ReportsUninvoicedCmd) Run(cli *CLI) error + type RootFlags struct + Account string + AccountID int64 + Client string + Color string + JSON bool + Plain bool + Verbose bool + type TasksAddCmd struct + Active *bool + BillableByDefault *bool + DefaultHourlyRate *float64 + IsDefault *bool + Name string + func (c *TasksAddCmd) Run(cli *CLI) error + type TasksCmd struct + Add TasksAddCmd + Edit TasksEditCmd + List TasksListCmd + Remove TasksRemoveCmd + Show TasksShowCmd + type TasksEditCmd struct + Active *bool + BillableByDefault *bool + DefaultHourlyRate *float64 + ID int64 + IsDefault *bool + Name string + func (c *TasksEditCmd) Run(cli *CLI) error + type TasksListCmd struct + Active *bool + UpdatedSince string + func (c *TasksListCmd) Run(cli *CLI) error + type TasksRemoveCmd struct + Force bool + ID int64 + func (c *TasksRemoveCmd) Run(cli *CLI) error + type TasksShowCmd struct + ID int64 + func (c *TasksShowCmd) Run(cli *CLI) error + type TimeAddCmd struct + Date string + Duration bool + End string + ExtRefGroupID string + ExtRefID string + ExtRefService string + ExtRefURL string + Hours float64 + Notes string + Project string + Start string + Task string + Timestamp bool + func (c *TimeAddCmd) Run(cli *CLI) error + type TimeCmd struct + Add TimeAddCmd + Edit TimeEditCmd + List TimeListCmd + Log TimeLogCmd + Remove TimeRemoveCmd + Show TimeShowCmd + type TimeEditCmd struct + Date string + End string + ExtRefGroupID string + ExtRefID string + ExtRefService string + ExtRefURL string + Hours float64 + ID int64 + Notes string + Project string + Start string + Task string + func (c *TimeEditCmd) Run(cli *CLI) error + type TimeListCmd struct + ApprovalStatus string + Billed bool + From string + HarvestClient string + Project string + Running bool + Task string + To string + Unbilled bool + User string + func (c *TimeListCmd) Run(cli *CLI) error + type TimeLogCmd struct + Date string + Hours float64 + Notes string + Project string + Task string + func (c *TimeLogCmd) Run(cli *CLI) error + type TimeRemoveCmd struct + Force bool + ID int64 + func (c *TimeRemoveCmd) Run(cli *CLI) error + type TimeShowCmd struct + ID int64 + func (c *TimeShowCmd) Run(cli *CLI) error + type TimerCmd struct + Restart TimerRestartCmd + Start TimerStartCmd + Status TimerStatusCmd + Stop TimerStopCmd + Toggle TimerToggleCmd + type TimerRestartCmd struct + ID int64 + func (c *TimerRestartCmd) Run(cli *CLI) error + type TimerStartCmd struct + Notes string + Project string + Task string + func (c *TimerStartCmd) Run(cli *CLI) error + type TimerStatusCmd struct + func (c *TimerStatusCmd) Run(cli *CLI) error + type TimerStopCmd struct + func (c *TimerStopCmd) Run(cli *CLI) error + type TimerToggleCmd struct + Project string + Task string + func (c *TimerToggleCmd) Run(cli *CLI) error + type UsersAddCmd struct + AccessRoles []string + CostRate *float64 + DefaultHourlyRate *float64 + Email string + FirstName string + HasAccessToAllFutureProjects *bool + IsActive *bool + IsContractor *bool + LastName string + Roles []string + Timezone string + WeeklyCapacity *int + func (c *UsersAddCmd) Run(cli *CLI) error + type UsersCmd struct + Add UsersAddCmd + Edit UsersEditCmd + List UsersListCmd + Me UsersMeCmd + Remove UsersRemoveCmd + Show UsersShowCmd + type UsersEditCmd struct + AccessRoles []string + CostRate *float64 + DefaultHourlyRate *float64 + Email string + FirstName string + HasAccessToAllFutureProjects *bool + ID int64 + IsActive *bool + IsContractor *bool + LastName string + Roles []string + Timezone string + WeeklyCapacity *int + func (c *UsersEditCmd) Run(cli *CLI) error + type UsersListCmd struct + Active *bool + UpdatedSince string + func (c *UsersListCmd) Run(cli *CLI) error + type UsersMeCmd struct + func (c *UsersMeCmd) Run(cli *CLI) error + type UsersRemoveCmd struct + Force bool + ID int64 + func (c *UsersRemoveCmd) Run(cli *CLI) error + type UsersShowCmd struct + ID int64 + func (c *UsersShowCmd) Run(cli *CLI) error + type VersionCmd struct + func (c *VersionCmd) Run() error