Start Integration Today

Select the appropriate language for your project below and either scroll down or use the navigation menu on the left to learn about each API call. We also have other great resources on our GitHub page, such as our Twilio IVR Demo project, iOS SDK, Android SDK and Cordova Plugin. These resources allow you to save time by simply copying code segments into your new or existing project.


HTTP
cURL
C Sharp
VB.Net
C++
Python
Perl
Go
PHP
Java
Node.JS
Ruby
Swift
Obj-C

HTTP API Guide

Introduction

Since the API is based on REST principles, it is very easy to write and test applications. You can use your browser to access URLs, and you can use pretty much any HTTP client in any programming language to interact with the API. Thus, we created a Visual REST API Demo web page that helps you understand these non-visual REST API calls visually. Please note: You must register with us in order to obtain a DeveloperID code. This is required before you start using the Voiceprint Developer Portal REST APIs described.

User REST API Calls

createUser

Registers a new user profile within the Voiceprint Developer Portal (VPDP) service.

Creates a new user profile record in the VPDP service database and returns true or false. Newly registered user profiles are enabled by default. Your DeveloperID is in the Welcome email you received when you registered.

HTTP Method: POST

URL: https://siv.voiceprintportal.com/sivservice/api/users

Request Headers
Header Description
UserId A unique alphanumeric identifier between 5-36 characters. Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
VsitPassword The user's password in the form CryptoJS.SHA256(password). Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
VsitDeveloperId Assigned after registration. Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
Responses
JSON Response
{ "Result" : "Success", "ResponseCode" : "SUC" }
{ "Result" : "User already exists" , "ResponseCode" : "UAE" }
{ "Result" : "UserId does not meet requirements, please ensure it is an alphanumeric string between 5 - 36 characters" , "ResponseCode" : "IUID" }
{ "Result" : "Incorrect formatted password" , "ResponseCode" : "IFP" }
{ "Result" : "DeveloperId required" , "ResponseCode" : "DIR" }
{ "Result" : "DeveloperId is not valid" , "ResponseCode" : "DINV" }
{ "Result" : "DeveloperId is disabled" , "ResponseCode" : "DID" }
{ "internal Server Error" , "ResponseCode" : "ISE" }

deleteUser

This REST API call is used to delete an existing user profile within the Voiceprint Developer Portal (VPDP) service.

Deletes an existing user profile record from the VPDP service database and returns true or false.

HTTP Method: DELETE

URL: https://siv.voiceprintportal.com/sivservice/api/users

Request Headers
Header Description
UserId A unique alphanumeric identifier between 5-36 characters. Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
VsitPassword The user's password in the form CryptoJS.SHA256(password). Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
VsitDeveloperId Assigned after registration. Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
Responses
JSON Response
{ "Result" : "Success" , "ResponseCode" : "SUC" }
{ "Result" : "User not found" , "ResponseCode" : "UNF" }
{ "Result" : "Incorrect password" , "ResponseCode" : "INP" }
{ "Result" : "UserId does not meet requirements, please ensure it is an alphanumeric string between 5 - 36 characters" , "ResponseCode" : "IUID" }
{ "Result" : "Incorrect formatted password" , "ResponseCode" : "IFP" }
{ "Result" : "DeveloperId required" , "ResponseCode" : "DIR" }
{ "Result" : "DeveloperId is not valid" , "ResponseCode" : "DINV" }
{ "Result" : "DeveloperId is disabled" , "ResponseCode" : "DID" }
{ "Internal Server Error" , "ResponseCode" : "ISE" }

getUser

This REST API call is used to retrieve an existing user profile within the Voiceprint Developer Portal (VPDP) service.

It retrieves an existing user profile record from the VPDP service database and returns true or false.

HTTP Method: GET

URL: https://siv.voiceprintportal.com/sivservice/api/users

Request Headers
Header Description
UserId A unique alphanumeric identifier between 5-36 characters. Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
VsitPassword The user's password in the form CryptoJS.SHA256(password). Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
VsitDeveloperId Assigned after registration. Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
JSON Response
{ "Result" : "Success", "Exists" : true , "ResponseCode" : "SUC" }
{ "Result" : "User not found" , "ResponseCode" : "UNF" }
{ "Result" : "Incorrect password" , "ResponseCode" : "INP" }
{ "Result" : "UserId does not meet requirements, please ensure it is an alphanumeric string between 5 - 36 characters" , "ResponseCode" : "IUID" }
{ "Result" : "Incorrect formatted password" , "ResponseCode" : "IFP" }
{ "Result" : "DeveloperId required" , "ResponseCode" : "DID" }
{ "Result" : "DeveloperId is not valid" , "ResponseCode" : "DINV" }
{ "Result" : "DeveloperId is disabled" , "ResponseCode" : "DID" }
{ "Internal Server Error" , "ResponseCode" : "ISE" }

Enrollment REST API Calls

createEnrollment

This REST API call is used to create a new enrollment template for the specified user profile within the Voiceprint Developer Portal (VPDP) service.

It creates a new enrollment template for the specified user profile in the VPDP service database and returns true or false. We recommend a minimum of three (3) enrollment templates per Voiceprint Phrase (VPP).

Please Note: The Voiceprint Phrase's (VPP's) are Text-Dependent. The Minimum length of a VPP is 1.2 second. Please note: You cannot use enrollment sound file for authentication. This is because of our anti- spoofing technology.

To manage the VPPs associated with your DeveloperID, please log in to the developer portal and navigate to Voiceprint Phrases section.

Please note: You can use DetectedVoiceprintText and DetectedTextConfidence to help decide which enrollmentID to keep or throw out and have the user record again based on text detected and its confidence.

HTTP Method POST

URL: https://siv.voiceprintportal.com/sivservice/api/enrollments

