Start Integrating API 1.0 Today

Click here for API 2.0 Documentation

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

VoiceIt's API is based on REST principles making it is easy to write and test applications. We have created these online documents to help you utilize the RESTful API calls in your preferred coding language. Please register with us in order to obtain a developer account for use in our Voiceprint Developer Portal (VPDP) RESTful API.

User REST API Calls

createUser

Creates a new user profile record.

HTTP Method: POST

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

Request Headers
Header Description
UserId A unique alphanumeric identifier between 5-36 characters, that identifies a user in your database. Provided as part of the REST API Access Credentials.
VsitPassword A SHA 256 encrypted token (not an actual end user password) that can be the same or unique for all user profiles. Provided as part of the REST API Access Credentials.
VsitDeveloperId Assigned after registration and can be found under the Settings section of the developer console. Provided as part of the REST API Access Credentials.
Responses
JSON Response
{ "Result" : "Success", "ResponseCode" : "SUC", "TimeTaken" : "1.02s" }
{ "Result" : "User already exists" , "ResponseCode" : "UAE", "TimeTaken" : "1.02s" }
{ "Result" : "UserId does not meet requirements, please ensure it is an alphanumeric string between 5 - 36 characters" , "ResponseCode" : "IUID", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect formatted password" , "ResponseCode" : "IFP", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId required" , "ResponseCode" : "DIR", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId is not valid" , "ResponseCode" : "DINV", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId is disabled" , "ResponseCode" : "DID", "TimeTaken" : "1.02s" }
{ "internal Server Error" , "ResponseCode" : "ISE", "TimeTaken" : "1.02s" }

deleteUser

Deletes an existing user profile record.

HTTP Method: DELETE

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

