> ## 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.

# फ़ोन OTP जाँच API: SMS कोड सत्यापित करें

> Didit का POST /v3/phone/check/ फ़ोन OTP सत्यापित करता है, कैरियर, वर्चुअल और डिस्पोज़ेबल नंबर जाँचता है। प्रति उपयोग भुगतान, कोई मासिक न्यूनतम नहीं।

## प्रदाता में रुकावट को संभालना

अगर फ़ोन प्रदाता अस्थायी रूप से उपलब्ध नहीं है, तो यह endpoint एक स्थिर, मशीन-पठनीय कोड के साथ `502` लौटाता है:

```json theme={null}
{
  "detail": "The phone verification provider is temporarily unavailable.",
  "code": "phone_provider_unavailable"
}
```

इस रिस्पॉन्स को पुनः प्रयास योग्य मानें। थोड़ा बैकऑफ़ लगाएँ और उपयोगकर्ता को अस्थायी सेवा का संदेश दिखाएँ, न कि उससे किसी वैध फ़ोन नंबर या कोड को बदलने को कहें।

## इंटेलिजेंस ऐड-ऑन

नंबर पर फ़ोन इंटेलिजेंस भी चलाने के लिए `enable_enrichment` को `true` पर सेट करें। इससे जोखिम स्कोर, लाइन प्रकार, यह कि नंबर हाल में पोर्ट हुआ था या नहीं, और ट्रस्ट इंडेक्स मिलते हैं।
यह ऐड-ऑन सूची मूल्य पर प्रति अनुरोध \$0.05 के हिसाब से बिल होता है, और यह जाँच की कीमत के ऊपर जुड़ता है।
जब आपका बैलेंस इसे कवर नहीं कर पाता, तो अनुरोध `403` लौटाता है।

चार फ़ील्ड तय करते हैं कि संकेत क्या करें।
इनमें से हर एक का मान `NO_ACTION` (डिफ़ॉल्ट) या `DECLINE` होता है, और हर एक केवल तभी लागू होता है जब `enable_enrichment` का मान `true` हो।

| फ़ील्ड | कब अस्वीकृत किया जाता है |
| - | - |
| `phone_intelligence_score_action` | जब जोखिम स्कोर थ्रेशोल्ड से ऊपर हो। |
| `phone_type_risk_action` | जब नंबर उच्च-जोखिम वाला लाइन प्रकार हो। |
| `recent_port_action` | जब नंबर हाल में किसी दूसरे वाहक पर पोर्ट हुआ हो। |
| `low_phone_trust_action` | जब ट्रस्ट इंडेक्स थ्रेशोल्ड के बराबर या उससे कम हो। |

`NO_ACTION` होने पर भी संकेत `phone.phone_intelligence` में लौटाया जाता है, ताकि आप अपना नियम खुद लागू कर सकें।


## OpenAPI