Request Headers
Header Description
UserId A unique alphanumeric identifier between 5-36 characters. Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
VsitPassword The user's password in the form CryptoJS.SHA256(password). Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
VsitDeveloperId Assigned after registration. Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
ContentLanguage The content language for the phrase that can be any of the following:
af-ZAAfrikaans (South Africa)
id-IDIndonesian (Indonesia)
ms-MYMalay (Malaysia)
ca-ESCatalan (Spain)
cs-CZCzech (Czech Republic)
da-DKDanish (Denmark)
de-DEGerman (Germany)
en-AUEnglish (Australia)
en-CAEnglish (Canada)
en-GBEnglish (United Kingdom)
en-INEnglish (India)
en-IEEnglish (Ireland)
en-NZEnglish (New Zealand)
en-PHEnglish (Philippines)
en-ZAEnglish (South Africa)
en-USEnglish (United States)
es-ARSpanish (Argentina)
es-BOSpanish (Bolivia)
es-CLSpanish (Chile)
es-COSpanish (Colombia)
es-CRSpanish (Costa Rica)
es-ECSpanish (Ecuador)
es-SVSpanish (El Salvador)
es-ESSpanish (Spain)
es-USSpanish (United States)
es-GTSpanish (Guatemala)
es-HNSpanish (Honduras)
es-MXSpanish (Mexico)
es-NISpanish (Nicaragua)
es-PASpanish (Panama)
es-PYSpanish (Paraguay)
es-PESpanish (Peru)
es-PRSpanish (Puerto Rico)
es-DOSpanish (Dominican Republic)
es-UYSpanish (Uruguay)
es-VESpanish (Venezuela)
eu-ESBasque (Spain)
fil-PHFilipino (Philippines)
fr-FRFrench (France)
gl-ESGalician (Spain)
hr-HRCroatian (Croatia)
zu-ZAZulu (South Africa)
is-ISIcelandic (Iceland)
it-ITItalian (Italy)
lt-LTLithuanian (Lithuania)
hu-HUHungarian (Hungary)
nl-NLDutch (Netherlands)
nb-NONorwegian Bokmal (Norway)
pl-PLPolish (Poland)
pt-BRPortuguese (Brazil)
pt-PTPortuguese (Portugal)
ro-RORomanian (Romania)
sk-SKSlovak (Slovakia)
sl-SISlovenian (Slovenia)
fi-FIFinnish (Finland)
sv-SESwedish (Sweden)
vi-VNVietnamese (Vietnam)
tr-TRTurkish (Turkey)
el-GRGreek (Greece)
bg-BGBulgarian (Bulgaria)
ru-RURussian (Russia)
sr-RSSerbian (Serbia)
uk-UAUkrainian (Ukraine)
he-ILHebrew (Israel)
ar-ILArabic (Israel)
ar-JOArabic (Jordan)
ar-AEArabic (United Arab Emirates)
ar-BHArabic (Bahrain)
ar-DZArabic (Algeria)
ar-SAArabic (Saudi Arabia)
ar-IQArabic (Iraq)
ar-KWArabic (Kuwait)
ar-MAArabic (Morocco)
ar-TNArabic (Tunisia)
ar-OMArabic (Oman)
ar-PSArabic (State of Palestine)
ar-QAArabic (Qatar)
ar-LBArabic (Lebanon)
ar-EGArabic (Egypt)
fa-IRPersian (Iran)
hi-INHindi (India)
th-THThai (Thailand)
ko-KRKorean (South Korea)
cmn-Hant-TWChinese, Mandarin (Traditional, Taiwan)
yue-Hant-HKChinese, Cantonese (Traditional, Hong Kong)
ja-JPJapanese (Japan)
cmn-Hans-HKChinese, Mandarin (Simplified, Hong Kong)
cmn-Hans-CNChinese, Mandarin (Simplified, China)
no-STTNo Text Detection

This is an optional parameter and defaults to the default Language for the DeveloperId that can be set in the settings section of the developer portal.
wav The recommended codec is PCM (wav RIFF) with 44.1KHz to 8KHz sample rate, 1 or 2 Channels, 48 to 8 Bits. However, the following codecs are supported: 8svx aac alac aif aifc aiff aiffc al amb au avr cdda cdr cvs cvsd cvu dat dvms f32 f4 f64 f8 fssd gsm gsrt hcom htk ima ircam la lpc lpc10 lu maud mp2 mp3 nist prc raw s1 s16 s2 s24 s3 s32 s4 s8 sb sf sl sln smp snd sndr sndt sou sox sph sw txw u1 u16 u2 u24 u3 u32 u4 u8 ub ul uw vms voc vox wav wavpcm wve xa. This is a required parameter and cannot be null.
JSON Response
{ "Result" : "Success","EnrollmentID":"1092","DetectedVoiceprintText":"Never forget tomorrow is a new day","DetectedTextConfidence":"75" , "ResponseCode" : "SUC" }
{ "Result" : "Voiceprint not detected. Please speak naturally and try again." , "ResponseCode" : "VPND" }
{ "Result" : "No Approved Voiceprint Phrases for the Content Language en-US", "ResponseCode" : "NAVP" }
{ "Result" : "Enrollment Failed. Cannot Use Same Recording More Than Once For Enrollment." , "EnrollmentID" : "1092", "ResponseCode" : "ENF"}
{ "Result" : "Enrollment Failed. Failed Speech-To-Text Confidence <20%", "DetectedVoiceprintText" : "Never forget tomorrow is a new day", "DetectedTextConfidence" : "16.0" , "ResponseCode" : "STTF" }
{ "Result" : "Enrollment Failed. Voiceprint Phrase Was Not Recognized. Please log in to https://voiceit.io/console to manage your Voiceprint Phrases" , "ResponseCode" : "STTF" }
{ "Result" : "Incorrect formatted wav data" , "ResponseCode" : "IFW" }
{ "Result" : "Wave data not sent" , "ResponseCode" : "WNS" }
{ "Result" : "User not found" , "ResponseCode" : "UNF" }
{ "Result" : "Incorrect password" , "ResponseCode" : "INP" }
{ "Result" : "UserId does not meet requirements, please ensure it is an alphanumeric string between 5 - 36 characters" , "ResponseCode" : "IUID" }
{ "Result" : "Incorrect formatted password" , "ResponseCode" : "IFP" }
{ "Result" : "DeveloperId required" , "ResponseCode" : "DIR" }
{ "Result" : "DeveloperId is not valid" , "ResponseCode" : "DINV" }
{ "Result" : "DeveloperId is disabled" , "ResponseCode" : "DID" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Recording Length < 1300ms (1.3s)." , "ResponseCode" : "SRNR" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Recording Length > 5000ms (5s)." , "ResponseCode" : "SRNR" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Speaker Speaking Too Quiet." , "ResponseCode" : "SSTQ" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Speaker Speaking Too Loud." , "ResponseCode" : "SSTL" }
{ "Result" : "Voiceprint Phrase not detected. Please make sure Voiceprint Phrase is at least 1.2 seconds long." , "ResponseCode" : "VPND" }
{ "Internal Server Error" , "ResponseCode" : "ISE" }

