{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://neynar.com/schemas/hub/ReactionBody",
  "title": "Hub ReactionBody",
  "description": "Specifies the details of a reaction to content on Farcaster. A reaction must specify its type (like/recast) and either a target cast ID or URL to react to. Only one target (either castId or URL) should be specified per reaction.",
  "type": "object",
  "properties": {
    "type": {
      "$ref": "#/components/schemas/ReactionType"
    },
    "targetCastId": {
      "description": "The unique identifier of the cast being reacted to. Must be a valid CastId containing the creator's FID and the cast's hash.",
      "allOf": [
        {
          "$ref": "#/components/schemas/CastId"
        }
      ]
    },
    "targetUrl": {
      "title": "URL to react to",
      "description": "The URL being reacted to. Used when reacting to external content or when the cast ID is not available.",
      "type": "string",
      "example": "https://www.example.com/article"
    }
  },
  "required": [
    "type"
  ]
}