````yaml hi/openapi-25.json POST /v3/phone/check/
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/phone/check/:
    post:
      tags:
        - Standalone APIs
      summary: फ़ोन कोड जांचें
      description: >-
        [`POST /v3/phone/send/`](/hi/standalone-apis/phone-send) द्वारा डिलीवर
        किए गए OTP को सत्यापित करें और अंतिम सत्यापन परिणाम के साथ फ़ोन
        इंटेलिजेंस प्राप्त करें: कैरियर का नाम और लाइन का प्रकार, वर्चुअल (VoIP)
        और डिस्पोजेबल फ़्लैग, और आपके सत्रों में नंबर का डुप्लिकेट उपयोग।


        **जांच सत्यापन कैसे ढूंढती है।** मिलान आपके एप्लिकेशन और E.164
        `phone_number` द्वारा होता है — `request_id` कोई इनपुट नहीं है। पिछले
        **5 मिनट** के भीतर बनाए गए सबसे हालिया पेंडिंग सत्यापन की जांच की जाती
        है। यदि कोई नहीं है (कभी नहीं भेजा गया, पहले ही फ़ाइनलाइज़ हो चुका है,
        या 5 मिनट से अधिक पुराना है) तो endpoint `status: "Expired or Not
        Found"` के साथ `200` लौटाता है।


        **प्रयास बजट।** प्रत्येक सत्यापन **3 कोड प्रयासों** की अनुमति देता है।
        पहले दो गलत कोड शेष प्रयासों और `phone: null` के साथ `status: "Failed"`
        लौटाते हैं; तीसरा गलत कोड सत्यापन को
        `VERIFICATION_CODE_ATTEMPTS_EXCEEDED` चेतावनी के साथ `Declined` के रूप
        में फ़ाइनलाइज़ करता है और पूर्ण फ़ोन रिपोर्ट लौटाता है।


        **परिणाम।** `Approved` — सही कोड और अस्वीकृति का कोई जोखिम नहीं।
        `Declined` — टर्मिनल: कोड सही था लेकिन अस्वीकृति का कोई जोखिम मेल खा गया
        (नीचे दी गई `DECLINE` कार्रवाई, ब्लॉकलिस्ट किया गया या उच्च जोखिम वाला
        नंबर), या प्रयास बजट समाप्त हो गया था। `Failed` — गलत कोड, प्रयास शेष
        हैं। `Expired or Not Found` — जांचने के लिए कुछ नहीं है।
        `Approved`/`Declined` पर `request_id` सेंड के `request_id` (सत्र id) के
        बराबर होता है और `phone` पूर्ण रिपोर्ट (`carrier`, `is_virtual`,
        `is_disposable`, `warnings`, `lifecycle`, `matches`) रखता है; `Failed`
        और `Expired or Not Found` पर `request_id` एक बार का रैंडम UUID होता है।


        **जोखिम कार्रवाइयां।** `duplicated_phone_number_action`,
        `disposable_number_action`, और `voip_number_action` तय करते हैं कि सही
        कोड पर संबंधित जोखिम का पता चलने पर क्या होगा: `DECLINE` अंतिम स्थिति को
        `Declined` में बदल देता है; `NO_ACTION` (डिफ़ॉल्ट) स्थिति को प्रभावित
        किए बिना `phone.warnings` में जोखिम रिकॉर्ड करता है।


        **बिलिंग।** जांच निःशुल्क हैं — डिलीवरी का बिल भेजने वाले अनुरोध पर लिया
        जाता है ([फ़ोन सत्यापन मूल्य
        निर्धारण](/hi/getting-started/phone-verification-pricing) देखें)।


        **सत्र स्थायित्व।** एक फ़ाइनलाइज़ की गई जांच सेंड द्वारा बनाए गए सत्र को
        अपडेट करती है (Business Console में दृश्यमान, `GET
        /v3/session/{sessionId}/decision/` के माध्यम से पूछताछ योग्य) और एक
        `status.updated` webhook ट्रिगर करती है।


        **सैंडबॉक्स।** सैंडबॉक्स API कुंजियां सभी प्रोसेसिंग को छोड़ देती हैं:
        कोई भी सही ढंग से फ़ॉर्मेट किया गया कोड (4–8 अंक, `123456` शामिल) एक
        सरलीकृत फ़्लैट `phone` ऑब्जेक्ट (`status`, `phone_number`,
        `country_code`, `carrier_name`, `line_type`, `flags`) के साथ एक स्टैटिक
        `Approved` payload लौटाता है; गलत फ़ॉर्मेट वाला इनपुट अभी भी `400`
        लौटाता है। कुछ भी स्थायी रूप से सहेजा नहीं जाता है।


        **प्रमाणीकरण।** `x-api-key` हेडर में अपने एप्लिकेशन की API कुंजी भेजें।
        अनुपलब्ध या अमान्य क्रेडेंशियल `403` (`{"detail": "You do not have
        permission to perform this action."}`) लौटाते हैं — यह API कभी भी `401`
        नहीं लौटाता है।


        **रेट लिमिट।** प्रति API कुंजी प्रति मिनट 300 अनुरोधों का साझा राइट बजट,
        साथ ही प्रति घंटे प्रति नंबर 4 प्रयासों की अपस्ट्रीम एंटी-एब्यूज सीमा;
        किसी भी सीमा को पार करने पर `429` लौटता है।


        **सोशल फ़ुटप्रिंट।** `phone_social` ब्लॉक जोड़ने के लिए `enable_social`
        को `true` पर सेट करें: वे ऑनलाइन प्लेटफ़ॉर्म जिन पर यह नंबर पंजीकृत है,
        प्रति-श्रेणी गणना और उपलब्ध कोई भी प्रोफ़ाइल विवरण।
        `profiles_registered: 0` का अर्थ है कि प्लेटफ़ॉर्म की जांच की गई थी और
        नंबर उनमें से किसी पर भी नहीं मिला - एक मान्य, बिल करने योग्य उत्तर। जब
        ऐड-ऑन का अनुरोध नहीं किया गया था या जांच पूरी नहीं की जा सकी, तो यह
        ब्लॉक अनुपस्थित रहता है, और उस स्थिति में इसका बिल नहीं लिया जाता है।
        बिलिंग इस endpoint की अपनी कीमत के अतिरिक्त प्रति अनुरोध एक
        `phone_social` यूनिट जोड़ती है।
      operationId: post_v3phone_check
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                phone_number:
                  type: string
                  maxLength: 20
                  description: >-
                    वही फ़ोन नंबर जो संबंधित [`POST
                    /v3/phone/send/`](/hi/standalone-apis/phone-send) कॉल में
                    उपयोग किया गया था, E.164 प्रारूप में। यह चेक को सेंड से लिंक
                    करता है।
                  example: '+14155552671'
                code:
                  type: string
                  minLength: 4
                  maxLength: 8
                  pattern: ^[0-9]{4,8}$
                  description: >-
                    अंतिम उपयोगकर्ता को प्राप्त OTP। 4–8 संख्यात्मक अंक होने
                    चाहिए — कोई अन्य मान प्रयास की खपत किए बिना `400` लौटाता है।
                    एक सही प्रारूप वाला लेकिन गलत कोड `status: "Failed"` के साथ
                    `200` लौटाता है और 3 प्रयासों में से एक की खपत करता है।
                  example: '123456'
                duplicated_phone_number_action:
                  type: string
                  enum:
                    - NO_ACTION
                    - DECLINE
                  default: NO_ACTION
                  description: >-
                    आपके एप्लिकेशन के किसी भिन्न उपयोगकर्ता (भिन्न
                    `vendor_data`) द्वारा समान नंबर का पहले ही उपयोग किए जाने पर
                    क्या कार्रवाई की जाए। `DECLINE` अंतिम `status` को `Declined`
                    में बदल देता है; `NO_ACTION` जोखिम को `phone.warnings` में
                    रिकॉर्ड करता है और `phone.matches` को भरता है।
                disposable_number_action:
                  type: string
                  enum:
                    - NO_ACTION
                    - DECLINE
                  default: NO_ACTION
                  description: >-
                    जब कैरियर लुकअप नंबर को एक अस्थायी/बर्नर लाइन के रूप में
                    फ़्लैग करता है (`phone.is_disposable`) तो क्या कार्रवाई
                    करें। `DECLINE` अंतिम `status` को `Declined` में बदल देता
                    है; `NO_ACTION` जोखिम को `phone.warnings` में रिकॉर्ड करता
                    है।
                voip_number_action:
                  type: string
                  enum:
                    - NO_ACTION
                    - DECLINE
                  default: NO_ACTION
                  description: >-
                    जब कैरियर लुकअप वर्चुअल लाइन प्रकार — `voip`, `isp`, या
                    `vpn` रिपोर्ट करता है (`phone.is_virtual`) तो क्या कार्रवाई
                    करें। `DECLINE` अंतिम `status` को `Declined` में बदल देता
                    है; `NO_ACTION` जोखिम को `phone.warnings` में रिकॉर्ड करता
                    है।
                enable_enrichment:
                  type: boolean
                  default: false
                  description: >-
                    जब `true` होता है, तो नंबर पर फ़ोन इंटेलिजेंस भी चलाएं: एक
                    जोखिम स्कोर, लाइन का प्रकार, क्या इसे हाल ही में पोर्ट किया
                    गया था और एक ट्रस्ट इंडेक्स। इस endpoint की अपनी कीमत के
                    अतिरिक्त प्रति अनुरोध एक `phone_intelligence_api` यूनिट
                    ($0.05 सूची मूल्य पर) के रूप में बिल किया जाता है। जब आपका
                    बैलेंस इसे कवर नहीं कर पाता है, तो अनुरोध `403` लौटाता है।
                  example: false
                phone_intelligence_score_action:
                  type: string
                  enum:
                    - NO_ACTION
                    - DECLINE
                  default: NO_ACTION
                  description: >-
                    जब फ़ोन इंटेलिजेंस जोखिम स्कोर थ्रेशोल्ड से अधिक हो, तब की
                    जाने वाली कार्रवाई। `DECLINE` अंतिम `status` को `Declined`
                    में बदल देता है; `NO_ACTION` अस्वीकार किए बिना सिग्नल
                    रिकॉर्ड करता है। केवल तभी प्रभावी होता है जब
                    `enable_enrichment` का मान `true` हो।
                phone_type_risk_action:
                  type: string
                  enum:
                    - NO_ACTION
                    - DECLINE
                  default: NO_ACTION
                  description: >-
                    जब नंबर एक उच्च-जोखिम वाली लाइन का प्रकार हो, तब की जाने
                    वाली कार्रवाई। `DECLINE` अंतिम `status` को `Declined` में
                    बदल देता है; `NO_ACTION` अस्वीकार किए बिना सिग्नल रिकॉर्ड
                    करता है। केवल तभी प्रभावी होता है जब `enable_enrichment` का
                    मान `true` हो।
                recent_port_action:
                  type: string
                  enum:
                    - NO_ACTION
                    - DECLINE
                  default: NO_ACTION
                  description: >-
                    जब नंबर हाल ही में किसी अन्य कैरियर में पोर्ट किया गया हो,
                    तब की जाने वाली कार्रवाई। `DECLINE` अंतिम `status` को
                    `Declined` में बदल देता है; `NO_ACTION` अस्वीकार किए बिना
                    सिग्नल रिकॉर्ड करता है। केवल तभी प्रभावी होता है जब
                    `enable_enrichment` का मान `true` हो।
                low_phone_trust_action:
                  type: string
                  enum:
                    - NO_ACTION
                    - DECLINE
                  default: NO_ACTION
                  description: >-
                    जब फ़ोन इंटेलिजेंस ट्रस्ट इंडेक्स थ्रेशोल्ड पर या उससे कम
                    हो, तब की जाने वाली कार्रवाई। `DECLINE` अंतिम `status` को
                    `Declined` में बदल देता है; `NO_ACTION` अस्वीकार किए बिना
                    सिग्नल रिकॉर्ड करता है। केवल तभी प्रभावी होता है जब
                    `enable_enrichment` का मान `true` हो।
                enable_social:
                  type: boolean
                  default: false
                  description: >-
                    true होने पर, नंबर के सोशल फ़ुटप्रिंट की भी खोज करें -
                    मैसेजिंग, सोशल, ई-कॉमर्स और व्यावसायिक प्लेटफ़ॉर्म जिन पर यह
                    पंजीकृत है। इस endpoint की अपनी कीमत के अतिरिक्त प्रति
                    अनुरोध एक `phone_social` इकाई के रूप में बिल किया जाता है।
                  example: true
                phone_no_social_presence_action:
                  type: string
                  enum:
                    - NO_ACTION
                    - DECLINE
                  default: NO_ACTION
                  description: >-
                    जब सोशल फ़ुटप्रिंट जाँच में यह पाया जाता है कि नंबर इसके
                    दायरे में आने वाले किसी भी प्लेटफ़ॉर्म पर पंजीकृत नहीं है,
                    तब की जाने वाली कार्रवाई। इस endpoint पर केवल NO_ACTION और
                    DECLINE स्वीकार किए जाते हैं; REVIEW इसी नाम की वर्कफ़्लो
                    कॉन्फ़िगरेशन कुंजी पर उपलब्ध है।
              required:
                - phone_number
                - code
            examples:
              Default:
                summary: >-
                  किसी भी जोखिम को रिकॉर्ड करें लेकिन कभी भी स्वतः अस्वीकृत न
                  करें
                value:
                  phone_number: '+14155552671'
                  code: '123456'
              Strict risk policy:
                summary: VoIP और डिस्पोज़ेबल लाइनों को स्वतः अस्वीकृत करें
                value:
                  phone_number: '+14155552671'
                  code: '123456'
                  voip_number_action: DECLINE
                  disposable_number_action: DECLINE
      responses:
        '200':
          description: >-
            जांच पूरी हुई — गलत कोड और छूटे हुए सत्यापन भी `200` लौटाते हैं;
            HTTP कोड नहीं, `status` का निरीक्षण करें। `phone` केवल अंतिम
            परिणामों (`Approved`/`Declined`) पर पॉप्युलेट होता है, `Failed` पर
            `null`, और `Expired or Not Found` पर अनुपस्थित होता है।
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PhoneVerificationCheckResponse'
              examples:
                Approved:
                  summary: >-
                    सही कोड — कैरियर, लाइफ़साइकिल और मिलानों के साथ पूर्ण फ़ोन
                    रिपोर्ट
                  value:
                    request_id: e39cb057-92fc-4b59-b84e-02fec29a0f24
                    status: Approved
                    message: The verification code is correct.
                    phone:
                      status: Approved
                      phone_number_prefix: '+1'
                      phone_number: '4155552671'
                      full_number: '+14155552671'
                      country_code: US
                      country_name: United States
                      carrier:
                        name: AT&T
                        type: mobile
                      is_disposable: false
                      is_virtual: false
                      verification_method: whatsapp
                      verification_attempts: 1
                      verified_at: '2026-06-12T01:24:47.311323Z'
                      warnings: []
                      lifecycle:
                        - type: PHONE_VERIFICATION_MESSAGE_SENT
                          timestamp: '2026-06-12T01:23:39.580554+00:00'
                          details:
                            status: Success
                            reason: null
                            channel: whatsapp
                            actual_channel: whatsapp
                          fee: 0.0509
                        - type: PHONE_DELIVERY_DELIVERED
                          timestamp: '2026-06-12T01:23:43.118220+00:00'
                          details:
                            channel: whatsapp
                            status: delivered
                          fee: 0
                        - type: VALID_CODE_ENTERED
                          timestamp: '2026-06-12T01:24:47.311201+00:00'
                          details:
                            code_tried: '123456'
                            status: Approved
                          fee: 0
                        - type: PHONE_VERIFICATION_APPROVED
                          timestamp: '2026-06-12T01:24:47.384292+00:00'
                          details: null
                          fee: 0
                      matches: []
                    vendor_data: user-1234
                    metadata: null
                    created_at: '2026-06-12T01:24:47.401719+00:00'
                Failed (attempts remaining):
                  summary: >-
                    गलत कोड — उपयोगकर्ता पुनः प्रयास कर सकता है; यहाँ request_id
                    एक वन-टाइम UUID है
                  value:
                    request_id: 11111111-2222-3333-4444-555555555555
                    status: Failed
                    message: 'The verification code is incorrect. Attempts remaining: 2'
                    phone: null
                    vendor_data: user-1234
                    metadata: null
                    created_at: '2026-06-12T01:24:21.512340+00:00'
                Declined (max attempts):
                  summary: >-
                    तीसरा गलत कोड — सत्यापन अस्वीकृत के रूप में अंतिम रूप दिया
                    गया
                  value:
                    request_id: e39cb057-92fc-4b59-b84e-02fec29a0f24
                    status: Declined
                    message: >-
                      The verification code is incorrect. Maximum attempts
                      reached.
                    phone:
                      status: Declined
                      phone_number_prefix: '+1'
                      phone_number: '4155552671'
                      full_number: '+14155552671'
                      country_code: US
                      country_name: United States
                      carrier:
                        name: AT&T
                        type: mobile
                      is_disposable: false
                      is_virtual: false
                      verification_method: whatsapp
                      verification_attempts: 1
                      verified_at: null
                      warnings:
                        - feature: PHONE
                          risk: VERIFICATION_CODE_ATTEMPTS_EXCEEDED
                          additional_data: null
                          log_type: error
                          short_description: Verification code attempts exceeded
                          long_description: >-
                            The system detected that the phone number has
                            exceeded the maximum number of verification code
                            attempts.
                      lifecycle:
                        - type: PHONE_VERIFICATION_MESSAGE_SENT
                          timestamp: '2026-06-12T01:23:39.580554+00:00'
                          details:
                            status: Success
                            reason: null
                            channel: whatsapp
                            actual_channel: whatsapp
                          fee: 0.0509
                        - type: INVALID_CODE_ENTERED
                          timestamp: '2026-06-12T01:24:01.118220+00:00'
                          details:
                            code_tried: '111111'
                            status: Failed
                          fee: 0
                        - type: INVALID_CODE_ENTERED
                          timestamp: '2026-06-12T01:24:21.512340+00:00'
                          details:
                            code_tried: '222222'
                            status: Failed
                          fee: 0
                        - type: INVALID_CODE_ENTERED
                          timestamp: '2026-06-12T01:24:47.311201+00:00'
                          details:
                            code_tried: '333333'
                            status: Failed
                          fee: 0
                        - type: PHONE_VERIFICATION_DECLINED
                          timestamp: '2026-06-12T01:24:47.384292+00:00'
                          details:
                            reason: VERIFICATION_CODE_ATTEMPTS_EXCEEDED
                          fee: 0
                      matches: []
                    vendor_data: user-1234
                    metadata: null
                    created_at: '2026-06-12T01:24:47.401719+00:00'
                Declined (risk policy):
                  summary: सही कोड, लेकिन लाइन VoIP है और voip_number_action=DECLINE है
                  value:
                    request_id: 7f1c9d2e-44a1-4b6e-9a3e-5b8e6f1c2d3a
                    status: Declined
                    message: The verification code is correct.
                    phone:
                      status: Declined
                      phone_number_prefix: '+1'
                      phone_number: '5005550006'
                      full_number: '+15005550006'
                      country_code: US
                      country_name: United States
                      carrier:
                        name: CLEC LLC
                        type: voip
                      is_disposable: false
                      is_virtual: true
                      verification_method: sms
                      verification_attempts: 1
                      verified_at: '2026-06-12T01:24:47.311323Z'
                      warnings:
                        - feature: PHONE
                          risk: VOIP_NUMBER_DETECTED
                          additional_data: null
                          log_type: error
                          short_description: VoIP number detected
                          long_description: >-
                            The system detected that the phone number is a VoIP
                            number, which is not allowed.
                      lifecycle:
                        - type: PHONE_VERIFICATION_MESSAGE_SENT
                          timestamp: '2026-06-12T01:23:39.580554+00:00'
                          details:
                            status: Success
                            reason: null
                            channel: whatsapp
                            actual_channel: sms
                          fee: 0.0509
                        - type: VALID_CODE_ENTERED
                          timestamp: '2026-06-12T01:24:47.311201+00:00'
                          details:
                            code_tried: '123456'
                            status: Approved
                          fee: 0
                        - type: PHONE_VERIFICATION_DECLINED
                          timestamp: '2026-06-12T01:24:47.384292+00:00'
                          details:
                            reason: VOIP_NUMBER_DETECTED
                          fee: 0
                      matches: []
                    vendor_data: user-1234
                    metadata: null
                    created_at: '2026-06-12T01:24:47.401719+00:00'
                Expired or Not Found:
                  summary: पिछले 5 मिनट में इस नंबर के लिए कोई लंबित सत्यापन नहीं है
                  value:
                    request_id: 69cc35c6-280a-47a6-ab8c-4f32abc02ed0
                    status: Expired or Not Found
                    message: No pending phone verification found in the last 5 minutes.
                    vendor_data: null
                    metadata: null
                    created_at: '2026-06-12T01:24:47.311323+00:00'
        '400':
          description: >-
            सत्यापन त्रुटि — DRF का फ़ील्ड-त्रुटि एनवलप: प्रति त्रुटियुक्त
            फ़ील्ड संदेशों का एक ऐरे।
          content:
            application/json:
              examples:
                Invalid code format:
                  summary: '`code` 4–8 संख्यात्मक अंक नहीं है'
                  value:
                    code:
                      - Invalid code format. Enter 4 to 8 numeric digits.
                Invalid phone number:
                  summary: '`phone_number` मान्य E.164 नहीं है'
                  value:
                    phone_number:
                      - Invalid phone number provided.
                Invalid action:
                  summary: जोखिम कार्रवाइयां केवल NO_ACTION या DECLINE स्वीकार करती हैं
                  value:
                    voip_number_action:
                      - '"REVIEW" is not a valid choice.'
        '403':
          description: >-
            अनुमति अस्वीकृत। तब लौटाया जाता है जब `x-api-key` हेडर अनुपलब्ध हो;
            गलत, निरस्त या समय-सीमा समाप्त कुंजी `401` लौटाती है। जाँच निःशुल्क
            हैं, इसलिए यहाँ कोई क्रेडिट जाँच नहीं है।
          content:
            application/json:
              examples:
                Missing or invalid API key:
                  summary: कोई `x-api-key` हेडर नहीं, या कुंजी अमान्य/निरस्त है
                  value:
                    detail: You do not have permission to perform this action.
        '429':
          description: >-
            रेट लिमिट पार हो गई। POST/PATCH/DELETE endpoints प्रति मिनट प्रति
            API कुंजी 300 राइट अनुरोधों का बजट साझा करते हैं (लेन-देन निर्माण और
            इवेंट इनजेशन का 600 का एक अलग बजट है)। इसके अतिरिक्त, अपस्ट्रीम में
            प्रति फ़ोन नंबर प्रति घंटे 4 सत्यापन प्रयासों की एक दुरुपयोग-विरोधी
            सीमा लागू होती है। रिस्पॉन्स में `X-RateLimit-Limit`,
            `X-RateLimit-Remaining`, `X-RateLimit-Reset` और `Retry-After` हेडर
            शामिल होते हैं। ध्यान दें: `X-RateLimit-*`/`Retry-After` हेडर केवल
            300/मिनट राइट-लिमिट 429 के साथ आते हैं; प्रति-नंबर कैप 429 में कोई
            दर-सीमा हेडर नहीं होता है।
          content:
            application/json:
              examples:
                Per-number cap:
                  summary: पिछले एक घंटे में उसी नंबर के लिए 4 से अधिक सत्यापन प्रयास
                  value:
                    detail: >-
                      Maximum verification attempts reached for this phone
                      number. Only 4 authentication attempts are allowed per
                      hour. Try again later or use a different number.
                Write rate limit exceeded:
                  summary: वर्तमान मिनट में 300 से अधिक राइट अनुरोध
                  value:
                    detail: >-
                      Write request rate limit exceeded. You can make up to 300
                      requests per minute.
              schema:
                type: object
                properties:
                  detail:
                    type: string
        '500':
          description: >-
            अपस्ट्रीम में कोड सत्यापित करते समय अप्रत्याशित विफलता जो किसी ज्ञात
            प्रदाता आउटेज के कारण नहीं है। पुनः प्रयास करना सुरक्षित है; प्रयास
            बजट केवल पूर्ण की गई जाँचों द्वारा ही उपयोग किया जाता है।
          content:
            application/json:
              examples:
                Provider error:
                  summary: कोड सत्यापन पूरा नहीं किया जा सका
                  value:
                    detail: Error checking phone verification
              schema:
                type: object
                properties:
                  detail:
                    type: string
        '502':
          description: >-
            फ़ोन सत्यापन प्रदाता अस्थायी रूप से अनुपलब्ध है - एक 5xx रिस्पॉन्स,
            टाइमआउट, या कनेक्शन विफलता जो इन-बिल्ट पुनः प्रयासों के बाद भी बनी
            रही। पुनः प्रयास करना सुरक्षित है; प्रयास का बजट खर्च नहीं होता है।
          content:
            application/json:
              examples:
                Provider outage:
                  summary: प्रदाता ने जांच अनुरोध का उत्तर नहीं दिया
                  value:
                    detail: >-
                      Phone verification is temporarily unavailable. Please try
                      again shortly.
                    code: phone_provider_unavailable
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  code:
                    type: string
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: |-
            curl -X POST https://verification.didit.me/v3/phone/check/ \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{
                "phone_number": "+14155552671",
                "code": "123456",
                "voip_number_action": "DECLINE"
              }'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.phone.check_code(
                phone_number="+14155552671",
                code="123456",
            )
            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.phone.checkCode({
              phone_number: "+14155552671",
              code: "123456",
            });
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Phone.CheckCode(ctx, didit.PhoneCheckCodeParams{\n\tPhoneNumber: \"+14155552671\",\n\tCode:        \"123456\",\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;
            import me.didit.types.PhoneCheckCodeParams;

            // Reads DIDIT_API_KEY.
            Didit client = new Didit();

            var result = client.phone().checkCode(PhoneCheckCodeParams.builder()
                    .phoneNumber("+14155552671")
                    .code("123456")
                    .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->phone->checkCode([
                'phone_number' => '+14155552671',
                'code' => '123456',
            ]);
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.phone.check_code(
              phone_number: "+14155552671",
              code: "123456"
            )
            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.Phone.CheckCodeAsync(new
            PhoneCheckCodeParams

            {
                PhoneNumber = "+14155552671",
                Code = "123456",
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    PhoneVerificationCheckResponse:
      type: object
      properties:
        request_id:
          type: string
          format: uuid
          description: >-
            `Approved`/`Declined` पर: मिलान किए गए सत्यापन की सत्र id — `POST
            /v3/phone/send/` द्वारा लौटाए गए `request_id` के समान। `Failed` और
            `Expired or Not Found` पर: एक यादृच्छिक वन-ऑफ़ UUID जिसे बाद में
            देखा नहीं जा सकता।
        status:
          type: string
          enum:
            - Approved
            - Declined
            - Failed
            - Expired or Not Found
          description: >-
            `Approved` — सही कोड, अस्वीकृति का कोई जोखिम नहीं। `Declined` —
            अंतिम: अस्वीकृति का कोई जोखिम मेल खा गया या प्रयास सीमा (3) समाप्त
            हो गई। `Failed` — गलत कोड, प्रयास शेष हैं। `Expired or Not Found` —
            पिछले 5 मिनट में इस नंबर के लिए कोई लंबित सत्यापन नहीं।
        message:
          type: string
          description: >-
            गलत कोड के बाद शेष प्रयासों की संख्या सहित परिणाम का मानव-पठनीय
            स्पष्टीकरण।
        phone:
          type: object
          nullable: true
          description: >-
            पूर्ण फ़ोन रिपोर्ट। केवल अंतिम परिणामों (`Approved`/`Declined`) पर
            मौजूद (शून्येतर); `Failed` पर `null` और `Expired or Not Found` पर
            अनुपस्थित।
          properties:
            status:
              type: string
              enum:
                - Approved
                - Declined
                - In Review
                - Not Finished
                - Expired
              description: >-
                फ़ोन सत्यापन की अंतिम स्थिति। अंतिम रूप दी गई जाँचों के लिए
                शीर्ष-स्तरीय `status` से मेल खाती है।
            phone_number_prefix:
              type: string
              description: शुरुआती `+` के साथ देश का कॉलिंग कोड (उदा., `+1`)।
              example: '+1'
            phone_number:
              type: string
              description: देश के कॉलिंग कोड के बिना राष्ट्रीय नंबर।
              example: '4155552671'
            full_number:
              type: string
              description: E.164 प्रारूप में पूरा नंबर।
              example: '+14155552671'
            country_code:
              type: string
              nullable: true
              description: नंबर का ISO 3166-1 alpha-2 देश।
              example: US
            country_name:
              type: string
              description: '`country_code` से प्राप्त देश का पूरा नाम।'
              example: United States
            carrier:
              type: object
              description: >-
                नंबर को सेवा प्रदान करने वाला वर्तमान नेटवर्क, जो फ़ाइनलाइज़ेशन
                के समय चलाए गए कैरियर लुकअप से प्राप्त होता है।
              properties:
                name:
                  type: string
                  description: कैरियर का नाम। जब लुकअप इसे पहचान नहीं सका तो खाली स्ट्रिंग।
                type:
                  type: string
                  description: >-
                    लुकअप द्वारा रिपोर्ट किया गया लाइन प्रकार: `mobile`,
                    `fixed_line`, `voip`, `isp`, `vpn`, `toll_free`,
                    `premium_rate`, `pager`, `payphone`, `satellite`, `service`,
                    `shared_cost`, `short_codes_commercial`, `calling_cards`,
                    `local_rate`, `universal_access`, `voice_mail`, `other`, या
                    `unknown`।
            is_disposable:
              type: boolean
              description: '`true` जब नंबर किसी अस्थायी/बर्नर नंबर सेवा से संबंधित हो।'
            is_virtual:
              type: boolean
              description: '`true` जब लाइन का प्रकार वर्चुअल हो (`voip`, `isp`, या `vpn`)।'
            verification_method:
              type: string
              description: >-
                वह चैनल जिसने डिलीवरी की पुष्टि होने के बाद वास्तव में OTP
                डिलीवर किया (उदा. `whatsapp`, `sms`); तब तक, अनुरोधित चैनल।
            verification_attempts:
              type: integer
              description: >-
                इस सत्यापन के लिए OTP भेजे जाने की संख्या (1, या पुनः प्रयास के
                बाद 2)।
            verified_at:
              type: string
              format: date-time
              nullable: true
              description: >-
                जब सही कोड दर्ज किया गया था। `null` यदि सत्यापन कभी स्वीकृत नहीं
                हुआ था।
            warnings:
              type: array
              description: >-
                सत्यापन के दौरान रिकॉर्ड की गई जोखिम चेतावनियां (डुप्लिकेट,
                डिस्पोजेबल, VoIP, प्रयास सीमा पार, ब्लॉकलिस्ट, आदि)। कोई न होने
                पर खाली ऐरे।
              items:
                type: object
                properties:
                  feature:
                    type: string
                    description: सुविधा जिसने चेतावनी उत्पन्न की। यहाँ हमेशा `PHONE`।
                  risk:
                    type: string
                    description: मशीन-पठनीय जोखिम कोड।
                  additional_data:
                    type: object
                    nullable: true
                    description: >-
                      जोखिम-विशिष्ट संदर्भ (उदा., डुप्लिकेट जोखिमों के लिए
                      डुप्लिकेट सत्र id)। जब जोखिम में कोई अतिरिक्त डेटा नहीं
                      होता है तो `null`।
                  log_type:
                    type: string
                    enum:
                      - error
                      - warning
                      - information
                    description: >-
                      गंभीरता। `error` जोखिम सत्यापन को अस्वीकृत करते हैं,
                      `warning` इसे समीक्षा के लिए फ़्लैग करती है, `information`
                      स्टेटस को प्रभावित किए बिना रिकॉर्ड की जाती है।
                  short_description:
                    type: string
                    description: जोखिम का मानव-पठनीय एक पंक्ति का सारांश।
                  long_description:
                    type: string
                    description: जोखिम का मानव-पठनीय स्पष्टीकरण।
            lifecycle:
              type: array
              description: >-
                सत्यापन का कालानुक्रमिक ऑडिट ट्रेल। इवेंट `type` इनमें से एक है:
                `PHONE_VERIFICATION_MESSAGE_SENT`,
                `PHONE_VERIFICATION_RETRY_MESSAGE_SENT`,
                `PHONE_VERIFICATION_BLOCKED`, `PHONE_DELIVERY_DELIVERED`,
                `PHONE_DELIVERY_UNDELIVERABLE`, `VALID_CODE_ENTERED`,
                `INVALID_CODE_ENTERED`, `PHONE_VERIFICATION_APPROVED`,
                `PHONE_VERIFICATION_DECLINED`, `PHONE_VERIFICATION_IN_REVIEW`,
                `PHONE_VERIFICATION_EXPIRED`।
              items:
                type: object
                properties:
                  type:
                    type: string
                    description: इवेंट प्रकार।
                  timestamp:
                    type: string
                    format: date-time
                    description: जब इवेंट हुआ था।
                  details:
                    type: object
                    nullable: true
                    description: >-
                      इवेंट-विशिष्ट payload। भेजने वाले इवेंट्स: `{status,
                      reason, channel, actual_channel}` (डिलीवरी की पुष्टि होने
                      के बाद `actual_channel` भरा जाता है)। डिलीवरी इवेंट्स:
                      `{channel, status}`। कोड-प्रविष्टि इवेंट्स: `{code_tried,
                      status}`। अंतिम-स्थिति इवेंट्स: `null`, या अस्वीकृत अथवा
                      समीक्षाधीन होने पर `{reason}`।
                  fee:
                    type: number
                    description: >-
                      इस इवेंट के लिए बिल की गई USD राशि। केवल भेजने के इवेंट
                      (डिलीवरी कीमत) पर गैर-शून्य; कोड प्रविष्टियों, डिलीवरी
                      पुष्टिकरणों और स्थिति इवेंट के लिए 0।
            matches:
              type: array
              description: >-
                आपके एप्लिकेशन (KYC, KYB, या API) के अन्य सत्र जहाँ एक अलग
                उपयोगकर्ता (अलग `vendor_data`) द्वारा समान फ़ोन नंबर का उपयोग
                किया गया था। अधिकतम 5 प्रविष्टियाँ, मौजूद होने पर सिंथेटिक
                सूची-प्रविष्टि ब्लॉकलिस्ट मिलान सबसे पहले (सत्र-व्युत्पन्न मिलान
                क्वेरी क्रम बनाए रखते हैं)। कोई मिलान न होने पर खाली ऐरे।
              items:
                type: object
                properties:
                  session_id:
                    type: string
                    format: uuid
                    description: >-
                      उस अन्य सत्यापन का सत्र id जिसने इस फ़ोन नंबर का उपयोग
                      किया था।
                  session_number:
                    type: integer
                    description: उस सत्र की मानव-पठनीय अनुक्रमिक संख्या।
                  vendor_data:
                    type: string
                    nullable: true
                    description: उस सत्र का `vendor_data`।
                  verification_date:
                    type: string
                    description: जब वह सत्र बनाया गया था (`YYYY-MM-DDTHH:MM:SSZ`)।
                  phone_number:
                    type: string
                    description: मिलान किया गया फ़ोन नंबर।
                  status:
                    type: string
                    description: >-
                      उस सत्र की स्थिति (उदा., `Approved`, `Declined`, `In
                      Progress`)।
                  is_blocklisted:
                    type: boolean
                    description: क्या फ़ोन नंबर आपके एप्लिकेशन की ब्लॉकलिस्ट में है।
                  api_service:
                    type: string
                    nullable: true
                    description: >-
                      API-प्रकार के सत्रों के लिए, स्टैंडअलोन API जिसने इसे
                      बनाया (उदा. `PHONE_VERIFICATION`); नियमित सत्यापन सत्रों
                      के लिए `null`।
                  source:
                    type: string
                    description: >-
                      मिलान कहाँ पाया गया था। आमतौर पर `session`; किसी संगठन
                      सूची प्रविष्टि के माध्यम से ब्लॉकलिस्ट हिट होने पर
                      `source: "list_entry"` और null
                      `session_id`/`session_number` के साथ एक सिंथेटिक मिलान
                      पहले जोड़ा जाता है।
            phone_social:
              $ref: '#/components/schemas/PhoneSocialFootprint'
            phone_intelligence:
              allOf:
                - $ref: '#/components/schemas/PhoneIntelligence'
              description: >-
                फ़ोन इंटेलिजेंस सिग्नल। केवल तभी मौजूद होते हैं जब जाँच पर
                `enable_enrichment` `true` था।
        vendor_data:
          type: string
          nullable: true
          description: >-
            मिलान किए गए सत्यापन के सत्र का `vendor_data`। `Expired or Not
            Found` पर `null`।
        metadata:
          type: object
          nullable: true
          description: >-
            मेल खाने वाले सत्यापन के सत्र का `metadata`। `Expired or Not Found`
            पर `null`।
        created_at:
          type: string
          format: date-time
          description: इस जांच के रिस्पॉन्स का टाइमस्टैम्प।
    PhoneSocialFootprint:
      type: object
      nullable: true
      description: >-
        फ़ोन नंबर का सोशल फ़ुटप्रिंट: वे ऑनलाइन प्लेटफ़ॉर्म जिन पर यह पंजीकृत
        है। केवल तभी मौजूद होता है जब `enable_social` सेट किया गया था और जांच
        पूरी हो गई थी। प्रत्येक संख्या शून्य हो सकती है यदि इसके लिए कोई डेटा
        वापस नहीं आया। `profiles_registered: 0` का अर्थ है कि प्लेटफ़ॉर्म की
        जांच की गई थी और उनमें से किसी पर भी फ़ोन नंबर नहीं मिला - एक मान्य, बिल
        योग्य उत्तर और एक सामान्य सिंथेटिक-पहचान संकेत।
      properties:
        profiles_registered:
          type: integer
          nullable: true
          description: वे प्लेटफ़ॉर्म जहाँ फ़ोन नंबर के पंजीकृत होने की पुष्टि हुई है।
          example: 5
        profiles_checked:
          type: integer
          nullable: true
          description: पंजीकरण के लिए मूल्यांकन किए गए प्लेटफ़ॉर्म।
          example: 14
        names_found:
          type: integer
          nullable: true
          description: वे प्लेटफ़ॉर्म जिन्होंने संबद्ध नाम लौटाया।
          example: 0
        photos_found:
          type: integer
          nullable: true
          description: वे प्लेटफ़ॉर्म जिन्होंने प्रोफ़ाइल फ़ोटो लौटाई।
          example: 0
        communication_breadth:
          type: integer
          nullable: true
          description: संचार प्लेटफ़ॉर्म जिनमें उपस्थिति का पता चला है।
          example: 2
        digital_footprint_diversity:
          type: integer
          nullable: true
          description: संसूचित उपस्थिति वाली विशिष्ट प्लेटफ़ॉर्म श्रेणियां।
          example: 5
        digital_sophistication_index:
          type: integer
          nullable: true
          description: कंपोजिट डिजिटल-परिपक्वता संकेतक, 0-10।
          example: 5
        engagement_depth_index:
          type: integer
          nullable: true
          description: प्रोफ़ाइल-समृद्धि संकेतक, 0-10।
          example: 3
        subscription_affordability_index:
          type: integer
          nullable: true
          description: निःशुल्क बनाम सशुल्क प्लेटफ़ॉर्म मिक्स, 0-10।
          example: 2
        free_platforms:
          type: integer
          nullable: true
          description: निःशुल्क प्लेटफ़ॉर्म पर पंजीकरण।
          example: 4
        full_paid_platforms:
          type: integer
          nullable: true
          description: पूरी तरह से भुगतान वाले प्लेटफ़ॉर्म पर पंजीकरण।
          example: 0
        partial_paid_platforms:
          type: integer
          nullable: true
          description: फ़्रीमियम प्लेटफ़ॉर्म पर पंजीकरण।
          example: 1
        whatsapp_profile_completeness:
          type: string
          nullable: true
          enum:
            - Basic
            - Partial
            - Complete
            - Not Present
            - null
          description: WhatsApp प्रोफ़ाइल की पूर्णता। केवल फ़ोन; ईमेल के लिए null।
          example: Partial
        registered_platforms:
          type: array
          description: वे प्लेटफ़ॉर्म जहाँ पंजीकरण की पुष्टि हुई है।
          items:
            $ref: '#/components/schemas/SocialFootprintPlatform'
        not_registered_platforms:
          type: array
          description: नकारात्मक परिणाम के साथ जाँचे गए प्लेटफ़ॉर्म।
          items:
            $ref: '#/components/schemas/SocialFootprintPlatform'
        categories:
          type: object
          description: प्रति प्लेटफ़ॉर्म श्रेणी पंजीकृत संख्या और अनुपात।
          additionalProperties:
            $ref: '#/components/schemas/SocialFootprintCategorySummary'
        profiles:
          type: object
          description: >-
            प्रति-प्लेटफ़ॉर्म प्रोफ़ाइल विवरण, प्लेटफ़ॉर्म द्वारा की-बद्ध, जब
            प्लेटफ़ॉर्म उन्हें प्रदर्शित करता है।
          additionalProperties:
            $ref: '#/components/schemas/SocialFootprintProfile'
    PhoneIntelligence:
      type: object
      description: >-
        सामान्यीकृत फ़ोन-इंटेलिजेंस ब्लॉक। केवल तभी मौजूद होता है जब इस लुकअप के
        लिए इंटेलिजेंस ऐड-ऑन चला हो; मौजूद होने पर इसे समान मानों के साथ
        `enrichment` उपनाम के तहत भी दिखाया जाता है।
      properties:
        score:
          type: number
          nullable: true
          description: सामान्यीकृत 0-100 जोखिम स्कोर। उच्च मान अधिक जोखिम भरा होता है।
        phone_type_risk:
          type: string
          nullable: true
          description: '`Low`, `Medium` या `High`, स्कोर से निकाला गया।'
        phone_trust_index:
          type: number
          nullable: true
          description: >-
            स्कोर का व्युत्क्रम, उन डैशबोर्ड के लिए जो उच्च स्कोर को बेहतर मानते
            हैं।
        network_stability_index:
          type: number
          nullable: true
          description: लाइन के नेटवर्क की स्थिरता।
        is_disposable:
          type: boolean
          nullable: true
          description: '`true` जब नंबर डिस्पोज़ेबल या वर्चुअल प्रतीत होता हो।'
        is_ported:
          type: boolean
          nullable: true
          description: '`true` जब नंबर ने कैरियर बदल लिया हो।'
        is_recently_ported:
          type: boolean
          nullable: true
          description: '`true` जब पोर्ट हाल ही में हुआ हो।'
        carrier_type:
          type: string
          nullable: true
          description: लुकअप द्वारा रिपोर्ट किया गया लाइन वर्गीकरण (उदा. `mobile`)।
        reason_codes:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                description: >-
                  सिग्नल का स्थिर Didit पहचानकर्ता, उदाहरण के लिए `IR-5AC67A32`।
                  अपारदर्शी: इसके आधार पर समूह बनाएँ और फ़िल्टर करें, इसे पार्स
                  न करें।
              value:
                nullable: true
                description: >-
                  जोखिम फ़्लैग के लिए (उदाहरण के लिए `voip`, `leaked`,
                  `disposable`, `spam_trap`), इसका मान: एक बूलियन, एक स्तर या एक
                  तिथि। स्कोर्ड कारण कोड के लिए नल।
              direction:
                type: string
                enum:
                  - risk
                  - trust
                description: क्या सिग्नल ने जोखिम बढ़ाया या विश्वास जोड़ा।
              message:
                type: string
                description: सिग्नल का मानव-पठनीय स्पष्टीकरण, अंग्रेज़ी में।
              impact_level:
                type: string
                nullable: true
                description: >-
                  सिग्नल ने स्कोर को कितनी दृढ़ता से प्रभावित किया, उदाहरण के
                  लिए `low`, `medium` या `high`।
          description: >-
            स्कोर की व्याख्या करने वाले सिग्नल, प्रत्येक एक स्थिर Didit कोड, एक
            दिशा, एक संदेश और एक प्रभाव स्तर के साथ। समय के साथ नए कोड दिखाई दे
            सकते हैं, इसलिए अज्ञात कोड को अस्वीकार न करें।
    SocialFootprintPlatform:
      type: object
      properties:
        platform:
          type: string
          description: प्लेटफ़ॉर्म पहचानकर्ता।
          example: whatsapp
        category:
          type: string
          description: >-
            प्लेटफ़ॉर्म श्रेणी, उदाहरण के लिए MESSAGING, SOCIAL_MEDIA,
            ECOMMERCE, PROFESSIONAL, EMAIL_PROVIDER।
          example: MESSAGING
        scope:
          type: string
          enum:
            - global
            - local
          description: >-
            विश्वव्यापी प्लेटफ़ॉर्म के लिए `global`, क्षेत्र-विशिष्ट प्लेटफ़ॉर्म
            के लिए `local`।
          example: global
    SocialFootprintCategorySummary:
      type: object
      properties:
        registered:
          type: integer
          nullable: true
          description: इस श्रेणी के वे प्लेटफ़ॉर्म जहाँ पंजीकरण की पुष्टि हो गई है।
          example: 2
        ratio:
          type: number
          format: float
          nullable: true
          description: श्रेणी के जाँचे गए प्लेटफ़ॉर्म का पंजीकरण सहित हिस्सा, 0.0-1.0।
          example: 0.6667
    SocialFootprintProfile:
      type: object
      properties:
        name:
          type: string
          nullable: true
          description: प्रोफ़ाइल का नाम, जब प्लेटफ़ॉर्म इसे प्रदर्शित करता है।
        photo:
          type: string
          nullable: true
          description: प्रोफ़ाइल फ़ोटो URL, जब प्लेटफ़ॉर्म इसे प्रदर्शित करता है।
        about:
          type: string
          nullable: true
          description: >-
            प्रोफ़ाइल का अबाउट/बायो टेक्स्ट, जब प्लेटफ़ॉर्म इसे प्रदर्शित करता
            है।
        privacy_status:
          type: string
          nullable: true
          enum:
            - PUBLIC
            - PRIVATE
            - null
          description: प्रोफ़ाइल दृश्यता, जब प्लेटफ़ॉर्म इसे प्रदर्शित करता है।
        business_account:
          type: boolean
          nullable: true
          description: >-
            क्या प्रोफ़ाइल एक व्यावसायिक खाता है, जब प्लेटफ़ॉर्म इसे प्रदर्शित
            करता है।
  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.