createEnrollmentByWavURL

This REST API call is used to create a new enrollment template for the specified user profile within the Voiceprint Developer Portal (VPDP) service via a pre-recorded sound file.

It creates a new enrollment template for the specified user profile in the VPDP service database and returns true or false. We recommend a minimum of three (3) enrollment templates per Voiceprint Phrase (VPP).

Please Note: The Voiceprint Phrase's (VPP's) are Text-Dependent. The Minimum length of a VPP is 1.2 second. Please note: You cannot use enrollment sound file for authentication. This is because of our anti- spoofing technology.

To manage the VPPs associated with your DeveloperID, please log in to the developer portal and navigate to Voiceprint Phrases section.

Please note: You can use DetectedVoiceprintText and DetectedTextConfidence to help decide which enrollmentID to keep or throw out and have the user record again based on text detected and its confidence.

HTTP Method: POST

URL: https://siv.voiceprintportal.com/sivservice/api/enrollments/bywavurl

Request Headers
Header Description
UserId A unique alphanumeric identifier between 5-36 characters. Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
VsitPassword The user's password in the form CryptoJS.SHA256(password). Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
VsitDeveloperId Assigned after registration. Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
ContentLanguage The content language for the phrase that can be any of the following:
af-ZAAfrikaans (South Africa)
id-IDIndonesian (Indonesia)
ms-MYMalay (Malaysia)
ca-ESCatalan (Spain)
cs-CZCzech (Czech Republic)
da-DKDanish (Denmark)
de-DEGerman (Germany)
en-AUEnglish (Australia)
en-CAEnglish (Canada)
en-GBEnglish (United Kingdom)
en-INEnglish (India)
en-IEEnglish (Ireland)
en-NZEnglish (New Zealand)
en-PHEnglish (Philippines)
en-ZAEnglish (South Africa)
en-USEnglish (United States)
es-ARSpanish (Argentina)
es-BOSpanish (Bolivia)
es-CLSpanish (Chile)
es-COSpanish (Colombia)
es-CRSpanish (Costa Rica)
es-ECSpanish (Ecuador)
es-SVSpanish (El Salvador)
es-ESSpanish (Spain)
es-USSpanish (United States)
es-GTSpanish (Guatemala)
es-HNSpanish (Honduras)
es-MXSpanish (Mexico)
es-NISpanish (Nicaragua)
es-PASpanish (Panama)
es-PYSpanish (Paraguay)
es-PESpanish (Peru)
es-PRSpanish (Puerto Rico)
es-DOSpanish (Dominican Republic)
es-UYSpanish (Uruguay)
es-VESpanish (Venezuela)
eu-ESBasque (Spain)
fil-PHFilipino (Philippines)
fr-FRFrench (France)
gl-ESGalician (Spain)
hr-HRCroatian (Croatia)
zu-ZAZulu (South Africa)
is-ISIcelandic (Iceland)
it-ITItalian (Italy)
lt-LTLithuanian (Lithuania)
hu-HUHungarian (Hungary)
nl-NLDutch (Netherlands)
nb-NONorwegian Bokmal (Norway)
pl-PLPolish (Poland)
pt-BRPortuguese (Brazil)
pt-PTPortuguese (Portugal)
ro-RORomanian (Romania)
sk-SKSlovak (Slovakia)
sl-SISlovenian (Slovenia)
fi-FIFinnish (Finland)
sv-SESwedish (Sweden)
vi-VNVietnamese (Vietnam)
tr-TRTurkish (Turkey)
el-GRGreek (Greece)
bg-BGBulgarian (Bulgaria)
ru-RURussian (Russia)
sr-RSSerbian (Serbia)
uk-UAUkrainian (Ukraine)
he-ILHebrew (Israel)
ar-ILArabic (Israel)
ar-JOArabic (Jordan)
ar-AEArabic (United Arab Emirates)
ar-BHArabic (Bahrain)
ar-DZArabic (Algeria)
ar-SAArabic (Saudi Arabia)
ar-IQArabic (Iraq)
ar-KWArabic (Kuwait)
ar-MAArabic (Morocco)
ar-TNArabic (Tunisia)
ar-OMArabic (Oman)
ar-PSArabic (State of Palestine)
ar-QAArabic (Qatar)
ar-LBArabic (Lebanon)
ar-EGArabic (Egypt)
fa-IRPersian (Iran)
hi-INHindi (India)
th-THThai (Thailand)
ko-KRKorean (South Korea)
cmn-Hant-TWChinese, Mandarin (Traditional, Taiwan)
yue-Hant-HKChinese, Cantonese (Traditional, Hong Kong)
ja-JPJapanese (Japan)
cmn-Hans-HKChinese, Mandarin (Simplified, Hong Kong)
cmn-Hans-CNChinese, Mandarin (Simplified, China)
no-STTNo Text Detection

