Neynar Cast API

Operations related to cast

Operations 8

DELETE /v2/farcaster/cast/ Delete a cast #
GET /v2/farcaster/cast/ By hash or URL #
POST /v2/farcaster/cast/ Post a cast #
GET /v2/farcaster/cast/conversation/ Conversation for a cast #
GET /v2/farcaster/cast/embed/crawl/ Embedded URL metadata #
GET /v2/farcaster/cast/quotes/ Cast Quotes #
GET /v2/farcaster/cast/search/ Search for casts #
GET /v2/farcaster/casts/ Bulk fetch casts #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/neynar-cast-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

neynar-cast-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: team@neynar.com
    name: Neynar
    url: https://neynar.com/
  description: The Neynar API allows you to interact with the Farcaster protocol among other things. See the [Neynar docs](https://docs.neynar.com/reference) for more details.
  title: Neynar Cast API
  version: 3.176.0
servers:
- url: https://api.neynar.com
security:
- ApiKeyAuth: []
tags:
- description: Operations related to cast
  externalDocs:
    description: More info about cast
    url: https://docs.neynar.com/reference/cast-operations
  name: Cast
paths:
  /v2/farcaster/cast/:
    delete:
      description: "Delete an existing cast. \n(In order to delete a cast `signer_uuid` must be approved)"
      externalDocs:
        url: https://docs.neynar.com/reference/delete-cast
      operationId: delete-cast
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteCastReqBody'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorRes'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorRes'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorRes'
          description: Resource not found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorRes'
          description: Server Error
      summary: Delete a cast
      tags:
      - Cast
    get:
      description: Gets information about an individual cast by passing in a Farcaster web URL or cast hash
      externalDocs:
        url: https://docs.neynar.com/reference/lookup-cast-by-hash-or-url
      operationId: lookup-cast-by-hash-or-url
      parameters:
      - $ref: '#/components/parameters/NeynarExperimentalHeader'
      - description: Cast identifier (It's either a URL or a hash)
        in: query
        name: identifier
        required: true
        schema:
          example: https://farcaster.xyz/rish/0xafa59bb7
          type: string
      - description: 'The query param accepted by the API. Sent along with identifier param.

          url - Cast identifier is a url

          hash - Cast identifier is a hash'
        in: query
        name: type
        required: true
        schema:
          enum:
          - url
          - hash
          example: url
          type: string
      - description: adds viewer_context to cast object to show whether viewer has liked or recasted the cast.
        in: query
        name: viewer_fid
        schema:
          minimum: 1
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CastResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorRes'
          description: Bad Request
      summary: By hash or URL
      tags:
      - Cast
    post:
      description: "Posts a cast or cast reply. Works with mentions and embeds.  \n(In order to post a cast `signer_uuid` must be approved)"
      externalDocs:
        url: https://docs.neynar.com/reference/publish-cast
      operationId: publish-cast
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostCastReqBody'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostCastResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorRes'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorRes'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorRes'
          description: Resource not found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorRes'
          description: Server Error
      summary: Post a cast
      tags:
      - Cast
  /v2/farcaster/cast/conversation/:
    get:
      description: Gets all casts related to a conversation surrounding a cast by passing in a cast hash or Farcaster URL. Includes all the ancestors of a cast up to the root parent in a chronological order. Includes all direct_replies to the cast up to the reply_depth specified in the query parameter.
      externalDocs:
        url: https://docs.neynar.com/reference/lookup-cast-conversation
      operationId: lookup-cast-conversation
      parameters:
      - $ref: '#/components/parameters/NeynarExperimentalHeader'
      - description: Cast identifier (It's either a URL or a hash)
        in: query
        name: identifier
        required: true
        schema:
          example: https://warpcast.com/rish/0x9288c1
          type: string
      - description: 'The query param accepted by the API. Sent along with identifier param.

          url - Cast identifier is a url

          hash - Cast identifier is a hash'
        in: query
        name: type
        required: true
        schema:
          enum:
          - url
          - hash
          example: url
          type: string
      - description: The depth of replies in the conversation that will be returned (default 2)
        in: query
        name: reply_depth
        schema:
          default: 2
          maximum: 5
          minimum: 0
          type: integer
      - description: Include all parent casts in chronological order
        in: query
        name: include_chronological_parent_casts
        schema:
          default: false
          type: boolean
      - description: Providing this will return a conversation that respects this user's mutes and blocks and includes `viewer_context`.
        in: query
        name: viewer_fid
        schema:
          minimum: 1
          type: integer
      - description: Sort type for the ordering of descendants. Default is `chron`
        in: query
        name: sort_type
        schema:
          enum:
          - chron
          - desc_chron
          - algorithmic
          example: chron
          type: string
      - description: Show conversation above or below the fold. Lower quality responses are hidden below the fold. Not passing in a value shows the full conversation without any folding.
        in: query
        name: fold
        schema:
          enum:
          - above
          - below
          type: string
      - description: Number of results to fetch
        in: query
        name: limit
        schema:
          default: 20
          example: 30
          format: int32
          maximum: 50
          minimum: 1
          type: integer
        x-is-limit-param: true
      - description: Pagination cursor.
        in: query
        name: cursor
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Conversation'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorRes'
          description: Bad Request
      summary: Conversation for a cast
      tags:
      - Cast
  /v2/farcaster/cast/embed/crawl/:
    get:
      description: Crawls the given URL and returns metadata useful when embedding the URL in a cast.
      externalDocs:
        url: https://docs.neynar.com/reference/fetch-embedded-url-metadata
      operationId: fetch-embedded-url-metadata
      parameters:
      - description: URL to crawl metadata of
        in: query
        name: url
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CastEmbedCrawlResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorRes'
          description: Bad Request
      summary: Embedded URL metadata
      tags:
      - Cast
  /v2/farcaster/cast/quotes/:
    get:
      description: Fetch casts that quote a given cast
      externalDocs:
        url: https://docs.neynar.com/reference/fetch-cast-quotes
      operationId: fetch-cast-quotes
      parameters:
      - $ref: '#/components/parameters/NeynarExperimentalHeader'
      - description: Cast identifier (It's either a URL or a hash)
        in: query
        name: identifier
        required: true
        schema:
          example: https://farcaster.xyz/rish/0xafa59bb7
          type: string
      - description: 'The query param accepted by the API. Sent along with identifier param.

          url - Cast identifier is a url

          hash - Cast identifier is a hash'
        in: query
        name: type
        required: true
        schema:
          enum:
          - url
          - hash
          example: url
          type: string
      - in: query
        name: viewer_fid
        schema:
          minimum: 1
          type: integer
      - description: Number of results to fetch
        in: query
        name: limit
        schema:
          default: 25
          example: 30
          format: int32
          maximum: 100
          minimum: 1
          type: integer
        x-is-limit-param: true
      - description: Pagination cursor.
        in: query
        name: cursor
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  casts:
                    items:
                      $ref: '#/components/schemas/Cast'
                    type: array
                  next:
                    $ref: '#/components/schemas/NextCursor'
                required:
                - casts
                - next
                type: object
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorRes'
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorRes'
          description: Resource not found
      summary: Cast Quotes
      tags:
      - Cast
  /v2/farcaster/cast/search/:
    get:
      description: Search for casts based on a query string, with optional AND filters
      externalDocs:
        url: https://docs.neynar.com/reference/search-casts
      operationId: search-casts
      parameters:
      - $ref: '#/components/parameters/NeynarExperimentalHeader'
      - description: 'Query string to search for casts. Supported operators:


          | Operator  | Description                                                                                              |

          | --------- | -------------------------------------------------------------------------------------------------------- |

          | `+`       | Acts as the AND operator. This is the default operator between terms and can usually be omitted.         |

          | `\|`      | Acts as the OR operator.                                                                                 |

          | `*`       | When used at the end of a term, signifies a prefix query.                                                  |

          | `"`       | Wraps several terms into a phrase (for example, `"star wars"`).                                          |

          | `(`, `)`  | Wrap a clause for precedence (for example, `star + (wars \| trek)`).                                     |

          | `~n`      | When used after a term (for example, `satr~3`), sets `fuzziness`. When used after a phrase, sets `slop`. |

          | `-`       | Negates the term.                                                                                        |

          | `before:` | Search for casts before a specific date. (e.g. `before:2025-04-20` or `before:2025-04-20T23:59:59`)      |

          | `after:`  | Search for casts after a specific date. (e.g. `after:2025-04-20` or `after:2025-04-20T00:00:00`)         |'
        in: query
        name: q
        required: true
        schema:
          example: star (wars | trek) "space battle" after:2024-05-04
          type: string
      - description: 'Choices are:

          - `literal` - Searches for the words in the query string (default)

          - `semantic` - Searches for the meaning of the query string

          - `hybrid` - Combines both literal and semantic results'
        in: query
        name: mode
        schema:
          enum:
          - literal
          - semantic
          - hybrid
          example: literal
          type: string
      - description: 'Choices are:

          - `desc_chron` - All casts sorted by time in a descending order (default)

          - `chron` - All casts sorted by time in ascending order

          - `algorithmic` - Casts sorted by engagement and time'
        in: query
        name: sort_type
        schema:
          enum:
          - desc_chron
          - chron
          - algorithmic
          example: desc_chron
          type: string
      - description: Fid of the user whose casts you want to search
        in: query
        name: author_fid
        schema:
          minimum: 1
          type: integer
      - description: Providing this will return search results that respects this user's mutes and blocks and includes `viewer_context`.
        in: query
        name: viewer_fid
        schema:
          minimum: 1
          type: integer
      - description: Parent URL of the casts you want to search
        in: query
        name: parent_url
        schema:
          type: string
      - description: Channel ID of the casts you want to search
        in: query
        name: channel_id
        schema:
          type: string
      - description: Number of results to fetch
        in: query
        name: limit
        schema:
          default: 25
          example: 25
          format: int32
          maximum: 100
          minimum: 1
          type: integer
        x-is-limit-param: true
      - description: Pagination cursor
        in: query
        name: cursor
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CastsSearchResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorRes'
          description: Bad Request
      summary: Search for casts
      tags:
      - Cast
  /v2/farcaster/casts/:
    get:
      description: Fetch multiple casts using their respective hashes.
      externalDocs:
        url: https://docs.neynar.com/reference/fetch-bulk-casts
      operationId: fetch-bulk-casts
      parameters:
      - $ref: '#/components/parameters/NeynarExperimentalHeader'
      - description: Hashes of the cast to be retrived (Comma separated, no spaces)
        in: query
        name: casts
        required: true
        schema:
          example: 0xa896906a5e397b4fec247c3ee0e9e4d4990b8004,0x27ff810f7f718afd8c40be236411f017982e0994
          type: string
          x-comma-separated: true
      - description: adds viewer_context to cast object to show whether viewer has liked or recasted the cast.
        in: query
        name: viewer_fid
        schema:
          minimum: 1
          type: integer
      - description: Optional parameter to sort the casts based on different criteria
        in: query
        name: sort_type
        schema:
          enum:
          - trending
          - likes
          - recasts
          - replies
          - recent
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CastsResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorRes'
          description: Bad Request
      summary: Bulk fetch casts
      tags:
      - Cast
components:
  schemas:
    PostCastReqBodyEmbedsCastIdProperties:
      properties:
        fid:
          $ref: '#/components/schemas/Fid'
        hash:
          type: string
      required:
      - hash
      - fid
      title: PostCastReqBodyEmbedsCastIdProperties
      type: object
    CastAndConversationsRef:
      description: Reference to CastAndConversations to avoid circular reference
      properties:
        app:
          allOf:
          - $ref: '#/components/schemas/UserDehydrated'
        author:
          $ref: '#/components/schemas/User'
        author_channel_context:
          $ref: '#/components/schemas/ChannelUserContext'
        channel:
          allOf:
          - $ref: '#/components/schemas/ChannelOrChannelDehydrated'
        direct_replies:
          description: 'note: This is recursive. It contains the direct replies to the cast and their direct replies up to n reply_depth.'
          items:
            properties: {}
            type: object
          type: array
        embeds:
          items:
            $ref: '#/components/schemas/Embed'
          type: array
        hash:
          type: string
        mentioned_channels:
          items:
            $ref: '#/components/schemas/ChannelDehydrated'
          type: array
        mentioned_channels_ranges:
          description: 'Positions within the text (inclusive start, exclusive end) where each mention occurs.

            Each index within this list corresponds to the same-numbered index in the mentioned_channels list.'
          items:
            $ref: '#/components/schemas/TextRange'
          type: array
        mentioned_profiles:
          items:
            $ref: '#/components/schemas/User'
          type: array
        mentioned_profiles_ranges:
          description: 'Positions within the text (inclusive start, exclusive end) where each mention occurs.

            Each index within this list corresponds to the same-numbered index in the mentioned_profiles list.'
          items:
            $ref: '#/components/schemas/TextRange'
          type: array
        object:
          enum:
          - cast
          type: string
        parent_author:
          properties:
            fid:
              allOf:
              - $ref: '#/components/schemas/Fid'
          required:
          - fid
          type: object
        parent_hash:
          type:
          - string
          - 'null'
        parent_url:
          type:
          - string
          - 'null'
        reactions:
          $ref: '#/components/schemas/CastReactions'
        replies:
          $ref: '#/components/schemas/CastReplies'
        root_parent_url:
          type:
          - string
          - 'null'
        text:
          type: string
        thread_hash:
          type:
          - string
          - 'null'
        timestamp:
          format: date-time
          type: string
        type:
          $ref: '#/components/schemas/CastNotificationType'
        viewer_context:
          $ref: '#/components/schemas/CastViewerContext'
      required:
      - object
      - hash
      - parent_hash
      - parent_url
      - root_parent_url
      - parent_author
      - author
      - text
      - timestamp
      - embeds
      - reactions
      - replies
      - thread_hash
      - mentioned_profiles
      - mentioned_profiles_ranges
      - mentioned_channels
      - mentioned_channels_ranges
      - channel
      - direct_replies
      title: CastAndConversationsRef
      type: object
    FarcasterManifest:
      properties:
        account_association:
          $ref: '#/components/schemas/EncodedJsonFarcasterSignature'
        frame:
          properties:
            button_title:
              type: string
            description:
              description: Detailed description of the configuration
              type: string
            hero_image_url:
              description: URL of the hero image displayed for the configuration
              format: uri
              type: string
            home_url:
              type: string
            icon_url:
              type: string
            image_url:
              type: string
            name:
              type: string
            noindex:
              description: Whether search engines should not index this configuration
              type: boolean
            og_description:
              description: Description used for Open Graph previews
              type: string
            og_image_url:
              description: Image URL used for Open Graph previews
              format: uri
              type: string
            og_title:
              description: Title used for Open Graph previews
              type: string
            primary_category:
              description: Primary category the configuration belongs to
              type: string
            screenshot_urls:
              description: URLs of screenshots showcasing the configuration
              items:
                format: uri
                type: string
              type: array
            splash_background_color:
              type: string
            splash_image_url:
              type: string
            subtitle:
              description: Short subtitle for the configuration
              type: string
            tagline:
              description: Short tagline for the configuration
              type: string
            tags:
              description: Tags associated with the configuration
              items:
                type: string
              type: array
            version:
              enum:
              - '1'
              - 0.0.0
              - 0.0.1
              - next
              type: string
            webhook_url:
              type: string
          required:
          - version
          - name
          - home_url
          - icon_url
          type: object
        miniapp:
          properties:
            button_title:
              type: string
            description:
              description: Detailed description of the configuration
              type: string
            hero_image_url:
              description: URL of the hero image displayed for the configuration
              format: uri
              type: string
            home_url:
              type: string
            icon_url:
              type: string
            image_url:
              type: string
            name:
              type: string
            noindex:
              description: Whether search engines should not index this configuration
              type: boolean
            og_description:
              description: Description used for Open Graph previews
              type: string
            og_image_url:
              description: Image URL used for Open Graph previews
              format: uri
              type: string
            og_title:
              description: Title used for Open Graph previews
              type: string
            primary_category:
              description: Primary category the configuration belongs to
              type: string
            screenshot_urls:
              description: URLs of screenshots showcasing the configuration
              items:
                format: uri
                type: string
              type: array
            splash_background_color:
              type: string
            splash_image_url:
              type: string
            subtitle:
              description: Short subtitle for the configuration
              type: string
            tagline:
              description: Short tagline for the configuration
              type: string
            tags:
              description: Tags associated with the configuration
              items:
                type: string
              type: array
            version:
              enum:
              - '1'
              - 0.0.0
              - 0.0.1
              - next
              type: string
            webhook_url:
              type: string
          required:
          - version
          - name
          - home_url
          - icon_url
          type: object
      required:
      - account_association
      title: FarcasterManifest
      type: object
    Conversation:
      properties:
        conversation:
          properties:
            cast:
              $ref: '#/components/schemas/CastAndConversations'
            chronological_parent_casts:
              items:
                $ref: '#/components/schemas/Cast'
              type: array
          required:
          - cast
          type: object
        next:
          $ref: '#/components/schemas/NextCursor'
      required:
      - conversation
      title: Conversation
      type: object
    Channel:
      properties:
        created_at:
          format: date-time
          type: string
        description:
          type: string
        description_mentioned_profiles:
          items:
            $ref: '#/components/schemas/UserDehydrated'
          type: array
        description_mentioned_profiles_ranges:
          description: Positions within the text (inclusive start, exclusive end) where each mention occurs.
          items:
            $ref: '#/components/schemas/TextRange'
          type: array
        external_link:
          description: Channel's external link.
          properties:
            title:
              type: string
            url:
              type: string
          type: object
        follower_count:
          description: Number of followers the channel has.
          type: number
        hosts:
          deprecated: true
          items:
            $ref: '#/components/schemas/User'
          type: array
        id:
          type: string
        image_url:
          type: string
        lead:
          $ref: '#/components/schemas/User'
        member_count:
          format: int32
          type: integer
        moderator:
          allOf:
          - $ref: '#/components/schemas/User'
          deprecated: true
          description: Use `lead` instead.
        moderator_fids:
          items:
            $ref: '#/components/schemas/Fid'
          type: array
        name:
          type: string
        object:
          enum:
          - channel
          type: string
        parent_url:
          format: uri
          type: string
        pinned_cast_hash:
          example: '0x71d5225f77e0164388b1d4c120825f3a2c1f131c'
          pattern: ^(0x)?[a-fA-F0-9]{40}$
          type: string
        url:
          type: string
        viewer_context:
          $ref: '#/components/schemas/ChannelUserContext'
      required:
      - id
      - url
      - object
      - created_at
      title: Channel
      type: object
    TextRange:
      properties:
        end:
          minimum: 0
          type: number
        start:
          minimum: 0
          type: number
      required:
      - start
      - end
      title: TextRange
      type: object
    Cast:
      properties:
        app:
          allOf:
          - $ref: '#/components/schemas/UserDehydrated'
        author:
          $ref: '#/components/schemas/User'
        author_channel_context:
          $ref: '#/components/schemas/ChannelUserContext'
        channel:
          allOf:
          - $ref: '#/components/schemas/ChannelOrChannelDehydrated'
        embeds:
          items:
            $ref: '#/components/schemas/Embed'
          type: array
        hash:
          type: string
        mentioned_channels:
          items:
            $ref: '#/components/schemas/ChannelDehydrated'
          type: array
        mentioned_channels_ranges:
          description: 'Positions within the text (inclusive start, exclusive end) where each mention occurs.

            Each index within this list corresponds to the same-numbered index in the mentioned_channels list.'
          items:
            $ref: '#/components/schemas/TextRange'
          type: array
        mentioned_profiles:
          items:
            $ref: '#/components/schemas/User'
          type: array
        mentioned_profiles_ranges:
          description: 'Positions within the text (inclusive start, exclusive end) where each mention occurs.

            Each index within this list corresponds to the same-numbered index in the mentioned_profiles list.'
          items:
            $ref: '#/components/schemas/TextRange'
          type: array
        object:
          enum:
          - cast
          type: string
        parent_author:
          properties:
            fid:
              allOf:
              - $ref: '#/components/schemas/Fid'
          required:
          - fid
          type: object
        parent_hash:
          type:
          - string
          - 'null'
        parent_url:
          type:
          - string
          - 'null'
        reactions:
          $ref: '#/components/schemas/CastReactions'
        replies:
          $ref: '#/components/schemas/CastReplies'
        root_parent_url:
          type:
          - string
          - 'null'
        text:
          type: string
        thread_hash:
          type:
          - string
          - 'null'
        timestamp:
          format: date-time
          type: string
        type:
          $ref: '#/components/schemas/CastNotificationType'
        viewer_context:
          $ref: '#/components/schemas/CastViewerContext'
      required:
      - object
      - hash
      - parent_hash
      - parent_url
      - root_parent_url
      - parent_author
      - author
      - text
      - timestamp
      - embeds
      - reactions
      - replies
      - thread_hash
      - mentioned_profiles
      - mentioned_profiles_ranges
      - mentioned_channels
      - mentioned_channels_ranges
      - channel
      title: Cast
      type: object
    CastId:
      deprecated: true
      description: '[DEPRECATED: Use "cast" key instead]'
      properties:
        fid:
          $ref: '#/components/schemas/Fid'
        hash:
          type: string
      required:
      - fid
      - hash
      title: CastId
      type: object
    PostCastReqBodyEmbeds:
      additionalProperties: false
      anyOf:
      - additionalProperties: false
        properties:
          cast_id:
            $ref: '#/components/schemas/PostCastReqBodyEmbedsCastIdProperties'
        required:
        - cast_id
        type: object
      - additionalProperties: false
        properties:
          castId:
            $ref: '#/components/schemas/PostCastReqBodyEmbedsCastIdProperties'
        required:
        - castId
        type: object
      - additionalProperties: false
        properties:
          url:
            type: string
        required:
        - url
        type: object
      title: PostCastReqBodyEmbeds
    ReactionLike:
      properties:
        fid:
          $ref: '#/components/schemas/Fid'
        fname:
          type: string
      required:
      - fid
      - fname
      title: ReactionLike
      type: object
    EmbedUrl:
      properties:
        metadata:
          $ref: '#/components/schemas/EmbedUrlMetadata'
        url:
          type: string
      required:
      - url
      title: EmbedUrl
      type: object
    ChannelMemberRole:
      description: The role of a channel member
      enum:
      - member
      - moderator
      - owner
      title: ChannelMemberRole
      type: string
    CastAndConversations:
      properties:
        app:
          allOf:
          - $ref: '#/components/schemas/UserDehydrated'
        author

# --- truncated at 32 KB (71 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/neynar/refs/heads/main/openapi/neynar-cast-api-openapi.yml