POST
/
v2
/
farcaster
/
frame
/
validate
/
Validate mini app action
curl --request POST \
  --url https://api.neynar.com/v2/farcaster/frame/validate/ \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '{
  "message_bytes_in_hex": "<string>",
  "cast_reaction_context": true,
  "follow_context": false,
  "signer_context": false,
  "channel_follow_context": false
}'
{
  "valid": true,
  "action": {
    "object": "validated_frame_action",
    "url": "<string>",
    "interactor": {
      "object": "user",
      "fid": 3,
      "username": "<string>",
      "display_name": "<string>",
      "custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
      "pro": {
        "status": "subscribed",
        "subscribed_at": "2023-11-07T05:31:56Z",
        "expires_at": "2023-11-07T05:31:56Z"
      },
      "pfp_url": "<string>",
      "profile": {
        "bio": {},
        "location": {},
        "banner": {}
      },
      "follower_count": 123,
      "following_count": 123,
      "verifications": [
        "0x5a927ac639636e534b678e81768ca19e2c6280b7"
      ],
      "auth_addresses": [
        {}
      ],
      "verified_addresses": {
        "eth_addresses": [
          "<any>"
        ],
        "sol_addresses": [
          "<any>"
        ],
        "primary": {}
      },
      "verified_accounts": [
        {}
      ],
      "power_badge": true,
      "experimental": {
        "deprecation_notice": "<string>",
        "neynar_user_score": 123
      },
      "viewer_context": {
        "following": true,
        "followed_by": true,
        "blocking": true,
        "blocked_by": true
      },
      "score": 123
    },
    "tapped_button": {
      "index": 123
    },
    "input": {
      "text": "Draw a purple ringed planet"
    },
    "state": {
      "serialized": "%7B%22counter%22%3A1%7D"
    },
    "cast": {
      "object": "cast",
      "hash": "<string>",
      "parent_hash": "<string>",
      "parent_url": "<string>",
      "root_parent_url": "<string>",
      "parent_author": {
        "fid": 3
      },
      "author": {
        "object": "user",
        "fid": 3,
        "username": "<string>",
        "display_name": "<string>",
        "custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
        "pro": {
          "status": "subscribed",
          "subscribed_at": "2023-11-07T05:31:56Z",
          "expires_at": "2023-11-07T05:31:56Z"
        },
        "pfp_url": "<string>",
        "profile": {
          "bio": {},
          "location": {},
          "banner": {}
        },
        "follower_count": 123,
        "following_count": 123,
        "verifications": [
          "0x5a927ac639636e534b678e81768ca19e2c6280b7"
        ],
        "auth_addresses": [
          {}
        ],
        "verified_addresses": {
          "eth_addresses": [
            "<any>"
          ],
          "sol_addresses": [
            "<any>"
          ],
          "primary": {}
        },
        "verified_accounts": [
          {}
        ],
        "power_badge": true,
        "experimental": {
          "deprecation_notice": "<string>",
          "neynar_user_score": 123
        },
        "viewer_context": {
          "following": true,
          "followed_by": true,
          "blocking": true,
          "blocked_by": true
        },
        "score": 123
      },
      "app": {
        "object": "user_dehydrated",
        "fid": 3,
        "username": "<string>",
        "display_name": "<string>",
        "pfp_url": "<string>",
        "custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
        "score": 123
      },
      "text": "<string>",
      "timestamp": "2023-11-07T05:31:56Z",
      "embeds": [
        {
          "cast_id": {
            "fid": 3,
            "hash": "<string>"
          },
          "cast": {
            "hash": "<string>",
            "parent_hash": "<string>",
            "parent_url": "<string>",
            "root_parent_url": "<string>",
            "parent_author": {
              "fid": 3
            },
            "author": {
              "object": "user_dehydrated",
              "fid": 3,
              "username": "<string>",
              "display_name": "<string>",
              "pfp_url": "<string>",
              "custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
              "score": 123
            },
            "app": {
              "object": "user_dehydrated",
              "fid": 3,
              "username": "<string>",
              "display_name": "<string>",
              "pfp_url": "<string>",
              "custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
              "score": 123
            },
            "text": "<string>",
            "timestamp": "2023-11-07T05:31:56Z",
            "embeds": [
              {
                "cast_id": {},
                "cast": {
                  "object": "cast_dehydrated",
                  "hash": "<string>",
                  "author": {},
                  "app": "<any>"
                }
              }
            ],
            "channel": {
              "id": "<string>",
              "name": "<string>",
              "object": "channel_dehydrated",
              "image_url": "<string>",
              "viewer_context": {
                "following": "<any>",
                "role": "<any>"
              }
            }
          }
        }
      ],
      "type": "cast-mention",
      "reactions": {
        "likes": [
          {
            "fid": 3,
            "fname": "<string>"
          }
        ],
        "recasts": [
          {
            "fid": 3,
            "fname": "<string>"
          }
        ],
        "likes_count": 123,
        "recasts_count": 123
      },
      "replies": {
        "count": 123
      },
      "thread_hash": "<string>",
      "mentioned_profiles": [
        {
          "object": "user",
          "fid": 3,
          "username": "<string>",
          "display_name": "<string>",
          "custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
          "pro": {
            "status": "subscribed",
            "subscribed_at": "2023-11-07T05:31:56Z",
            "expires_at": "2023-11-07T05:31:56Z"
          },
          "pfp_url": "<string>",
          "profile": {
            "bio": {},
            "location": {},
            "banner": {}
          },
          "follower_count": 123,
          "following_count": 123,
          "verifications": [
            "0x5a927ac639636e534b678e81768ca19e2c6280b7"
          ],
          "auth_addresses": [
            {}
          ],
          "verified_addresses": {
            "eth_addresses": [
              "<any>"
            ],
            "sol_addresses": [
              "<any>"
            ],
            "primary": {}
          },
          "verified_accounts": [
            {}
          ],
          "power_badge": true,
          "experimental": {
            "deprecation_notice": "<string>",
            "neynar_user_score": 123
          },
          "viewer_context": {
            "following": true,
            "followed_by": true,
            "blocking": true,
            "blocked_by": true
          },
          "score": 123
        }
      ],
      "mentioned_profiles_ranges": [
        {
          "start": 1,
          "end": 1
        }
      ],
      "mentioned_channels": [
        {
          "id": "<string>",
          "name": "<string>",
          "object": "channel_dehydrated",
          "image_url": "<string>",
          "viewer_context": {
            "following": "<any>",
            "role": "<any>"
          }
        }
      ],
      "mentioned_channels_ranges": [
        {
          "start": 1,
          "end": 1
        }
      ],
      "channel": {
        "id": "<string>",
        "url": "<string>",
        "name": "<string>",
        "description": "<string>",
        "object": "channel",
        "created_at": "2023-11-07T05:31:56Z",
        "follower_count": 123,
        "external_link": {
          "title": "<string>",
          "url": "<string>"
        },
        "image_url": "<string>",
        "parent_url": "<string>",
        "lead": {
          "object": "user",
          "fid": 3,
          "username": "<string>",
          "display_name": "<string>",
          "custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
          "pro": {
            "status": "subscribed",
            "subscribed_at": "2023-11-07T05:31:56Z",
            "expires_at": "2023-11-07T05:31:56Z"
          },
          "pfp_url": "<string>",
          "profile": {
            "bio": {},
            "location": {},
            "banner": {}
          },
          "follower_count": 123,
          "following_count": 123,
          "verifications": [
            "0x5a927ac639636e534b678e81768ca19e2c6280b7"
          ],
          "auth_addresses": [
            {}
          ],
          "verified_addresses": {
            "eth_addresses": [
              "<any>"
            ],
            "sol_addresses": [
              "<any>"
            ],
            "primary": {}
          },
          "verified_accounts": [
            {}
          ],
          "power_badge": true,
          "experimental": {
            "deprecation_notice": "<string>",
            "neynar_user_score": 123
          },
          "viewer_context": {
            "following": true,
            "followed_by": true,
            "blocking": true,
            "blocked_by": true
          },
          "score": 123
        },
        "moderator_fids": [
          3
        ],
        "member_count": 123,
        "moderator": {
          "object": "user",
          "fid": 3,
          "username": "<string>",
          "display_name": "<string>",
          "custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
          "pro": {
            "status": "subscribed",
            "subscribed_at": "2023-11-07T05:31:56Z",
            "expires_at": "2023-11-07T05:31:56Z"
          },
          "pfp_url": "<string>",
          "profile": {
            "bio": {},
            "location": {},
            "banner": {}
          },
          "follower_count": 123,
          "following_count": 123,
          "verifications": [
            "0x5a927ac639636e534b678e81768ca19e2c6280b7"
          ],
          "auth_addresses": [
            {}
          ],
          "verified_addresses": {
            "eth_addresses": [
              "<any>"
            ],
            "sol_addresses": [
              "<any>"
            ],
            "primary": {}
          },
          "verified_accounts": [
            {}
          ],
          "power_badge": true,
          "experimental": {
            "deprecation_notice": "<string>",
            "neynar_user_score": 123
          },
          "viewer_context": {
            "following": true,
            "followed_by": true,
            "blocking": true,
            "blocked_by": true
          },
          "score": 123
        },
        "pinned_cast_hash": "0x71d5225f77e0164388b1d4c120825f3a2c1f131c",
        "hosts": [
          {
            "object": "user",
            "fid": 3,
            "username": "<string>",
            "display_name": "<string>",
            "custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
            "pro": {
              "status": "subscribed",
              "subscribed_at": "2023-11-07T05:31:56Z",
              "expires_at": "2023-11-07T05:31:56Z"
            },
            "pfp_url": "<string>",
            "profile": {
              "bio": {},
              "location": {},
              "banner": {}
            },
            "follower_count": 123,
            "following_count": 123,
            "verifications": [
              "0x5a927ac639636e534b678e81768ca19e2c6280b7"
            ],
            "auth_addresses": [
              {}
            ],
            "verified_addresses": {
              "eth_addresses": [
                "<any>"
              ],
              "sol_addresses": [
                "<any>"
              ],
              "primary": {}
            },
            "verified_accounts": [
              {}
            ],
            "power_badge": true,
            "experimental": {
              "deprecation_notice": "<string>",
              "neynar_user_score": 123
            },
            "viewer_context": {
              "following": true,
              "followed_by": true,
              "blocking": true,
              "blocked_by": true
            },
            "score": 123
          }
        ],
        "viewer_context": {
          "following": "<any>",
          "role": "<any>"
        },
        "description_mentioned_profiles": [
          {
            "object": "user_dehydrated",
            "fid": 3,
            "username": "<string>",
            "display_name": "<string>",
            "pfp_url": "<string>",
            "custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
            "score": 123
          }
        ],
        "description_mentioned_profiles_ranges": [
          {
            "start": 1,
            "end": 1
          }
        ]
      },
      "viewer_context": {
        "liked": true,
        "recasted": true
      },
      "author_channel_context": {
        "following": "<any>",
        "role": "<any>"
      }
    },
    "timestamp": "2023-11-07T05:31:56Z",
    "signer": {
      "client": {
        "object": "user",
        "fid": 3,
        "username": "<string>",
        "display_name": "<string>",
        "custody_address": "0x5a927ac639636e534b678e81768ca19e2c6280b7",
        "pro": {
          "status": "subscribed",
          "subscribed_at": "2023-11-07T05:31:56Z",
          "expires_at": "2023-11-07T05:31:56Z"
        },
        "pfp_url": "<string>",
        "profile": {
          "bio": {},
          "location": {},
          "banner": {}
        },
        "follower_count": 123,
        "following_count": 123,
        "verifications": [
          "0x5a927ac639636e534b678e81768ca19e2c6280b7"
        ],
        "auth_addresses": [
          {}
        ],
        "verified_addresses": {
          "eth_addresses": [
            "<any>"
          ],
          "sol_addresses": [
            "<any>"
          ],
          "primary": {}
        },
        "verified_accounts": [
          {}
        ],
        "power_badge": true,
        "experimental": {
          "deprecation_notice": "<string>",
          "neynar_user_score": 123
        },
        "viewer_context": {
          "following": true,
          "followed_by": true,
          "blocking": true,
          "blocked_by": true
        },
        "score": 123
      }
    },
    "transaction": {
      "hash": "0xa80de157a3ab4648db1ecfab7e6355b342215bc549f6e37be9e6da527cc024f7"
    },
    "address": "<string>"
  }
}

Authorizations

x-api-key
string
header
default:NEYNAR_API_DOCS
required

API key to authorize requests

Body

application/json
message_bytes_in_hex
string
required

Hexadecimal string of message bytes.

cast_reaction_context
boolean
default:true

Adds viewer_context inside the cast object to indicate whether the interactor reacted to the cast housing the mini app.

follow_context
boolean
default:false

Adds viewer_context inside the user (interactor) object to indicate whether the interactor follows or is followed by the cast author.

signer_context
boolean
default:false

Adds context about the app used by the user inside frame.action.

channel_follow_context
boolean
default:false

Adds context about the channel that the cast belongs to inside of the cast object.

Response

Success

valid
boolean
required
Example:

true

action
object
required