package otoggl

  1. Overview
  2. Docs

Helper types

type datetime = Toggl_t.datetime

Response types

type time_entry_update_request = Toggl_t.time_entry_update_request = {
  1. description : string option;
  2. wid : int option;
  3. pid : int option option;
  4. start : datetime option;
  5. stop : datetime option option;
  6. duration : int option;
  7. tags : string list option;
  8. duronly : bool option;
  9. billable : bool option;
}

Represents a time entry as we send to Toggl when updating one

type wrapped_time_entry_update_request = Toggl_t.wrapped_time_entry_update_request = {
  1. time_entry : time_entry_update_request;
}
type time_entry_request = Toggl_t.time_entry_request = {
  1. description : string;
  2. wid : int option;
  3. pid : int option;
  4. start : datetime option;
  5. stop : datetime option option;
  6. duration : int;
  7. created_with : string;
  8. tags : string list;
  9. duronly : bool;
  10. billable : bool;
}

Represents a time entry as we send to Toggl when starting or creating one

type wrapped_time_entry = Toggl_t.wrapped_time_entry = {
  1. time_entry : time_entry_request;
}
type wid = Toggl_t.wid
type project_request = Toggl_t.project_request = {
  1. wid : wid;
  2. name : string;
  3. billable : bool;
  4. is_private : bool;
  5. active : bool;
  6. auto_estimates : bool;
  7. estimated_hours : bool;
  8. actual_hours : int;
  9. template : bool;
  10. template_id : int option;
  11. cid : int option;
  12. color : string option;
  13. hex_color : string option;
}

Represents a project as we send to Toggl when creating one

type wrapped_project_request = Toggl_t.wrapped_project_request = {
  1. project : project_request;
}
type workspace = Toggl_t.workspace = {
  1. id : wid;
  2. name : string;
  3. default_currency : string;
  4. at : datetime;
  5. premium : bool;
  6. admin : bool;
  7. default_hourly_rate : float;
  8. only_admins_may_create_projects : bool;
  9. only_admins_see_billable_rates : bool;
  10. only_admins_see_team_dashboard : bool;
  11. projects_billable_by_default : bool;
  12. rounding : int;
  13. rounding_minutes : int;
  14. ical_enabled : bool;
  15. api_token : string option;
  16. profile : int option;
  17. logo_url : string option;
}

Represents a workspace in Toggl

type workspace_list = Toggl_t.workspace_list
type uid = Toggl_t.uid
type tid = Toggl_t.tid
type pid = Toggl_t.pid
type time_entry = Toggl_t.time_entry = {
  1. id : tid;
  2. wid : wid;
  3. uid : uid;
  4. description : string;
  5. at : datetime;
  6. pid : pid option;
  7. start : datetime;
  8. stop : datetime option;
  9. duration : int;
  10. tags : string list;
  11. duronly : bool;
  12. billable : bool;
}

Represents a time enty as will be returned from the Toggl API

type time_entry_list = Toggl_t.time_entry_list
type tid_list = Toggl_t.tid_list
type project = Toggl_t.project = {
  1. id : pid;
  2. wid : wid;
  3. name : string;
  4. at : datetime;
  5. created_at : datetime option;
  6. billable : bool;
  7. is_private : bool;
  8. active : bool;
  9. auto_estimates : bool;
  10. estimated_hours : bool;
  11. actual_hours : int;
  12. template : bool;
  13. template_id : int option;
  14. color : string option;
  15. hex_color : string option;
}

Represents a project in Toggl

type project_list = Toggl_t.project_list
type pid_list = Toggl_t.pid_list
type data_time_entry = Toggl_t.data_time_entry = {
  1. data : time_entry;
}
type data_project = Toggl_t.data_project = {
  1. data : project;
}

Request types

Validate a value of type datetime.

val create_time_entry_update_request : ?description:string -> ?wid:int -> ?pid:int option -> ?start:datetime -> ?stop:datetime option -> ?duration:int -> ?tags:string list -> ?duronly:bool -> ?billable:bool -> unit -> time_entry_update_request

Create a record of type time_entry_update_request.