This is an optional parameter and defaults to the default Language for the DeveloperId that can be set in the billing section of the developer portal.
VsitwavURL The fully qualified URL to the pre-recorded audio file. Codecs supported include mp3, mp2, wav, sln, u-law, and pcm. This is a required parameter and cannot be null.
JSON Response
{ "Result" : "Success", "EnrollmentID":"1092", "DetectedVoiceprintText":"Never forget tomorrow is a new day", "DetectedTextConfidence":"75" , "ResponseCode" : "SUC" }
{ "Result" : "Voiceprint not detected. Please speak naturally and try again." , "ResponseCode" : "VPND" }
{ "Result" : "No Approved Voiceprint Phrases for the Content Language en-US", "ResponseCode" : "NAVP" }
{ "Result" : "Enrollment Failed. Cannot Use Same Recording More Than Once For Enrollment." , "EnrollmentID" : "1092", "ResponseCode" : "ENF" }
{ "Result" : "Enrollment Failed. Failed Speech-To-Text Confidence <20%", "DetectedVoiceprintText" : "Never forget tomorrow is a new day", "DetectedTextConfidence" : "16.0" , "ResponseCode" : "STTF" }
{ "Result" : "Enrollment Failed. Voiceprint Phrase Was Not Recognized. Please log in to https://voiceit.io/console to manage your Voiceprint Phrases" , "ResponseCode" : "STTF" }
{ "Result" : "URL File Does Not Exist At Given Location or Your Server Is Down. Please Use Valid URL to Recorded Voiceprint Phrase." , "ResponseCode" : "FNE" }
{ "Result" : "Incorrect formatted wav data" , "ResponseCode" : "IFW" }
{ "Result" : "User not found" , "ResponseCode" : "UNF" }
{ "Result" : "Incorrect password" , "ResponseCode" : "INP" }
{ "Result" : "UserId does not meet requirements, please ensure it is an alphanumeric string between 5 - 36 characters" , "ResponseCode" : "IUID" }
{ "Result" : "Incorrect formatted password" , "ResponseCode" : "IFP" }
{ "Result" : "DeveloperId required" , "ResponseCode" : "DIR" }
{ "Result" : "DeveloperId is not valid" , "ResponseCode" : "DINV" }
{ "Result" : "DeveloperId is disabled" , "ResponseCode" : "DID" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Recording Length < 1300ms (1.3s)." , "ResponseCode" : "SRNR" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Recording Length > 5000ms (5s)." , "ResponseCode" : "SRNR" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Speaker Speaking Too Quiet." , "ResponseCode" : "SSTQ" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Speaker Speaking Too Loud." , "ResponseCode" : "SSTL" }
{ "Result" : "Voiceprint Phrase not detected. Please make sure Voiceprint Phrase is at least 1.2 seconds long." , "ResponseCode" : "VPND" }
{ "Internal Server Error" , "ResponseCode" : "ISE" }

deleteEnrollment

This REST API call is used to delete an existing enrollment template for the specified user profile within the Voiceprint Developer Portal (VPDP) service.

It deletes an existing enrollment template for the specified user profile from the VPDP service database and returns true or false.

HTTP Method: DELETE

URL: https://siv.voiceprintportal.com/sivservice/api/enrollments/{InsertEnrollmentIdHere}

Request Headers
Header Description
UserId A unique alphanumeric identifier between 5-36 characters. Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
VsitPassword The user's password in the form CryptoJS.SHA256(password). Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
VsitDeveloperId Assigned after registration. Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
Enrollment Id The enrollment Id value is retrieved from the getEnrollment REST API call. It is not passed as a header, however is appended to the url, when making the api call. This value is numeric. This is a required parameter and cannot be null.
JSON Response
{ "Result" : "Success", "EnrollmentID" : "858" , "ResponseCode" : "SUC" }
{ "Result" : "User not found" , "ResponseCode" : "UNF" }
{ "Result" : "Incorrect password" , "ResponseCode" : "INP" }
{ "Result" : "UserId does not meet requirements, please ensure it is an alphanumeric string between 5 - 36 characters" , "ResponseCode" : "IUID" }
{ "Result" : "Incorrect formatted password" , "ResponseCode" : "IFP" }
{ "Result" : "DeveloperId required" , "ResponseCode" : "DIR" }
{ "Result" : "DeveloperId is not valid" , "ResponseCode" : "DINV" }
{ "Result" : "DeveloperId is disabled" , "ResponseCode" : "DID" }
{ "Result" : "Cannot Remove EnrollmentID - Email+DeveloperID Does Not Exist" , "ResponseCode" : "CRE" }
{ "Internal Server Error" , "ResponseCode" : "ISE" }

getEnrollments

This REST API call is used to retrieve the existing enrollment template(s) for the specified user profile within the Voiceprint Developer Portal (VPDP) service.

It retrieves the existing enrollment template(s) for the specified user profile from the VPDP service database and returns true or false.

HTTP Method: GET

URL: https://siv.voiceprintportal.com/sivservice/api/enrollments

Request Headers
Header Description
UserId A unique alphanumeric identifier between 5-36 characters. Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
VsitPassword The user's password in the form CryptoJS.SHA256(password). Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
VsitDeveloperId Assigned after registration. Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
JSON Response
{ "Result" : [858,936,1091,1092] , "ResponseCode" : "SUC" }
{ "Result" : "User not found" , "ResponseCode" : "UNF" }
{ "Result" : "Incorrect password" , "ResponseCode" : "INP" }
{ "Result" : "UserId does not meet requirements, please ensure it is an alphanumeric string between 5 - 36 characters" , "ResponseCode" : "IUID" }
{ "Result" : "Incorrect formatted password" , "ResponseCode" : "IFP" }
{ "Result" : "DeveloperId required" , "ResponseCode" : "DIR" }
{ "Result" : "DeveloperId is not valid" , "ResponseCode" : "DINV" }
{ "Result" : "DeveloperId is disabled" , "ResponseCode" : "DID" }
{ "Internal Server Error" , "ResponseCode" : "ISE" }

