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

# Verify an account by penny drop

> Verify an account by crediting one rupee to it, returning the name the credit landed against.



## OpenAPI

````yaml /suite/api-reference/openapi.json post /bank/v1/penny-drop
openapi: 3.1.0
info:
  title: Privue API Suite
  description: >-
    Identity and account verification against government and banking sources.


    **Authentication.** Every request takes your API key as a bearer token:
    `Authorization: Bearer <your-key>`. A successful call to a billed endpoint
    deducts one credit; a call that fails is not charged.


    **Versioning.** Each endpoint is versioned on its own, directly in its path.
    A new version of one endpoint never moves another, so no release requires
    migrating every integration at once.


    **Retention.** Nothing you send and nothing we return is stored. Documents
    are returned as the issuer's own download links, and the response is the
    only copy, so retrieve what you need when you receive it. We record that a
    call happened, for billing and audit, never what it was about.
  version: 1.0.0
servers:
  - url: https://api.privue.ai
    description: Production
security: []
paths:
  /bank/v1/penny-drop:
    post:
      tags:
        - Bank
      summary: Verify an account by penny drop
      description: >-
        Verify an account by crediting one rupee to it, returning the name the
        credit landed against.
      operationId: verify_bank_account_penny_drop
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VerifyAccountRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PennyDropResponse'
        default:
          description: The request failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - HTTPBearer: []
components:
  schemas:
    VerifyAccountRequest:
      properties:
        ifsc:
          type: string
          pattern: ^[A-Za-z]{4}[a-zA-Z0-9]{7}$
          title: Ifsc
          description: IFSC of the account's branch
        account_number:
          type: string
          pattern: ^[A-Za-z0-9]{1,40}$
          title: Account Number
          description: Bank account number
        name:
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
          title: Name
          description: Name claimed to hold the account, if you have one
        mobile:
          anyOf:
            - type: string
              pattern: ^[6-9]\d{9}$
            - type: 'null'
          title: Mobile
          description: Account holder's mobile, if you have one
      type: object
      required:
        - ifsc
        - account_number
      title: VerifyAccountRequest
      description: >-
        Request to verify a bank account.


        ``name`` and ``mobile`` are optional details about who the account is
        expected to belong to. Both

        are passed to the source as supplied, and neither changes the verdict:
        the answer is about the

        account, and the name the bank holds comes back either way.
    PennyDropResponse:
      properties:
        code:
          type: integer
          title: Code
          description: HTTP status code of the response
        timestamp:
          type: integer
          title: Timestamp
          description: Unix millisecond timestamp of when the response was produced
        transaction_id:
          type: string
          title: Transaction Id
          description: Identifier for this call. Quote it when raising a query about one
        data:
          $ref: '#/components/schemas/PennyDrop'
      type: object
      required:
        - code
        - timestamp
        - transaction_id
        - data
      title: PennyDropResponse
      description: Response to a penny-drop verification.
    ErrorResponse:
      properties:
        code:
          type: integer
          title: Code
          description: HTTP status code of the response
        timestamp:
          type: integer
          title: Timestamp
          description: Unix millisecond timestamp of when the response was produced
        message:
          type: string
          title: Message
          description: What went wrong, in one sentence
        transaction_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Transaction Id
          description: >-
            Identifier for the call, present when it reached the source. Quote
            it when raising a query
      type: object
      required:
        - code
        - timestamp
        - message
      title: ErrorResponse
      description: Why a request failed.
    PennyDrop:
      properties:
        message:
          anyOf:
            - type: string
            - type: 'null'
          title: Message
          description: The outcome in the bank's own words
        account_exists:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Account Exists
          description: >-
            Absent when the bank could not be reached, which is not the same as
            false
        name_at_bank:
          anyOf:
            - type: string
            - type: 'null'
          title: Name At Bank
          description: Name the credit landed against
        utr:
          anyOf:
            - type: string
            - type: 'null'
          title: Utr
          description: Unique Transaction Reference for the rupee credited
        amount_deposited:
          anyOf:
            - type: string
            - type: 'null'
          title: Amount Deposited
          description: Amount credited, in rupees
      type: object
      title: PennyDrop
      description: >-
        What the bank reported for a penny-drop verification.


        ``message`` states the outcome in the bank's own words, including the
        cases where the account

        could not be reached at all, such as an offline beneficiary bank or an
        unavailable NPCI. Fields

        beyond it are populated only as far as the verification got.
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````