4chan · Schema
Board
A single board on 4chan or 4channel and its configured settings.
SocialBulletin BoardImageboardRead OnlyJSONPublic APIsCommunity
Properties
| Name | Type | Description |
|---|---|---|
| board | string | Board directory short name (used as the path segment for all per-board endpoints). |
| title | string | Human-readable board title displayed at the top of the board. |
| ws_board | integer | `1` if the board is worksafe, `0` otherwise. |
| per_page | integer | Number of threads displayed on a single index page. |
| pages | integer | Total number of index pages on the board. |
| max_filesize | integer | Maximum file size allowed for non-`.webm` attachments, in bytes. |
| max_webm_filesize | integer | Maximum file size allowed for `.webm` attachments, in bytes. |
| max_comment_chars | integer | Maximum number of characters allowed in a single post comment. |
| max_webm_duration | integer | Maximum allowed duration of a `.webm` attachment, in seconds. |
| bump_limit | integer | Maximum number of replies before a thread stops bumping to the top. |
| image_limit | integer | Maximum number of image replies before further image replies are discarded. |
| cooldowns | object | Per-board cooldown intervals (in seconds) between successive posts of each type. |
| meta_description | string | SEO `` description content for the board's catalog page. |
| spoilers | integer | `1` if spoilered images are enabled on this board. |
| custom_spoilers | integer | Number of custom spoiler image variants the board provides. |
| is_archived | integer | `1` if the board has its archive enabled. |
| board_flags | object | Map of board-specific flag codes to human-readable flag names. |
| country_flags | integer | `1` if poster country flags are enabled on this board. |
| user_ids | integer | `1` if per-thread poster ID tags are enabled. |
| oekaki | integer | `1` if users can submit drawings via the in-browser Oekaki app. |
| sjis_tags | integer | `1` if the `[sjis]` Shift-JIS drawing tag is supported. |
| code_tags | integer | `1` if `[code]` syntax-highlighted blocks are supported. |
| math_tags | integer | `1` if `[math]` / `[eqn]` TeX rendering is supported. |
| text_only | integer | `1` if image posting is disabled on the board. |
| forced_anon | integer | `1` if the name field is disabled on the board. |
| webm_audio | integer | `1` if `.webm` files with audio tracks are allowed. |
| require_subject | integer | `1` if OPs are required to include a subject. |
| min_image_width | integer | Minimum allowed width of uploaded images, in pixels. |
| min_image_height | integer | Minimum allowed height of uploaded images, in pixels. |
JSON Schema
{
"$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 `<meta>` 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"
]
}