Authentication REST API Calls

authentication

This REST API call is used to authenticate the specified user profile within the Voiceprint Developer Portal (VPDP) service.

It authenticates the specified user profile in the VPDP service database and returns success or failure.

Please Note: The Voiceprint Phrase's (VPP's) are Text-Dependent. The Minimum length of a VPP is 1.5 second. Please note: You cannot use enrollment sound file for authentication. This is because of our anti- spoofing technology.

To manage the VPPs associated with your DeveloperID, please log in to the developer portal and navigate to Voiceprint Phrases section.

We recommend starting with 85% for the confidence parameter during testing. After becoming familiar with the API, you can tweak the confidence parameter (with a maximum around 91) in order to decrease false positives.

Please note: You can use DetectedVoiceprintText and DetectedTextConfidence to help decide which authentication to keep or throw out and have the user record again based on speech text detected and its confidence.

HTTP Method: POST

URL: https://siv.voiceprintportal.com/sivservice/api/authentications

Request Headers
Header Description
UserId A unique alphanumeric identifier between 5-36 characters. Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
VsitPassword The user's password in the form CryptoJS.SHA256(password). Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
VsitDeveloperId Assigned after registration. Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
ContentLanguage The content language for the phrase that can be any of the following:
af-ZAAfrikaans (South Africa)
id-IDIndonesian (Indonesia)
ms-MYMalay (Malaysia)
ca-ESCatalan (Spain)
cs-CZCzech (Czech Republic)
da-DKDanish (Denmark)
de-DEGerman (Germany)
en-AUEnglish (Australia)
en-CAEnglish (Canada)
en-GBEnglish (United Kingdom)
en-INEnglish (India)
en-IEEnglish (Ireland)
en-NZEnglish (New Zealand)
en-PHEnglish (Philippines)
en-ZAEnglish (South Africa)
en-USEnglish (United States)
es-ARSpanish (Argentina)
es-BOSpanish (Bolivia)
es-CLSpanish (Chile)
es-COSpanish (Colombia)
es-CRSpanish (Costa Rica)
es-ECSpanish (Ecuador)
es-SVSpanish (El Salvador)
es-ESSpanish (Spain)
es-USSpanish (United States)
es-GTSpanish (Guatemala)
es-HNSpanish (Honduras)
es-MXSpanish (Mexico)
es-NISpanish (Nicaragua)
es-PASpanish (Panama)
es-PYSpanish (Paraguay)
es-PESpanish (Peru)
es-PRSpanish (Puerto Rico)
es-DOSpanish (Dominican Republic)
es-UYSpanish (Uruguay)
es-VESpanish (Venezuela)
eu-ESBasque (Spain)
fil-PHFilipino (Philippines)
fr-FRFrench (France)
gl-ESGalician (Spain)
hr-HRCroatian (Croatia)
zu-ZAZulu (South Africa)
is-ISIcelandic (Iceland)
it-ITItalian (Italy)
lt-LTLithuanian (Lithuania)
hu-HUHungarian (Hungary)
nl-NLDutch (Netherlands)
nb-NONorwegian Bokmal (Norway)
pl-PLPolish (Poland)
pt-BRPortuguese (Brazil)
pt-PTPortuguese (Portugal)
ro-RORomanian (Romania)
sk-SKSlovak (Slovakia)
sl-SISlovenian (Slovenia)
fi-FIFinnish (Finland)
sv-SESwedish (Sweden)
vi-VNVietnamese (Vietnam)
tr-TRTurkish (Turkey)
el-GRGreek (Greece)
bg-BGBulgarian (Bulgaria)
ru-RURussian (Russia)
sr-RSSerbian (Serbia)
uk-UAUkrainian (Ukraine)
he-ILHebrew (Israel)
ar-ILArabic (Israel)
ar-JOArabic (Jordan)
ar-AEArabic (United Arab Emirates)
ar-BHArabic (Bahrain)
ar-DZArabic (Algeria)
ar-SAArabic (Saudi Arabia)
ar-IQArabic (Iraq)
ar-KWArabic (Kuwait)
ar-MAArabic (Morocco)
ar-TNArabic (Tunisia)
ar-OMArabic (Oman)
ar-PSArabic (State of Palestine)
ar-QAArabic (Qatar)
ar-LBArabic (Lebanon)
ar-EGArabic (Egypt)
fa-IRPersian (Iran)
hi-INHindi (India)
th-THThai (Thailand)
ko-KRKorean (South Korea)
cmn-Hant-TWChinese, Mandarin (Traditional, Taiwan)
yue-Hant-HKChinese, Cantonese (Traditional, Hong Kong)
ja-JPJapanese (Japan)
cmn-Hans-HKChinese, Mandarin (Simplified, Hong Kong)
cmn-Hans-CNChinese, Mandarin (Simplified, China)
no-STTNo Text Detection

