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

# PIN status

> Whether the user has a PIN and how many attempts are left. After 3 wrong PINs the PIN is locked for 2 hours (`pinLockedUntil`). The PIN is created and reset only in the Kravata widget.

#### Authentication

The **user token** returned by *Verify the OTP*, in both headers: `Authorization: Bearer <user token>` and `Cookie: accessToken=<user token>`.

See the [WhatsApp channel guide](/stack/whatsapp-channel) for the full flow.



## OpenAPI

````yaml /stack/openapi.json get /api/v1/pin/status
openapi: 3.1.0
info:
  title: Kravata Stack API
  version: '2.0'
  description: >-
    Kravata Stack API: users, accounts, custody wallets, liquidity ramps and
    fiat payments.
servers:
  - url: https://test-api-kore.kravata.co
    description: Test
  - url: https://partners-api.kravata.co
    description: Production (mTLS + IP allowlist)
security:
  - bearerAuth: []
tags:
  - name: Authentication
  - name: Users
  - name: Accounts
  - name: Earn
  - name: Custody
  - name: Liquidity Ramps
  - name: Payments
  - name: Webhooks
  - name: Request Logs
  - name: WhatsApp Channel
    description: >-
      Endpoints for a company's own WhatsApp bot acting for one end user at a
      time. See the WhatsApp channel guide.
paths:
  /api/v1/pin/status:
    servers:
      - url: https://test-api-kore.kravata.co
        description: Test
      - url: https://api-kore.kravata.co
        description: Production (user token, no mTLS)
    get:
      tags:
        - WhatsApp Channel
      summary: PIN status
      description: >-
        Whether the user has a PIN and how many attempts are left. After 3 wrong
        PINs the PIN is locked for 2 hours (`pinLockedUntil`). The PIN is
        created and reset only in the Kravata widget.


        #### Authentication


        The **user token** returned by *Verify the OTP*, in both headers:
        `Authorization: Bearer <user token>` and `Cookie: accessToken=<user
        token>`.


        See the [WhatsApp channel guide](/stack/whatsapp-channel) for the full
        flow.
      operationId: pin-status
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                required:
                  - pinSet
                properties:
                  pinSet:
                    type: boolean
                    description: The user has a PIN.
                    example: true
                  pinAttemptsLeft:
                    type: integer
                    description: Attempts left before the lock.
                    example: 3
                  pinLockedUntil:
                    type: string
                    description: ISO 8601 end of the lock, or `null`.
                  securityQuestionsAttemptsLeft:
                    type: integer
                    description: Attempts left for the security questions.
                    example: 3
                  securityQuestionsLockedUntil:
                    type: string
                    description: ISO 8601, or `null`.
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Access token from POST /api/v1/client/token.

````

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