Attachments now download with the appropriate filename.
[citadel.git] / webcit-ng / api.txt
1 Method          URL                             Function
2 ------          ------------------------------  -------------------------------------
3 GET             /                               Site root will redirect to a landing page
4 GET             /ctdl/f/                        returns a JSON-encoded list of accessible floors
5 GET             /ctdl/r/                        returns a JSON-encoded list of accessible rooms
6 OPTIONS         /ctdl/r/ROOMNAME/               returns just what you'd expect
7 PROPFIND        /ctdl/r/ROOMNAME/               Show a bunch of crap
8 GET             /ctdl/r/ROOMNAME/               Returns information about the room (name, view, etc.) in JSON format
9 GET             /ctdl/r/ROOMNAME/info.txt       Returns the room info banner for this room
10 GET             /ctdl/r/ROOMNAME/msgs.all       JSON array of message list in room
11 GET             /ctdl/r/ROOMNAME/msgs.new       JSON array of message list in room (new messages)
12 GET             /ctdl/r/ROOMNAME/mailbox        JSON dictionary of a mailbox summary in this room
13 GET             /ctdl/r/ROOMNAME/stat           JSON dictionary of the server STAT command (room name and modification time)
14 GET             /ctdl/r/ROOMNAME/MSGNUM         Retrieve the content of an individual message
15 GET             /ctdl/r/ROOMNAME/MSGNUM/json    Retrieve an individual message in a room, encapsulated in JSON
16 GET             /ctdl/r/ROOMNAME/MSGNUM/<part>  Retrieve a MIME component of a message, specified by partnum
17 DELETE          /ctdl/r/ROOMNAME/MSGNUM         Deletes a message from a room
18 MOVE            /ctdl/r/ROOMNAME/MSGNUM         Moves a message to another room (requires Destination)
19
20 PUT             /ctdl/r/ROOMNAME/xxx            DAV operation to insert a new message into a room
21                 Accepted parameters:
22                 wefw List of message references
23                 subj Message subject
24                 The returned ETag will be the new message number.
25
26 GET             /ctdl/r/ROOMNAME/slrp           Set the "Last Read Pointer" for the room
27                 Accepted parameters:
28                 last The number of the most recently seen message
29
30 GET             /ctdl/c/info                    Returns a JSON representation of the output of an INFO server command
31 POST            /ctdl/a/login                   Send it a your credentials and it will log you in
32 GET             /ctdl/a/whoami
33 GET             /ctdl/u/USERNAME/userpic        Returns an image containing the photo/avatar of the specified user
34 GET             /ctdl/s/                        Static content (html, css, js, images...)
35 GET             /.well-known/                   Static content (RFC5785 compliant paths)