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

# सत्र प्राप्त करें | Didit Authentication API

> Didit का GET /session/ एक्सेस टोकन को लाइव सत्र से जाँचता है; रद्द, निष्क्रियता-टाइमआउट, ब्लॉक या रिफ्रेश के बाद यह तुरंत विफल होता है।

> [!WARNING]
>
> प्रमाणीकरण नया है। ये endpoints आपके एप्लिकेशन के जारीकर्ता द्वारा उपलब्ध कराए जाते हैं, जैसे `https://<name>.auth.didit.me`, और इनमें कभी भी आपकी Didit API कुंजी का उपयोग नहीं होता।

यह तत्काल निरस्तीकरण जाँच है। यह प्रति IP पता प्रति मिनट 30 अनुरोध और प्रति घंटे 300 अनुरोध की अनुमति देता है, इसलिए हर अनुरोध पर token को ऑफ़लाइन सत्यापित करें और संवेदनशील कार्रवाइयों से पहले इसे कॉल करें। देखें [सत्र की जाँच करें](https://docs.didit.me/hi/authentication/tokens-and-jwks.md#सत्र-जाँचें)।


## OpenAPI

````yaml hi/openapi-authentication.json GET /session/
openapi: 3.0.3
info:
  title: Didit Authentication API
  version: 1.0.0
  description: >-
    Didit Authentication के सर्वर-फेसिंग endpoints, जो आपके एप्लिकेशन के अंतिम
    उपयोगकर्ताओं के लिए साइन-इन उत्पाद है। Authentication **नया** है और
    2026-11-01 रिलीज़ में प्रोडक्शन में पहुँचेगा।


    ## बेस URL


    प्रत्येक एप्लिकेशन अपना स्वयं का OpenID Connect issuer होता है, और नीचे दिया
    गया प्रत्येक endpoint उस issuer के रूट पर सर्व किया जाता है:


    - लाइव एप्लिकेशन के लिए `https://<name>.auth.didit.me`, या सैंडबॉक्स
    एप्लिकेशन के लिए `https://<name>.sandbox.auth.didit.me`।

    - आपका अपना कस्टम डोमेन, एक बार सक्रिय हो जाने के बाद। यह फिर डिफ़ॉल्ट होस्ट
    को issuer के रूप में बदल देता है: नए tokens इसे `iss` में नामित करते हैं,
    डिस्कवरी इसकी ओर इंगित करती है और पब्लिश करने योग्य कुंजी बदल जाती है।
    डिफ़ॉल्ट होस्ट के तहत जारी किए गए एक्सेस tokens रीफ़्रेश होने तक
    `/session/`, `/step-up/` और `/monitoring-token/` पर विफल हो जाते हैं।


    लाइव और सैंडबॉक्स अलग-अलग एप्लिकेशन हैं, इसलिए वे अलग-अलग कुंजियों वाले
    अलग-अलग issuers हैं। पब्लिश करने योग्य कुंजी `pk_live_` (लाइव) या `pk_test_`
    (सैंडबॉक्स) होती है, जिसके बाद बिना किसी ट्रेलिंग स्लैश के issuer का अनपैडेड
    base64url एन्कोडिंग होता है: issuer खोजने के लिए इसे डिकोड करें। यह एक
    सार्वजनिक पहचानकर्ता है, कोई क्रेडेंशियल नहीं।


    वही JSON endpoints
    `https://apx.didit.me/auth/v2/authentication/{application_id}/` के अंतर्गत
    भी सर्व किए जाते हैं। Tokens हमेशा उपरोक्त issuer का नाम देते हैं, चाहे
    उन्हें किसी भी पते ने जारी किया हो।


    ## क्रेडेंशियल्स


    ये endpoints कभी भी आपकी Didit API कुंजी या कंसोल token स्वीकार नहीं करते
    हैं।


    - डिस्कवरी, JWKS और `POST /token/` कोई क्रेडेंशियल नहीं लेते हैं। क्लाइंट
    सार्वजनिक होते हैं: कोई client secret नहीं होता है, और एक ऑथराइजेशन कोड अपने
    PKCE सत्यापनकर्ता (`S256`) से बंधा होता है। `client_id` आपकी एप्लिकेशन ID
    है।

    - `/session/`, `/step-up/` और `/monitoring-token/` व्यक्ति का एक्सेस token
    लेते हैं: `Authorization: Bearer <access_token>`। प्रत्येक सफल कॉल को सत्र
    पर गतिविधि माना जाता है, इसलिए यह सत्र के निष्क्रिय टाइमआउट को पुनः आरंभ
    करता है।


    ## अनुरोध बॉडी


    बॉडी स्वीकार करने वाला प्रत्येक endpoint JSON, फ़ॉर्म-एन्कोडेड और मल्टीपार्ट
    बॉडी स्वीकार करता है। यह दस्तावेज़ JSON को सूचीबद्ध करता है, साथ ही `POST
    /token/` के लिए फ़ॉर्म-एन्कोडेड बॉडी को भी, जैसा कि OAuth क्लाइंट भेजते हैं।
    जो फ़ील्ड endpoint स्वीकार नहीं करता है, उस पर `400 {"<field>":
    "unknown_field"}` मिलता है।


    ## Tokens


    - **Access token**: हेडर `typ: at+jwt` वाला एक ES256 JWT, जो अधिकतम 5 मिनट
    के लिए और कभी भी अपने सत्र से अधिक समय के लिए मान्य नहीं होता है। Claims:
    `AccessTokenClaims`।

    - **ID token**: हेडर `typ: JWT` वाला एक ES256 JWT। Claims: `IDTokenClaims`।
    इसे कभी भी एक्सेस token के रूप में स्वीकार नहीं किया जाता है।

    - **Refresh token**: एक रैंडम स्ट्रिंग जो प्रत्येक उपयोग पर रोटेट होती है।
    पहले से उपयोग किया गया रीफ़्रेश token दोबारा भेजने से सत्र रद्द हो जाता है।


    `GET /.well-known/jwks.json` से प्राप्त कुंजियों के साथ किसी token को
    सत्यापित करें: एल्गोरिदम `ES256` होना चाहिए, `typ` को token प्रकार से मेल
    खाना चाहिए, `iss` आपके द्वारा कॉन्फ़िगर किए गए issuer के बराबर होना चाहिए और
    `aud` आपकी एप्लिकेशन ID होनी चाहिए। ऑफ़लाइन सत्यापन किसी रद्द किए गए सत्र को
    केवल तभी देखता है जब उसका एक्सेस token समाप्त हो जाता है; `GET /session/`
    इसका त्वरित चेक है।


    ## त्रुटियाँ


    | बॉडी | कब |

    | --- | --- |

    | `{"error": "<code>"}` | `POST /token/` से त्रुटियाँ, सभी स्टेटस `400` के
    साथ, [RFC 6749 section
    5.2](https://www.rfc-editor.org/rfc/rfc6749#section-5.2) के बॉडी प्रारूप
    में: `invalid_grant`, `invalid_client` और Didit का `mfa_required`। सर्विस
    त्रुटियाँ: `temporarily_unavailable`, `monitoring_unavailable`,
    `monitoring_disabled`। |

    | `{"<field>": ["<message>"]}` या `{"<field>": "<code>"}` | एक अनुरोध फ़ील्ड
    सत्यापन में विफल रहा। `non_field_errors` सभी फ़ील्ड्स में लागू नियम को इंगित
    करता है, और `unknown_field` उस फ़ील्ड को जिसे endpoint स्वीकार नहीं करता है।
    |

    | `{"detail": "<message>"}` | `401` (`invalid_token`), `403`
    (`origin_not_allowed`), `404` (अज्ञात एप्लिकेशन या step-up) और `429` (रेट
    लिमिट)। साथ ही पार्स न की जा सकने वाली बॉडी के लिए `400` (`JSON parse error
    - ...`), endpoint द्वारा समर्थित न होने वाले मेथड के लिए `405` और असमर्थित
    `Content-Type` के लिए `415`। |


    `401` में `WWW-Authenticate: Bearer` भी शामिल होता है, और `429` में सेकंड
    में `Retry-After` शामिल होता है।


    दो अस्वीकृतियाँ JSON नहीं हैं। जो पता issuer नहीं है, उसे इन endpoints तक
    पहुँचने से पहले ही अस्वीकार कर दिया जाता है, उदाहरण के लिए किसी अप्रयुक्त
    `*.auth.didit.me` नाम के लिए रिक्त `404` के साथ। एक `step_up_id` जो UUID
    नहीं है, उसे एक `404` पेज मिलता है।


    ## रेट लिमिट


    एक अनुरोध को दो लेयर्स को पार करना होता है।


    **Endpoint सीमाएँ**, प्रति क्लाइंट IP पता, प्रति एप्लिकेशन और प्रति endpoint
    गिनी जाती हैं:


    - डिस्कवरी और JWKS: 1,200 अनुरोध प्रति मिनट और 12,000 प्रति घंटा।

    - अन्य प्रत्येक endpoint: 30 अनुरोध प्रति मिनट और 300 प्रति घंटा। `GET` और
    `DELETE /session/` एक ही गणना साझा करते हैं।


    सीमा पार होने पर: `429 {"detail": "Too many requests from this IP address.
    Please wait before trying again. Expected available in 60 seconds."}`, या
    प्रति घंटा सीमा के लिए `3600 seconds`।


    **बॉट सुरक्षा**, प्रत्येक `POST` और `DELETE` पर। इसके बकेट एप्लिकेशन के सभी
    `POST` और `DELETE` अनुरोधों द्वारा साझा किए जाते हैं, जिसमें होस्ट किए गए
    साइन-इन चरण भी शामिल हैं, और यह लगातार रिफिल होते हैं:


    - 60 अनुरोध प्रति मिनट प्रति क्लाइंट IP पता।

    - 30 अनुरोध प्रति मिनट प्रति डिवाइस, उन अनुरोधों के लिए जो अपने डिवाइस की
    पहचान करते हैं, जैसा कि ब्राउज़र और नेटिव SDK करते हैं।

    - पूरे एप्लिकेशन के लिए 3,000 अनुरोध प्रति मिनट, प्रत्येक IP पते पर। Token
    रीफ़्रेश (`POST /token/` साथ में `grant_type=refresh_token`) इसके बजाय अपने
    स्वयं के बकेट का उपयोग करते हैं: पूरे एप्लिकेशन के लिए 6,000 प्रति मिनट।


    बकेट की सीमा पार होने पर: `429 {"detail": "rate_limited Expected available
    in N seconds."}` (N के 1 होने पर `1 second.`)। प्रति-IP बकेट सभी endpoints
    में फैला होता है, इसलिए एक पता जो token, step-up और साइन-आउट कॉल को मिलाता
    है, वह किसी भी endpoint सीमा तक पहुँचने से पहले ही इसे खाली कर सकता है।
    एप्लिकेशन बकेट एप्लिकेशन के प्रत्येक क्लाइंट की गणना करता है, जिसमें
    ब्राउज़र भी शामिल हैं।


    दोनों लेयर्स endpoint के चलने से पहले उत्तर देती हैं, इसलिए जिस अनुरोध को
    `429` मिला वह निष्पादित नहीं हुआ: `Retry-After` के बाद पुनः प्रयास करें,
    जिसमें रीफ़्रेश भी शामिल है।


    ## ब्राउज़र अनुरोध


    एक अनुरोध जिसमें `Origin` हेडर होता है, उसे एप्लिकेशन के अपने मूल या इसके
    अनुमत मूल में से किसी एक से आना चाहिए, अन्यथा इसे `403 origin_not_allowed`
    प्राप्त होता है। सर्वर-टू-सर्वर अनुरोध कोई `Origin` नहीं भेजते हैं।


    ## यहाँ क्या शामिल नहीं है


    ये रूट होस्टेड पेज, ब्राउज़र और नेटिव SDK और AI एजेंटों को सर्व करते हैं। वे
    सर्वर अनुबंध का हिस्सा नहीं हैं, और सर्वर SDK उन्हें कॉल नहीं करते हैं:


    - साइन-इन चरण: `POST /authorize/`, `POST /password/`, `/email/*`,
    `/phone/*`, `/password-reset/*`, `/passkeys/*`, `/mfa/*`, `/social/*` और
    `/protection/complete/`।

    - होस्टेड पेज और कॉलबैक: `/sign-in`, `/magic`, `/invite`, `/reset`,
    `/verify/`, `/sso/*`, `/wallet/callback/`, `/logo/` और `/.well-known/` के
    अंतर्गत नेटिव ऐप एसोसिएशन फ़ाइलें।

    - एजेंट एक्सेस: `/agents/*` और `/grants/`, जिसमें `GET /agents/session/`
    शामिल है, जो किसी AI एजेंट के एक्सेस token के लिए लाइव चेक है। एजेंट एक्सेस
    अनुबंध के इस संस्करण का हिस्सा नहीं है।

    - Authentication के लिए कंसोल प्रबंधन API, जो कंसोल सत्र लेता है।


    Authentication इवेंट्स अभी webhook के रूप में डिलीवर नहीं किए जाते हैं,
    इसलिए यह दस्तावेज़ किसी webhook को परिभाषित नहीं करता है।
servers:
  - url: https://{issuer}
    description: 'आपकी एप्लिकेशन का जारीकर्ता: इसका साइन-इन मूल।'
    variables:
      issuer:
        default: your-app.auth.didit.me
        description: >-
          जारीकर्ता का होस्ट: `<name>.auth.didit.me` (लाइव),
          `<name>.sandbox.auth.didit.me` (सैंडबॉक्स) या आपका सक्रिय कस्टम डोमेन।
security: []
tags:
  - name: Issuer
    description: टोकन सत्यापित करने के लिए डिस्कवरी और साइनिंग कीज़।
  - name: Tokens
    description: प्राधिकरण कोड और रीफ़्रेश ग्रांट।
  - name: Sessions
    description: एक्सेस token के पीछे के सत्र की जांच करें और उसे समाप्त करें।
  - name: Step-ups
    description: किसी संवेदनशील कार्रवाई से पहले सत्यापन।
  - name: Monitoring
    description: लेन-देन निगरानी इवेंट के लिए डिवाइस क्रेडेंशियल्स।
paths:
  /session/:
    get:
      tags:
        - Sessions
      summary: सत्र प्राप्त करें
      description: >-
        लाइव सत्र के विरुद्ध एक्सेस token की जांच करता है और इसे लौटाता है। JWT
        को स्वयं सत्यापित करने की तुलना में अधिक सख्त: यह सत्र रद्द होने,
        निष्क्रिय होने या इसके जीवनकाल बीत जाने पर, व्यक्ति के ब्लॉक होने या
        उनका ईमेल अब सत्यापित न होने पर, जब सत्र आपकी MFA नीति के अनुरूप न रहे
        (उदाहरण के लिए व्यक्ति द्वारा प्रमाणक ऐप जोड़ने या संगठन व्यवस्थापक बनने
        के बाद), या जब token को रिफ्रेश द्वारा बदल दिया गया हो, तुरंत विफल हो
        जाता है। किसी संवेदनशील कार्रवाई, उदाहरण के लिए पेआउट, से पहले इसका
        उपयोग करें। एक सफल जांच को गतिविधि माना जाता है, इसलिए यह सत्र के
        निष्क्रिय टाइमआउट को पुनरारंभ करता है।
      operationId: authentication_get_session
      responses:
        '200':
          description: सत्र लाइव है।
          headers:
            Cache-Control:
              description: 'हमेशा `no-store`: इस रिस्पॉन्स को कभी कैश न करें।'
              schema:
                type: string
                example: no-store
            Pragma:
              description: हमेशा `no-cache`।
              schema:
                type: string
                example: no-cache
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Session'
              examples:
                Session:
                  summary: एक पासवर्ड सत्र
                  value:
                    sub: 1c9d8b88-1bff-43d1-ad7a-88b2bc0024e9
                    sid: c9abf6cc-2d64-4bf2-b31e-a4d09a070ab1
                    application_id: 7b0a6c2e-3f41-4c9a-8d55-1e2f3a4b5c6d
                    vendor_data: user-42
                    amr:
                      - password
                    mfa_verified: false
                    email: person@example.com
                    email_verified: true
                    phone: null
                    verified_identity: null
                    verified: null
                    expires_at: '2026-11-16T10:41:14.347557Z'
                    post_logout_redirect_uri: ''
                    organizations: []
                VerifiedMember:
                  summary: एक सत्यापित संगठन सदस्य
                  value:
                    sub: 1c9d8b88-1bff-43d1-ad7a-88b2bc0024e9
                    sid: c9abf6cc-2d64-4bf2-b31e-a4d09a070ab1
                    application_id: 7b0a6c2e-3f41-4c9a-8d55-1e2f3a4b5c6d
                    vendor_data: user-42
                    amr:
                      - passkey
                    mfa_verified: true
                    email: person@example.com
                    email_verified: true
                    phone: '+34600000000'
                    verified_identity: null
                    verified:
                      level: full_id
                      over_18: true
                      given_name: Alex
                      country: ES
                    expires_at: '2026-11-16T10:41:14.347557Z'
                    post_logout_redirect_uri: https://app.example.com/
                    organizations:
                      - organization_id: 3e9a1f0b-5c2d-4e7f-8a6b-9c0d1e2f3a4b
                        organization__name: Northwind
                        role: admin
                        custom_role: null
        '401':
          $ref: '#/components/responses/InvalidToken'
        '403':
          $ref: '#/components/responses/OriginNotAllowed'
        '404':
          $ref: '#/components/responses/ApplicationNotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
        '503':
          $ref: '#/components/responses/TemporarilyUnavailable'
      security:
        - AccessToken: []
components:
  schemas:
    Session:
      type: object
      description: एक्सेस टोकन के पीछे का लाइव सत्र।
      required:
        - sub
        - sid
        - application_id
        - vendor_data
        - amr
        - mfa_verified
        - email
        - email_verified
        - phone
        - verified_identity
        - verified
        - expires_at
        - post_logout_redirect_uri
        - organizations
      properties:
        sub:
          type: string
          format: uuid
          description: पहचान ID।
          example: 1c9d8b88-1bff-43d1-ad7a-88b2bc0024e9
        sid:
          type: string
          format: uuid
          description: सत्र ID।
          example: c9abf6cc-2d64-4bf2-b31e-a4d09a070ab1
        application_id:
          type: string
          format: uuid
          example: 7b0a6c2e-3f41-4c9a-8d55-1e2f3a4b5c6d
        vendor_data:
          type: string
          description: Didit उत्पादों में व्यक्ति का संदर्भ, जैसा कि tokens में है।
          example: user-42
        amr:
          $ref: '#/components/schemas/AuthenticationMethods'
        mfa_verified:
          type: boolean
          description: >-
            क्या सत्र ने दूसरे फ़ैक्टर को पास किया। पासकी साइन-इन के लिए हमेशा
            `true`।
          example: false
        email:
          type: string
          format: email
          nullable: true
          example: person@example.com
        email_verified:
          type: boolean
          example: true
        phone:
          type: string
          nullable: true
          description: E.164 फ़ोन नंबर, या `null`।
          example: null
        verified_identity:
          $ref: '#/components/schemas/WalletVerification'
        verified:
          type: object
          nullable: true
          description: >-
            सत्यापन स्तर और चयनित क्लेम, वही ऑब्जेक्ट जो token `verified` के रूप
            में ले जाते हैं, या `null` जब कोई नहीं होता है। यह जानने के लिए कि
            व्यक्ति ने अपनी पहचान सत्यापित की है या नहीं, `email_verified` नहीं,
            बल्कि इसे पढ़ें।
          properties:
            level:
              type: string
              enum:
                - liveness
                - liveness_face_match
                - full_id
              description: >-
                उत्तीर्ण किया गया उच्चतम स्तर। सबसे कमज़ोर से सबसे मज़बूत तक:
                `liveness`, `liveness_face_match`, `full_id`।
              example: full_id
            over_18:
              type: boolean
              example: true
            over_21:
              type: boolean
              example: true
            given_name:
              type: string
              example: Alex
            family_name:
              type: string
              example: Doe
            birthdate:
              type: string
              description: दस्तावेज़ से जन्म तिथि, `YYYY-MM-DD`।
              example: '1990-04-12'
            nationality:
              type: string
              description: ISO 3166-1 alpha-2 देश कोड।
              example: ES
            country:
              type: string
              description: दस्तावेज़ के देश का ISO 3166-1 alpha-2 कोड।
              example: ES
            document_verified:
              type: boolean
              example: true
            liveness:
              type: boolean
              example: true
        expires_at:
          type: string
          format: date-time
          description: >-
            सत्र अधिक से अधिक कब समाप्त होगा। निष्क्रियता टाइमआउट इसे पहले
            समाप्त कर सकता है।
          example: '2026-11-16T10:41:14.347557Z'
        post_logout_redirect_uri:
          type: string
          description: >-
            साइन-आउट के बाद आपका एप्लिकेशन व्यक्ति को कहाँ भेजता है। सेट न होने
            पर खाली स्ट्रिंग।
          example: https://app.example.com/
        organizations:
          type: array
          description: >-
            प्रत्येक ग्राहक संगठन जिससे व्यक्ति संबंधित है, जब संगठन चालू हों।
            अन्यथा खाली।
          items:
            $ref: '#/components/schemas/SessionOrganization'
    AuthenticationMethods:
      type: array
      description: >-
        सत्र ने कैसे साइन इन किया, एक मान के रूप में: उदाहरण के लिए `password`,
        `code` (ईमेल कोड), `magic` (मैजिक लिंक), `passkey`, `phone`, `sso`,
        `wallet` (Didit ID Wallet) या किसी सोशल साइन-इन विधि का नाम। एजेंट token
        के लिए खाली।
      items:
        type: string
      example:
        - password
    WalletVerification:
      type: object
      description: >-
        साइन-इन के समय Didit ID Wallet ने क्या साझा किया। जब व्यक्ति ने किसी
        अन्य तरीके से साइन इन किया हो, तो `null`।
      nullable: true
      required:
        - issuer
        - subject
      properties:
        issuer:
          type: string
          description: वॉलेट का जारीकर्ता।
          example: https://apx.didit.me/auth/idv
        subject:
          type: string
          description: वॉलेट पर व्यक्ति की ID।
          example: 8b7f5c1e-2d3a-4b5c-9e8f-7a6b5c4d3e2f
        shared_session:
          type: object
          description: >-
            एक सत्यापन जिसे व्यक्ति ने साझा करना चुना, जिसे आप अपनी स्वयं की API
            कुंजी से भुनाते हैं।
          properties:
            share_token:
              type: string
            session_id:
              type: string
            from_application_id:
              type: string
        claims:
          type: object
          description: >-
            सत्यापित तथ्य जिन्हें साझा करने के लिए व्यक्ति सहमत हुआ, जो आपके
            एप्लिकेशन द्वारा माँगे गए तथ्यों तक सीमित हैं।
          additionalProperties:
            oneOf:
              - type: boolean
              - type: string
          example:
            over_18: true
            given_name: Alex
    SessionOrganization:
      type: object
      required:
        - organization_id
        - organization__name
        - role
        - custom_role
      properties:
        organization_id:
          type: string
          format: uuid
          example: 3e9a1f0b-5c2d-4e7f-8a6b-9c0d1e2f3a4b
        organization__name:
          type: string
          description: संगठन का नाम।
          example: Northwind
        role:
          type: string
          enum:
            - admin
            - member
            - billing
          example: admin
        custom_role:
          type: object
          nullable: true
          description: सदस्य को सौंपी गई कस्टम भूमिका, या `null`।
          required:
            - key
            - permissions
          properties:
            key:
              type: string
              example: approver
            permissions:
              type: array
              items:
                type: string
              example:
                - payouts.approve
    Detail:
      type: object
      required:
        - detail
      properties:
        detail:
          type: string
          example: invalid_token
    OAuthError:
      title: OAuth error
      type: object
      description: एक OAuth त्रुटि (RFC 6749 धारा 5.2) या एक सेवा त्रुटि।
      required:
        - error
      properties:
        error:
          type: string
          example: invalid_grant
  responses:
    InvalidToken:
      description: >-
        एक्सेस token अनुपस्थित, विकृत, समय-सीमा समाप्त, किसी अन्य जारीकर्ता या
        कुंजी द्वारा हस्ताक्षरित, एक ID token, एक एजेंट token है, या रीफ़्रेश
        द्वारा प्रतिस्थापित किया गया है; या इसका सत्र निरस्त कर दिया गया था,
        निष्क्रिय हो गया था, अपनी जीवन अवधि पार कर चुका था या अब आपकी MFA नीति
        को पूरा नहीं करता है, या इसके व्यक्ति को ब्लॉक कर दिया गया था या उनका
        ईमेल अब सत्यापित नहीं है। व्यक्ति को फिर से साइन-इन के माध्यम से भेजें।
      headers:
        WWW-Authenticate:
          description: '`Bearer`।'
          schema:
            type: string
            example: Bearer
        Cache-Control:
          description: 'हमेशा `no-store`: इस रिस्पॉन्स को कभी कैश न करें।'
          schema:
            type: string
            example: no-store
        Pragma:
          description: हमेशा `no-cache`।
          schema:
            type: string
            example: no-cache
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Detail'
          examples:
            InvalidToken:
              summary: अस्वीकृत एक्सेस टोकन
              value:
                detail: invalid_token
    OriginNotAllowed:
      description: >-
        अनुरोध में एक ऐसा `Origin` था जो न तो एप्लिकेशन का अपना है और न ही इसके
        स्वीकृत ओरिजिन में है। सर्वर अनुरोध कोई `Origin` नहीं भेजते हैं।
      headers:
        Cache-Control:
          description: 'हमेशा `no-store`: इस रिस्पॉन्स को कभी कैश न करें।'
          schema:
            type: string
            example: no-store
        Pragma:
          description: हमेशा `no-cache`।
          schema:
            type: string
            example: no-cache
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Detail'
          examples:
            OriginNotAllowed:
              summary: ऑरिजिन की अनुमति नहीं है
              value:
                detail: origin_not_allowed
    ApplicationNotFound:
      description: >-
        पता किसी एप्लिकेशन का है, लेकिन इसके लिए प्रमाणीकरण सक्रिय नहीं है;
        `apx.didit.me` पते पर, एप्लिकेशन ID अज्ञात है। जो पता किसी एप्लिकेशन का
        नहीं है, उसे endpoint तक पहुंचने से पहले ही अस्वीकार कर दिया जाता है, और
        वह रिस्पॉन्स JSON नहीं होता है।
      headers:
        Cache-Control:
          description: 'हमेशा `no-store`: इस रिस्पॉन्स को कभी कैश न करें।'
          schema:
            type: string
            example: no-store
        Pragma:
          description: हमेशा `no-cache`।
          schema:
            type: string
            example: no-cache
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Detail'
          examples:
            ApplicationNotFound:
              summary: अज्ञात एप्लिकेशन
              value:
                detail: No Configuration matches the given query.
    RateLimited:
      description: >-
        इस endpoint के लिए इस IP पते से बहुत सारे अनुरोध आए हैं, या `POST` या
        `DELETE` पर बॉट सुरक्षा बकेट खाली है। कुछ भी निष्पादित नहीं हुआ:
        `Retry-After` सेकंड प्रतीक्षा करें, फिर पुनः प्रयास करें।
      headers:
        Retry-After:
          description: पुनः प्रयास करने से पहले प्रतीक्षा करने के सेकंड।
          schema:
            type: integer
            example: 60
        Cache-Control:
          description: 'हमेशा `no-store`: इस रिस्पॉन्स को कभी कैश न करें।'
          schema:
            type: string
            example: no-store
        Pragma:
          description: हमेशा `no-cache`।
          schema:
            type: string
            example: no-cache
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Detail'
          examples:
            RateLimited:
              summary: Endpoint सीमा
              value:
                detail: >-
                  Too many requests from this IP address. Please wait before
                  trying again. Expected available in 60 seconds.
            BotProtection:
              summary: बॉट सुरक्षा सीमा (POST और DELETE)
              value:
                detail: rate_limited Expected available in 2 seconds.
    TemporarilyUnavailable:
      description: >-
        अनुरोध जिस सेवा पर निर्भर करता है वह कुछ समय के लिए अनुपलब्ध है। बैकऑफ़
        के साथ पुनः प्रयास करें।
      headers:
        Cache-Control:
          description: 'हमेशा `no-store`: इस रिस्पॉन्स को कभी कैश न करें।'
          schema:
            type: string
            example: no-store
        Pragma:
          description: हमेशा `no-cache`।
          schema:
            type: string
            example: no-cache
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/OAuthError'
          examples:
            TemporarilyUnavailable:
              summary: बाद में पुनः प्रयास करें
              value:
                error: temporarily_unavailable
  securitySchemes:
    AccessToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        `POST /token/` से व्यक्ति का एक्सेस token: हेडर `typ: at+jwt` वाला एक
        ES256 JWT, जो अधिकतम 5 मिनट के लिए मान्य है। यह आपकी Didit API कुंजी
        नहीं है।

````

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