This is an optional parameter and defaults to the default Language for the DeveloperId that can be set in the settings section of the developer portal.
wav The recommended codec is PCM (wav RIFF) with 44.1KHz to 8KHz sample rate, 1 or 2 Channels, 48 to 8 Bits. However, the following codecs are supported: 8svx aac alac aif aifc aiff aiffc al amb au avr cdda cdr cvs cvsd cvu dat dvms f32 f4 f64 f8 fssd gsm gsrt hcom htk ima ircam la lpc lpc10 lu maud mp2 mp3 nist prc raw s1 s16 s2 s24 s3 s32 s4 s8 sb sf sl sln smp snd sndr sndt sou sox sph sw txw u1 u16 u2 u24 u3 u32 u4 u8 ub ul uw vms voc vox wav wavpcm wve xa.. This is a required parameter and cannot be null.
JSON Response
{ "Result" : "Authentication successful. 89.0%", "Confidence" : "89.0", "DetectedVoiceprintText" : "Never forget tomorrow is a new day", "DetectedTextConfidence":"97.567433" , "EnrollmentID": "449867", "ResponseCode" : "SUC" }
{ "Result" : "Authentication failed." , "ResponseCode" : "ATF" }
{ "Result" : "Authentication failed. Not confident. 85%" , "ResponseCode" : "ATF" }
{ "Result" : "Authentication failed. Need A Minimum Of (3) Enrollments of : 'Never forget tomorrow is a new day.' In Order To Authenticate." , "ResponseCode" : "ATF" }
{ "Result" : "Authentication failed. Voiceprint Phrase Recording Was Used For Enrollment" , "EnrollmentID": "449867" , "ResponseCode" : "ATF" }
{ "Result" : "Authentication failed. Failed Speech-To-Text Confidence <20%", "DetectedVoiceprintText" : "Never forget tomorrow is a new day", "DetectedTextConfidence" : "16.0"" , "ResponseCode" : "STTF" }
{ "Result" : "Authentication failed. Voiceprint Phrase Was Not Recognized. Please log in to https://voiceit.io/console to manage your Voiceprint Phrases" , "ResponseCode" : "STTF" }
{ "Result" : "Voiceprint not detected. Please speak naturally and try again." , "ResponseCode" : "VPND" }
{ "Result" : "No Approved Voiceprint Phrases for the Content Language en-US", "ResponseCode" : "NAVP" }
{ "Result" : "Incorrect formatted wav data" , "ResponseCode" : "IFW" }
{ "Result" : "Wave data not sent" , "ResponseCode" : "WNS" }
{ "Result" : "User not found" , "ResponseCode" : "UNF" }
{ "Result" : "Incorrect password" , "ResponseCode" : "INP" }
{ "Result" : "UserId does not meet requirements, please ensure it is an alphanumeric string between 5 - 36 characters" , "ResponseCode" : "IUID" }
{ "Result" : "Incorrect formatted password" , "ResponseCode" : "IFP" }
{ "Result" : "DeveloperId required" , "ResponseCode" : "DIR" }
{ "Result" : "DeveloperId is not valid" , "ResponseCode" : "DINV" }
{ "Result" : "DeveloperId is disabled" , "ResponseCode" : "DID" }
{ "Result" : "Incorrect accuracy parameter" , "ResponseCode" : "IAP" }
{ "Result" : "Incorrect confidence parameter" , "ResponseCode" : "ICP" }
{ "Result" : "Incorrect accuracyPasses parameter" , "ResponseCode" : "IAPP" }
{ "Result" : "Incorrect accuracyPassIncrement parameter" , "ResponseCode" : "IAPI" }
{ "Result" : "Incorrect combination of accuracy, accuracyPasses, and accuracyPassIncrement parameters" , "ResponseCode" : "ICAP" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Recording Length < 1300ms (1.3s)." , "ResponseCode" : "SRNR" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Recording Length > 5000ms (5s)." , "ResponseCode" : "SRNR" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Speaker Speaking Too Quiet." , "ResponseCode" : "SSTQ" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Speaker Speaking Too Loud." , "ResponseCode" : "SSTL" }
{ "Result" : "Voiceprint Phrase not detected. Please make sure Voiceprint Phrase is at least 1.2 seconds long." , "ResponseCode" : "VPND" }
{ "Internal Server Error" , "ResponseCode" : "ISE" }

authenticationByWavURL

This REST API call is used to authenticate the specified user profile within the Voiceprint Developer Portal (VPDP) service via a pre-recorded sound file.

It authenticates the specified user profile in the VPDP service database and returns success or failure.

Please Note: The Voiceprint Phrase's (VPP's) are Text-Dependent. The Minimum length of a VPP is 1.2 second. Please note: You cannot use enrollment sound file for authentication. This is because of our anti- spoofing technology.

To manage the VPPs associated with your DeveloperID, please log in to the developer portal and navigate to Voiceprint Phrases section.

We recommend starting with 85% for the confidence parameter during testing. After becoming familiar with the API, you can tweak the confidence parameter(with a maximum around 91) in order to decrease false positives.

Please note: You can use DetectedVoiceprintText and DetectedTextConfidence to help decide which authentication to keep or throw out and have the user record again based on speech text detected and its confidence.

HTTP Method: POST

URL: https://siv.voiceprintportal.com/sivservice/api/authentications/bywavurl

