]> code.citadel.org Git - citadel.git/blobdiff - webcit-ng/api.txt
Fix ansi auto-detect
[citadel.git] / webcit-ng / api.txt
index 97ae9c0d571158934d06be339b01f449546b87a5..8660c8f2ca7d20f17fc0a243d90e3247993fb963 100644 (file)
@@ -1,37 +1,52 @@
-Method          URL                             Function
-------          ------------------------------  -------------------------------------
-GET             /                               Site root will redirect to a landing page
-GET             /ctdl/f/                        returns a JSON-encoded list of accessible floors
-GET             /ctdl/r/                        returns a JSON-encoded list of accessible rooms
-OPTIONS         /ctdl/r/ROOMNAME/               returns just what you'd expect
-PROPFIND        /ctdl/r/ROOMNAME/               Show a bunch of crap
-GET             /ctdl/r/ROOMNAME/               Returns information about the room (name, view, etc.) in JSON format
-GET             /ctdl/r/ROOMNAME/info.txt       Returns the room info banner for this room
-GET             /ctdl/r/ROOMNAME/msgs.all       JSON array of message list in room
-GET             /ctdl/r/ROOMNAME/msgs.new       JSON array of message list in room (new messages)
-GET             /ctdl/r/ROOMNAME/mailbox        JSON dictionary of a mailbox summary in this room
-GET             /ctdl/r/ROOMNAME/stat           JSON dictionary of the server STAT command (room name and modification time)
-GET             /ctdl/r/ROOMNAME/MSGNUM         Retrieve the content of an individual message
-GET             /ctdl/r/ROOMNAME/MSGNUM/json    Retrieve an individual message in a room, encapsulated in JSON
-GET             /ctdl/r/ROOMNAME/MSGNUM/<part>  Retrieve a MIME component of a message, specified by partnum
-DELETE          /ctdl/r/ROOMNAME/MSGNUM         Deletes a message from a room
-MOVE            /ctdl/r/ROOMNAME/MSGNUM         Moves a message to another room (requires Destination)
+Method          URL                                Function
+------          ------------------------------     -------------------------------------
+GET             /                                  Site root will redirect to a landing page
 
 
-PUT             /ctdl/r/ROOMNAME/xxx            DAV operation to insert a new message into a room
+GET             /ctdl/f/                           returns a JSON-encoded list of accessible floors
+
+GET             /ctdl/r/                           returns a JSON-encoded list of accessible rooms
+OPTIONS         /ctdl/r/<roomname>/                returns just what you'd expect
+PROPFIND        /ctdl/r/<roomname>/                Show a bunch of crap
+GET             /ctdl/r/<roomname>/                Returns information about the room (name, view, etc.) in JSON format
+GET             /ctdl/r/<roomname>/info.txt        Returns the room info banner for this room
+GET             /ctdl/r/<roomname>/msgs.all        JSON array of message list in room
+GET             /ctdl/r/<roomname>/msgs.new        JSON array of message list in room (new messages)
+GET             /ctdl/r/<roomname>/mailbox         JSON dictionary of a mailbox summary in this room
+GET             /ctdl/r/<roomname>/stat            JSON dictionary of the server STAT command (room name and modification time)
+GET             /ctdl/r/<roomname>/<msgnum>        Retrieve the content of an individual message
+GET             /ctdl/r/<roomname>/<msgnum>/json   Retrieve an individual message in a room, encapsulated in JSON
+GET             /ctdl/r/<roomname>/<msgnum>/<part> Retrieve a MIME component of a message, specified by partnum
+DELETE          /ctdl/r/<roomname>/<msgnum>        Delete a message from a room
+MOVE            /ctdl/r/<roomname>/<msgnum>        Move a message to another room (requires Destination)
+
+PUT             /ctdl/r/<roomname>/<xxx>           DAV operation to insert a new message into a room
                 Accepted parameters:
                 Accepted parameters:
-                wefw List of message references
+                wefw List of message references, separated by "!" delimiter
                 subj Message subject
                 The returned ETag will be the new message number.
 
                 subj Message subject
                 The returned ETag will be the new message number.
 
-GET             /ctdl/r/ROOMNAME/slrp           Set the "Last Read Pointer" for the room
+GET             /ctdl/r/<roomname>/slrp            Set the "Last Read Pointer" for the room
                 Accepted parameters:
                 last The number of the most recently seen message
 
                 Accepted parameters:
                 last The number of the most recently seen message
 
-GET             /ctdl/c/info                    Returns a JSON representation of the output of an INFO server command
-POST            /ctdl/a/login                   Send it a your credentials and it will log you in
+GET             /ctdl/c/info                       Returns a JSON representation of the output of an INFO server command
+POST            /ctdl/a/login                      Send it a your credentials and it will log you in
 GET             /ctdl/a/whoami
 GET             /ctdl/a/whoami
-GET            /ctdl/a/biff                    Check for new mail
-POST           /ctdl/a/upload                  Handler for uploading attachments and other file items
-GET             /ctdl/u/USERNAME/userpic        Returns an image containing the photo/avatar of the specified user
-GET             /ctdl/s/                        Static content (html, css, js, images...)
-GET             /.well-known/                   Static content (RFC5785 compliant paths)
+GET             /ctdl/a/biff                       Check for new mail
+GET             /ctdl/u/<username>/userpic         Returns an image containing the photo/avatar of the specified user
+GET             /ctdl/s/                           Static content (html, css, js, images...)
+GET             /.well-known/                      Static content (RFC5785 compliant paths)
+POST            /ctdl/p                            Handler for uploading attachments and other file items
+                                                   The JSON returned wil contain one or more uploads in an array like this:
+                                                   [
+                                                     {
+                                                       "uploadfilename" : "Track 01.wav",
+                                                       "contenttype" : "audio/wav",
+                                                       "ref" : "cdarzowkk",
+                                                       "contentlength" : 56222252
+                                                     }
+                                                   ]
+GET             /ctdl/p/<ref>                      Fetch a specific item that was uploaded ("ref" was returned by the upload)
+DELETE          /ctdl/p/<ref>                      Delete a specific item that was uploaded ("ref" was returned by the upload)
+GET             /ctdl/p/<msgnum>                   Load the attachments from message <msgnum> in, as if they were uploaded
+                                                   by the client.  Returns the same JSON as "POST /ctdl/p".