<commit_before>## All API urls

Read the code (`lib/Play/Route/*.pm`) or try them in the browser for the resonse format. Hint: it's usually JSON.

GET /auth/twitter               # go to twitter, obtain login, set 'twitter_user' session and return to /#register
GET /api/user                   # get current user; 'registered=1' flag means the user is fully registered; otherwise json still can contain some info (e.g. twitter)
POST /api/register              # register the new user login, associate it with the current twitter user, save to db
GET /api/users                  # get the list of all users
GET /api/fakeuser/{login}       # temporary, fake analog of /register; dev mode only
POST /api/quest                 # add a new quest for current user
PUT /api/quest/{id}             # update quest
DELETE /api/quest/{id}          # delete quest (actually, set its status to "deleted"; it won't be shown in /api/quests, but will still be fetchable by its id)
GET /api/quests                 # get all quests
GET /api/quests?user={login}    # get all quests of a given user
GET /api/quests?status={status} # get all quests with a given status
GET /api/quest/{id}             # get one quest
GET /api/dev/session/{name}     # get session value<commit_msg>update api.txt<commit_after>## All API urls

Read the code (`lib/Play/Route/*.pm`) or try them in the browser for the resonse format. Hint: it's usually JSON.

GET /auth/twitter               # go to twitter, obtain login, set 'twitter_user' session and return to /#register
GET /api/user                   # get current user; 'registered=1' flag means the user is fully registered; otherwise json still can contain some info (e.g. twitter)
GET /api/user/{login}           # get another user
POST /api/register              # register the new user login, associate it with the current twitter user, save to db
GET /api/users                  # get the list of all users
GET /api/fakeuser/{login}       # temporary, fake analog of /register; dev mode only; 'notwitter' cgi param disables fake twitter account generation
POST /api/quest                 # add a new quest for current user
PUT /api/quest/{id}             # update quest
DELETE /api/quest/{id}          # delete quest (actually, set its status to "deleted"; it won't be shown in /api/quests, but will still be fetchable by its id)
GET /api/quests                 # get all quests
GET /api/quests?user={login}    # get all quests of a given user
GET /api/quests?status={status} # get all quests with a given status
GET /api/quest/{id}             # get one quest
GET /api/dev/session/{name}     # get session value
{'fraction_non_alphanumeric': 0.08807896735003796, 'fraction_numerical': 0.0007593014426727411, 'mean_word_length': 2.5039893617021276, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4384714', 'n_tokens_mistral': 728, 'n_tokens_neox': 708, 'n_words': 339}