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

# पता सत्यापन API: पते सत्यापित और सामान्यीकृत करें

> Didit का POST /v3/address-validation/ पता मौजूद होने की पुष्टि करता है और निर्देशांक सहित सामान्यीकृत पता लौटाता है। $0.10 प्रति पता।

Didit का Address Validation API पुष्टि करता है कि कोई डाक पता मौजूद है, और उसे सामान्यीकृत रूप में लौटाता है, जिसमें उसकी डिलीवरी लाइनें, घटक और निर्देशांक शामिल होते हैं। जब आपके बैकएंड के पास कोई पता हो और आपको जानना हो कि वह मौजूद है या नहीं, और किस सामान्यीकृत रूप में है, तब `POST /v3/address-validation/` का उपयोग करें।

Address Validation केवल पते की पुष्टि करता है। यह पते को किसी व्यक्ति से कभी नहीं जोड़ता: `verified` परिणाम का अर्थ है कि वह स्थान मौजूद है, न कि यह कि वहाँ कोई रहता है।

## पता भेजें

इसे `address` में एक पंक्ति में भेजें, या संरचित फ़ील्ड के रूप में भेजें: `address_line_1`, और यदि आपके पास हों तो `address_line_2`, `city`, `region` और `postal_code`।
एक ही अनुरोध में दोनों रूप कभी न भेजें।
`country` हमेशा आवश्यक है, ISO 3166-1 alpha-2 या alpha-3 कोड के रूप में।

## परिणाम की व्याख्या करें

* `address_validation.status` वह उत्तर है जिस पर आपको आगे काम करना चाहिए:
  * `verified`: पता इमारत तक (या फ़्लैट या PO बॉक्स तक) की पुष्टि हुई।
  * `partially_verified`: पते की पुष्टि केवल सड़क तक हुई, या डाक संदर्भ डेटा में उस स्थान के लिए उपलब्ध सबसे सटीक स्तर तक।
  * `not_verified`: केवल क्षेत्र या शहर मेल खाया, या कुछ भी मेल नहीं खाया।
  * `unavailable`: सत्यापन चल नहीं सका। बाद में पुनः प्रयास करें।
* `address_validation.verification_level` सबसे सटीक मेल खाने वाला स्तर है: `administrative_area`, `locality`, `thoroughfare`, `premise` या `delivery_point`।
* `address_validation.address` और `address_validation.formatted_address` में सामान्यीकृत पता होता है, जिस प्रकार देश उसे लिखता है।
* `address_validation.latitude` और `address_validation.longitude` मेल खाए पते का स्थान बताते हैं।
* `request_id` अनुरोध की पहचान करता है। कोई सत्र नहीं बनता और परिणाम केवल इसी रिस्पॉन्स में लौटाया जाता है, इसलिए जो चाहिए उसे सेव कर लें।

पूर्ण हुए हर अनुरोध के लिए HTTP `200` होता है, `unavailable` सहित।

## वर्कफ़्लो के भीतर Address Validation

यही जाँच पहचान सत्यापन और पते का प्रमाण वर्कफ़्लो चरणों का एक ऐड-ऑन है।
चरण की सेटिंग्स में `address_validation_enabled` चालू करें, और व्यक्ति द्वारा दिया गया पता (पहचान दस्तावेज़ पर छपा हुआ, या पते के प्रमाण पर) उनके अपलोड के पढ़े जाने के बाद एक बार सत्यापित किया जाता है।
परिणाम सत्र के निर्णय में उस चरण की प्रविष्टि के `address_validation` ऑब्जेक्ट के रूप में आता है (`id_verifications[]` या `poa_verifications[]`)।
`partially_verified` या `not_verified` पता `ADDRESS_NOT_VERIFIED` चेतावनी उत्पन्न करता है, जिसकी कार्रवाई उस चरण का `address_not_verified_action` होती है (डिफ़ॉल्ट रूप से `NO_ACTION`, जो केवल चेतावनी दर्ज करता है)।
`unavailable` सत्यापन यह चेतावनी कभी उत्पन्न नहीं करता और सत्यापन को कभी नहीं बदलता।