Request Headers
Header Description
UserId A unique alphanumeric identifier between 5-36 characters. Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
VsitPassword The user's password in the form CryptoJS.SHA256(password). Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
VsitDeveloperId Assigned after registration. Provided as part of the REST API Access Credentials. This is a required parameter and cannot be null.
ContentLanguage The content language for the phrase that can be any of the following:
af-ZAAfrikaans (South Africa)
id-IDIndonesian (Indonesia)
ms-MYMalay (Malaysia)
ca-ESCatalan (Spain)
cs-CZCzech (Czech Republic)
da-DKDanish (Denmark)
de-DEGerman (Germany)
en-AUEnglish (Australia)
en-CAEnglish (Canada)
en-GBEnglish (United Kingdom)
en-INEnglish (India)
en-IEEnglish (Ireland)
en-NZEnglish (New Zealand)
en-PHEnglish (Philippines)
en-ZAEnglish (South Africa)
en-USEnglish (United States)
es-ARSpanish (Argentina)
es-BOSpanish (Bolivia)
es-CLSpanish (Chile)
es-COSpanish (Colombia)
es-CRSpanish (Costa Rica)
es-ECSpanish (Ecuador)
es-SVSpanish (El Salvador)
es-ESSpanish (Spain)
es-USSpanish (United States)
es-GTSpanish (Guatemala)
es-HNSpanish (Honduras)
es-MXSpanish (Mexico)
es-NISpanish (Nicaragua)
es-PASpanish (Panama)
es-PYSpanish (Paraguay)
es-PESpanish (Peru)
es-PRSpanish (Puerto Rico)
es-DOSpanish (Dominican Republic)
es-UYSpanish (Uruguay)
es-VESpanish (Venezuela)
eu-ESBasque (Spain)
fil-PHFilipino (Philippines)
fr-FRFrench (France)
gl-ESGalician (Spain)
hr-HRCroatian (Croatia)
zu-ZAZulu (South Africa)
is-ISIcelandic (Iceland)
it-ITItalian (Italy)
lt-LTLithuanian (Lithuania)
hu-HUHungarian (Hungary)
nl-NLDutch (Netherlands)
nb-NONorwegian Bokmal (Norway)
pl-PLPolish (Poland)
pt-BRPortuguese (Brazil)
pt-PTPortuguese (Portugal)
ro-RORomanian (Romania)
sk-SKSlovak (Slovakia)
sl-SISlovenian (Slovenia)
fi-FIFinnish (Finland)
sv-SESwedish (Sweden)
vi-VNVietnamese (Vietnam)
tr-TRTurkish (Turkey)
el-GRGreek (Greece)
bg-BGBulgarian (Bulgaria)
ru-RURussian (Russia)
sr-RSSerbian (Serbia)
uk-UAUkrainian (Ukraine)
he-ILHebrew (Israel)
ar-ILArabic (Israel)
ar-JOArabic (Jordan)
ar-AEArabic (United Arab Emirates)
ar-BHArabic (Bahrain)
ar-DZArabic (Algeria)
ar-SAArabic (Saudi Arabia)
ar-IQArabic (Iraq)
ar-KWArabic (Kuwait)
ar-MAArabic (Morocco)
ar-TNArabic (Tunisia)
ar-OMArabic (Oman)
ar-PSArabic (State of Palestine)
ar-QAArabic (Qatar)
ar-LBArabic (Lebanon)
ar-EGArabic (Egypt)
fa-IRPersian (Iran)
hi-INHindi (India)
th-THThai (Thailand)
ko-KRKorean (South Korea)
cmn-Hant-TWChinese, Mandarin (Traditional, Taiwan)
yue-Hant-HKChinese, Cantonese (Traditional, Hong Kong)
ja-JPJapanese (Japan)
cmn-Hans-HKChinese, Mandarin (Simplified, Hong Kong)
cmn-Hans-CNChinese, Mandarin (Simplified, China)
no-STTNo Text Detection

