SBI Request/Response Specification - v0.9.5

All JSON objects complying to SBI.

Type: object

Device discovery is used to identify MOSIP compliant devices in a system.

Verb: MOSIPDISC.

Endpoints:

HTTP: /device

Android: io.mosip.device

IOS: MOSIPDISC://<call-back-app-url>?ext=<caller app name>&type=<type as defined in mosip device request>

Type: enum (of string)

Type of device.

Must be one of:

  • "Finger"
  • "Face"
  • "Iris"
  • "Biometric Device"

Type: array of object

Device discovery is used to identify MOSIP compliant devices in a system.

Verb: MOSIPDISC.

Each item of this array must be:

Type: object

Type: string

Internal ID of the device

Type: enum (of string)

Must be one of:

  • "Ready"
  • "Busy"
  • "Not Ready"
  • "Not Registered"

Type: enum (of string)

Certification level.

Must be one of:

  • "L0"
  • "L1"

Type: string

Device service version.

Type: array of integer

Device SubId.

Each item of this array must be:

Type: integer

Type: string

Base URL to reach device.
* Linux and windows: HTTP URL
* Android: Intent name
* IOS: URL schema.

Type: string

Unsigned digital ID. See digital ID schema given below.

Type: string

Code generated by the Device Provider.

Type: array of string

Supported SBI versions.

Each item of this array must be:

Type: string

Type: enum (of string)

Must be one of:

  • "Auth"
  • "Registration"

Type: object

Type: enum (of string)

Error codes with their description.

Must be one of:

  • "0 - Success"
  • "100 - Device not registered"
  • "101 - Unable to detect a biometric object"
  • "102 - Technical error during extraction"
  • "103 - Device tamper detected"
  • "104 - Unable to connect to management server"
  • "105 - Image orientation error"
  • "106 - Device not found"
  • "107 - Device public key expired"
  • "108 - Domain public key missing"
  • "109 - Requested number of biometric (Finger/IRIS) not supported"
  • "202 - No device connected"
  • "5xx - Custom error codes implemented by [Device Provider](https://docs.mosip.io/1.2.0/partners#partner-types)."

Type: string

Type: object

The request is used to identify the MOSIP compliant devices and their status by the applications.

Verb: MOSIPINFO. There are no parameters in this request.

Endpoints:

HTTP: /info

Android: appId:Info

IOS: APPIDINFO://<call-back-app-url>?ext=<caller app name>&type=<type as defined in mosip device request>

Type: array of object

Response of Device Info Request

Each item of this array must be:

Type: object

Type: string
  • base64urlencode(header).base64urlencode(deviceInfo).base64urlencode(signature) for registered device.
  • base64urlencode(deviceInfo) for unregistered device.

See deviceInfo JSON structure.

Type: object

This request is used to capture a biometric from MOSIP Authentication devices.

Verb: CAPTURE.

Endpoints:

HTTP: /capture

Android: appid.capture

IOS: APPIDCAPTURE://<call-back-app-url>?ext=<caller app name>&type=<type as defined in mosip device request>

Type: enum (of string)

Target environment.

Must be one of:

  • "Staging"
  • "Developer"
  • "Pre-Production"
  • "Production"

Type: enum (of string)
Same definition as purpose

Type: array of string

Supported SBI versions.

Same definition as specVersion

Type: integer Default: 300000

Timeout in milliseconds

Type: string

Capture time in ISO format.

Type: string

URI of the auth server.

Type: string

Transaction Id for the current capture.

Type: array

Each item of this array must be:

Type: object

Type: string

Type of the biometric data.

Type: integer

Finger/iris count. 1 in case of face.

Type: array of string

Subtypes.

Each item of this array must be:

Type: string

Type: string

Type: string

Internal ID of the device

Same definition as deviceId

Type: integer

Device SubId.

Type: string

Hash of the previous block.

Type: object

Vendor specific parameters. Max of 50 key value pairs. IMPORTANT: Any sensitive data should not be present here.

Type: object

Type: array

Array of biometrics

Each item of this array must be:

Type: object

Type: array of string

Supported SBI versions.

Same definition as specVersion

Type: object

Type: string

Reference.

Type: string

Code generated by the Device Provider.

Same definition as deviceCode

Type: string

SBI version

Type: enum (of string)

Must be one of:

  • "Finger"
  • "Iris"
  • "Face"

Type: string

Subtypes.

Type: enum (of string)
Same definition as purpose

Type: enum (of string)

Target environment.

