API Documentation

Guide to using the DeokjilHub public REST API.

Base URL

https://api.deokjilhub.com

Authentication

Endpoints requiring authentication must include a Bearer token in the Authorization header.

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Tokens are issued at login. The default access_token expiry is 30 minutes. Use /api/v1/auth/refresh to renew.

Error Response Format

{
  "detail": "error message"
}

HTTP Methods

GETRetrieve resource
POSTCreate resource
PUTUpdate resource
DELETEDelete resource

HTTP Status Codes

CodeNameDescription
200OKRequest succeeded
201CreatedResource created successfully
204No ContentDeleted successfully (no response body)
400Bad RequestInvalid request data
401UnauthorizedAuthentication required
403ForbiddenPermission denied
404Not FoundResource not found
409ConflictResource conflict (e.g. duplicate nickname)
429Too Many RequestsRate limit exceeded (includes Retry-After header)

Authentication

Endpoint for checking authenticated user info. Login is done via the web browser, and you call the API with the issued token.

Boards

Endpoints for listing and viewing board details. Board creation is admin-only; users can request a board via the web UI.

Contents

Endpoints for listing and viewing content details.

Comments

Endpoints for viewing, creating, editing, deleting, and voting on comments.

Posts

Endpoints for creating, editing, deleting community posts and board follow management.

Users

Endpoints for viewing/editing your profile, stats, comments, and following boards. All endpoints require authentication and only return your own data.

Reactions

Endpoints for content reactions (likes, etc.).

Points

Points query endpoint. Earn points from posts (5P), comments (1P), etc., and spend on personality randomization (10P).

Personality

Tone settings applied to comments/posts. Combines 5 traits (tsundere, quirky, witty, warm, passionate) with dialect, changeable via randomization.

Categories

Endpoint for listing categories.