Request Headers
Header Description
UserId The UserId used to create the user profile. Provided as part of the REST API Access Credentials.
VsitPassword The same SHA 256 encrypted token used to create the user profile.
VsitDeveloperId Assigned after registration and can be found under the Settings section of the developer console. Provided as part of the REST API Access Credentials.
Responses
JSON Response
{ "Result" : "Success" , "ResponseCode" : "SUC", "TimeTaken" : "1.02s" }
{ "Result" : "User not found" , "ResponseCode" : "UNF", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect password" , "ResponseCode" : "INP", "TimeTaken" : "1.02s" }
{ "Result" : "UserId does not meet requirements, please ensure it is an alphanumeric string between 5 - 36 characters" , "ResponseCode" : "IUID", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect formatted password" , "ResponseCode" : "IFP", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId required" , "ResponseCode" : "DIR", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId is not valid" , "ResponseCode" : "DINV", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId is disabled" , "ResponseCode" : "DID", "TimeTaken" : "1.02s" }
{ "Internal Server Error" , "ResponseCode" : "ISE", "TimeTaken" : "1.02s" }

getUser

Retrieves an existing user profile record.

HTTP Method: GET

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

Request Headers
Header Description
UserId The UserId used to create the user profile. Provided as part of the REST API Access Credentials.
VsitPassword The same SHA 256 encrypted token used to create the user profile.
VsitDeveloperId Assigned after registration and can be found under the Settings section of the developer console. Provided as part of the REST API Access Credentials.
JSON Response
{ "Result" : "Success", "Exists" : true , "ResponseCode" : "SUC", "TimeTaken" : "1.02s" }
{ "Result" : "User not found" , "ResponseCode" : "UNF", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect password" , "ResponseCode" : "INP", "TimeTaken" : "1.02s" }
{ "Result" : "UserId does not meet requirements, please ensure it is an alphanumeric string between 5 - 36 characters" , "ResponseCode" : "IUID", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect formatted password" , "ResponseCode" : "IFP", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId required" , "ResponseCode" : "DID", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId is not valid" , "ResponseCode" : "DINV", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId is disabled" , "ResponseCode" : "DID", "TimeTaken" : "1.02s" }
{ "Internal Server Error" , "ResponseCode" : "ISE", "TimeTaken" : "1.02s" }

Enrollment REST API Calls

createEnrollment

Creates a new enrollment template for the specified user profile. We require a minimum of three (3) enrollment templates per Voiceprint Phrase (VPP).

To manage your VPPs associated with your developer account please log in and navigate to the Voiceprint Phrases section. You can also refer to this blog post to learn more about creating and managing your VPPs.

Please Note: VPP's are Text-Dependent. The recording length of a VPP must be in between 1.3 to 5 seconds. You cannot use the same sound file for enrollment and authentication because of our anti-spoofing technology.

HTTP Method POST

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

Request Headers
Header Description
UserId The UserId used to create the user profile. Provided as part of the REST API Access Credentials.
VsitPassword The same SHA 256 encrypted token used to create the user profile.
VsitDeveloperId Assigned after registration and can be found under the Settings section of the developer console. Provided as part of the REST API Access Credentials.
ContentLanguage The content language of the VPP for use in Speech-To-Text (STT). To view a list of all supported languages, click here.
Request Body
Body Data Description
Wav Data(Audio Bytes) 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.
JSON Response
{ "Result" : "Success","EnrollmentID":"1092","DetectedVoiceprintText":"Never forget tomorrow is a new day","DetectedTextConfidence":"75" , "ResponseCode" : "SUC", "TimeTaken" : "1.02s" }
{ "Result" : "Voiceprint not detected. Please speak naturally and try again." , "ResponseCode" : "VPND", "TimeTaken" : "1.02s" }
{ "Result" : "No Approved Voiceprint Phrases for the Content Language en-US", "ResponseCode" : "NAVP", "TimeTaken" : "1.02s" }
{ "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", "TimeTaken" : "1.02s" }
{ "Result" : "Enrollment Failed. Voiceprint Phrase Was Not Recognized. Please log in to https://voiceit.io/console to manage your Voiceprint Phrases" , "ResponseCode" : "STTF", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect formatted wav data" , "ResponseCode" : "IFW", "TimeTaken" : "1.02s" }
{ "Result" : "Wave data not sent" , "ResponseCode" : "WNS", "TimeTaken" : "1.02s" }
{ "Result" : "User not found" , "ResponseCode" : "UNF", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect password" , "ResponseCode" : "INP", "TimeTaken" : "1.02s" }
{ "Result" : "UserId does not meet requirements, please ensure it is an alphanumeric string between 5 - 36 characters" , "ResponseCode" : "IUID", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect formatted password" , "ResponseCode" : "IFP", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId required" , "ResponseCode" : "DIR", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId is not valid" , "ResponseCode" : "DINV", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId is disabled" , "ResponseCode" : "DID", "TimeTaken" : "1.02s" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Recording Length < 1300ms (1.3s)." , "ResponseCode" : "SRNR", "TimeTaken" : "1.02s" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Recording Length > 5000ms (5s)." , "ResponseCode" : "SRNR", "TimeTaken" : "1.02s" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Speaker Speaking Too Quiet." , "ResponseCode" : "SSTQ", "TimeTaken" : "1.02s" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Speaker Speaking Too Loud." , "ResponseCode" : "SSTL", "TimeTaken" : "1.02s" }
{ "Result" : "Voiceprint Phrase not detected. Please make sure Voiceprint Phrase is at least 1.2 seconds long." , "ResponseCode" : "VPND", "TimeTaken" : "1.02s" }
{ "Result" : "Enrollment failed. Only en-US is enabled for Free Tier." , "ResponseCode" : "CLNE", "TimeTaken" : "1.02s" }
{ "Internal Server Error" , "ResponseCode" : "ISE", "TimeTaken" : "1.02s" }

createEnrollmentByWavURL

Creates a new enrollment template for the specified user profile via a pre-recorded sound file. We require a minimum of three (3) enrollment templates per Voiceprint Phrase (VPP).

Please Note: VPP's are Text-Dependent. The recording length of a VPP must be in between 1.3 to 5 seconds. You cannot use the same sound file for enrollment and authentication because of our anti-spoofing technology.

To manage your VPPs associated with your developer account please log in and navigate to the Voiceprint Phrases section. You can also refer to this blog post to learn more about creating and managing your VPPs.

HTTP Method: POST

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

Request Headers
Header Description
UserId The UserId used to create the user profile. Provided as part of the REST API Access Credentials.
VsitPassword The same SHA 256 encrypted token used to create the user profile.
VsitDeveloperId Assigned after registration and can be found under the Settings section of the developer console. Provided as part of the REST API Access Credentials.
ContentLanguage The content language of the VPP for use in Speech-To-Text (STT). To view a list of all supported languages, click here.
VsitwavURL The fully qualified URL to the pre-recorded audio file. Codecs supported include mp3, mp2, wav, sln, u-law, and pcm.
JSON Response
{ "Result" : "Success", "EnrollmentID":"1092", "DetectedVoiceprintText":"Never forget tomorrow is a new day", "DetectedTextConfidence":"75" , "ResponseCode" : "SUC", "TimeTaken" : "1.02s" }
{ "Result" : "Voiceprint not detected. Please speak naturally and try again." , "ResponseCode" : "VPND", "TimeTaken" : "1.02s" }
{ "Result" : "No Approved Voiceprint Phrases for the Content Language en-US", "ResponseCode" : "NAVP", "TimeTaken" : "1.02s" }
{ "Result" : "Enrollment Failed. Cannot Use Same Recording More Than Once For Enrollment." , "EnrollmentID" : "1092", "ResponseCode" : "ENF", "TimeTaken" : "1.02s" }
{ "Result" : "Enrollment Failed. Failed Speech-To-Text Confidence <20%", "DetectedVoiceprintText" : "Never forget tomorrow is a new day", "DetectedTextConfidence" : "16.0" , "ResponseCode" : "STTF", "TimeTaken" : "1.02s" }
{ "Result" : "Enrollment Failed. Voiceprint Phrase Was Not Recognized. Please log in to https://voiceit.io/console to manage your Voiceprint Phrases" , "ResponseCode" : "STTF", "TimeTaken" : "1.02s" }
{ "Result" : "URL File Does Not Exist At Given Location or Your Server Is Down. Please Use Valid URL to Recorded Voiceprint Phrase." , "ResponseCode" : "FNE", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect formatted wav data" , "ResponseCode" : "IFW", "TimeTaken" : "1.02s" }
{ "Result" : "User not found" , "ResponseCode" : "UNF", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect password" , "ResponseCode" : "INP", "TimeTaken" : "1.02s" }
{ "Result" : "UserId does not meet requirements, please ensure it is an alphanumeric string between 5 - 36 characters" , "ResponseCode" : "IUID", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect formatted password" , "ResponseCode" : "IFP", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId required" , "ResponseCode" : "DIR", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId is not valid" , "ResponseCode" : "DINV", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId is disabled" , "ResponseCode" : "DID", "TimeTaken" : "1.02s" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Recording Length < 1300ms (1.3s)." , "ResponseCode" : "SRNR", "TimeTaken" : "1.02s" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Recording Length > 5000ms (5s)." , "ResponseCode" : "SRNR", "TimeTaken" : "1.02s" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Speaker Speaking Too Quiet." , "ResponseCode" : "SSTQ", "TimeTaken" : "1.02s" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Speaker Speaking Too Loud." , "ResponseCode" : "SSTL", "TimeTaken" : "1.02s" }
{ "Result" : "Voiceprint Phrase not detected. Please make sure Voiceprint Phrase is at least 1.2 seconds long." , "ResponseCode" : "VPND", "TimeTaken" : "1.02s" }
{ "Result" : "Enrollment failed. Only en-US is enabled for Free Tier." , "ResponseCode" : "CLNE", "TimeTaken" : "1.02s" }
{ "Internal Server Error" , "ResponseCode" : "ISE", "TimeTaken" : "1.02s" }

deleteEnrollment

Deletes an existing enrollment template for the specified user profile.

HTTP Method: DELETE

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

Request Headers
Header Description
UserId The UserId used to create the user profile. Provided as part of the REST API Access Credentials.
VsitPassword The same SHA 256 encrypted token used to create the user profile.
VsitDeveloperId Assigned after registration and can be found under the Settings section of the developer console. Provided as part of the REST API Access Credentials.
Enrollment Id The enrollment Id value is retrieved from the getEnrollment REST API call. It is not passed as a header, but appended to the url when making this api call.
JSON Response
{ "Result" : "Success", "EnrollmentID" : "858" , "ResponseCode" : "SUC", "TimeTaken" : "1.02s" }
{ "Result" : "User not found" , "ResponseCode" : "UNF", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect password" , "ResponseCode" : "INP", "TimeTaken" : "1.02s" }
{ "Result" : "UserId does not meet requirements, please ensure it is an alphanumeric string between 5 - 36 characters" , "ResponseCode" : "IUID", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect formatted password" , "ResponseCode" : "IFP", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId required" , "ResponseCode" : "DIR", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId is not valid" , "ResponseCode" : "DINV", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId is disabled" , "ResponseCode" : "DID", "TimeTaken" : "1.02s" }
{ "Result" : "Cannot Remove EnrollmentID - Email+DeveloperID Does Not Exist" , "ResponseCode" : "CRE", "TimeTaken" : "1.02s" }
{ "Internal Server Error" , "ResponseCode" : "ISE", "TimeTaken" : "1.02s" }

getEnrollments

Retrieves the existing enrollment template(s) for the specified user profile.

HTTP Method: GET

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

Request Headers
Header Description
UserId The UserId used to create the user profile. Provided as part of the REST API Access Credentials.
VsitPassword The same SHA 256 encrypted token used to create the user profile.
VsitDeveloperId Assigned after registration and can be found under the Settings section of the developer console. Provided as part of the REST API Access Credentials.
JSON Response
{ "Result" : [858,936,1091,1092] , "ResponseCode" : "SUC", "TimeTaken" : "1.02s" }
{ "Result" : "User not found" , "ResponseCode" : "UNF", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect password" , "ResponseCode" : "INP", "TimeTaken" : "1.02s" }
{ "Result" : "UserId does not meet requirements, please ensure it is an alphanumeric string between 5 - 36 characters" , "ResponseCode" : "IUID", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect formatted password" , "ResponseCode" : "IFP", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId required" , "ResponseCode" : "DIR", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId is not valid" , "ResponseCode" : "DINV", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId is disabled" , "ResponseCode" : "DID", "TimeTaken" : "1.02s" }
{ "Internal Server Error" , "ResponseCode" : "ISE", "TimeTaken" : "1.02s" }

Authentication REST API Calls

authentication

This REST API call is used to authenticate the specified user profile.

To manage your VPPs associated with your developer account please log in and navigate to the Voiceprint Phrases section. You can also refer to this blog post to learn more about creating and managing your VPPs.

Please Note: VPP's are Text-Dependent. The recording length of a VPP must be in between 1.3 to 5 seconds. You cannot use the same sound file for enrollment and authentication because of our anti-spoofing technology.

HTTP Method: POST

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

Request Headers
Header Description
UserId The UserId used to create the user profile. Provided as part of the REST API Access Credentials.
VsitPassword The same SHA 256 encrypted token used to create the user profile.
VsitDeveloperId Assigned after registration and can be found under the Settings section of the developer console. Provided as part of the REST API Access Credentials.
ContentLanguage The content language of the VPP for use in Speech-To-Text (STT). To view a list of all supported languages, click here.
Request Body
Body Data Description
Wav Data(Audio Bytes) 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", "TimeTaken" : "1.02s" }
{ "Result" : "Authentication failed." , "ResponseCode" : "ATF", "Confidence" : "87.0", "DetectedVoiceprintText" : "Never forget tomorrow is a new day" , "DetectedTextConfidence" : "67.0" , "TimeTaken" : "1.02s" }
{ "Result" : "Authentication failed. Not confident. 85%" , "ResponseCode" : "ATF", "Confidence" : "87.0", "DetectedVoiceprintText" : "Never forget tomorrow is a new day" , "DetectedTextConfidence" : "67.0" , "TimeTaken" : "1.02s" }
{ "Result" : "Authentication failed. Need A Minimum Of (3) Enrollments of : 'Never forget tomorrow is a new day.' In Order To Authenticate." , "ResponseCode" : "ATF", "DetectedVoiceprintText" : "Never forget tomorrow is a new day" , "DetectedTextConfidence" : "67.0" , "TimeTaken" : "1.02s" }
{ "Result" : "Authentication failed. Voiceprint Phrase Recording Was Used For Enrollment" , "EnrollmentID": "449867" , "ResponseCode" : "ATF", "DetectedVoiceprintText" : "Never forget tomorrow is a new day" , "DetectedTextConfidence" : "67.0" , "TimeTaken" : "1.02s" }
{ "Result" : "Authentication failed. Failed Speech-To-Text Confidence <20%", "DetectedVoiceprintText" : "Never forget tomorrow is a new day", "DetectedTextConfidence" : "16.0"" , "ResponseCode" : "STTF", "TimeTaken" : "1.02s" }
{ "Result" : "Authentication failed. Voiceprint Phrase Was Not Recognized. Please log in to https://voiceit.io/console to manage your Voiceprint Phrases" , "ResponseCode" : "STTF", "TimeTaken" : "1.02s" }
{ "Result" : "Voiceprint not detected. Please speak naturally and try again." , "ResponseCode" : "VPND", "TimeTaken" : "1.02s" }
{ "Result" : "No Approved Voiceprint Phrases for the Content Language en-US", "ResponseCode" : "NAVP", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect formatted wav data" , "ResponseCode" : "IFW", "TimeTaken" : "1.02s" }
{ "Result" : "Wave data not sent" , "ResponseCode" : "WNS", "TimeTaken" : "1.02s" }
{ "Result" : "User not found" , "ResponseCode" : "UNF", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect password" , "ResponseCode" : "INP", "TimeTaken" : "1.02s" }
{ "Result" : "UserId does not meet requirements, please ensure it is an alphanumeric string between 5 - 36 characters" , "ResponseCode" : "IUID", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect formatted password" , "ResponseCode" : "IFP", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId required" , "ResponseCode" : "DIR", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId is not valid" , "ResponseCode" : "DINV", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId is disabled" , "ResponseCode" : "DID", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect accuracy parameter" , "ResponseCode" : "IAP", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect confidence parameter" , "ResponseCode" : "ICP", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect accuracyPasses parameter" , "ResponseCode" : "IAPP", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect accuracyPassIncrement parameter" , "ResponseCode" : "IAPI", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect combination of accuracy, accuracyPasses, and accuracyPassIncrement parameters" , "ResponseCode" : "ICAP", "TimeTaken" : "1.02s" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Recording Length < 1300ms (1.3s)." , "ResponseCode" : "SRNR", "TimeTaken" : "1.02s" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Recording Length > 5000ms (5s)." , "ResponseCode" : "SRNR", "TimeTaken" : "1.02s" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Speaker Speaking Too Quiet." , "ResponseCode" : "SSTQ", "TimeTaken" : "1.02s" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Speaker Speaking Too Loud." , "ResponseCode" : "SSTL", "TimeTaken" : "1.02s" }
{ "Result" : "Voiceprint Phrase not detected. Please make sure Voiceprint Phrase is at least 1.2 seconds long." , "ResponseCode" : "VPND", "TimeTaken" : "1.02s" }
{ "Result" : "Authentication failed. Only en-US is enabled for Free Tier." , "ResponseCode" : "CLNE", "TimeTaken" : "1.02s" }
{ "Internal Server Error" , "ResponseCode" : "ISE", "TimeTaken" : "1.02s" }

authenticationByWavURL

Authenticates the specified user profile via a pre-recorded sound file.

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 your VPPs associated with your developer account please log in and navigate to the Voiceprint Phrases section. You can also refer to this blog post to learn more about creating and managing your VPPs.

Please Note: VPP's are Text-Dependent. The recording length of a VPP must be in between 1.3 to 5 seconds. You cannot use the same sound file for enrollment and authentication because of our anti-spoofing technology.

HTTP Method: POST

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

Request Headers
Header Description
UserId The UserId used to create the user profile. Provided as part of the REST API Access Credentials.
VsitPassword The same SHA 256 encrypted token used to create the user profile.
VsitDeveloperId Assigned after registration and can be found under the Settings section of the developer console. Provided as part of the REST API Access Credentials.
ContentLanguage The content language of the VPP for use in Speech-To-Text (STT). To view a list of all supported languages, click here.
VsitwavURL The fully qualified URL to the pre-recorded audio file. Codecs supported include mp3, mp2, wav, sln, u-law, and pcm.
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", "TimeTaken" : "1.02s" }
{ "Result" : "Authentication failed." , "ResponseCode" : "ATF", "Confidence" : "87.0", "DetectedVoiceprintText" : "Never forget tomorrow is a new day" , "DetectedTextConfidence" : "67.0" , "TimeTaken" : "1.02s" }
{ "Result" : "Authentication failed. Not confident. 85%" , "ResponseCode" : "ATF", "Confidence" : "87.0", "DetectedVoiceprintText" : "Never forget tomorrow is a new day" , "DetectedTextConfidence" : "67.0" , "TimeTaken" : "1.02s" }
{ "Result" : "Authentication failed. Need A Minimum Of (3) Enrollments of : 'Never forget tomorrow is a new day.' In Order To Authenticate." , "ResponseCode" : "ATF", "DetectedVoiceprintText" : "Never forget tomorrow is a new day" , "DetectedTextConfidence" : "67.0" , "TimeTaken" : "1.02s" }
{ "Result" : "Authentication failed. Voiceprint Phrase Recording Was Used For Enrollment" , "EnrollmentID": "449867" , "ResponseCode" : "ATF", "DetectedVoiceprintText" : "Never forget tomorrow is a new day" , "DetectedTextConfidence" : "67.0" , "TimeTaken" : "1.02s" }
{ "Result" : "Authentication failed. Failed Speech-To-Text Confidence <20%", "DetectedVoiceprintText" : "Never forget tomorrow is a new day", "DetectedTextConfidence" : "16.0"" , "ResponseCode" : "STTF", "TimeTaken" : "1.02s" }
{ "Result" : "Authentication failed. Voiceprint Phrase Was Not Recognized. Please log in to https://voiceit.io/console to manage your Voiceprint Phrases" , "ResponseCode" : "STTF", "TimeTaken" : "1.02s" }
{ "Result" : "URL File Does Not Exist At Given Location or Your Server Is Down. Please Use Valid URL to Recorded Voiceprint Phrase." , "ResponseCode" : "FNE", "TimeTaken" : "1.02s" }
{ "Result" : "Voiceprint not detected. Please speak naturally and try again." , "ResponseCode" : "VPND", "TimeTaken" : "1.02s" }
{ "Result" : "No Approved Voiceprint Phrases for the Content Language en-US", "ResponseCode" : "NAVP", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect formatted wav data" , "ResponseCode" : "IFW", "TimeTaken" : "1.02s" }
{ "Result" : "User not found" , "ResponseCode" : "UNF", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect password" , "ResponseCode" : "INP", "TimeTaken" : "1.02s" }
{ "Result" : "UserId does not meet requirements, please ensure it is an alphanumeric string between 5 - 36 characters" , "ResponseCode" : "IUID", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect formatted password" , "ResponseCode" : "IFP", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId required" , "ResponseCode" : "DIR", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId is not valid" , "ResponseCode" : "DINV", "TimeTaken" : "1.02s" }
{ "Result" : "DeveloperId is disabled" , "ResponseCode" : "DID", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect accuracy parameter" , "ResponseCode" : "IAP", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect confidence parameter" , "ResponseCode" : "ICP", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect accuracyPasses parameter" , "ResponseCode" : "IAPP", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect accuracyPassIncrement parameter" , "ResponseCode" : "IAPI", "TimeTaken" : "1.02s" }
{ "Result" : "Incorrect combination of accuracy, accuracyPasses, and accuracyPassIncrement parameters" , "ResponseCode" : "ICAP", "TimeTaken" : "1.02s" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Recording Length < 1300ms (1.3s)." , "ResponseCode" : "SRNR", "TimeTaken" : "1.02s" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Recording Length > 5000ms (5s)." , "ResponseCode" : "SRNR", "TimeTaken" : "1.02s" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Speaker Speaking Too Quiet." , "ResponseCode" : "SSTQ", "TimeTaken" : "1.02s" }
{ "Result" : "Sound Recording Does Not Meet Requirements - Speaker Speaking Too Loud." , "ResponseCode" : "SSTL", "TimeTaken" : "1.02s" }
{ "Result" : "Voiceprint Phrase not detected. Please make sure Voiceprint Phrase is at least 1.2 seconds long." , "ResponseCode" : "VPND", "TimeTaken" : "1.02s" }
{ "Result" : "Authentication failed. Only en-US is enabled for Free Tier." , "ResponseCode" : "CLNE", "TimeTaken" : "1.02s" }
{ "Internal Server Error" , "ResponseCode" : "ISE", "TimeTaken" : "1.02s" }

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
CLNEContent Language Not Enabled
ATFAuthentication Failed
ACLRAPI Call Limit reached

Content Languages

Languages without an upcharge

ca-ESCatalan (Spain)
cmn-Hans-CNChinese, Mandarin (Simplified, China)
cmn-Hant-TWChinese, Mandarin (Traditional, Taiwan)
cmn-Hans-HKChinese, Mandarin (Simplified, Hong Kong)
de-DEGerman (Germany)
da-DKDanish (Denmark)
en-GBEnglish (United Kingdom)
en-USEnglish (United States)
en-AUEnglish (Australia)
en-CAEnglish (Canada)
es-ESSpanish (Spain)
es-USSpanish (United States)
es-MXSpanish (Mexico)
fi-FIFinnish (Finland)
fr-FRFrench (France)
fr-CAFrench (Canada)
ja-JPJapanese (Japan)
ko-KRKorean (South Korea)
nl-NLDutch (Netherlands)
nb-NONorwegian Bokmal (Norway)
pl-PLPolish (Poland)
pt-BRPortuguese (Brazil)
pt-PTPortuguese (Portugal)
ru-RURussian (Russia)
sv-SESwedish (Sweden)
no-STTNo Text Detection

Premium Languages with an upcharge($0.006)

af-ZAAfrikaans (South Africa)
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)
bg-BGBulgarian (Bulgaria)
cs-CZCzech (Czech Republic)
el-GRGreek (Greece)
en-INEnglish (India)
en-IEEnglish (Ireland)
en-NZEnglish (New Zealand)
en-PHEnglish (Philippines)
en-ZAEnglish (South Africa)
es-ARSpanish (Argentina)
es-BOSpanish (Bolivia)
es-CLSpanish (Chile)
es-COSpanish (Colombia)
es-CRSpanish (Costa Rica)
es-ECSpanish (Ecuador)
es-SVSpanish (El Salvador)
es-GTSpanish (Guatemala)
es-HNSpanish (Honduras)
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)
fa-IRPersian (Iran)
fil-PHFilipino (Philippines)
gl-ESGalician (Spain)
he-ILHebrew (Israel)
hi-INHindi (India)
hr-HRCroatian (Croatia)
hu-HUHungarian (Hungary)
id-IDIndonesian (Indonesia)
is-ISIcelandic (Iceland)
it-IT-Italian (Italy)
lt-LTLithuanian (Lithuania)
ms-MYMalay (Malaysia)
ro-RORomanian (Romania)
sr-RSSerbian (Serbia)
sk-SKSlovak (Slovakia)
sl-SISlovenian (Slovenia)
th-THThai (Thailand)
tr-TRTurkish (Turkey)
uk-UAUkrainian (Ukraine)
vi-VNVietnamese (Vietnam)
yue-Hant-HKChinese, Cantonese (Traditional, Hong Kong)
zu-ZAZulu (South Africa)

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.