Same definition as env

Type: string

URI of the auth server.

Type: string

Encrypted with session key and base64urlencoded biometric data.

Type: string

Unique transaction id.

Type: string

Capture datetime in ISO format.

Type: number

Floating point number to represent the minimum required score for the capture.

Type: number

Floating point number representing the score for the current capture.

Type: string

sha256(sha256 hash in hex format of the previous data block + sha256 hash in hex format of the current data block before encryption)

Type: string

Encrypted with MOSIP public key (dynamically selected based on the uri) and encoded session key biometric"

Type: string

SHA256 representation of thumbprint of the certificate that was used for encryption of session key. All texts to be treated as uppercase without any spaces or hyphens

Type: object

This request is used to capture a biometric from MOSIP Registration devices.

Verb: RCAPTURE.

Endpoints:

HTTP: /capture

Android: No support

IOS: No support

Type: enum (of string)

Target environment.

Same definition as env

Type: enum (of string)
Same definition as purpose

Type: array of string

Supported SBI versions.

Same definition as specVersion

Type: integer Default: 300000

Timeout in milliseconds

Same definition as timeout

Type: string

Capture time in ISO format.

Same definition as captureTime

Type: string

Transaction Id for the current capture.

Type: array

Each item of this array must be:

Type: object

Type: string

Type of the biometric data.

Type: integer

Finger/iris count. 1 in case of face.

Type: array of string

Subtypes.

Each item of this array must be:

Type: string

Type: array of string

Array of Subtypes.

Each item of this array must be:

Type: string

Type: string

Type: string

Internal ID of the device

Same definition as deviceId

Type: string

Hash of the previous block.

Type: object

Vendor specific parameters. Max of 50 key value pairs. IMPORTANT: Any sensitive data should not be present here.

Type: object

Type: array

Array of biometrics

Each item of this array must be:

Type: object

Type: array of string

Supported SBI versions.

Same definition as specVersion

Type: object

Type: string

Reference.

Type: enum (of string)
Same definition as bioType

Type: string

Code generated by the Device Provider.

Same definition as deviceCode

Type: string

SBI version

Type: string

Subtypes.

Type: enum (of string)
Same definition as purpose

Type: enum (of string)

Target environment.

Same definition as env

Type: string

Encrypted with session key and base64urlencoded biometric data.

Type: string

Unique transaction id.

Type: string

Capture datetime in ISO format.

Type: number

Floating point number to represent the minimum required score for the capture.

Type: number

Floating point number representing the score for the current capture.

Type: string

sha256(sha256 hash in hex format of the previous data block + sha256 hash in hex format of the current data block before encryption)

Type: object

The device starts a live video stream of biometric images for registration devices.

Verb: STREAM.

Endpoints:

HTTP: /stream

Android: No support.

IOS: No support.

Type: string

Internal ID of the device

Same definition as deviceId

Type: integer Default: 300000

Timeout in milliseconds

Same definition as timeout

Type: object

MJPEG video stream with minimum 3 fps or error.

Type: object

Device Info JSON structure.

Type: string

Internal ID of the device

Same definition as deviceId

Type: enum (of string)
Same definition as deviceStatus

Type: string

Firmware version

Type: enum (of string)

Certification level.

Same definition as certification

Type: string

Device service version.

Type: array of integer

Device SubId.

Each item of this array must be:

Type: integer

Type: string

Base URL to reach device.
- Linux and windows: HTTP URL
- Android: Intent name
- IOS: URL schema.

Type: string

[Signed digital ID](https://docs.mosip.io/1.2.0/biometrics/secure-biometric-interface#signed-digital-id. See digital ID schema given below.

Type: string

Code generated by the Device Provider.

Same definition as deviceCode

Type: enum (of string)

Target environment.

Same definition as env

Type: array of string

Supported SBI versions.

Same definition as specVersion

Type: enum (of string)
Same definition as purpose

Type: object

Digital ID of a biometric device

Type: string

As printed on Device Physical ID.

Type: string

Brand name as printed on Device Physical ID.

Type: string

Model of the device as printed on Device Physical ID.

Type: enum (of string)

Must be one of:

  • "Finger"
  • "Iris"
  • "Face"

Type: enum (of string)

Must be one of:

  • "Slap"
  • "Touchless"
  • "Single"
  • "Double"
  • "Full face"

Type: string

Name of the Device Provider.

Type: string

ID of the Device Provider.

Type: string

Time during the issuance of the request. This is in ISO format.