## सैंडबॉक्स व्यवहार

सैंडबॉक्स कुंजियाँ अनुरोध को सत्यापित करती हैं और हमेशा एक निर्धारित `verified` परिणाम लौटाती हैं, जो आपके भेजे गए पते को ही दोहराता है। वे क्रेडिट का उपयोग नहीं करतीं।

## बिलिंग

Address Validation API कॉल की लागत प्रति सत्यापित पता $0.10 है। `unavailable` परिणाम के लिए शुल्क नहीं लिया जाता।
वर्कफ़्लो में, ऐड-ऑन की लागत प्रति पता $0.10 है, जिसे कोई चरण सत्यापित करता है।


## OpenAPI

````yaml hi/openapi-25.json POST /v3/address-validation/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: पहचान सत्यापन API। x-api-key हेडर के साथ प्रमाणीकृत करें।
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/address-validation/:
    post:
      tags:
        - Standalone APIs
      summary: किसी पते को सत्यापित करें
      description: >-
        पुष्टि करें कि कोई पता मौजूद है और इसे सामान्यीकृत रूप में वापस प्राप्त
        करें: इसकी डिलीवरी लाइनें, घटक और निर्देशांक। यह केवल पते की पुष्टि करता
        है; यह कभी भी पते को किसी व्यक्ति से लिंक नहीं करता है।


        **अनुरोध।** पता एक पंक्ति (`address`) में या संरचित फ़ील्ड
        (`address_line_1` और वैकल्पिक रूप से `address_line_2`, `city`, `region`,
        `postal_code`) के रूप में भेजें, दोनों कभी नहीं, और हमेशा इसका `country`
        (ISO 3166-1 alpha-2 या alpha-3) भेजें।


        **परिणाम।** `address_validation.status` या तो `verified` (इमारत तक
        पुष्टि की गई), `partially_verified` (केवल सड़क या उससे ऊपर तक पुष्टि की
        गई), `not_verified` (केवल क्षेत्र या शहर का मिलान हुआ, या कुछ भी नहीं
        मिला) या `unavailable` (सत्यापन नहीं चल सका) होता है। प्रत्येक पूर्ण
        अनुरोध के लिए HTTP `200` है, जिसमें `unavailable` भी शामिल है;
        `unavailable` परिणाम का बाद में पुनः प्रयास करें।


        **बिलिंग।** एक लाइव कॉल की कीमत $0.10 प्रति सत्यापित पता है।
        `unavailable` परिणाम के लिए कोई शुल्क नहीं लिया जाता है। उपयोग रिकॉर्ड
        के अलावा कुछ भी संग्रहीत नहीं किया जाता है: कोई सत्र नहीं बनाया जाता है
        और परिणाम केवल इसी रिस्पॉन्स में वापस किया जाता है।


        **सैंडबॉक्स।** सैंडबॉक्स कुंजियाँ अनुरोध को सत्यापित करती हैं और क्रेडिट
        का उपभोग किए बिना हमेशा एक निर्धारक `verified` परिणाम लौटाती हैं जो भेजे
        गए पते को दोहराता है।


        **प्रमाणीकरण।** अपने एप्लिकेशन की API कुंजी `x-api-key` में भेजें।
        अनुपलब्ध या अमान्य क्रेडेंशियल `403` लौटाते हैं - यह API कभी भी `401`
        नहीं लौटाती है।


        **रेट लिमिट।** POST/PATCH/DELETE endpoints पर प्रति API कुंजी 300 अनुरोध
        प्रति मिनट का साझा राइट बजट (लेन-देन निर्माण और इवेंट इनजेशन का 600 का
        एक अलग बजट है)।
      operationId: post_v3_address_validation
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddressValidationRequest'
            examples:
              Structured:
                summary: संरचित पता फ़ील्ड
                value:
                  address_line_1: 1600 Amphitheatre Pkwy
                  city: Mountain View
                  region: CA
                  postal_code: '94043'
                  country: US
              One line:
                summary: पूरा पता एक पंक्ति में
                value:
                  address: Paseo de la Castellana 259, 28046 Madrid
                  country: ES
      responses:
        '200':
          description: >-
            सत्यापन पूरा हुआ। `address_validation.status` पढ़ें; पूरे किए गए
            अनुरोध के लिए HTTP हमेशा `200` होता है।
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressValidationResponse'
              examples:
                Verified:
                  summary: एक वास्तविक पता, जिसकी भवन स्तर तक पुष्टि की गई है
                  value:
                    request_id: 6f7d2c1e-1c5a-4a1e-9b8f-2a1f0f4b9c3d
                    address_validation:
                      status: verified
                      verification_level: premise
                      address:
                        address_line_1: 1600 Amphitheatre Pkwy
                        address_line_2: null
                        city: Mountain View
                        region: CA
                        postal_code: 94043-1351
                        country: US
                      formatted_address: 1600 Amphitheatre Pkwy, Mountain View CA 94043-1351
                      latitude: 37.422022
                      longitude: -122.08429
                    created_at: '2026-10-27T11:20:00.000000+00:00'
                Not verified:
                  summary: 'एक काल्पनिक सड़क: केवल शहर का मिलान हुआ'
                  value:
                    request_id: 0b9e3f4a-6c2d-4e8b-a1f7-5d3c2b1a0e9f
                    address_validation:
                      status: not_verified
                      verification_level: locality
                      address:
                        address_line_1: Calle Inventada Que No Existe 99999 28046
                        address_line_2: null
                        city: Madrid
                        region: Madrid
                        postal_code: null
                        country: ES
                      formatted_address: >-
                        Calle Inventada Que No Existe 99999 28046, Madrid,
                        MADRID, SPAIN
                      latitude: 40.42603054
                      longitude: -3.68645331
                    created_at: '2026-10-27T11:21:00.000000+00:00'
                Unavailable:
                  summary: सत्यापन नहीं चल सका; कोई शुल्क नहीं लिया गया
                  value:
                    request_id: 3c1b2a0f-9e8d-4c7b-b6a5-1f0e9d8c7b6a
                    address_validation:
                      status: unavailable
                      verification_level: null
                      address: null
                      formatted_address: null
                      latitude: null
                      longitude: null
                    created_at: '2026-10-27T11:22:00.000000+00:00'
        '400':
          $ref: '#/components/responses/AddressValidationValidationError'
        '403':
          $ref: '#/components/responses/AddressValidationPermissionDenied'
        '429':
          $ref: '#/components/responses/RateLimitedWrite'
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: |-
            curl -X POST https://verification.didit.me/v3/address-validation/ \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{
                "address_line_1": "1600 Amphitheatre Pkwy",
                "city": "Mountain View",
                "region": "CA",
                "postal_code": "94043",
                "country": "US"
              }'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.address_validation.validate(
                address_line_1="1600 Amphitheatre Pkwy",
                city="Mountain View",
                region="CA",
                postal_code="94043",
                country="US",
            )
            print(result)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

            // Reads DIDIT_API_KEY.
            const didit = new Didit();

            const result = await didit.addressValidation.validate({
              address_line_1: "1600 Amphitheatre Pkwy",
              city: "Mountain View",
              region: "CA",
              postal_code: "94043",
              country: "US",
            });
            console.log(result);
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;

            import me.didit.types.AddressValidationRequest;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.addressValidation().validate(AddressValidationRequest.builder()
                    .addressLine1("1600 Amphitheatre Pkwy")
                    .city("Mountain View")
                    .region("CA")
                    .postalCode("94043")
                    .country("US")
                    .build());
            System.out.println(result);
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

            // Reads DIDIT_API_KEY.
            $didit = new DiditClient();

            $result = $didit->addressValidation->validate([
                'address_line_1' => '1600 Amphitheatre Pkwy',
                'city' => 'Mountain View',
                'region' => 'CA',
                'postal_code' => '94043',
                'country' => 'US',
            ]);
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY.
            didit = Didit::Client.new

            result = didit.address_validation.validate(
              address_line_1: "1600 Amphitheatre Pkwy",
              city: "Mountain View",
              region: "CA",
              postal_code: "94043",
              country: "US"
            )
            puts result.to_h
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            var result = await client.AddressValidation.ValidateAsync(new
            AddressValidationRequest

            {
                AddressLine1 = "1600 Amphitheatre Pkwy",
                City = "Mountain View",
                Region = "CA",
                PostalCode = "94043",
                Country = "US",
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    AddressValidationRequest:
      type: object
      required:
        - country
      description: >-
        एक पता: एक पंक्ति में (`address`) या कम से कम `address_line_1` के साथ
        संरचित फ़ील्ड के रूप में, दोनों कभी नहीं।
      properties:
        address:
          type: string
          maxLength: 500
          description: पूरा पता एक पंक्ति में।
          example: Paseo de la Castellana 259, 28046 Madrid
        address_line_1:
          type: string
          maxLength: 255
          description: सड़क और संख्या।
          example: 1600 Amphitheatre Pkwy
        address_line_2:
          type: string
          maxLength: 255
          description: अपार्टमेंट, सुइट, फ़्लोर या भवन।
        city:
          type: string
          maxLength: 128
          description: शहर या इलाका।
          example: Mountain View
        region:
          type: string
          maxLength: 128
          description: राज्य, प्रांत या क्षेत्र।
          example: CA
        postal_code:
          type: string
          maxLength: 32
          example: '94043'
        country:
          type: string
          maxLength: 3
          description: पते के देश का ISO 3166-1 alpha-2 या alpha-3 कोड।
          example: US
    AddressValidationResponse:
      type: object
      required:
        - request_id
        - address_validation
        - created_at
      properties:
        request_id:
          type: string
          format: uuid
          description: >-
            इस अनुरोध का पहचानकर्ता; सहायता टीम को इसका संदर्भ दें। कोई सत्र
            नहीं बनाया गया है।
        address_validation:
          $ref: '#/components/schemas/AddressValidationResult'
        created_at:
          type: string
          format: date-time
    AddressValidationResult:
      type: object
      description: >-
        एक Address Validation का परिणाम: क्या पता मौजूद है, और इसका सामान्यीकृत
        रूप। यह केवल पते की पुष्टि करता है; यह कभी भी पते को किसी व्यक्ति से
        नहीं जोड़ता है।
      required:
        - status
        - verification_level
        - address
        - formatted_address
        - latitude
        - longitude
      properties:
        status:
          type: string
          enum:
            - verified
            - partially_verified
            - not_verified
            - unavailable
          description: >-
            `verified`: पते की पुष्टि भवन (या फ्लैट अथवा PO बॉक्स) स्तर तक की गई
            थी। `partially_verified`: इसकी पुष्टि केवल सड़क स्तर तक की गई थी, या
            उस स्थान के लिए डाक संदर्भ डेटा के सबसे सटीक स्तर तक की गई थी।
            `not_verified`: केवल क्षेत्र या शहर का मिलान हुआ, या कुछ भी मेल नहीं
            खाया। `unavailable`: सत्यापन नहीं चल सका (उदाहरण के लिए संदर्भ सेवा
            ने उत्तर नहीं दिया); इसका कोई शुल्क नहीं लिया जाता है और यह कभी भी
            सत्यापन को प्रभावित नहीं करता है।
        verification_level:
          type: string
          nullable: true
          enum:
            - administrative_area
            - locality
            - thoroughfare
            - premise
            - delivery_point
            - null
          description: >-
            सबसे सटीक स्तर जिस पर पते का मिलान किया गया था। कुछ भी मेल न खाने पर
            या `status` के `unavailable` होने पर `null`।
        address:
          type: object
          nullable: true
          description: सामान्यीकृत पता। `status` के `unavailable` होने पर `null`।
          properties:
            address_line_1:
              type: string
              nullable: true
              description: पहली डिलीवरी लाइन, जिस तरह से देश इसे लिखता है उसी तरह लिखी गई।
              example: 1600 Amphitheatre Pkwy
            address_line_2:
              type: string
              nullable: true
              description: >-
                दूसरी डिलीवरी पंक्ति (फ़्लैट, भवन या इलाका), यदि पते में उपलब्ध
                हो।
            city:
              type: string
              nullable: true
              example: Mountain View
            region:
              type: string
              nullable: true
              description: राज्य, प्रांत या क्षेत्र।
              example: CA
            postal_code:
              type: string
              nullable: true
              example: 94043-1351
            country:
              type: string
              nullable: true
              description: ISO 3166-1 alpha-2 देश कोड।
              example: US
        formatted_address:
          type: string
          nullable: true
          description: एक पंक्ति में सामान्यीकृत पता।
          example: 1600 Amphitheatre Pkwy, Mountain View CA 94043-1351
        latitude:
          type: number
          nullable: true
          example: 37.422022
        longitude:
          type: number
          nullable: true
          example: -122.08429
  responses:
    AddressValidationValidationError:
      description: >-
        अनुरोध बॉडी अमान्य है: एक अनुपलब्ध या अज्ञात `country`, कोई पता नहीं, या
        `address` और संरचित फ़ील्ड दोनों।
      content:
        application/json:
          examples:
            Unknown country:
              value:
                country:
                  - >-
                    Use an ISO 3166-1 alpha-2 or alpha-3 country code, e.g. 'US'
                    or 'USA'.
            No address:
              value:
                address:
                  - >-
                    Send the address: 'address' on one line, or the structured
                    fields with 'address_line_1'.
            Both shapes:
              value:
                address:
                  - >-
                    Send either 'address' or the structured fields
                    (address_line_1, ...), not both.
    AddressValidationPermissionDenied:
      description: >-
        API कुंजी अनुपलब्ध या अमान्य है, स्कोप्ड कुंजी में `sessions` राइट
        एक्सेस नहीं है, या संगठन सत्यापन को कवर नहीं कर सकता है। यह API कभी भी
        `401` नहीं लौटाता है।
      content:
        application/json:
          examples:
            Missing or invalid API key:
              value:
                detail: You do not have permission to perform this action.
            Not enough credits:
              value:
                detail: >-
                  You don't have enough credits to perform this request. Please
                  top up at https://business.didit.me
                code: insufficient_credits
    RateLimitedWrite:
      description: >-
        प्रति API कुंजी प्रति मिनट 300 अनुरोधों की साझा लिखने की सीमा पार हो गई।
        पुनः प्रयास करने से पहले `Retry-After` का पालन करें।
      content:
        application/json:
          schema:
            type: object
            required:
              - detail
            properties:
              detail:
                type: string
          example:
            detail: >-
              Write request rate limit exceeded. You can make up to 300 requests
              per minute.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        आपकी एप्लिकेशन की API कुंजी, Business Console में Developers -> API keys
        से। प्राथमिक कुंजी के पास पूर्ण एक्सेस होता है। एक नामित कुंजी को स्कोप
        किया जा सकता है: प्रति संसाधन none, read या write, कुछ वर्कफ़्लो या
        स्वीकृत सत्रों तक सीमित, IP पतों की सूची तक सीमित, और समाप्ति तिथि तक
        सीमित। 401 का अर्थ है कि कुंजी गलत है, निरस्त कर दी गई है या उसकी
        समय-सीमा समाप्त हो गई है; 403 का अर्थ है कि कोई कुंजी नहीं भेजी गई थी,
        कुंजी के पास इस संसाधन या कार्रवाई का एक्सेस नहीं है, या अनुरोध उसकी IP
        सूची से बाहर के पते से आया था; सत्र रूट पर 404 का अर्थ है कि सत्र कुंजी
        के वर्कफ़्लो या स्थितियों से बाहर है। मीडिया एक्सेस के बिना एक कुंजी को
        छवि, वीडियो और PDF URL null के रूप में प्राप्त होते हैं, और सत्र write
        के बिना एक कुंजी को सत्र लिंक और token null के रूप में प्राप्त होते हैं।
        देखें https://docs.didit.me/console/api-keys।

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.