JokeAPI · Schema

SubmissionResponse

Submission response envelope.

JokesHumorEntertainmentOpen SourceREST APIGames And ComicsPublic APIs

Properties

Name Type Description
error boolean
message string
submission object Submission payload for `POST /submit`.
timestamp integer
View JSON Schema on GitHub

JSON Schema

jokeapi-submission-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/jokeapi/refs/heads/main/json-schema/jokeapi-submission-response-schema.json",
  "title": "SubmissionResponse",
  "description": "Submission response envelope.",
  "type": "object",
  "properties": {
    "error": {
      "type": "boolean",
      "example": false
    },
    "message": {
      "type": "string",
      "example": "Joke submission was successful."
    },
    "submission": {
      "type": "object",
      "description": "Submission payload for `POST /submit`.",
      "properties": {
        "formatVersion": {
          "type": "integer",
          "description": "Submission format version. Currently `3`.",
          "example": 3
        },
        "category": {
          "type": "string",
          "description": "Target category for the joke.",
          "enum": [
            "Misc",
            "Programming",
            "Dark",
            "Pun",
            "Spooky",
            "Christmas"
          ],
          "example": "Programming"
        },
        "type": {
          "type": "string",
          "description": "Joke shape.",
          "enum": [
            "single",
            "twopart"
          ],
          "example": "twopart"
        },
        "joke": {
          "type": "string",
          "description": "Joke text (required when `type` is `single`).",
          "example": "Why do programmers prefer dark mode? Because light attracts bugs."
        },
        "setup": {
          "type": "string",
          "description": "Setup line (required when `type` is `twopart`).",
          "example": "Why don't programmers like nature?"
        },
        "delivery": {
          "type": "string",
          "description": "Punchline (required when `type` is `twopart`).",
          "example": "It has too many bugs."
        },
        "flags": {
          "type": "object",
          "description": "Content classification flags carried on every joke.",
          "properties": {
            "nsfw": {
              "type": "boolean",
              "description": "Joke contains adult or explicit sexual content.",
              "example": false
            },
            "religious": {
              "type": "boolean",
              "description": "Joke references or mocks religion.",
              "example": false
            },
            "political": {
              "type": "boolean",
              "description": "Joke references politics or political figures.",
              "example": false
            },
            "racist": {
              "type": "boolean",
              "description": "Joke contains racist content.",
              "example": false
            },
            "sexist": {
              "type": "boolean",
              "description": "Joke contains sexist content.",
              "example": false
            },
            "explicit": {
              "type": "boolean",
              "description": "Joke contains explicit language unrelated to NSFW.",
              "example": false
            }
          },
          "required": [
            "nsfw",
            "religious",
            "political",
            "racist",
            "sexist",
            "explicit"
          ]
        },
        "lang": {
          "type": "string",
          "description": "ISO 639-1 language code of the joke.",
          "example": "en"
        }
      },
      "required": [
        "formatVersion",
        "category",
        "type",
        "flags",
        "lang"
      ]
    },
    "timestamp": {
      "type": "integer",
      "example": 1780051223357
    }
  },
  "required": [
    "error",
    "message",
    "timestamp"
  ]
}