{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/chatterapi-com/json-schema/chatterapi-com-xtweet-schema.json",
  "title": "XTweet",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/chatterapi-com-openapi.json#/components/schemas/XTweet",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "text": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "createdAt": {
      "anyOf": [
        {
          "type": "string",
          "description": "ISO 8601 UTC timestamp"
        },
        {
          "type": "null"
        }
      ]
    },
    "lang": {
      "type": [
        "string",
        "null"
      ]
    },
    "likes": {
      "type": [
        "number",
        "null"
      ]
    },
    "retweets": {
      "type": [
        "number",
        "null"
      ]
    },
    "replies": {
      "type": [
        "number",
        "null"
      ]
    },
    "quotes": {
      "type": [
        "number",
        "null"
      ]
    },
    "views": {
      "type": [
        "number",
        "null"
      ]
    },
    "bookmarks": {
      "type": [
        "number",
        "null"
      ]
    },
    "isReply": {
      "type": "boolean"
    },
    "inReplyToId": {
      "type": [
        "string",
        "null"
      ]
    },
    "conversationId": {
      "type": [
        "string",
        "null"
      ]
    },
    "isRetweet": {
      "type": "boolean"
    },
    "quotedTweetId": {
      "type": [
        "string",
        "null"
      ]
    },
    "author": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "handle": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "bio": {
          "type": [
            "string",
            "null"
          ]
        },
        "followers": {
          "type": [
            "number",
            "null"
          ]
        },
        "following": {
          "type": [
            "number",
            "null"
          ]
        },
        "tweets": {
          "type": [
            "number",
            "null"
          ]
        },
        "verified": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "blueVerified": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "canDm": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "protected": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "location": {
          "type": [
            "string",
            "null"
          ]
        },
        "url": {
          "type": [
            "string",
            "null"
          ]
        },
        "avatarUrl": {
          "type": [
            "string",
            "null"
          ]
        },
        "createdAt": {
          "anyOf": [
            {
              "type": "string",
              "description": "ISO 8601 UTC timestamp"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "id",
        "handle",
        "name",
        "bio",
        "followers",
        "following",
        "tweets",
        "verified",
        "blueVerified",
        "canDm",
        "protected",
        "location",
        "url",
        "avatarUrl",
        "createdAt"
      ],
      "additionalProperties": false
    },
    "media": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "url"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "id",
    "text",
    "url",
    "createdAt",
    "lang",
    "likes",
    "retweets",
    "replies",
    "quotes",
    "views",
    "bookmarks",
    "isReply",
    "inReplyToId",
    "conversationId",
    "isRetweet",
    "quotedTweetId",
    "author",
    "media"
  ],
  "additionalProperties": false
}