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.
View JSON Schema on GitHub

JSON Schema

4chan-api-board-schema.json Raw ↑
{
  "$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"
  ]
}