openapi: 3.0.4 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 Action HubEvents API version: 3.176.0 servers: - url: https://api.neynar.com security: - ApiKeyAuth: [] tags: - name: HubEvents description: Operations related to hub events. paths: /v1/events: get: tags: - HubEvents summary: Page of events description: Fetch a list of events. externalDocs: description: Fetch a list of events url: https://docs.neynar.com/reference/fetch-events operationId: fetch-events parameters: - name: from_event_id in: query required: false schema: type: integer description: 'An optional Hub Id to start getting events from. This is also returned from the API as nextPageEventId, which can be used to page through all the Hub events. Set it to 0 to start from the first event. ' example: 0 responses: '200': description: A successful response. content: application/json: schema: type: object properties: nextPageEventId: type: integer events: type: array items: $ref: '#/components/schemas/HubEvent' required: - nextPageEventId - events default: $ref: '#/components/responses/ErrorResponse' /v1/eventById: get: tags: - HubEvents summary: Event by ID description: Lookup an event by its ID. externalDocs: description: Lookup an event by its ID url: https://docs.neynar.com/reference/lookup-event operationId: lookup-event parameters: - name: event_id in: query required: true schema: type: integer description: The Hub Id of the event responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/HubEvent' default: $ref: '#/components/responses/ErrorResponse' components: schemas: OnChainEvent: oneOf: - $ref: '#/components/schemas/OnChainEventSigner' - $ref: '#/components/schemas/OnChainEventSignerMigrated' - $ref: '#/components/schemas/OnChainEventIdRegister' - $ref: '#/components/schemas/OnChainEventStorageRent' discriminator: propertyName: type mapping: EVENT_TYPE_SIGNER: '#/components/schemas/OnChainEventSigner' EVENT_TYPE_SIGNER_MIGRATED: '#/components/schemas/OnChainEventSignerMigrated' EVENT_TYPE_ID_REGISTER: '#/components/schemas/OnChainEventIdRegister' EVENT_TYPE_STORAGE_RENT: '#/components/schemas/OnChainEventStorageRent' MessageDataLink: description: Represents a social graph connection between users in the Farcaster network. Currently supports following relationships between users. allOf: - $ref: '#/components/schemas/MessageDataCommon' - type: object required: - linkBody properties: linkBody: description: Contains the details of the social connection, including the type of relationship and the target user. allOf: - $ref: '#/components/schemas/LinkBody' OnChainEventStorageRent: allOf: - $ref: '#/components/schemas/OnChainEventCommon' - type: object properties: storageRentEventBody: $ref: '#/components/schemas/StorageRentEventBody' required: - storageRentEventBody HubEventPruneMessage: type: object properties: type: type: string example: HUB_EVENT_TYPE_PRUNE_MESSAGE id: type: integer format: uint64 pruneMessageBody: $ref: '#/components/schemas/PruneMessageBody' required: - type - id - pruneMessageBody PruneMessageBody: type: object properties: message: $ref: '#/components/schemas/Message' required: - message MessageDataVerificationRemove: description: Represents a message that removes an existing blockchain address verification from a user's profile. This allows users to disassociate previously verified addresses from their account. allOf: - $ref: '#/components/schemas/MessageDataCommon' - type: object required: - verificationRemoveBody properties: verificationRemoveBody: description: Contains the blockchain address for which the verification should be removed from the user's profile. allOf: - $ref: '#/components/schemas/VerificationRemoveBody' MessageDataUsernameProof: allOf: - $ref: '#/components/schemas/MessageDataCommon' - type: object required: - usernameProofBody properties: usernameProofBody: $ref: '#/components/schemas/UserNameProof' Message: allOf: - type: object properties: data: oneOf: - $ref: '#/components/schemas/MessageDataCastAdd' - $ref: '#/components/schemas/MessageDataCastRemove' - $ref: '#/components/schemas/MessageDataReaction' - $ref: '#/components/schemas/MessageDataLink' - $ref: '#/components/schemas/MessageDataVerificationAdd' - $ref: '#/components/schemas/MessageDataVerificationRemove' - $ref: '#/components/schemas/MessageDataUserDataAdd' - $ref: '#/components/schemas/MessageDataUsernameProof' - $ref: '#/components/schemas/MessageDataFrameAction' discriminator: propertyName: type mapping: MESSAGE_TYPE_CAST_ADD: '#/components/schemas/MessageDataCastAdd' MESSAGE_TYPE_CAST_REMOVE: '#/components/schemas/MessageDataCastRemove' MESSAGE_TYPE_REACTION_ADD: '#/components/schemas/MessageDataReaction' MESSAGE_TYPE_REACTION_REMOVE: '#/components/schemas/MessageDataReaction' MESSAGE_TYPE_LINK_ADD: '#/components/schemas/MessageDataLink' MESSAGE_TYPE_LINK_REMOVE: '#/components/schemas/MessageDataLink' MESSAGE_TYPE_VERIFICATION_ADD_ETH_ADDRESS: '#/components/schemas/MessageDataVerificationAdd' MESSAGE_TYPE_VERIFICATION_REMOVE: '#/components/schemas/MessageDataVerificationRemove' MESSAGE_TYPE_USER_DATA_ADD: '#/components/schemas/MessageDataUserDataAdd' MESSAGE_TYPE_USERNAME_PROOF: '#/components/schemas/MessageDataUsernameProof' MESSAGE_TYPE_FRAME_ACTION: '#/components/schemas/MessageDataFrameAction' required: - data - $ref: '#/components/schemas/MessageCommon' description: 'A Message is a delta operation on the Farcaster network that represents a state change. Messages are the fundamental unit of data in Farcaster and can represent various actions like: - Creating or removing casts (posts) - Adding or removing reactions - Following or unfollowing users - Updating profile data - Verifying Ethereum addresses Each message contains: - A MessageData object with the actual content - A hash of the content for integrity verification - A cryptographic signature to prove authenticity - The signer''s public key for verification Messages are immutable once created and form an append-only log of all user actions on the network.' FrameActionBody: description: Contains the data for a user's interaction with a Farcaster Frame. Frames are interactive elements within casts that can have up to 4 clickable buttons, allowing users to engage with content in predefined ways. type: object properties: url: description: The URL associated with the frame action. This typically points to the frame's content or the destination that handles the interaction. type: string format: uri example: https://frames.farcaster.xyz/frame/123 buttonIndex: description: Identifies which button the user clicked in the frame. Frames can have up to 4 buttons, numbered from 1 to 4. title: Button Index type: integer format: int32 minimum: 1 maximum: 4 example: 1 castId: description: The unique identifier of the cast containing the frame that was interacted with. allOf: - $ref: '#/components/schemas/CastId' required: - url - buttonIndex - castId MergeOnChainEventBody: type: object properties: onChainEvent: $ref: '#/components/schemas/OnChainEvent' required: - onChainEvent CastEmbed: type: object properties: castId: $ref: '#/components/schemas/CastId' required: - castId VerificationAddEthAddressBody: description: Contains the data required to verify ownership of an Ethereum or Solana address. The verification process requires a cryptographic signature from the blockchain address and includes the block hash at the time of signing for timestamp verification. type: object properties: address: title: Blockchain Address description: The Ethereum (0x-prefixed) or Solana address that the user is claiming ownership of. Must match the address that produced the signature. pattern: ^(?:0x[a-fA-F0-9]{40}|[1-9A-HJ-NP-Za-km-z]{32,44})$ type: string example: '0x1234567890123456789012345678901234567890' ethSignature: title: Cryptographic Signature description: Base64-encoded signature produced by the blockchain address, proving ownership. For Ethereum, this is an ECDSA signature of a specific message format. pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$ type: string format: byte example: 4mGN6TACFqXUVU9RpwLDGCqgqiV1GidEFk9eKF0L0h6JNqmN3kRM9NMPnjUnkh8oL6+jFeQJ9YVuKX4F9EqGiAE= blockHash: title: Block Hash description: The hash of the most recent block when the signature was created. Used to verify the approximate time of signature creation. pattern: ^(0x[a-fA-F0-9]{64}|[1-9A-HJ-NP-Za-km-z]{44})$ type: string example: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef' required: - address - ethSignature - blockHash Embed: oneOf: - $ref: '#/components/schemas/CastEmbed' - $ref: '#/components/schemas/UrlEmbed' VerificationRemoveBody: description: Contains the data required to remove a previously added blockchain address verification from a user's profile. This operation permanently removes the verification until explicitly re-added. type: object properties: address: title: Blockchain Address description: The Ethereum address (0x-prefixed) for which the verification should be removed. Must match a previously verified address in the user's profile. pattern: ^0x[A-Za-z0-9]{40}$ type: string example: '0x1234567890123456789012345678901234567890' required: - address FidSchema: type: integer format: uint64 minimum: 1 description: 'Farcaster ID (FID). A unique identifier assigned to each user in the Farcaster network. This number is permanent and cannot be changed. FIDs are assigned sequentially when users register on the network. ' example: 1 SignerEventBody: type: object properties: key: pattern: ^0x[a-fA-F0-9]{64}$ type: string keyType: type: integer format: int64 eventType: $ref: '#/components/schemas/SignerEventType' metadata: pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$ type: string format: byte metadataType: type: integer format: int64 required: - key - keyType - eventType - metadata - metadataType SignatureScheme: type: string description: 'Type of signature scheme used to sign the Message hash - SIGNATURE_SCHEME_ED25519: Ed25519 signature (default) - SIGNATURE_SCHEME_EIP712: ECDSA signature using EIP-712 scheme' default: SIGNATURE_SCHEME_ED25519 enum: - SIGNATURE_SCHEME_ED25519 - SIGNATURE_SCHEME_EIP712 FarcasterNetwork: type: string description: 'Farcaster network the message is intended for. - FARCASTER_NETWORK_MAINNET: Public primary network - FARCASTER_NETWORK_TESTNET: Public test network - FARCASTER_NETWORK_DEVNET: Private test network' default: FARCASTER_NETWORK_MAINNET enum: - FARCASTER_NETWORK_MAINNET - FARCASTER_NETWORK_TESTNET - FARCASTER_NETWORK_DEVNET MessageDataUserDataAdd: description: Represents a message that updates a user's profile metadata. This can include changes to profile picture, display name, bio, URL, or preferred username. Each update modifies a single profile field. allOf: - $ref: '#/components/schemas/MessageDataCommon' - type: object required: - userDataBody properties: userDataBody: description: Contains the type of profile metadata being updated and its new value. allOf: - $ref: '#/components/schemas/UserDataBody' UserDataType: type: string description: 'Specifies which field of a user''s profile is being updated. - USER_DATA_TYPE_PFP: Profile Picture URL for the user''s avatar - USER_DATA_TYPE_DISPLAY: Display Name shown on the user''s profile - USER_DATA_TYPE_BIO: Biography or description of the user - USER_DATA_TYPE_URL: Website or social media link for the user - USER_DATA_TYPE_USERNAME: Preferred username for the user' default: USER_DATA_TYPE_PFP enum: - USER_DATA_TYPE_PFP - USER_DATA_TYPE_DISPLAY - USER_DATA_TYPE_BIO - USER_DATA_TYPE_URL - USER_DATA_TYPE_USERNAME UserDataBody: description: Contains the data for updating a specific field of a user's profile metadata. Each update operation modifies one profile field at a time, allowing granular control over profile information. type: object properties: type: description: Specifies which profile field is being updated (e.g., profile picture, display name, bio). allOf: - $ref: '#/components/schemas/UserDataType' value: title: Profile Field Value description: 'The new value for the specified profile field. The format depends on the type: URLs for profile pictures, plain text for display names and bios, etc.' type: string example: https://i.imgur.com/123abc.jpg required: - type - value MessageCommon: type: object properties: hash: title: Hash digest of data pattern: ^0x[0-9a-fA-F]{40}$ type: string example: '0xd2b1ddc6c88e865a33cb1a565e0058d757042974' hashScheme: $ref: '#/components/schemas/HashScheme' signature: title: Signature of the hash digest pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$ type: string format: byte signatureScheme: $ref: '#/components/schemas/SignatureScheme' signer: title: Public key or address of the key pair that produced the signature pattern: ^0x[0-9a-fA-F]+$ type: string required: - hash - hashScheme - signature - signatureScheme - signer MessageDataVerificationAdd: description: Represents a message that adds verification of ownership for an Ethereum or Solana address to a user's profile. This verification proves that the user controls the specified blockchain address. allOf: - $ref: '#/components/schemas/MessageDataCommon' - type: object required: - verificationAddEthAddressBody properties: verificationAddEthAddressBody: description: Contains the blockchain address being verified, along with cryptographic proof of ownership through a signature. allOf: - $ref: '#/components/schemas/VerificationAddEthAddressBody' HubEventRevokeMessage: type: object properties: type: type: string example: HUB_EVENT_TYPE_REVOKE_MESSAGE id: type: integer format: uint64 revokeMessageBody: $ref: '#/components/schemas/RevokeMessageBody' required: - type - id - revokeMessageBody UrlEmbed: type: object properties: url: type: string format: uri required: - url MessageType: type: string description: 'Type of the MessageBody. - MESSAGE_TYPE_CAST_ADD: Add a new Cast - MESSAGE_TYPE_CAST_REMOVE: Remove an existing Cast - MESSAGE_TYPE_REACTION_ADD: Add a Reaction to a Cast - MESSAGE_TYPE_REACTION_REMOVE: Remove a Reaction from a Cast - MESSAGE_TYPE_LINK_ADD: Add a new Link - MESSAGE_TYPE_LINK_REMOVE: Remove an existing Link - MESSAGE_TYPE_VERIFICATION_ADD_ETH_ADDRESS: Add a Verification of an Ethereum Address - MESSAGE_TYPE_VERIFICATION_REMOVE: Remove a Verification - MESSAGE_TYPE_USER_DATA_ADD: Add metadata about a user - MESSAGE_TYPE_USERNAME_PROOF: Add or replace a username proof - MESSAGE_TYPE_FRAME_ACTION: A Farcaster Frame action' default: MESSAGE_TYPE_CAST_ADD enum: - MESSAGE_TYPE_CAST_ADD - MESSAGE_TYPE_CAST_REMOVE - MESSAGE_TYPE_REACTION_ADD - MESSAGE_TYPE_REACTION_REMOVE - MESSAGE_TYPE_LINK_ADD - MESSAGE_TYPE_LINK_REMOVE - MESSAGE_TYPE_VERIFICATION_ADD_ETH_ADDRESS - MESSAGE_TYPE_VERIFICATION_REMOVE - MESSAGE_TYPE_USER_DATA_ADD - MESSAGE_TYPE_USERNAME_PROOF - MESSAGE_TYPE_FRAME_ACTION OnChainEventCommon: type: object properties: type: type: string example: EVENT_TYPE_SIGNER chainId: type: integer blockNumber: type: integer blockHash: type: string example: '0x75fbbb8b2a4ede67ac350e1b0503c6a152c0091bd8e3ef4a6927d58e088eae28' blockTimestamp: type: integer transactionHash: type: string example: '0x36ef79e6c460e6ae251908be13116ff0065960adb1ae032b4cc65a8352f28952' logIndex: type: integer txIndex: type: integer fid: type: integer required: - type - chainId - blockNumber - blockHash - blockTimestamp - transactionHash - logIndex - txIndex - fid SignerEventType: type: string default: SIGNER_EVENT_TYPE_ADD enum: - SIGNER_EVENT_TYPE_ADD - SIGNER_EVENT_TYPE_REMOVE - SIGNER_EVENT_TYPE_ADMIN_RESET HashScheme: type: string description: 'Type of hashing scheme used to produce a digest of MessageData. - HASH_SCHEME_BLAKE3: Default scheme for hashing MessageData ' default: HASH_SCHEME_BLAKE3 enum: - HASH_SCHEME_BLAKE3 ReactionType: type: string description: 'Type of interaction a user can have with content on the Farcaster network. - Like: Express appreciation for the target content. Similar to "likes" or "favorites" on other platforms. - Recast: Share the target content with the user''s followers, similar to a "retweet" or "reblog". Helps increase content visibility.' default: Like enum: - Like - Recast example: Like CastHash: description: A unique hash that identifies a specific cast within the creator's posts. Generated using HASH_SCHEME_BLAKE3 of the cast's content. pattern: ^0x[0-9a-fA-F]{40}$ type: string example: '0x03aff391a6eb1772b20b4ead9a89f732be75fe27' SignerMigratedEventBody: type: object properties: migratedAt: type: integer format: int64 required: - migratedAt RevokeMessageBody: type: object properties: message: $ref: '#/components/schemas/Message' required: - message MessageDataReaction: description: Represents a user's reaction to content on the Farcaster network. Reactions can be likes or recasts of casts, allowing users to express appreciation or share content with their followers. allOf: - $ref: '#/components/schemas/MessageDataCommon' - type: object required: - reactionBody properties: reactionBody: description: Contains the type of reaction (like/recast) and the target content being reacted to. The target can be specified either by castId or URL. allOf: - $ref: '#/components/schemas/ReactionBody' MergeMessageBody: type: object properties: message: $ref: '#/components/schemas/Message' deletedMessages: type: array items: $ref: '#/components/schemas/Message' required: - message - deletedMessages UserNameType: type: string default: USERNAME_TYPE_FNAME enum: - USERNAME_TYPE_FNAME - USERNAME_TYPE_ENS_L1 MessageDataCastRemove: description: Represents a request to remove (delete) a previously created cast. Only the original creator of a cast can remove it. allOf: - $ref: '#/components/schemas/MessageDataCommon' - type: object required: - targetHash properties: targetHash: title: Hash of the cast to remove description: The unique hash identifier of the cast to be removed. Must be a cast that was previously created by the same FID specified in the message. pattern: ^0x[0-9a-fA-F]{40}$ type: string example: '0x03aff391a6eb1772b20b4ead9a89f732be75fe27' MergeUserNameProofBody: type: object properties: usernameProof: $ref: '#/components/schemas/UserNameProof' deletedUsernameProof: $ref: '#/components/schemas/UserNameProof' usernameProofMessage: $ref: '#/components/schemas/Message' deletedUsernameProofMessage: $ref: '#/components/schemas/Message' ErrorResponse: required: - code - details - errCode - metadata - name - presentable type: object properties: errCode: type: string presentable: type: boolean name: type: string code: type: integer details: type: string metadata: required: - errcode type: object properties: errcode: type: array items: type: string LinkType: type: string description: 'Defines the type of social connection between users. - follow: Establishes a following relationship where the user will receive updates from the target user in their feed' default: follow enum: - follow example: follow HubEventMergeMessage: type: object properties: type: type: string example: HUB_EVENT_TYPE_MERGE_MESSAGE id: type: integer format: uint64 mergeMessageBody: $ref: '#/components/schemas/MergeMessageBody' required: - type - id - mergeMessageBody 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 MessageDataCastAdd: description: Represents a new cast (post) being created in the Farcaster network. A cast can include text content, mentions of other users, embedded URLs, and references to parent posts for replies. allOf: - $ref: '#/components/schemas/MessageDataCommon' - type: object required: - castAddBody properties: castAddBody: description: The content and metadata of the new cast, including the text, mentions, embeds, and any parent references for replies. allOf: - $ref: '#/components/schemas/CastAddBody' OnChainEventSigner: allOf: - $ref: '#/components/schemas/OnChainEventCommon' - type: object properties: signerEventBody: $ref: '#/components/schemas/SignerEventBody' required: - signerEventBody MessageDataCommon: description: Common properties shared by all Farcaster message types. These properties provide essential metadata about the message's origin, timing, and network context. required: - fid - network - timestamp type: object properties: type: $ref: '#/components/schemas/MessageType' fid: title: Farcaster ID of the user producing the message description: The unique identifier (FID) of the user who created this message. FIDs are assigned sequentially when users register on the network and cannot be changed. type: integer format: uint64 example: 2 timestamp: description: Seconds since Farcaster Epoch (2021-01-01T00:00:00Z). Used to order messages chronologically and determine the most recent state. Must be within 10 minutes of the current time when the message is created. type: integer format: int64 example: 48994466 network: $ref: '#/components/schemas/FarcasterNetwork' MessageDataFrameAction: description: Represents a user's interaction with a Farcaster Frame, which is an interactive element embedded within a cast. Frames allow users to engage with content through clickable buttons, creating interactive experiences within the Farcaster network. allOf: - $ref: '#/components/schemas/MessageDataCommon' - type: object required: - frameActionBody properties: frameActionBody: description: Contains the details of the frame interaction, including which button was pressed and the associated cast and URL. allOf: - $ref: '#/components/schemas/FrameActionBody' HubEvent: oneOf: - $ref: '#/components/schemas/HubEventMergeMessage' - $ref: '#/components/schemas/HubEventPruneMessage' - $ref: '#/components/schemas/HubEventRevokeMessage' - $ref: '#/components/schemas/HubEventMergeUsernameProof' - $ref: '#/components/schemas/HubEventMergeOnChainEvent' discriminator: propertyName: type mapping: HUB_EVENT_TYPE_MERGE_MESSAGE: '#/components/schemas/HubEventMergeMessage' HUB_EVENT_TYPE_PRUNE_MESSAGE: '#/components/schemas/HubEventPruneMessage' HUB_EVENT_TYPE_REVOKE_MESSAGE: '#/components/schemas/HubEventRevokeMessage' HUB_EVENT_TYPE_MERGE_USERNAME_PROOF: '#/components/schemas/HubEventMergeUsernameProof' HUB_EVENT_TYPE_MERGE_ON_CHAIN_EVENT: '#/components/schemas/HubEventMergeOnChainEvent' OnChainEventIdRegister: allOf: - $ref: '#/components/schemas/OnChainEventCommon' - type: object properties: idRegisterEventBody: $ref: '#/components/schemas/IdRegisterEventBody' required: - idRegisterEventBody HubEventMergeUsernameProof: type: object properties: type: type: string example: HUB_EVENT_TYPE_MERGE_USERNAME_PROOF id: type: integer format: uint64 mergeUsernameProofBody: $ref: '#/components/schemas/MergeUserNameProofBody' required: - type - id - mergeUsernameProofBody HubEventMergeOnChainEvent: type: object properties: type: type: string example: HUB_EVENT_TYPE_MERGE_ON_CHAIN_EVENT id: type: integer format: uint64 mergeOnChainEventBody: $ref: '#/components/schemas/MergeOnChainEventBody' required: - type - id - mergeOnChainEventBody IdRegisterEventType: type: string default: ID_REGISTER_EVENT_TYPE_REGISTER enum: - ID_REGISTER_EVENT_TYPE_REGISTER - ID_REGISTER_EVENT_TYPE_TRANSFER - ID_REGISTER_EVENT_TYPE_CHANGE_RECOVERY LinkBody: description: Defines a social connection between users in the Farcaster network. Currently used to establish following relationships, allowing users to curate their content feed. type: object properties: type: $ref: '#/components/schemas/LinkType' displayTimestamp: title: Original Timestamp description: User-defined timestamp that preserves the original creation time when message.data.timestamp needs to be updated for compaction. Useful for maintaining chronological order in user feeds. type: integer format: int64 example: 48994466 targetFid: $ref: '#/components/schemas/FidSchema' required: - type - targetFid OnChainEventSignerMigrated: allOf: - $ref: '#/components/schemas/OnChainEventCommon' - type: object properties: signerMigratedEventBody: $ref: '#/components/schemas/SignerMigratedEventBody' required: - signerMigratedEventBody UserNameProof: type: object properties: timestamp: description: Seconds since Unix Epoch which began on Jan 1, 1970 00:00:00 UTC type: integer format: uint64 name: type: string example: neynar owner: pattern: ^0x[0-9a-fA-F]{40}$ type: string signature: pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$ type: string format: byte fid: description: The FID of the user who owns this username proof allOf: - $ref: '#/components/schemas/FidSchema' type: $ref: '#/components/schemas/UserNameType' required: - timestamp - name - owner - signature - fid - type CastId: description: A unique identifier for a cast (post) in the Farcaster network, consisting of the creator's FID and a hash of the cast's content. This combination ensures global uniqueness across all casts. required: - fid - hash type: object properties: fid: title: Fid of the user who created the cast description: The Farcaster ID (FID) of the user who created the cast. Required to uniquely identify the cast's author in the network. type: integer format: uint64 example: 2 hash: $ref: '#/components/schemas/CastHash' IdRegisterEventBody: type: object properties: to: pattern: ^0x[a-fA-F0-9]*$ type: string example: '0x00000000fcd5a8e45785c8a4b9a718c9348e4f18' eventType: $ref: '#/components/schemas/IdRegisterEventType' from: pattern: ^0x[a-fA-F0-9]*$|^$ type: string example: '0x00000000fcd5a8e45785c8a4b9a718c9348e4f18' recoveryAddress: pattern: ^0x[a-fA-F0-9]*$ type: string example: '0x00000000fcd5a8e45785c8a4b9a718c9348e4f18' required: - to - from - eventType - recoveryAddress CastAddBody: description: Adds a new Cast type: object properties: embedsDeprecated: title: URLs to be embedded in the cast type: array items: type: string mentions: title: Fids mentioned in the cast type: array items: type: integer format: uint64 example: 2 parentCastId: $ref: '#/components/schemas/CastId' parentUrl: title: Parent URL type: string example: chain://eip155:1/erc721:0x39d89b649ffa044383333d297e325d42d31329b2 text: title: Text of the cast type: string mentionsPositions: title: Positions of the mentions in the text type: array items: type: integer format: int64 embeds: title: URLs or cast IDs to be embedded in the cast type: array items: $ref: '#/components/schemas/Embed' required: - embedsDeprecated - mentions - text - mentionsPositions - embeds StorageRentEventBody: type: object properties: payer: pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$ type: string format: byte units: type: integer format: int64 expiry: type: integer format: int64 required: - payer - units - expiry responses: ErrorResponse: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' securitySchemes: ApiKeyAuth: description: API key to authorize requests in: header name: x-api-key type: apiKey x-default: NEYNAR_API_DOCS