Todoist
(require todoist) | package: todoist |
The module todoist will eventually hide the underlying API calls with higher-level abstractions that make it easy to use Todoist with Racket. It will be built on top of todoist/api, that offers a lower level but not less powerfull interface.
1 Low Level API
(require todoist/api) | package: todoist |
This package provides a binding for the Todoist API. This documentation does not describe meaning of API calls; it only describes their Racket calling conventions. For details on API semantics, refer to the documentation at the Todoist site.
The bindings documented in this section are provided by the todoist/api but not todoist.
1.1 Response
(require todoist/api/response) | package: todoist |
procedure
(parse-status-line status-line) →
string? integer? string? status-line : (or/c bytes? string?)
procedure
(response-status-code response) → integer?
response : response?
procedure
(response-success? response) → (or/c response? false?)
response : response?
procedure
(response-fail? response) → (or/c response? false?)
response : response?
1.2 Users
(require todoist/api/users) | package: todoist |
procedure
(login-with-google oauth2-token [ #:auto-signup auto-signup #:full-name full-name #:timezone timezone #:lang lang]) → response? email : string? oauth2-token : string? auto-signup : string? = "" full-name : string? = "" timezone : string? = "" lang : string? = ""
procedure
procedure
(register full-name password [ #:lang lang #:timezone timezone]) → response? email : string? full-name : string? password : string? lang : string? = "" timezone : string? = ""
procedure
(delete-user token current-password [ #:reason-for-delete reason-for-delete #:in-background in-background]) → response? token : string? current-password : string? reason-for-delete : string? = "" in-background : integer? = 1
procedure
(update-user token [ #:email email #:full-name full-name #:password password #:timezone timezone #:date-format date-format #:time-format time-format #:start-day start-day #:next-week next-week #:start-page start-page #:default-remainder default-remainder]) → response? token : string? email : string? = "" full-name : string? = "" password : string? = "" timezone : string? = "" date-format : integer? = 0 time-format : integer? = 0 start-day : integer? = 1 next-week : string? = "" start-page : string? = "" default-remainder : string? = ""
procedure
(update-avatar token [ #:image image #:delete delete]) → response? token : string? image : string? = "" delete : boolean? = #f
procedure
(get-redirect-link token [ #:path path #:hash hash]) → response? token : string? path : string? = "/app" hash : string? = ""
procedure
(get-productivity-stats token) → response?
token : string?
1.3 Projects
(require todoist/api/projects) | package: todoist |
procedure
(get-projects token) → response?
token : string?
procedure
(get-project token project-id) → response?
token : string? project-id : integer?
procedure
(add-project name token [ #:color color #:indent indent #:order order]) → response? name : string? token : string? color : integer? = 0 indent : integer? = 1 order : integer? = 0
procedure
(update-project project-id token [ #:name name #:color color #:indent indent #:order order #:collapse collapse]) → response? project-id : integer? token : string? name : string? = "" color : integer? = 0 indent : integer? = 0 order : integer? = 0 collapse : integer? = 0
procedure
(update-project-orders token item-id-list) → response?
token : string? item-id-list : list?
procedure
(delete-project project-id token) → response?
project-id : integer? token : string?
procedure
(get-archived token) → response?
token : string?
procedure
(archive-project project-id token) → response?
project-id : integer? token : string?
procedure
(unarchive-project project-id token) → response?
project-id : integer? token : string?
1.4 labels
(require todoist/api/labels) | package: todoist |
procedure
(get-labels token [#:as-list? as-list?]) → response?
token : string? as-list? : integer? = 0
procedure
(update-label old-name new-name token) → response?
old-name : string? new-name : string? token : string?
procedure
(update-label-color name color token) → response?
name : string? color : string? token : string?
procedure
(delete-label name token) → response?
name : string? token : string?
1.5 Items
(require todoist/api/items) | package: todoist |
procedure
(get-uncompleted-items token project-id [ #:js-date js-date]) → response? token : string? project-id : integer? js-date : integer? = 0
procedure
(get-all-completed-items token [ #:js-date js-date #:project-id project-id #:limit limit #:from-date from-date]) → response? token : string? js-date : integer? = 0 project-id : integer? = 0 limit : integer? = 30 from-date : string? = ""
procedure
(get-items-by-id token ids [ #:js-date js-date]) → response? token : string? ids : list? js-date : integer? = 0
procedure
(add-item! token content [ #:project-id project-id #:date-string date-string #:priority priority #:indent indent #:js-date js-date #:item-order item-order #:children children #:labels labels #:assigned-by-uid assigned-by-uid #:responsible-uid responsible-uid #:note note]) → response? token : string? content : string? project-id : integer? = 0 date-string : string? = "" priority : integer? = 1 indent : integer? = 1 js-date : integer? = 0 item-order : integer? = 0 children : list? = '() labels : list? = '() assigned-by-uid : integer? = 0 responsible-uid : integer? = 0 note : string? = ""
procedure
(update-item! token id [ #:content content #:date-string date-string #:priority priority #:indent indent #:item-order item-order #:collapsed collapsed #:labels labels #:js-date js-date #:assigned-by-uid assigned-by-uid #:responsible-uid responsible-uid]) → response? token : string? id : integer? content : string? = "" date-string : string? = "" priority : integer? = 1 indent : integer? = 1 item-order : integer? = 1 collapsed : integer? = 0 labels : list? = '() js-date : integer? = 0 assigned-by-uid : integer? = 0 responsible-uid : integer? = 0
procedure
(update-orders! token project-id item-id-list) → response? token : string? project-id : integer? item-id-list : list?
procedure
(move-items! token project-items to-project) → response?
token : string? project-items : list? to-project : integer?
procedure
(update-recurring-date! token ids js-date) → response?
token : string? ids : list? js-date : integer?
procedure
(delete-items! token ids) → response?
token : string? ids : list?
procedure
(complete-items! token ids [ #:in-history in-history]) → response? token : string? ids : list? in-history : integer? = 1
procedure
(uncomplete-items! token ids) → response?
token : string? ids : list?
1.6 Notes
(require todoist/api/notes) | package: todoist |
procedure
(update-note! token note-id content) → response?
token : string? note-id : integer? content : string?
procedure
(delete-note! token item-id note-id) → response?
token : string? item-id : integer? note-id : integer?
procedure
(get-notes-data token item-id) → response?
token : string? item-id : integer?
1.7 Date query and search
(require todoist/api/search) | package: todoist |
procedure
(query token queries [ #:as-count as-count #:js-date js-date]) → response? token : string? queries : list? as-count : integer? = 0 js-date : integer? = 0
1.8 File Uploads
(require todoist/api/files) | package: todoist |
procedure
(upload-file token path [file-name]) → response?
token : string? path : (or/c path? string?) file-name : string? = (file-name-from-path path)