# Generate Device Binding

## OpenAPI Specification

```yaml
openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /api/v1/partner/device-bind/start:
    post:
      summary: Generate Device Binding
      deprecated: false
      description: >-
        :::highlight purple 📌

        Before performing any wallet debit, fund transfer, or adding a
        beneficiary, device binding must be completed. Please complete device
        verification to continue.

        :::
      tags:
        - Wallet/APIs - Wallet/Device Binding
      parameters:
        - name: partnerId
          in: header
          description: ''
          required: true
          example: CRM338L2H
          schema:
            type: string
        - name: Content-Type
          in: header
          description: ''
          required: true
          example: application/json
          schema:
            type: string
        - name: Authorization
          in: header
          description: ''
          required: true
          example: Bearer hxtaSWH8zb5XrA71XDrgFu1uO50
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                deviceId:
                  type: string
                  description: Unique identifier
                appVersion:
                  type: string
                  description: Version of the mobile application installed on the device.
                osVersion:
                  type: string
                  description: Operating system version running on the device.
                model:
                  type: string
                  description: Device model name as provided by the operating system.
                manufracture:
                  type: string
                  description: Device manufacturer name.
                platform:
                  type: string
                  description: Device platform type (e.g., android, ios).
                simProvider:
                  type: string
                  description: Mobile network operator of the device SIM.
                deviceIp:
                  type: string
                  description: IP address of the device at the time of request.
                deviceImei:
                  type: string
                  description: >-
                    International Mobile Equipment Identity (IMEI) of the
                    device.
                mobileNumber:
                  type: string
                  description: Registered mobile number used for device binding.
              x-apidog-orders:
                - deviceId
                - appVersion
                - osVersion
                - model
                - manufracture
                - platform
                - simProvider
                - mobileNumber
                - deviceIp
                - deviceImei
              required:
                - deviceId
                - appVersion
                - osVersion
                - platform
                - simProvider
                - deviceIp
                - deviceImei
                - model
                - manufracture
                - mobileNumber
            example:
              deviceId: 0D5249C7-5D42-48AC-A8C2-79EE90D2560D
              appVersion: '6.2'
              osVersion: Android 14
              model: Pixel 7
              manufracture: Google
              platform: android
              simProvider: airtel
              mobileNumber: '9674603714'
              deviceIp: 192.168.1.10
              deviceImei: '356789123456789'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: |
                      Current status of the device binding request:
                      Values Can be: GENERATED, COMPLETED, FAILED
                  encryptedToken:
                    type: string
                    description: Encrypted device binding token.
                  vmn:
                    type: string
                    description: Virtual mobile number generated for OTP communication.
                  expiresInSeconds:
                    type: integer
                    description: >-
                      Time in seconds after which the binding token or OTP
                      expires.
                  deviceId:
                    type: string
                    description: >-
                      Unique identifier of the device for which binding was
                      generated.
                  mobileNumber:
                    type: string
                    description: Mobile number associated with the device binding request.
                x-apidog-orders:
                  - status
                  - encryptedToken
                  - vmn
                  - expiresInSeconds
                  - deviceId
                  - mobileNumber
                required:
                  - status
                  - encryptedToken
                  - vmn
                  - expiresInSeconds
                  - deviceId
                  - mobileNumber
              example:
                response_code: 0
                response_message: Success
                payload:
                  status: GENERATED
                  encryptedToken: >-
                    iaYbMf6cq5uGJojCzbqfUhtGDkPtB3uRW6VJMAfV95BUkVsDKGTP7tdgih26tD+lxJN9Kd+1U/d33pU7JVcP/65n9/RTRSMecnzeQ6o5eptpMB7kRfycCDzKjbjDxnrxDgJ4KOOQcLZDcr0vGOrSNuD7CJFVB63fLIHSQ/QguoAFpjERZXY/iZ8jbBuTj/NK
                  vmn: '9538134456'
                  expiresInSeconds: 44
                  deviceId: device_12345
                  mobileNumber: '9600233032'
          headers: {}
          x-apidog-name: Success
      security:
        - bearer: []
      x-apidog-folder: Wallet/APIs - Wallet/Device Binding
      x-apidog-status: developing
      x-run-in-apidog: https://app.apidog.com/web/project/616243/apis/api-27571039-run
components:
  schemas: {}
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
servers:
  - url: https://ekpayout-uat.enkash.in
    description: Testing Env
security: []

```