This is an optional parameter and defaults to the default Language for the DeveloperId that can be set in the settings section of the developer portal.
VsitwavURL The fully qualified URL to the pre-recorded audio file. Codecs supported include mp3, mp2, wav, sln, u-law, and pcm. This is a required parameter and cannot be null.
JSON Response
{ "Result" : "Authentication successful. 89.0%", "Confidence" : "89.0", "DetectedVoiceprintText" : "Never forget tomorrow is a new day", "DetectedTextConfidence":"97.567433" , "EnrollmentID": "449867", "ResponseCode" : "SUC" }
{ "Result" : "Authentication failed." , "ResponseCode" : "ATF" }
{ "Result" : "Authentication failed. Not confident. 85%" , "ResponseCode" : "ATF" }
{ "Result" : "Authentication failed. Need A Minimum Of (3) Enrollments of : 'Never forget tomorrow is a new day.' In Order To Authenticate." , "ResponseCode" : "ATF" }
{ "Result" : "Authentication failed. Voiceprint Phrase Recording Was Used For Enrollment" , "EnrollmentID": "449867" , "ResponseCode" : "ATF" }
{ "Result" : "Authentication failed. Failed Speech-To-Text Confidence <20%", "DetectedVoiceprintText" : "Never forget tomorrow is a new day", "DetectedTextConfidence" : "16.0"" , "ResponseCode" : "STTF" }
{ "Result" : "Authentication failed. Voiceprint Phrase Was Not Recognized. Please log in to https://voiceit.io/console to manage your Voiceprint Phrases" , "ResponseCode" : "STTF" }
{ "Result" : "URL File Does Not Exist At Given Location or Your Server Is Down. Please Use Valid URL to Recorded Voiceprint Phrase." , "ResponseCode" : "FNE" }
{ "Result" : "Voiceprint not detected. Please speak naturally and try again." , "ResponseCode" : "VPND" }
{ "Result" : "No Approved Voiceprint Phrases for the Content Language en-US", "ResponseCode" : "NAVP" }
{ "Result" : "Incorrect formatted wav data" , "ResponseCode" : "IFW" }
{ "Result" : "User not found" , "ResponseCode" : "UNF" }
{ "Result" : "Incorrect password" , "ResponseCode" : "INP" }
{ "Result" : "UserId does not meet requirements, please ensure it is an alphanumeric string between 5 - 36 characters" , "ResponseCode" : "IUID" }
{ "Result" : "Incorrect formatted password" , "ResponseCode" : "IFP" }
{ "Result" : "DeveloperId required" , "ResponseCode" : "DIR" }
{ "Result" : "DeveloperId is not valid" , "ResponseCode" : "DINV" }
{ "Result" : "DeveloperId is disabled" , "ResponseCode" : "DID" }
{ "Result" : "Incorrect accuracy parameter" , "ResponseCode" : "IAP" }
{ "Result" : "Incorrect confidence parameter" , "ResponseCode" : "ICP" }
{ "Result" : "Incorrect accuracyPasses parameter" , "ResponseCode" : "IAPP" }
{ "Result" : "Incorrect accuracyPassIncrement parameter" , "ResponseCode" : "IAPI" }
{ "Result" : "Incorrect combination of accuracy, accuracyPasses, and accuracyPassIncrement parameters" , "ResponseCode" : "ICAP" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Recording Length < 1300ms (1.3s)." , "ResponseCode" : "SRNR" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Recording Length > 5000ms (5s)." , "ResponseCode" : "SRNR" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Speaker Speaking Too Quiet." , "ResponseCode" : "SSTQ" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Speaker Speaking Too Loud." , "ResponseCode" : "SSTL" }
{ "Result" : "Voiceprint Phrase not detected. Please make sure Voiceprint Phrase is at least 1.2 seconds long." , "ResponseCode" : "VPND" }
{ "Internal Server Error" , "ResponseCode" : "ISE" }

JSON Response Codes

UNFUser Not Found
INPIncorrect Password
SUCSuccess
UAEUser Already Exists
IFEIncorrect Formatted Email
IUIDIncorrect User Id
IFPIncorrect Formatted Password
DIRDeveloperID is Required
DINVDeveloperID is Not valid
DIDDeveloperID is Disabled
ISEInternal Server Error
IEIInvalid EnrollmentID
EIREnrollment ID Required
WNSWave data not sent
IFSUIncorrect Formatted Sound URL
RFRRecording does not meet format requirements
IFWIncorrect formatted wav data
VPNDVoiceprint Phrase not detected
STTFSpeech to Text Failed
NAVPNo Approved Voiceprint Phrase for Content Language
ENFEnrollment Failed
SRNRSound Recording Does Not Meet Requirements
SSTQSpeaker Speaking Too Quiet
SSTLSpeaker Speaking Too Loud
ICLInvalid Content Language Parameter
FNEFile Does Not Exist At Given Location
CRECannot Remove Enrollment
ATFAuthentication Failed

Frequently Asked Questions


  • WHAT ADVANTAGES DO VOICE BIOMETRICS HAVE OVER OTHER BIOMETRICS SYSTEMS?
    The main advantage that voice biometrics has over other biometrics is its ability to prevent spoofing in the case of a data leak. If your fingerprint or retina data were to be stolen, the biometric security would be compromised beyond repair; you cannot (easily) change your retina or fingerprint. However, because voice biometrics employs text-dependent characteristics, you can simply adopt a new voiceprint phrase and wipe out all previous enrollments in the case of a biometric data leak. Furthermore, in specific situations where fingerprints or retinal scans cannot be used (such as laboratories where gloves leave residue on fingers and gloves cannot be removed until one has exited the lab), voice biometrics possess added advantages.

    Another main advantage is the Equal Error Rates are much lower than Finger, Iris, and Face. See Chart below:

  • WHAT IF SOMEONE RECORDS MY VOICE?
    Our biometrics engines automatically reject any authentication that matches too closely with a previous recording, as there will always be subtle differences each time you speak.

  • CAN I AUTHENTICATE IN ANY LANGUAGE?
    We support authentications in many languages.
    Text dependent characteristics and text confidence detection are currently supported in 88 languages

  • WHY DO I HAVE TO SAY AN APPROVED VOICEPRINT PHRASE?
    Contrary to popular belief, "My voice is my password," is an unsecured phrase. Due to repeating IPA phonetics (sounds) and length, it does not meet our security standards. Approved phrases contain enough data and IPA phonetics to allow for an accurate voiceprint. Phrases can be requested and managed under the Voiceprint Phrases section of the developer console. Requested phrases should have no repeating IPA phonetic and be a minimum of 8 syllables.

  • WHAT MAKES A GOOD VOICEPRINT RECORDING?
    Speak in a normal tone and speed. Please make sure to enroll and authenticate 1 full second after the beginning of the recording. We recommend using a cue or trigger to help your users know that the recording has started. Watch Video

  • WHAT IF THERE IS A LOT OF BACKGROUND NOISE?
    VoiceIt incorporates noise-cancelling and voice detection technology for enrollment and authentication. 

  • WHAT IF I HAVE A COLD?
    Our biometrics engines intelligently enrolls certain successful authentications and tracks gradual changes in your voice over time. For some sudden changes, such as sickness, your voice may be too different to authenticate. However, this only happens in extreme cases.

  • MY RECORDING WAS UNSUCCESSFUL. WHY?
    Here are some possible reasons that your recording might have failed:
    Your recording was too short or too long (must be at least 1.3 seconds long and no longer than 5 seconds).
    You did not use an approved voiceprint phrase.
    The voiceprint phrase spoken was too short.
    Background noise may have been too loud.
    Recording volume may be too low.

  • HOW LIKELY ARE FALSE NEGATIVES (FRR) /POSITIVES (FAR)?
    Based on our current platform, there are no false positives (FAR) when the confidence level is set at or above 90%, while keeping false negatives (FRR) under 20%.

  • HOW CAN I CHANGE THE CONFIDENCE LEVEL?
    You can view the confidence level in your Console-Settings, however, you cannot manually change this. We customize every confidence level based on use-case and activity. To change the confidence level, please contact us.

  • WHAT AUDIO CODEC ARE SUPPORTED?
    The recommended codec is PCM (wav RIFF) with 44.1KHz to 8KHz sample rate, 1 or 2 Channels, 48 to 8 Bits. However, the following codecs are supported: 8svx aac alac aif aifc aiff aiffc al amb au avr cdda cdr cvs cvsd cvu dat dvms f32 f4 f64 f8 fssd gsm gsrt hcom htk ima ircam la lpc lpc10 lu maud mp2 mp3 nist prc raw s1 s16 s2 s24 s3 s32 s4 s8 sb sf sl sln smp snd sndr sndt sou sox sph sw txw u1 u16 u2 u24 u3 u32 u4 u8 ub ul uw vms voc vox wav wavpcm wve xa.