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 Verifications API version: 3.176.0 servers: - url: https://api.neynar.com security: - ApiKeyAuth: [] tags: - name: Verifications description: Operations related to verifications. paths: /v1/verificationsByFid: get: tags: - Verifications summary: Provided by an FID description: Fetch verifications provided by a user. externalDocs: description: Fetch verifications provided by a user url: https://docs.neynar.com/reference/fetch-verifications-by-fid operationId: fetch-verifications-by-fid parameters: - name: fid in: query required: true schema: type: integer description: The FID being requested example: 616 - name: address in: query required: false schema: type: string description: The optional ETH address to filter by - $ref: '#/components/parameters/pageSize' - $ref: '#/components/parameters/paginationReverse' - $ref: '#/components/parameters/pageToken' responses: '200': description: The requested Verifications. content: application/json: schema: required: - messages - nextPageToken type: object properties: messages: type: array items: $ref: '#/components/schemas/Verification' nextPageToken: pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$ type: string format: byte default: $ref: '#/components/responses/ErrorResponse' x-codegen-request-body-name: body components: schemas: 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 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' 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' 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 Verification: allOf: - $ref: '#/components/schemas/MessageCommon' - type: object properties: data: allOf: - $ref: '#/components/schemas/MessageDataVerificationAdd' - type: object properties: type: $ref: '#/components/schemas/MessageType' required: - type required: - data 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 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 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 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 responses: ErrorResponse: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: paginationReverse: name: reverse in: query description: Reverse the sort order, returning latest messages first schema: type: boolean pageToken: name: pageToken in: query description: The page token returned by the previous query, to fetch the next page. If this parameter is empty, fetch the first page schema: type: string pageSize: name: pageSize in: query description: Maximum number of messages to return in a single response schema: type: integer securitySchemes: ApiKeyAuth: description: API key to authorize requests in: header name: x-api-key type: apiKey x-default: NEYNAR_API_DOCS