> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neynar.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Add verification

> Adds verification for an eth address or contract for the user 
(In order to add verification `signer_uuid` must be approved)

## Node.js SDK

🔗 **SDK Method:** [publishVerification](/nodejs-sdk/user-apis/publishVerification)

Use this API endpoint with the Neynar Node.js SDK for typed responses and better developer experience.


## OpenAPI

````yaml post /v2/farcaster/user/verification/
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 API
  version: 3.173.0
servers:
  - url: https://api.neynar.com
security:
  - ApiKeyAuth: []
tags:
  - description: Operations related to user
    externalDocs:
      description: More info about user
      url: https://docs.neynar.com/reference/user-operations
    name: User
  - description: Operations related to signer
    externalDocs:
      description: More info about signer
      url: https://docs.neynar.com/reference/signer-operations
    name: Signer
  - description: Operations related to cast
    externalDocs:
      description: More info about cast
      url: https://docs.neynar.com/reference/cast-operations
    name: Cast
  - description: Operations related to feed
    externalDocs:
      description: More info about feed
      url: https://docs.neynar.com/reference/feed-operations
    name: Feed
  - description: Operations related to reaction
    externalDocs:
      description: More info about reaction
      url: https://docs.neynar.com/reference/reaction-operations
    name: Reaction
  - description: Operations related to notifications
    externalDocs:
      description: More info about notifications
      url: https://docs.neynar.com/reference/notifications-operations
    name: Notifications
  - description: Operations related to channels
    externalDocs:
      description: More info about channels
      url: https://docs.neynar.com/reference/channel-operations
    name: Channel
  - description: Operations related to follows
    externalDocs:
      description: More info about follows
      url: https://docs.neynar.com/reference/follows-operations
    name: Follows
  - description: Operations related to storage
    externalDocs:
      description: More info about storage
      url: https://docs.neynar.com/reference/storage-operations
    name: Storage
  - description: Operations related to mini apps
    name: Frame
  - description: Operations for building AI agents
    name: Agents
  - description: Operations related to fname
    name: fname
  - description: Operations related to a webhook
    name: Webhook
  - description: >-
      Securely communicate and perform actions on behalf of users across
      different apps
    externalDocs:
      description: More info about farcaster actions
      url: https://docs.neynar.com/docs/farcaster-actions-spec
    name: Action
  - description: Operations related to a subscriptions
    name: Subscribers
  - description: Operations related to a mute
    name: Mute
  - description: Operations related to a block
    name: Block
  - description: Operations related to a ban
    name: Ban
  - description: Operations related to onchain data
    name: Onchain
  - description: Operations related to login
    name: Login
  - description: Operations related to retrieving metrics
    name: Metrics
  - description: Operations related to mini app host notifications
    externalDocs:
      description: More info about mini app host notifications
      url: https://docs.neynar.com/docs/app-host-notifications
    name: App Host
paths:
  /v2/farcaster/user/verification/:
    post:
      tags:
        - User
      summary: Add verification
      description: |-
        Adds verification for an eth address or contract for the user 
        (In order to add verification `signer_uuid` must be approved)
      operationId: publish-verification
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddVerificationReqBody'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationResponse'
          description: Success
      externalDocs:
        url: https://docs.neynar.com/reference/publish-verification
components:
  schemas:
    AddVerificationReqBody:
      properties:
        address:
          $ref: '#/components/schemas/EthAddress'
        block_hash:
          example: '0x191905a9201170abb55f4c90a4cc968b44c1b71cdf3db2764b775c93e7e22b29'
          type: string
        chain_id:
          $ref: '#/components/schemas/VerificationChainId'
        eth_signature:
          example: >-
            0x2fc09da1f4dcb723fefb91f77932c249c418c0af00c66ed92ee1f35002c80d6a1145280c9f361d207d28447f8f7463366840d3a9309036cf6954afd1fd331beb1b
          type: string
        signer_uuid:
          $ref: '#/components/schemas/SignerUUID'
        verification_type:
          $ref: '#/components/schemas/VerificationType'
      required:
        - signer_uuid
        - address
        - block_hash
        - eth_signature
      title: AddVerificationReqBody
      type: object
    OperationResponse:
      properties:
        message:
          type: string
        success:
          type: boolean
      title: OperationResponse
      type: object
    EthAddress:
      description: Ethereum address
      example: '0x5a927ac639636e534b678e81768ca19e2c6280b7'
      pattern: ^0x[a-fA-F0-9]{40}$
      title: EthAddress
      type: string
    VerificationChainId:
      anyOf:
        - enum:
            - 0
          type: number
        - enum:
            - 1
          type: number
        - enum:
            - 10
          type: number
      default: 0
      description: >-
        Chain ID for farcaster verifications. 0 for EOA verifications, 1 or 10
        for contract verifications
      format: int32
      title: VerificationChainId
      type: integer
    SignerUUID:
      description: >-
        UUID of the signer.

        `signer_uuid` is paired with API key, can't use a `uuid` made with a
        different API key.
      example: 19d0c5fd-9b33-4a48-a0e2-bc7b0555baec
      title: SignerUUID
      type: string
    VerificationType:
      anyOf:
        - enum:
            - 0
          type: number
        - enum:
            - 1
          type: number
      default: 0
      description: Type of verification. 0 = EOA, 1 = contract
      format: int32
      title: VerificationType
      type: integer
  securitySchemes:
    ApiKeyAuth:
      description: API key to authorize requests
      in: header
      name: x-api-key
      type: apiKey
      x-default: NEYNAR_API_DOCS

````