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

val write_datetime : Buffer.t -> datetime -> unit

Output a JSON value of type datetime.

val string_of_datetime : ?len:int -> datetime -> string

Serialize a value of type datetime into a JSON string.

  • parameter len

    specifies the initial length of the buffer used internally. Default: 1024.

Input JSON data of type datetime.

val datetime_of_string : string -> datetime

Deserialize JSON data of type datetime.

val write_time_entry_update_request : Buffer.t -> time_entry_update_request -> unit

Output a JSON value of type time_entry_update_request.

val string_of_time_entry_update_request : ?len:int -> time_entry_update_request -> string

Serialize a value of type time_entry_update_request into a JSON string.

  • parameter len

    specifies the initial length of the buffer used internally. Default: 1024.

val read_time_entry_update_request : Yojson.Safe.lexer_state -> Lexing.lexbuf -> time_entry_update_request

Input JSON data of type time_entry_update_request.

val time_entry_update_request_of_string : string -> time_entry_update_request

Deserialize JSON data of type time_entry_update_request.

val write_wrapped_time_entry_update_request : Buffer.t -> wrapped_time_entry_update_request -> unit

Output a JSON value of type wrapped_time_entry_update_request.

val string_of_wrapped_time_entry_update_request : ?len:int -> wrapped_time_entry_update_request -> string

Serialize a value of type wrapped_time_entry_update_request into a JSON string.

  • parameter len

    specifies the initial length of the buffer used internally. Default: 1024.

val read_wrapped_time_entry_update_request : Yojson.Safe.lexer_state -> Lexing.lexbuf -> wrapped_time_entry_update_request

Input JSON data of type wrapped_time_entry_update_request.

val wrapped_time_entry_update_request_of_string : string -> wrapped_time_entry_update_request

Deserialize JSON data of type wrapped_time_entry_update_request.

val write_time_entry_request : Buffer.t -> time_entry_request -> unit

Output a JSON value of type time_entry_request.

val string_of_time_entry_request : ?len:int -> time_entry_request -> string

Serialize a value of type time_entry_request into a JSON string.

  • parameter len

    specifies the initial length of the buffer used internally. Default: 1024.

val read_time_entry_request : Yojson.Safe.lexer_state -> Lexing.lexbuf -> time_entry_request

Input JSON data of type time_entry_request.

val time_entry_request_of_string : string -> time_entry_request

Deserialize JSON data of type time_entry_request.

val write_wrapped_time_entry : Buffer.t -> wrapped_time_entry -> unit

Output a JSON value of type wrapped_time_entry.

val string_of_wrapped_time_entry : ?len:int -> wrapped_time_entry -> string

Serialize a value of type wrapped_time_entry into a JSON string.

  • parameter len

    specifies the initial length of the buffer used internally. Default: 1024.

val read_wrapped_time_entry : Yojson.Safe.lexer_state -> Lexing.lexbuf -> wrapped_time_entry

Input JSON data of type wrapped_time_entry.

val wrapped_time_entry_of_string : string -> wrapped_time_entry

Deserialize JSON data of type wrapped_time_entry.

val write_wid : Buffer.t -> wid -> unit

Output a JSON value of type wid.

val string_of_wid : ?len:int -> wid -> string

Serialize a value of type wid into a JSON string.

  • parameter len

    specifies the initial length of the buffer used internally. Default: 1024.

Input JSON data of type wid.

val wid_of_string : string -> wid

Deserialize JSON data of type wid.

val write_project_request : Buffer.t -> project_request -> unit

Output a JSON value of type project_request.

val string_of_project_request : ?len:int -> project_request -> string

Serialize a value of type project_request into a JSON string.

  • parameter len

    specifies the initial length of the buffer used internally. Default: 1024.

val read_project_request : Yojson.Safe.lexer_state -> Lexing.lexbuf -> project_request

Input JSON data of type project_request.

val project_request_of_string : string -> project_request

Deserialize JSON data of type project_request.

val write_wrapped_project_request : Buffer.t -> wrapped_project_request -> unit

Output a JSON value of type wrapped_project_request.

val string_of_wrapped_project_request : ?len:int -> wrapped_project_request -> string

Serialize a value of type wrapped_project_request into a JSON string.

  • parameter len

    specifies the initial length of the buffer used internally. Default: 1024.

val read_wrapped_project_request : Yojson.Safe.lexer_state -> Lexing.lexbuf -> wrapped_project_request

Input JSON data of type wrapped_project_request.

val wrapped_project_request_of_string : string -> wrapped_project_request

Deserialize JSON data of type wrapped_project_request.

val write_workspace : Buffer.t -> workspace -> unit

Output a JSON value of type workspace.

val string_of_workspace : ?len:int -> workspace -> string

Serialize a value of type workspace into a JSON string.

  • parameter len

    specifies the initial length of the buffer used internally. Default: 1024.

Input JSON data of type workspace.

val workspace_of_string : string -> workspace

Deserialize JSON data of type workspace.

val write_workspace_list : Buffer.t -> workspace_list -> unit

Output a JSON value of type workspace_list.

val string_of_workspace_list : ?len:int -> workspace_list -> string

Serialize a value of type workspace_list into a JSON string.

  • parameter len

    specifies the initial length of the buffer used internally. Default: 1024.

