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

# Initiate Crime Check

> Initiates criminal background verification for an individual using their personal details

## Required Information

* **Name** (mandatory): Full name of the individual

## Optional Information

Providing these details improves accuracy:

* Father's name
* Date of birth (DD-MM-YYYY format)
* Current residential address
* PAN number

## Response

Upon successful initiation, you'll receive a unique `request_id` which can be used to fetch the report later using the Get Crime Check Report endpoint.


## OpenAPI

````yaml POST /v2/verification/crime-check/
openapi: 3.0.0
info:
  title: KonnectNXT API Store
  description: >-
    A sample API that uses a plant store as an example to demonstrate features
    in the OpenAPI specification
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://bgv.konnectnxt.com/api
    description: Production
  - url: https://testbgv.konnectnxt.com/api
    description: QA
security:
  - bearerAuth: []
paths:
  /v2/verification/crime-check/:
    post:
      tags:
        - Background Verification
        - Crime Check
      summary: Initiate Crime Check Verification
      description: >-
        Initiates a criminal background verification for an individual.
        Processing typically takes 24-48 hours. Returns a unique request_id for
        tracking.
      operationId: initiateCrimeCheck
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CrimeCheckInitiateRequest'
            examples:
              basic:
                summary: Basic request with name only
                value:
                  name: Priya Sharma
              complete:
                summary: Complete request with all details
                value:
                  name: Amit Patel
                  father_name: Suresh Patel
                  dob: 10-05-1990
                  address: 456 Park Street, Bangalore, Karnataka, 560001
                  pan_number: ABCDE1234F
      responses:
        '200':
          description: Crime check initiated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CrimeCheckInitiateSuccessResponse'
              examples:
                success:
                  summary: Successful initiation
                  value:
                    status: success
                    code: 200
                    message: Operation completed successfully
                    data:
                      status: initiated
                      request_id: '2771138874513'
                      request_time: 16/02/2026 10:16:39
                      message: Crime check initiated successfully
                    credits_used: 151
                    credits_remaining: 985101.5
        '400':
          description: Validation error - Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_WithCredits'
              examples:
                missing_name:
                  summary: Missing required field
                  value:
                    status: error
                    code: 400
                    message: '`name` is required.'
                    data: null
                invalid_name_format:
                  summary: Invalid name format
                  value:
                    status: error
                    code: 400
                    message: full_name can contain only letters, spaces, or dots
                    data: null
                invalid_dob_format:
                  summary: Invalid date of birth format
                  value:
                    status: error
                    code: 400
                    message: Date of birth must be in DD-MM-YYYY format
                    data: null
                invalid_pan_format:
                  summary: Invalid PAN format
                  value:
                    status: error
                    code: 400
                    message: PAN number must be in format ABCDE1234F
                    data: null
                short_address:
                  summary: Address too short
                  value:
                    status: error
                    code: 400
                    message: Address must be at least 10 characters long
                    data: null
        '401':
          $ref: '#/components/responses/401'
        '402':
          $ref: '#/components/responses/402'
        '500':
          $ref: '#/components/responses/500_WithCredits'
components:
  schemas:
    CrimeCheckInitiateRequest:
      type: object
      required:
        - name
      properties:
        name:
          type: string
          description: Full name of the individual (required)
          minLength: 2
          maxLength: 255
        father_name:
          type: string
          description: Father's full name (optional but improves accuracy)
          maxLength: 255
        dob:
          type: string
          description: Date of birth in DD-MM-YYYY format (optional)
          pattern: ^\d{2}-\d{2}-\d{4}$
        address:
          type: string
          description: >-
            Current residential address (optional, minimum 10 characters if
            provided)
          minLength: 10
          maxLength: 255
        pan_number:
          type: string
          description: PAN number in format ABCDE1234F (optional)
          pattern: ^[A-Z]{5}[0-9]{4}[A-Z]$
          maxLength: 10
    CrimeCheckInitiateSuccessResponse:
      allOf:
        - $ref: '#/components/schemas/APIBaseResponse'
        - type: object
          properties:
            data:
              type: object
              properties:
                status:
                  type: string
                  enum:
                    - initiated
                  example: initiated
                request_id:
                  type: string
                  description: Unique identifier for tracking this verification request
                  example: '2771124124513'
                request_time:
                  type: string
                  description: Timestamp when the request was initiated
                  example: 16/02/2026 10:16:39
                message:
                  type: string
                  example: Crime check initiated successfully
        - $ref: '#/components/schemas/Credits'
    Error_WithCredits:
      allOf:
        - $ref: '#/components/schemas/Error'
        - $ref: '#/components/schemas/APIErrorData'
        - $ref: '#/components/schemas/Credits'
    APIBaseResponse:
      type: object
      required:
        - status
        - code
        - message
      properties:
        status:
          $ref: '#/components/schemas/APIStatus'
        code:
          $ref: '#/components/schemas/HTTPCode'
        message:
          $ref: '#/components/schemas/APIMessage'
    Credits:
      type: object
      properties:
        credits_used:
          $ref: '#/components/schemas/CreditsUsed'
        credits_left:
          $ref: '#/components/schemas/CreditsLeft'
      required:
        - credits_used
        - credits_left
    Error:
      allOf:
        - $ref: '#/components/schemas/APIBaseResponse'
    APIErrorData:
      type: object
      properties:
        data:
          type: object
          nullable: true
          example: null
    APIStatus:
      type: string
      enum:
        - success
        - error
      description: Overall status of the API
    HTTPCode:
      type: integer
      description: HTTP status code
      example: 400
    APIMessage:
      type: string
      description: Description of the response or error
      example: Invalid request parameters
    CreditsUsed:
      type: integer
      description: Represents the total number of credits used in this request.
      example: 3
    CreditsLeft:
      type: integer
      description: 'Represents the remaining credits available for use. '
      example: 4040
  responses:
    '401':
      description: Unauthorized
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Error'
              - $ref: '#/components/schemas/APIErrorData'
          examples:
            Missing Token:
              summary: Bearer token is missing or invalid.
              value:
                status: error
                code: 401
                message: Bearer token is missing or invalid.
                data: null
            Incorrect Token Format:
              summary: Token format is incorrect
              value:
                status: error
                code: 401
                message: Token format is incorrect
                data: null
            No Admin Found:
              summary: No admin found for this request
              value:
                status: error
                code: 401
                message: No admin user found for this organization
                data: null
            Invalid API Key:
              summary: Invalid API Key
              value:
                status: error
                code: 401
                message: Invalid API key (organization ID)
                data: null
            User not Found:
              summary: User not found
              value:
                status: error
                code: 401
                message: User not found.
                data: null
    '402':
      description: Payment Required
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Error'
              - $ref: '#/components/schemas/APIErrorData'
          examples:
            Credit Limit Exceed:
              summary: Credit Limit Exceeded.
              value:
                status: error
                code: 402
                message: Credit Limit Exceeded.
                data: null
            Insufficient Credits:
              summary: Insufficient credits
              value:
                status: error
                code: 402
                message: 'Insufficient credits: 2 required, 1 remaining.'
                data: null
    500_WithCredits:
      description: Internal Server Error
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Error'
              - $ref: '#/components/schemas/APIErrorData'
              - $ref: '#/components/schemas/Credits'
          examples:
            Internal Server Error:
              summary: Internal Server Error.
              value:
                status: error
                code: 500
                message: Internal Server Error.
                data: null
                credits_used: 3
                credits_remaining: 178
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        API key issued by KonnectNXT. Pass as `Authorization: Bearer
        <your_api_key>`.

````