{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "Board", "description": "A single board on 4chan or 4channel and its configured settings.", "$id": "https://raw.githubusercontent.com/api-evangelist/4chan/refs/heads/main/json-schema/4chan-api-board-schema.json", "properties": { "board": { "type": "string", "description": "Board directory short name (used as the path segment for all per-board endpoints).", "example": "a" }, "title": { "type": "string", "description": "Human-readable board title displayed at the top of the board.", "example": "Anime & Manga" }, "ws_board": { "type": "integer", "description": "`1` if the board is worksafe, `0` otherwise.", "enum": [ 0, 1 ], "example": 1 }, "per_page": { "type": "integer", "description": "Number of threads displayed on a single index page.", "example": 15 }, "pages": { "type": "integer", "description": "Total number of index pages on the board.", "example": 10 }, "max_filesize": { "type": "integer", "description": "Maximum file size allowed for non-`.webm` attachments, in bytes.", "example": 4194304 }, "max_webm_filesize": { "type": "integer", "description": "Maximum file size allowed for `.webm` attachments, in bytes.", "example": 3145728 }, "max_comment_chars": { "type": "integer", "description": "Maximum number of characters allowed in a single post comment.", "example": 2000 }, "max_webm_duration": { "type": "integer", "description": "Maximum allowed duration of a `.webm` attachment, in seconds.", "example": 120 }, "bump_limit": { "type": "integer", "description": "Maximum number of replies before a thread stops bumping to the top.", "example": 500 }, "image_limit": { "type": "integer", "description": "Maximum number of image replies before further image replies are discarded.", "example": 300 }, "cooldowns": { "type": "object", "description": "Per-board cooldown intervals (in seconds) between successive posts of each type.", "properties": { "threads": { "type": "integer", "description": "Minimum seconds between consecutive thread creations from the same poster.", "example": 600 }, "replies": { "type": "integer", "description": "Minimum seconds between consecutive replies from the same poster.", "example": 60 }, "images": { "type": "integer", "description": "Minimum seconds between consecutive image posts from the same poster.", "example": 60 } } }, "meta_description": { "type": "string", "description": "SEO `` description content for the board's catalog page.", "example": "\"/a/ - Anime & Manga\" is 4chan's imageboard dedicated to the discussion of Japanese animation and manga." }, "spoilers": { "type": "integer", "description": "`1` if spoilered images are enabled on this board.", "enum": [ 0, 1 ], "example": 1 }, "custom_spoilers": { "type": "integer", "description": "Number of custom spoiler image variants the board provides.", "example": 1 }, "is_archived": { "type": "integer", "description": "`1` if the board has its archive enabled.", "enum": [ 0, 1 ], "example": 1 }, "board_flags": { "type": "object", "description": "Map of board-specific flag codes to human-readable flag names.", "additionalProperties": { "type": "string" }, "example": { "AB": "Flag Name AB", "XY": "Flag Name XY" } }, "country_flags": { "type": "integer", "description": "`1` if poster country flags are enabled on this board.", "enum": [ 0, 1 ], "example": 0 }, "user_ids": { "type": "integer", "description": "`1` if per-thread poster ID tags are enabled.", "enum": [ 0, 1 ], "example": 0 }, "oekaki": { "type": "integer", "description": "`1` if users can submit drawings via the in-browser Oekaki app.", "enum": [ 0, 1 ], "example": 0 }, "sjis_tags": { "type": "integer", "description": "`1` if the `[sjis]` Shift-JIS drawing tag is supported.", "enum": [ 0, 1 ], "example": 0 }, "code_tags": { "type": "integer", "description": "`1` if `[code]` syntax-highlighted blocks are supported.", "enum": [ 0, 1 ], "example": 0 }, "math_tags": { "type": "integer", "description": "`1` if `[math]` / `[eqn]` TeX rendering is supported.", "enum": [ 0, 1 ], "example": 0 }, "text_only": { "type": "integer", "description": "`1` if image posting is disabled on the board.", "enum": [ 0, 1 ], "example": 0 }, "forced_anon": { "type": "integer", "description": "`1` if the name field is disabled on the board.", "enum": [ 0, 1 ], "example": 0 }, "webm_audio": { "type": "integer", "description": "`1` if `.webm` files with audio tracks are allowed.", "enum": [ 0, 1 ], "example": 0 }, "require_subject": { "type": "integer", "description": "`1` if OPs are required to include a subject.", "enum": [ 0, 1 ], "example": 0 }, "min_image_width": { "type": "integer", "description": "Minimum allowed width of uploaded images, in pixels.", "example": 100 }, "min_image_height": { "type": "integer", "description": "Minimum allowed height of uploaded images, in pixels.", "example": 100 } }, "type": "object", "required": [ "board", "title", "ws_board", "per_page", "pages", "max_filesize", "max_webm_filesize", "max_comment_chars", "max_webm_duration", "bump_limit", "image_limit", "cooldowns", "meta_description" ] }