val validate_time_entry_update_request : Atdgen_runtime.Util.Validation.path -> time_entry_update_request -> Atdgen_runtime.Util.Validation.error option

Validate a value of type time_entry_update_request.

val create_wrapped_time_entry_update_request : time_entry:time_entry_update_request -> unit -> wrapped_time_entry_update_request

Create a record of type wrapped_time_entry_update_request.

val create_time_entry_request : description:string -> ?wid:int -> ?pid:int -> ?start:datetime -> ?stop:datetime option -> ?duration:int -> created_with:string -> ?tags:string list -> ?duronly:bool -> ?billable:bool -> unit -> time_entry_request

Create a record of type time_entry_request.

val validate_time_entry_request : Atdgen_runtime.Util.Validation.path -> time_entry_request -> Atdgen_runtime.Util.Validation.error option

Validate a value of type time_entry_request.

val create_wrapped_time_entry : time_entry:time_entry_request -> unit -> wrapped_time_entry

Create a record of type wrapped_time_entry.

val validate_wrapped_time_entry : Atdgen_runtime.Util.Validation.path -> wrapped_time_entry -> Atdgen_runtime.Util.Validation.error option

Validate a value of type wrapped_time_entry.

Validate a value of type wid.

val create_project_request : wid:wid -> name:string -> ?billable:bool -> ?is_private:bool -> ?active:bool -> ?auto_estimates:bool -> ?estimated_hours:bool -> ?actual_hours:int -> ?template:bool -> ?template_id:int -> ?cid:int -> ?color:string -> ?hex_color:string -> unit -> project_request

Create a record of type project_request.

Validate a value of type project_request.

val create_wrapped_project_request : project:project_request -> unit -> wrapped_project_request

Create a record of type wrapped_project_request.

Validate a value of type wrapped_project_request.

val create_workspace : id:wid -> name:string -> default_currency:string -> at:datetime -> ?premium:bool -> ?admin:bool -> ?default_hourly_rate:float -> ?only_admins_may_create_projects:bool -> ?only_admins_see_billable_rates:bool -> ?only_admins_see_team_dashboard:bool -> ?projects_billable_by_default:bool -> ?rounding:int -> ?rounding_minutes:int -> ?ical_enabled:bool -> ?api_token:string -> ?profile:int -> ?logo_url:string -> unit -> workspace

Create a record of type workspace.

Validate a value of type workspace.

Validate a value of type workspace_list.

Validate a value of type uid.

Validate a value of type tid.

Validate a value of type pid.

val create_time_entry : id:tid -> wid:wid -> uid:uid -> description:string -> at:datetime -> ?pid:pid -> start:datetime -> ?stop:datetime -> duration:int -> ?tags:string list -> ?duronly:bool -> ?billable:bool -> unit -> time_entry

Create a record of type time_entry.

val validate_time_entry : Atdgen_runtime.Util.Validation.path -> time_entry -> Atdgen_runtime.Util.Validation.error option

Validate a value of type time_entry.

val validate_time_entry_list : Atdgen_runtime.Util.Validation.path -> time_entry_list -> Atdgen_runtime.Util.Validation.error option

Validate a value of type time_entry_list.

Validate a value of type tid_list.

val create_project : id:pid -> wid:wid -> name:string -> at:datetime -> ?created_at:datetime -> ?billable:bool -> ?is_private:bool -> ?active:bool -> ?auto_estimates:bool -> ?estimated_hours:bool -> ?actual_hours:int -> ?template:bool -> ?template_id:int -> ?color:string -> ?hex_color:string -> unit -> project

Create a record of type project.

Validate a value of type project.

Validate a value of type project_list.

Validate a value of type pid_list.

val create_data_time_entry : data:time_entry -> unit -> data_time_entry

Create a record of type data_time_entry.

val validate_data_time_entry : Atdgen_runtime.Util.Validation.path -> data_time_entry -> Atdgen_runtime.Util.Validation.error option

Validate a value of type data_time_entry.

val create_data_project : data:project -> unit -> data_project

Create a record of type data_project.

Validate a value of type data_project.