val read_workspace_list : Yojson.Safe.lexer_state -> Lexing.lexbuf -> workspace_list

Input JSON data of type workspace_list.

val workspace_list_of_string : string -> workspace_list

Deserialize JSON data of type workspace_list.

val write_uid : Buffer.t -> uid -> unit

Output a JSON value of type uid.

val string_of_uid : ?len:int -> uid -> string

Serialize a value of type uid into a JSON string.

  • parameter len

    specifies the initial length of the buffer used internally. Default: 1024.

Input JSON data of type uid.

val uid_of_string : string -> uid

Deserialize JSON data of type uid.

val write_tid : Buffer.t -> tid -> unit

Output a JSON value of type tid.

val string_of_tid : ?len:int -> tid -> string

Serialize a value of type tid into a JSON string.

  • parameter len

    specifies the initial length of the buffer used internally. Default: 1024.

Input JSON data of type tid.

val tid_of_string : string -> tid

Deserialize JSON data of type tid.

val write_pid : Buffer.t -> pid -> unit

Output a JSON value of type pid.

val string_of_pid : ?len:int -> pid -> string

Serialize a value of type pid into a JSON string.

  • parameter len

    specifies the initial length of the buffer used internally. Default: 1024.

Input JSON data of type pid.

val pid_of_string : string -> pid

Deserialize JSON data of type pid.

val write_time_entry : Buffer.t -> time_entry -> unit

Output a JSON value of type time_entry.

val string_of_time_entry : ?len:int -> time_entry -> string

Serialize a value of type time_entry into a JSON string.

  • parameter len

    specifies the initial length of the buffer used internally. Default: 1024.

val read_time_entry : Yojson.Safe.lexer_state -> Lexing.lexbuf -> time_entry

Input JSON data of type time_entry.

val time_entry_of_string : string -> time_entry

Deserialize JSON data of type time_entry.

val write_time_entry_list : Buffer.t -> time_entry_list -> unit

Output a JSON value of type time_entry_list.

val string_of_time_entry_list : ?len:int -> time_entry_list -> string

Serialize a value of type time_entry_list into a JSON string.

  • parameter len

    specifies the initial length of the buffer used internally. Default: 1024.

val read_time_entry_list : Yojson.Safe.lexer_state -> Lexing.lexbuf -> time_entry_list

Input JSON data of type time_entry_list.

val time_entry_list_of_string : string -> time_entry_list

Deserialize JSON data of type time_entry_list.

val write_tid_list : Buffer.t -> tid_list -> unit

Output a JSON value of type tid_list.

val string_of_tid_list : ?len:int -> tid_list -> string

Serialize a value of type tid_list into a JSON string.

  • parameter len

    specifies the initial length of the buffer used internally. Default: 1024.

Input JSON data of type tid_list.

val tid_list_of_string : string -> tid_list

Deserialize JSON data of type tid_list.

val write_project : Buffer.t -> project -> unit

Output a JSON value of type project.

val string_of_project : ?len:int -> project -> string

Serialize a value of type project into a JSON string.

  • parameter len

    specifies the initial length of the buffer used internally. Default: 1024.

Input JSON data of type project.

val project_of_string : string -> project

Deserialize JSON data of type project.

val write_project_list : Buffer.t -> project_list -> unit

Output a JSON value of type project_list.

val string_of_project_list : ?len:int -> project_list -> string

Serialize a value of type project_list into a JSON string.

  • parameter len

    specifies the initial length of the buffer used internally. Default: 1024.

val read_project_list : Yojson.Safe.lexer_state -> Lexing.lexbuf -> project_list

Input JSON data of type project_list.

val project_list_of_string : string -> project_list

Deserialize JSON data of type project_list.

val write_pid_list : Buffer.t -> pid_list -> unit

Output a JSON value of type pid_list.

val string_of_pid_list : ?len:int -> pid_list -> string

Serialize a value of type pid_list into a JSON string.

  • parameter len

    specifies the initial length of the buffer used internally. Default: 1024.

Input JSON data of type pid_list.

val pid_list_of_string : string -> pid_list

Deserialize JSON data of type pid_list.

val write_data_time_entry : Buffer.t -> data_time_entry -> unit

Output a JSON value of type data_time_entry.

val string_of_data_time_entry : ?len:int -> data_time_entry -> string

Serialize a value of type data_time_entry into a JSON string.

  • parameter len

    specifies the initial length of the buffer used internally. Default: 1024.

val read_data_time_entry : Yojson.Safe.lexer_state -> Lexing.lexbuf -> data_time_entry

Input JSON data of type data_time_entry.

val data_time_entry_of_string : string -> data_time_entry

Deserialize JSON data of type data_time_entry.

val write_data_project : Buffer.t -> data_project -> unit

Output a JSON value of type data_project.

val string_of_data_project : ?len:int -> data_project -> string

Serialize a value of type data_project into a JSON string.

  • parameter len

    specifies the initial length of the buffer used internally. Default: 1024.

val read_data_project : Yojson.Safe.lexer_state -> Lexing.lexbuf -> data_project

Input JSON data of type data_project.

val data_project_of_string : string -> data_project

Deserialize JSON data of type data_project.