JokeAPI · JSON Structure

Jokeapi Submission Response Structure

Submission response envelope.

Type: object Properties: 4 Required: 3
JokesHumorEntertainmentOpen-SourceREST APIGames And ComicsPublic APIs

SubmissionResponse is a JSON Structure definition published by JokeAPI, describing 4 properties, of which 3 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

error message submission timestamp

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/jokeapi/refs/heads/main/json-structure/jokeapi-submission-response-structure.json",
  "name": "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": "int32",
          "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": "int32",
      "example": 1780051223357
    }
  },
  "required": [
    "error",
    "message",
    "timestamp"
  ]
}

Work with this as data

Every JSON Structure here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for json structure

4 MCP tools reach this
  • find_json_structuresBrowse and filter every JSON Structure in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Structure
curl "https://apis.io/api/v1/json-structures/jokeapi-submission-response-structure"
All json structure
curl "https://apis.io/api/v1/json-structures?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.