akf-forum/APIDOCS.md
2022-09-17 00:27:38 +03:00

2.8 KiB

API documentation of Akf-forum

Akf-forum has got an API for AJAX, other clients etc.

Authorization

You need this headers for send request to API:

{
    "username": "testUser", 
    "password": "testPassword"
}

But in front end, the API will works with session.

Limits:

  • 3 - 25 char for username, password and category name
  • 256 char for user about and desp of category
  • 5 - 128 char for thread titles.
  • 5 - 1024 char for messages.

How to request?

Request types:

  • GET /api/me to get your account.

  • GET /api/bans/ fetch all bans.

  • GET /api/bans/:ip fetch a ban.

  • DELETE /api/bans/:ip for unban an IP adress.

  • POST /api/bans?reason=flood for ban an IP adress.

  • GET /api/categories/ fetch all categories.

  • GET /api/categories/:id fetch a category

  • PATCH /api/categories/:id for update a category.

  • DELETE /api/categories/:id for delete a category.

  • POST /api/categories for create a category.

  • GET /api/messages/:id for fetch message.

  • DELETE /api/messages/:id/ for delete message.

  • PATCH /api/messages/:id/ for edit message.

  • POST /api/messages/:id/undelete for undelete message.

  • POST /api/messages/:id/react/:type for react to a message.

  • POST /api/messages for create message.

use ?limit&skip for skip and limit

  • GET /api/search/users?q=query find users.

  • GET /api/search/threads?q=query&authorID=not_required find threads.

  • GET /api/search/messages?q=query&authorID=not_required find messages.

  • GET /api/threads/:id for fetch thread.

  • DELETE /api/threads/:id/ for delete thread.

  • PATCH /api/threads/:id/ for edit thread.

  • POST /api/threads/:id/undelete for undelete thread.

  • GET /api/threads/:id/messages?skip=0&limit=10 for fetch messages in thread.

  • POST /api/threads for create thread.

  • GET /api/users/:id for fetch user.

  • DELETE /api/users/:id/ for delete user.

  • PATCH /api/users/:id/ for edit user.

  • PUT /api/users/:id/ for add profile photo to user.

Example request:

GET /api/messages/0

Example API Output:

{
    "_id": "63067429bc01da866fad508b",
    "threadID": "0",
    "author": {
        "id": "0",
        "name": "Akif9748",
        "avatar": "https://cdn.discordapp.com/avatars/539506680140922890/abd74d10aac094fc8a5ad5c86f29fdb9.png?size=1024",
        "time": "2022-08-24T18:54:55.666Z",
        "deleted": false,
        "admin": false,
        "_id": "630673ffbc01da866fad507b",
        "__v": 0
    },
    "content": "deneme",
    "deleted": false,
    "edited": false,
    "time": "2022-08-24T18:55:37.744Z",
    "id": "0",
    "__v": 0,
    "react": {
        "like": [0],
        "dislike": []
    },
    "authorID": "0"
}