Introduction
VoiceIt API 2.0
Make sure you have curl installed
https://curl.haxx.se
Note, voiceit2 wrapper only works for Python 3, and hence, will not be available on the Python 2 pip package manager.
Use pip to get the VoiceIt module.
pip3 install voiceit2
#Import the module
from voiceit2 import VoiceIt2
We recommend using jitpack to grab the wrapper into your project. Add the following to
pom.xml
if you are using Maven for you project:
<repositories>
...
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
...
</repositories>
<dependencies>
...
<dependency>
<groupId>com.github.voiceittech</groupId>
<artifactId>VoiceIt2-Java</artifactId>
<version>JAVA_VERSION_HERE</version>
</dependency>
...
</dependencies>
For Gradle, you may need to disable offline mode in case you are using Intellij. We recommend using Java 8. Add the following to your Gradle build file:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.voiceittech:VoiceIt2-Java:JAVA_VERSION_HERE'
}
Please make sure you have the rest client installed
gem install rest-client
Install VoiceIt2's gem
gem install VoiceIt2
#Require the wrapper
require 'VoiceIt2'
Install the VoiceIt Go module first. We suggest you use Go >= 1.11 and use the built in versioned module system by setting the
GO111MODULES
environment variable toon
. Inside a Go project, do:
go get -u github.com/voiceittech/VoiceIt2-Go/v2
Read more about modules at https://golang.org/doc/go1.11#modules.
// Make sure to add the import statement
import (
voiceit2 "github.com/voiceittech/VoiceIt2-Go/v2"
)
The package also includes the
structs
sub-package which contains structs that you can use to unmarshal returned JSON strings to native Go primitives. Each struct is named using the convention of"[FunctionName]Return"
. Use as follows:
package main
import (
"encoding/json"
"fmt"
voiceit2 "github.com/voiceittech/VoiceIt2-Go/v2"
"github.com/voiceittech/VoiceIt2-Go/v2/structs"
)
func main() {
myVoiceIt := voiceit2.NewClient("<apiKey>", "<apiToken>")
ret, \_ := myVoiceIt.GetAllUsers()
fmt.Println("Print out string ret", string(ret))
var x structs.GetAllUsersReturn
json.Unmarshal(ret, &x)
fmt.Println(x.Users[0].UserId)
// (Print out the user ID of the first user
// in the returned users from the get all users call.)
}
Install the voiceit2 package via npm
npm install voiceit2-nodejs
Note, the examples presented here use some newer features only available in ES6.
//Make sure to require the project
const voiceit2 = require('voiceit2-nodejs');
Please note: The VoiceIt API 2 C# wrapper supports .NET Framework 4.6.1 or above
The VoiceIt2 module can easily be fetched from nuget command line tool:
https://www.nuget.org/packages/VoiceIt/
dotnet add package VoiceIt --version
However, for most most cases involving C# development in Visual Studio IDE, we suggest retreiving the package package through Visual Studio's "Add Packages" user interface.
In VS, right click on "Packages" in the solutions column, click on "Add Packages...", then search for "VoiceIt". After finding the package, click the checkbox and click "Add Package" button at the bottom right of the pop-up dialogue box.
In order to utilize the wrapper, include the VoiceIt2 namespace at the top of your code:
using VoiceIt2API;
Get the wrapper by directly downloading the file from Github :
https://github.com/voiceittech/VoiceIt2-PHP
under voiceit/VoiceIt2.php and include in your project
<?php
include('VoiceIt2.php');
?>
Or, use composer via the command line to get the package :
composer require voiceit-php/voiceit2
<?php
//Make sure to add this at top when using composer
require __DIR__.'/vendor/autoload.php';
?>
To use the Perl wrapper, please download the perl file from our repository and add it to the root of your project folder. Make sure you have the following modules installed:
HTTP::Request::Common
LWP::Protocol::https
LWP::UserAgent
To install using the prefered method ofcpan
, enter thecpan
CLI tool, then type:install <Package Name>
to install the aforementioned packages.Make sure to require the voiceIt2 module in your program.
require "./voiceIt2.pm";
This wrapper will return string objects which can be parsed as JSON objects. The
parse_json()
function from the packageJSON::Parse
is particularly suited to retreive values for specific fields from JSON strings.
Note: This package has been tested on Perl 5 version 28, and should be compatible with other verions of Perl 5. However, the changes introduced in Perl 6 renders it incompatible with our wrapper.
The latest C++ wrapper (version ) is available as a C++ header file at and depends on
libcurl
.
On Unix based systems, the fastest way to see how to link a specific version of the curl library is by using
curl-config
.If using g++, you can run
curl-config --libs
. Assuming the output for that command is-L/usr/local/Cellar/curl/7.64.0/lib -lcurl -lldap -lz
, you will compile using the command:
g++ File.cpp -o executablename -L/usr/local/Cellar/curl/7.64.0/lib -lcurl -lldap -lz
For DOS based machines, the quickest way to get
libcurl
for Visual Studio is by using Vcpkg. The first example after the set-up instructions conveniently shows how you can installlibcurl
.
In order to utilize the wrapper, include the header in your program as follows:
#include "VoiceIt2.hpp";
If you need a JSON serialization library for C++, we highly recommend nlohmann/json.
The Scala wrapper is available as a JitPack package repository. In order to utilize it in your project you will need to add the JitPack resolver and our package dependency to
build.sbt
in your project root.
resolvers += "jitpack" at "https://jitpack.io"
libraryDependencies += "com.github.voiceittech" % "voiceit2-scala" %
Note: Please define an SBT version 1.0.0 or newer inproject/build.properties
in order to use this wrapper.
In order to utilize the wrapper, import the class in your program as follows:
import voiceit2.VoiceIt2
Add the
voiceit2
crate to your project'sCargo.toml
.
[package]
...
[dependencies]
voiceit2 = ""
In order to utilize the wrapper, import the class in your program as follows:
extern crate voiceit2;
The crate also includes the
structs
sub-package which contains structs that you can use to unmarshal returned JSON strings to native Rust primitives. Each struct is named using the convention of"[FunctionName]Return"
. Use withserde_json
as follows:
extern crate serde_json;
let result: voiceit2::structs::users::GetAllUsersReturn = match &my_voiceit.get_all_users() {
Ok(x) => serde_json::from_str(&x).expect(format!("Unable to unmarshal JSON properly due to call failing and returning with missing values. server response: {}", &x).as_str()),
Err(err) => {
panic!("Panic error: {:?}", err);
}
};
println!("User Count={}", result.count);
VoiceIt API 2.0 can be used to add Voice + Face Verification and Identification to your projects. You can view code examples, with tabs to select your preferred programming language in the dark panel on the right.
If you would like to see how the data looks on our end, please use the Dashboard. There, you can review all activity on your account, including error messages and corresponding recordings and graph activity plots within a given interval.
Authentication
Initialize VoiceIt by passing in your API credentials
Basic Authentication
Parameter | Type | Description | Required |
---|---|---|---|
apiKey | String | Your API 2.0 key | True |
apiToken | String | Your API 2.0 token | True |
With shell, you can just use the -u flag to pass the credentials
without having to manually base64 encode them
curl -u "<apiKey>:<apiToken>" "<Your API 2.0 Endpoint>/..."
my_voiceit = VoiceIt2('<apiKey>','<apiToken>')
VoiceIt2 myVoiceIt = new VoiceIt2("<apiKey>","<apiToken>");
myVoiceIt = VoiceIt2.new("<apiKey>", "<apiToken>")
myVoiceIt := voiceit2.NewClient("<apiKey>", "<apiToken>")
let myVoiceIt = new voiceit2("<apiKey>", "<apiToken>");
VoiceIt2 myVoiceIt = new VoiceIt2("<apiKey>", "<apiToken>");
<?php
$myVoiceIt = new VoiceIt\VoiceIt2("<apiKey>", "<apiToken>");
?>
my $myVoiceIt = voiceIt2->new("<apiKey>","<apiToken>");
VoiceIt2 myVoiceIt("<apiKey>", "<apiToken>");
VoiceIt2 myVoiceIt("<apiKey>", "<apiToken>")
let my_voiceit = voiceit2::client::VoiceIt2::new(String::from("<apiKey>"), String::from("<apiToken>"));
Make sure to replace
<apiKey>
with your API key and<apiToken>
with your auth token.
VoiceIt uses an API Key and Authorization Token to allow access to the API. You can contact us for a VoiceIt developer account.
Requests are authenticated using HTTP Basic Auth (basic access authentication). Provide your API key as the Basic Auth username and the Auth token as the Basic Auth password. You can build the authorization header manually by base64 encoding your credentials in the format <apiKey>:<apiToken>
resulting in something like QVBJX0tFWV9IRVJFOkFFVEhfVE9LRU5fSEVSRQ==
, then add that to the authorization header like this:
Authorization: Basic QVBJX0tFWV9IRVJFOkFFVEhfVE9LRU5fSEVSRQ==
User Token Authentication
Parameter | Type | Description | Required |
---|---|---|---|
userToken | String | Your user's temporary token | True |
With shell, you can just use the -u flag to pass the credential
without having to manually base64 encode them
curl -u "<userToken>:" "<Your API 2.0 Endpoint>/..."
my_voiceit = VoiceIt2('<userToken>','')
VoiceIt2 myVoiceIt = new VoiceIt2("<userToken>","");
myVoiceIt = VoiceIt2.new("<userToken>", "")
myVoiceIt := voiceit2.NewClient("<userToken>", "")
let myVoiceIt = new voiceit2("<userToken>", "");
VoiceIt2 myVoiceIt = new VoiceIt2("<userToken>", "");
<?php
$myVoiceIt = new VoiceIt\VoiceIt2("<userToken>", "");
?>
my $myVoiceIt = voiceIt2->new("<userToken>","");
VoiceIt2 myVoiceIt("<userToken>", "");
VoiceIt2 myVoiceIt("<userToken>", "")
let my_voiceit = voiceit2::client::VoiceIt2::new(String::from("<apiKey>"), String::from(""));
Make sure to replace
<userToken>
with your user's token and leave the<apiToken>
field empty.
Developers can generate a temporary userToken
to give to each of their users to authenticate against the VoiceIt API instead of users authenticating with the developer's API Key and Token. Authorization via a userToken
only grants access to API calls relating to the same user. We strongly recommend to use userToken
(s) and not store developer credentials on a client side application, such as a web browser or mobile device, as the credentials can be extracted.
User Token Generation is detailed in the User API call section here
Add Webhook Notification
# With shell, you can pass the escaped HTTPS URL as a query string.
curl -u "<apiKey>:<apiToken>" "<Your API 2.0 Endpoint>/...?notificationURL=<yourEscapedURL>"
my_voiceit.add_notification_url("<notificationURL>")
myVoiceIt.addNotificationUrl("<notificationURL>");
myVoiceIt.addNotificationUrl("<notificationURL>")
myVoiceIt.AddNotificationUrl("<notificationURL>")
myVoiceIt.addNotificationUrl({ url: "<notificationURL>" }, () => {
// All calls will notify <notificationURL>
});
myVoiceIt.AddNotificationUrl("<notificationURL>");
<?php
$myVoiceIt->addNotificationUrl("<notificationURL>");
?>
$myVoiceIt->addNotificationUrl('<notificationURL>');
myVoiceIt.AddNotificationUrl("<notificationURL>");
myVoiceIt.addNotificationUrl("<notificationURL>")
let mut my_voiceit = voiceit2::client::VoiceIt2::new(String::from("<apiKey>"), String::from("<apiToken>"));
&my_voiceit.add_notification_url("<notificationURL>");
Parameter | Type | Description | Required |
---|---|---|---|
notificationURL | String | The endpoint you want notified | False |
Use webhook notifications to confirm when a user successfully verify themselves or to receive the results of other API calls at a specific endpoint. We strongly recommend using webhooks as the result of a verification API call can be intercepted and modified if only received on the client side, such as a browser or mobile device.
Remove Webhook Notification
# With shell, you can simply remove the query parameter to stop the webhook notifications.
curl -u "<apiKey>:<apiToken>" "<Your API 2.0 Endpoint>/..."
my_voiceit.remove_notification_url()
myVoiceIt.removeNotificationUrl();
myVoiceIt.removeNotificationUrl()
myVoiceIt.RemoveNotificationUrl()
myVoiceIt.removeNotificationUrl(() => {
// All calls will no longer notify <notificationURL>
});
myVoiceIt.RemoveNotificationUrl();
<?php
$myVoiceIt->removeNotificationUrl();
?>
$myVoiceIt->removeNotificationUrl();
myVoiceIt.RemoveNotificationUrl();
myVoiceIt.removeNotificationUrl()
let mut my_voiceit = voiceit2::client::VoiceIt2::new(String::from("<apiKey>"), String::from("<apiToken>"));
&my_voiceit.remove_notification_url();
This stops a client using a wrapper or SDK from automatically notifying the target URL endpoint.
Phrases
Get Phrases
curl -u "<apiKey>:<apiToken>" "<Your API 2.0 Endpoint>/phrases/<contentLanguage>"
my_voiceit.get_phrases("<contentLanguage>")
myVoiceIt.getPhrases("<contentLanguage>");
myVoiceIt.getPhrases("<contentLanguage>")
myVoiceIt.GetPhrases("<contentLanguage>")
myVoiceIt.getPhrases({ contentLanguage : "<contentLanguage>" }, (jsonResponse)=>{
//handle response
});
myVoiceIt.GetPhrases("<contentLanguage>");
<?php
$myVoiceIt->getPhrases("<contentLanguage>");
?>
$myVoiceIt->getPhrases("<contentLanguage>");
myVoiceIt.GetPhrases("<contentLanguage>");
myVoiceIt.getPhrases("<contentLanguage>")
&my_voiceit.get_phrases(String::from("<contentLanguage>")).unwrap();
The above command returns JSON structured like this:
{
"message":"Successfully got en-US phrases for developer account",
"count":2,
"status":200,
"timeTaken":"0.009s",
"phrases": [
{
"text": "Never forget tomorrow is a new day",
"contentLanguage": "en-US",
}, {
"text": "My face and voice identify me",
"contentLanguage": "en-US",
}
],
"responseCode":"SUCC"
}
This endpoint retrieves all of a developer's approved phrases for a given contentLanguage
.
HTTP Request
GET <Your API 2.0 Endpoint>/phrases/<contentLanguage>
URL Parameters
Parameter | Type | Description | Required |
---|---|---|---|
contentLanguage | String | Choose from a list of content language parameters | True |
Related Response Codes
SUCC, INCP
See detailed descriptions for response codes here
Users
Get All Users
curl -u "<apiKey>:<apiToken>" "<Your API 2.0 Endpoint>/users"
my_voiceit.get_all_users()
myVoiceIt.getAllUsers();
myVoiceIt.getAllUsers()
myVoiceIt.GetAllUsers()
myVoiceIt.getAllUsers((jsonResponse)=>{
//handle response
});
myVoiceIt.GetAllUsers();
<?php
$myVoiceIt->getAllUsers();
?>
$myVoiceIt->getAllUsers();
myVoiceIt.GetAllUsers();
myVoiceIt.getAllUsers()
&my_voiceit.get_all_users().unwrap();
The above command returns JSON structured like this:
{
"message":"Successfully got all users",
"count":2,
"status":200,
"timeTaken":"0.009s",
"users": [
{
"createdAt": 1486672854000,
"userId": "usr_49c98304252549239775e2b52a84006a"
}, {
"createdAt": 1487026658000,
"userId": "usr_feb6d1fcd80448628db8ec6a7ddb6322"
}
],
"responseCode":"SUCC"
}
This endpoint retrieves all users.
HTTP Request
GET <Your API 2.0 Endpoint>/users
Parameters
No additional parameters needed for this request, just basic access authentication and a GET request to the end point.
Related Response Codes
SUCC
See detailed descriptions for response codes here
Create a User
curl -u "<apiKey>:<apiToken>" -X POST "<Your API 2.0 Endpoint>/users"
my_voiceit.create_user()
myVoiceIt.createUser();
myVoiceIt.createUser()
myVoiceIt.CreateUser()
myVoiceIt.createUser((jsonResponse)=>{
//handle response
});
myVoiceIt.CreateUser();
<?php
$myVoiceIt->createUser();
?>
$myVoiceIt->createUser();
myVoiceIt.CreateUser();
myVoiceIt.createUser()
&my_voiceit.create_user().unwrap();
The above command returns JSON structured like this:
{
"message": "Created user with userId : usr_feb6d1fcd80448628db8ec6a7ddb6322",
"status": 201,
"timeTaken": "0.055s",
"createdAt": 1487026658000,
"userId": "usr_feb6d1fcd80448628db8ec6a7ddb6322",
"responseCode":"SUCC"
}
This endpoint creates a new user in the system and returns its unique userId
.
HTTP Request
POST <Your API 2.0 Endpoint>/users
Parameters
No additional parameters needed for this request, just basic access authentication and a POST request to the end point.
Related Response Codes
SUCC, MLOCK
See detailed descriptions for response codes here
Check If a Specific User Exists
curl -u "<apiKey>:<apiToken>" "<Your API 2.0 Endpoint>/users/<userId>"
my_voiceit.check_user_exists("<userId>")
myVoiceIt.checkUserExists("<userId>");
myVoiceIt.checkUserExists("<userId>")
myVoiceIt.CheckUserExists("<userId>")
myVoiceIt.checkUserExists({
userId :"<userId>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.CheckUserExists("<userId>");
<?php
$myVoiceIt->checkUserExists("<userId>");
?>
$myVoiceIt->checkUserExists("<userId>");
myVoiceIt.CheckUserExists("<userId>");
myVoiceIt.checkUserExists("<userId>")
&my_voiceit.check_user_exists(String::from("<userId>")).unwrap();
The above command returns JSON structured like this:
{
"message":"User with userId : usr_feb6d1fcd80448628db8ec6a7ddb6322 exists",
"exists":true,
"status":200,
"timeTaken":"0.007s",
"responseCode":"SUCC"
}
This endpoint retrieves the given user.
HTTP Request
GET <Your API 2.0 Endpoint>/users/<userId>
URL Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The ID of the user | True |
Related Response Codes
SUCC
See detailed descriptions for response codes here
Delete a Specific User
curl -u "<apiKey>:<apiToken>" -X DELETE "<Your API 2.0 Endpoint>/users/<userId>"
my_voiceit.delete_user("<userId>")
myVoiceIt.deleteUser("<userId>");
myVoiceIt.deleteUser("<userId>")
myVoiceIt.DeleteUser("<userId>")
myVoiceIt.deleteUser({
userId :"<userId>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.DeleteUser("<userId>");
<?php
$myVoiceIt->deleteUser("<userId>");
?>
$myVoiceIt->deleteUser("<userId>");
myVoiceIt.DeleteUser("<userId>");
myVoiceIt.deleteUser("<userId>")
&my_voiceit.delete_user(String::from("<userId>")).unwrap();
The above command returns JSON structured like this:
{
"message": "Deleted user with userId : usr_feb6d1fcd80448628db8ec6a7ddb6322",
"status": 200,
"timeTaken": "0.037s",
"responseCode":"SUCC"
}
This endpoint deletes the given user.
HTTP Request
DELETE <Your API 2.0 Endpoint>/users/<userId>
URL Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The ID of the user | True |
Related Response Codes
SUCC, UNFD, MLOCK
See detailed descriptions for response codes here
Get Groups for User
curl -u "<apiKey>:<apiToken>" "<Your API 2.0 Endpoint>/users/<userId>/groups"
my_voiceit.get_groups_for_user("<userId>")
myVoiceIt.getGroupsForUser("<userId>");
myVoiceIt.getGroupsForUser("<userId>")
myVoiceIt.GetGroupsForUser("<userId>")
myVoiceIt.getGroupsForUser({
userId :"<userId>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.GetGroupsForUser("<userId>");
<?php
$myVoiceIt->getGroupsForUser("<userId>");
?>
$myVoiceIt->getGroupsForUser("<userId>");
myVoiceIt.GetGroupsForUser("<userId>");
myVoiceIt.getGroupsForUser("<userId>")
&my_voiceit.get_groups_for_user(String::from("<userId>")).unwrap();
The above command returns JSON structured like this:
{
"message":"Successfully returned all groups that user with userId : usr_feb6d1fcd80448628db8ec6a7ddb6322 is a part of",
"groups":["grp_4225f88a571f4bd790b51a91109bab88", "grp_801e4d6dc1e941bf9165ba5c84bd94d2"],
"count":0,
"status":200,
"timeTaken":"0.007s",
"responseCode":"SUCC"
}
This endpoint retrieves a list of groups associated with the given user
HTTP Request
GET <Your API 2.0 Endpoint>/users/<userId>/groups
URL Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The ID of the user | True |
Related Response Codes
SUCC, UNFD
See detailed descriptions for response codes here
User Token Generation
curl -u "<apiKey>:<apiToken>" -X POST "<Your API 2.0 Endpoint>/users/<userId>/token?timeOut=<secondsToTimeout>"
my_voiceit.create_user_token("<userId>", <seconds_to_timeout>)
myVoiceIt.createUserToken("<userId>", <secondsToTimeout>);
myVoiceIt.createUserToken("<userId>", <secondsToTimeout>)
myVoiceIt.CreateUserToken("<userId>", <secondsToTimeout>*time.Second)
myVoiceIt.createUserToken({
userId :"<userId>",
secondsToTimeout: <secondsToTimeout>,
},(jsonResponse)=>{
//handle response
});
myVoiceIt.CreateUserToken("<userId>", <secondsToTimeout>);
<?php
$myVoiceIt->createUserToken("<userId>", <secondsToTimeout>);
?>
$myVoiceIt->createUserToken("<userId>", <secondsToTimeout>);
myVoiceIt.CreateUserToken("<userId>", <secondsToTimeout>);
myVoiceIt.createUserToken("<userId>", <secondsToTimeout>)
&my_voiceit.create_user_token(String::from("<userId>"), <secondsToTimeout>).unwrap();
The above command returns JSON structured like this:
{
"message": "Successfully created userToken for usr_feb6d1fcd80448628db8ec6a7ddb6322 which will expire on Wed Jan 09 20:57:18 GMT 2019",
"userToken": "utk_d48cf29e8db84034bee07219a031121d_1487026658000",
"status": 201,
"timeTaken": "0.055s",
"createdAt": 1487026658000,
"responseCode":"SUCC"
}
Users can use a temporary generated userToken
associated with their profile instead of the developer's API Key and Authorization Token to allow access to the API. This allows the developer to send the userToken
to the client side each time it needs access instead of using the developer's API key and Token on the client side.
HTTP Request
POST https:/api.voiceit.io/users/<userId>/token
URL Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The Id of the user | True |
secondsToTimeout | Integer | timeout in seconds to expire generated user token | True |
Related Response Codes
SUCC, UNFD, INVT
See detailed descriptions for response codes here
User Token Expiration
curl -u "<apiKey>:<apiToken>" -X POST "<Your API 2.0 Endpoint>/users/<userId>/expireTokens"
my_voiceit.expire_user_tokens("<userId>")
myVoiceIt.expireUserTokens("<userId>");
myVoiceIt.expireUserTokens("<userId>")
myVoiceIt.ExpireUserTokens("<userId>")
myVoiceIt.expireUserTokens({
userId :"<userId>",
},(jsonResponse)=>{
//handle response
});
myVoiceIt.ExpireUserTokens("<userId>");
<?php
$myVoiceIt->expireUserTokens("<userId>");
?>
$myVoiceIt->expireUserTokens("<userId>");
myVoiceIt.ExpireUserTokens("<userId>");
myVoiceIt.expireUserTokens("<userId>")
&my_voiceit.expire_user_tokens(String::from("<userId>")).unwrap();
The above command returns JSON structured like this:
{
"message": "Successfully expired active userTokens for user with userId : usr_feb6d1fcd80448628db8ec6a7ddb6322",
"status": 201,
"timeTaken": "0.055s",
"responseCode":"SUCC"
}
Expires all of a user's active userToken
(s) associated with their profile.
HTTP Request
POST https:/api.voiceit.io/users/<userId>/expireTokens
URL Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The Id of the user | True |
Related Response Codes
SUCC, UNFD
See detailed descriptions for response codes here
Groups
Get All Groups
curl -u "<apiKey>:<apiToken>" "<Your API 2.0 Endpoint>/groups"
my_voiceit.get_all_groups()
myVoiceIt.getAllGroups();
myVoiceIt.getAllGroups()
myVoiceIt.GetAllGroups()
myVoiceIt.getAllGroups((jsonResponse)=>{
//handle response
});
myVoiceIt.GetAllGroups();
<?php
$myVoiceIt->getAllGroups();
?>
$myVoiceIt->getAllGroups();
myVoiceIt.GetAllGroups();
myVoiceIt.getAllGroups()
&my_voiceit.get_all_groups().unwrap();
The above command returns JSON structured like this:
{
"message":"Successfully got all groups",
"count":1,
"status":200,
"timeTaken":"0.009s",
"groups": [
{
"createdAt": 1486672854000,
"description": "Main Group",
"groupId" : "grp_4225f88a571f4bd790b51a91109bab88",
"users" : ["usr_feb6d1fcd80448628db8ec6a7ddb6322"],
"userCount" : 1
}
],
"responseCode":"SUCC"
}
This endpoint retrieves all groups.
HTTP Request
GET <Your API 2.0 Endpoint>/groups
Parameters
No additional parameters needed for this request, just basic access authentication and a GET request to the end point.
Related Response Codes
SUCC
See detailed descriptions for response codes here
Get a Specific Group
curl -u "<apiKey>:<apiToken>" "<Your API 2.0 Endpoint>/groups/<groupId>"
my_voiceit.get_group("<groupId>")
myVoiceIt.getGroup("<groupId>");
myVoiceIt.getGroup("<groupId>")
myVoiceIt.GetGroup("<groupId>")
myVoiceIt.getGroup({
groupId : "<groupId>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.GetGroup("<groupId>");
<?php
$myVoiceIt->getGroup("<groupId>");
?>
$myVoiceIt->getGroup("<groupId>");
myVoiceIt.GetGroup("<groupId>");
myVoiceIt.getGroup("<groupId>")
&my_voiceit.get_group(String::from("<groupId>")).unwrap();
The above command returns JSON structured like this:
{
"message": "Successfully returned group with groupId : grp_4225f88a571f4bd790b51a91109bab88",
"description": "Family",
"groupId": "grp_4225f88a571f4bd790b51a91109bab88",
"createdAt": 1486991883000,
"users": [ "usr_feb6d1fcd80448628db8ec6a7ddb6322" ],
"userCount" : 1
"status": 200,
"timeTaken": "0.008s",
"responseCode" : "SUCC",
}
This endpoint retrieves the associated users and other fields for the given group
HTTP Request
GET <Your API 2.0 Endpoint>/groups/<groupId>
URL Parameters
Parameter | Type | Description | Required |
---|---|---|---|
groupId | String | The ID of the group | True |
Related Response Codes
SUCC, GNFD
See detailed descriptions for response codes here
Check if Group Exists
curl -u "<apiKey>:<apiToken>" "<Your API 2.0 Endpoint>/groups/<groupId>/exists"
my_voiceit.group_exists("<groupId>")
myVoiceIt.groupExists("<groupId>");
myVoiceIt.groupExists("<groupId>")
myVoiceIt.CheckGroupExists("<groupId>")
myVoiceIt.checkGroupExists({
groupId : "<groupId>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.GroupExists("<groupId>");
<?php
$myVoiceIt->groupExists("<groupId>");
?>
$myVoiceIt->groupExists("<groupId>");
myVoiceIt.CheckGroupExists("<groupId>");
myVoiceIt.checkGroupExists("<groupId>")
&my_voiceit.check_group_exists(String::from("<groupId>")).unwrap();
The above command returns JSON structured like this:
{
"message": "Group with groupId : grp_4225f88a571f4bd790b51a91109bab88 exists",
"exists": true,
"status": 200,
"timeTaken": "0.001s",
"responseCode" : "SUCC"
}
This endpoint can be used to check the existence of the given group
HTTP Request
GET <Your API 2.0 Endpoint>/groups/<groupId>/exists
URL Parameters
Parameter | Type | Description | Required |
---|---|---|---|
groupId | String | The ID of the group | True |
Related Response Codes
SUCC
See detailed descriptions for response codes here
Create a Group
curl -u "<apiKey>:<apiToken>" -F "description=<description>" -X POST "<Your API 2.0 Endpoint>/groups"
my_voiceit.create_group("<description>")
myVoiceIt.createGroup("<description>");
myVoiceIt.createGroup("<description>")
myVoiceIt.CreateGroup("<description>")
myVoiceIt.createGroup({
description: "<description>")=>{
//handle response
});
myVoiceIt.CreateGroup("<description>");
<?php
$myVoiceIt->createGroup("<description>");
?>
$myVoiceIt->createGroup("<description>");
myVoiceIt.CreateGroup("<description>");
myVoiceIt.createGroup("<description>")
&my_voiceit.create_group(String::from("<description>")).unwrap();
The above command returns JSON structured like this:
{
"message": "Created group with groupId : grp_801e4d6dc1e941bf9165ba5c84bd94d2",
"description": "Family",
"groupId": "grp_801e4d6dc1e941bf9165ba5c84bd94d2",
"status": 201,
"createdAt" : 1487026658000,
"timeTaken": "0.011s",
"responseCode" : "SUCC"
}
This endpoint creates a new group in the system and returns its unique groupId
.
HTTP Request
POST <Your API 2.0 Endpoint>/groups
Request Parameters
Parameter | Type | Description | Required |
---|---|---|---|
description | String | An optional description help identify the group | False |
Related Response Codes
SUCC, MLOCK
See detailed descriptions for response codes here
Add User to Group
curl -u "<apiKey>:<apiToken>" \
-F "groupId=<groupId>" \
-F "userId=<userId>" \
-X PUT "<Your API 2.0 Endpoint>/groups/addUser"
my_voiceit.add_user_to_group("<groupId>", "<userId>")
myVoiceIt.addUserToGroup("<groupId>", "<userId>");
myVoiceIt.addUserToGroup("<groupId>", "<userId>")
myVoiceIt.AddUserToGroup("<groupId>", "<userId>")
myVoiceIt.addUserToGroup({
userId : "<userId>",
groupId : "<groupId>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.AddUserToGroup("<groupId>", "<userId>");
<?php
$myVoiceIt->addUserToGroup("<groupId>", "<userId>");
?>
$myVoiceIt->addUserToGroup("<groupId>", "<userId>");
myVoiceIt.AddUserToGroup("<groupId>", "<userId>");
myVoiceIt.addUserToGroup("<groupId>", "<userId>")
&my_voiceit.add_user_to_group(String::from("<groupId>", String::from("<userId>")).unwrap();
The above command returns JSON structured like this:
{
"message": "Successfully added user with userId : usr_49c98304252549239775e2b52a84006a to group with groupId : grp_801e4d6dc1e941bf9165ba5c84bd94d2",
"status": 200,
"timeTaken": "0.002s",
"responseCode" : "SUCC"
}
This endpoint associates the given user to the given group.
HTTP Request
PUT <Your API 2.0 Endpoint>/groups/addUser
Request Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The ID of the user | True |
groupId | String | The ID of the group | True |
Related Response Codes
SUCC, MISP, FAIL, GNFD, UNFD, MLOCK
See detailed descriptions for response codes here
Remove User from Group
curl -u "<apiKey>:<apiToken>" \
-F "groupId=<groupId>" \
-F "userId=<userId>" \
-X PUT "<Your API 2.0 Endpoint>/groups/removeUser"
my_voiceit.remove_user_from_group("<groupId>", "<userId>")
myVoiceIt.removeUserFromGroup("<groupId>", "<userId>");
myVoiceIt.removeUserFromGroup( "<groupId>", "<userId>")
myVoiceIt.RemoveUserFromGroup( "<groupId>", "<userId>")
myVoiceIt.removeUserFromGroup({
userId : "<userId>",
groupId : "<groupId>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.RemoveUserFromGroup( "<groupId>", "<userId>");
<?php
$myVoiceIt->removeUserFromGroup("<groupId>", "<userId>");
?>
$myVoiceIt->removeUserFromGroup("<groupId>", "<userId>");
myVoiceIt.RemoveUserFromGroup("<groupId>", "<userId>");
myVoiceIt.removeUserFromGroup("<groupId>", "<userId>")
&my_voiceit.remove_user_from_group(String::from("<groupId>", String::from("<userId>")).unwrap();
The above command returns JSON structured like this:
{
"message": "Successfully removed user usr_49c98304252549239775e2b52a84006a from group with groupId : grp_801e4d6dc1e941bf9165ba5c84bd94d2",
"status": 200,
"timeTaken": "0.002s",
"responseCode" : "SUCC"
}
This endpoint removes the association between the given user and the given group.
HTTP Request
PUT <Your API 2.0 Endpoint>/groups/removeUser
Request Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The ID of the user | True |
groupId | String | The ID of the group | True |
Related Response Codes
SUCC, MISP, FAIL, GNFD, UNFD, MLOCK
See detailed descriptions for response codes here
Delete a Specific Group
curl -u "<apiKey>:<apiToken>" -X DELETE "<Your API 2.0 Endpoint>/groups/<groupId>"
my_voiceit.delete_group("<groupId>")
myVoiceIt.deleteGroup("<groupId>");
myVoiceIt.deleteGroup("<groupId>")
myVoiceIt.DeleteGroup("<groupId>")
myVoiceIt.deleteGroup({
groupId : "<groupId>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.DeleteGroup("<groupId>");
<?php
$myVoiceIt->deleteGroup("<groupId>");
?>
$myVoiceIt->deleteGroup("<groupId>");
myVoiceIt.DeleteGroup("<groupId>");
myVoiceIt.deleteGroup("<groupId>")
&my_voiceit.delete_group(String::from("<groupId>").unwrap();
The above command returns JSON structured like this
{
"message": "Successfully deleted group with groupId : grp_801e4d6dc1e941bf9165ba5c84bd94d2",
"status": 200,
"timeTaken": "0.037s",
"responseCode":"SUCC"
}
This endpoint deletes the given group.
HTTP Request
DELETE <Your API 2.0 Endpoint>/groups/<groupId>
URL Parameters
Parameter | Type | Description | Required |
---|---|---|---|
groupId | String | The ID of the group | True |
Related Response Codes
SUCC, GNFD, MLOCK
See detailed descriptions for response codes here
Enrollments
Get All Voice Enrollments
curl -u "<apiKey>:<apiToken>" "<Your API 2.0 Endpoint>/enrollments/voice/<userId>"
my_voiceit.get_all_voice_enrollments("<userId>")
myVoiceIt.getAllVoiceEnrollments("<userId>");
myVoiceIt.getAllVoiceEnrollments("<userId>")
myVoiceIt.GetAllVoiceEnrollments("<userId>")
myVoiceIt.getAllVoiceEnrollments({
userId : "<userId>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.GetAllVoiceEnrollments("<userId>");
<?php
$myVoiceIt->getAllVoiceEnrollments("<userId>");
?>
$myVoiceIt->getAllVoiceEnrollments("<userId>");
myVoiceIt.GetAllVoiceEnrollments("<userId>");
myVoiceIt.getAllVoiceEnrollments("<userId>")
&my_voiceit.get_all_voice_enrollments(String::from("<userId>")).unwrap();
The above command returns JSON structured like this:
{
"message":"Successfully got all voice enrollments for user with userId : usr_feb6d1fcd80448628db8ec6a7ddb6322",
"count":2,
"status":200,
"timeTaken":"0.079s",
"voiceEnrollments": [
{
"createdAt": 1487026658003,
"contentLanguage": "en-US",
"voiceEnrollmentId": 73,
"text": "never forget tomorrow is a new day"
}, {
"createdAt": 1487026658000,
"contentLanguage": "en-US",
"voiceEnrollmentId": 79,
"text": "never forget tomorrow is a new day"
}
],
"responseCode":"SUCC"
}
This endpoint retrieves all the voice enrollments for a user.
HTTP Request
GET <Your API 2.0 Endpoint>/enrollments/voice/<userId>
URL Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The ID of the user | True |
Related Response Codes
SUCC, UNFD
See detailed descriptions for response codes here
Get All Face Enrollments
curl -u "<apiKey>:<apiToken>" "<Your API 2.0 Endpoint>/enrollments/face/<userId>"
my_voiceit.get_all_face_enrollments("<userId>")
myVoiceIt.getAllFaceEnrollments("<userId>");
myVoiceIt.getAllFaceEnrollments("<userId>")
myVoiceIt.GetAllFaceEnrollments("<userId>")
myVoiceIt.getAllFaceEnrollments({
userId : "<userId>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.GetAllFaceEnrollments("<userId>");
<?php
$myVoiceIt->getAllFaceEnrollments("<userId>");
?>
$myVoiceIt->getAllFaceEnrollments("<userId>");
myVoiceIt.GetAllFaceEnrollments("<userId>");
myVoiceIt.getAllFaceEnrollments("<userId>")
&my_voiceit.get_all_face_enrollments(String::from("<userId>")).unwrap();
The above command returns JSON structured like this:
{
"message":"Successfully got all face enrollments for user with userId : usr_feb6d1fcd80448628db8ec6a7ddb6322",
"count":2,
"status":200,
"timeTaken":"0.079s",
"faceEnrollments": [
{
"createdAt": 1486672854000,
"faceEnrollmentId": 23
}, {
"createdAt": 1487026658000,
"faceEnrollmentId": 45
}
],
"responseCode":"SUCC"
}
This endpoint retrieves all the face enrollments for a user.
HTTP Request
GET <Your API 2.0 Endpoint>/enrollments/face/<userId>
URL Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The ID of the user | True |
Related Response Codes
SUCC, UNFD
See detailed descriptions for response codes here
Get All Video Enrollments
curl -u "<apiKey>:<apiToken>" "<Your API 2.0 Endpoint>/enrollments/video/<userId>"
my_voiceit.get_all_video_enrollments("<userId>")
myVoiceIt.getAllVideoEnrollments("<userId>");
myVoiceIt.getAllVideoEnrollments("<userId>")
myVoiceIt.GetAllVideoEnrollments("<userId>")
myVoiceIt.getAllVideoEnrollments({
userId : "<userId>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.GetAllVideoEnrollments("<userId>");
<?php
$myVoiceIt->getAllVideoEnrollments("<userId>");
?>
$myVoiceIt->getAllVideoEnrollments("<userId>");
myVoiceIt.GetAllVideoEnrollments("<userId>");
myVoiceIt.getAllVideoEnrollments("<userId>")
&my_voiceit.get_all_video_enrollments(String::from("<userId>")).unwrap();
The above command returns JSON structured like this:
{
"message":"Successfully got all video enrollments for user with userId : usr_feb6d1fcd80448628db8ec6a7ddb6322",
"count":2,
"status":200,
"timeTaken":"0.079s",
"videoEnrollments": [
{
"createdAt": 1487026658003,
"contentLanguage": "en-US",
"videoEnrollmentId": 73,
"text": "never forget tomorrow is a new day"
}, {
"createdAt": 1487026658000,
"contentLanguage": "en-US",
"videoEnrollmentId": 79,
"text": "never forget tomorrow is a new day"
}
],
"responseCode":"SUCC"
}
This endpoint retrieves all the video enrollments for a user.
HTTP Request
GET <Your API 2.0 Endpoint>/enrollments/video/<userId>
URL Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The ID of the user | True |
Related Response Codes
SUCC, UNFD
See detailed descriptions for response codes here
Create Voice Enrollment
curl -u "<apiKey>:<apiToken>" -X POST \
-F "userId=<userId>" \
-F "contentLanguage=<contentLanguage>" \
-F "phrase=<phrase>" \
-F "recording=@<recording>" \
"<Your API 2.0 Endpoint>/enrollments/voice"
my_voiceit.create_voice_enrollment("<userId>", "<contentLanguage>", "<phrase>", "<recording>")
myVoiceIt.createVoiceEnrollment("<userId>", "<contentLanguage>", "<phrase>", <recording>);
myVoiceIt.createVoiceEnrollment("<userId>", "<contentLanguage>", "<phrase>", "<recording>")
myVoiceIt.CreateVoiceEnrollment("<userId>", "<contentLanguage>", "<phrase>", "<recording>")
myVoiceIt.createVoiceEnrollment({
userId : "<userId>",
contentLanguage : "<contentLanguage>",
phrase : "<phrase>",
audioFilePath : "<recording>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.CreateVoiceEnrollment("<userId>", "<contentLanguage>", "<phrase>", "<recording>");
<?php
$myVoiceIt->createVoiceEnrollment("<userId>", "<contentLanguage>", "<phrase>", "<recording>");
?>
$myVoiceIt->createVoiceEnrollment("<userId>", "<contentLanguage>", "<phrase>", "<recording>");
myVoiceIt.CreateVoiceEnrollment("<userId>", "<contentLanguage>", "<phrase>", "<recording>");
myVoiceIt.createVoiceEnrollment("<userId>", "<contentLanguage>", "<phrase>", "<recording>")
&my_voiceit.create_voice_enrollment(String::from("<userId>"), String::from("<contentLanguage>"), String::from("<phrase>"), String::from("<recording>"))
The above command returns JSON structured like this:
{
"message": "Successfully enrolled voice for user with userId : usr_49c98304252549239775e2b52a84006a",
"contentLanguage": "en-US",
"id": 57,
"status": 201,
"text": "never forget tomorrow is a new day",
"textConfidence": 100.00,
"createdAt": 1487026658000,
"timeTaken": "7.718s",
"responseCode" : "SUCC"
}
This endpoint creates a new voice enrollment in the system for the given user
HTTP Request
POST <Your API 2.0 Endpoint>/enrollments/voice
Request Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The ID of the user | True |
contentLanguage | String | Choose from a list of content language parameters | True |
phrase | String | The text of a valid phrase for the developer account | True |
recording | File / String | The binary audio data uploaded as a file. Some of our wrappers also accept the absolute path to the audio file | True |
Related Response Codes
SUCC, MISP, DDNE, IFAD, INCP, INPP, SRNR, SSTQ, SSTL, NEHSD, STTF, RWPU, UNFD, EMPF, MLOCK
See detailed descriptions for response codes here
Create Voice Enrollment by URL
curl -u "<apiKey>:<apiToken>" -X POST \
-F "userId=<userId>" \
-F "contentLanguage=<contentLanguage>" \
-F "phrase=<phrase>" \
-F "fileUrl=<fileUrl>" \
"<Your API 2.0 Endpoint>/enrollments/voice/byUrl"
my_voiceit.create_voice_enrollment_by_url("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
myVoiceIt.createVoiceEnrollmentByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
myVoiceIt.createVoiceEnrollmentByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
myVoiceIt.CreateVoiceEnrollmentByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
myVoiceIt.createVoiceEnrollmentByUrl({
userId : "<userId>",
contentLanguage : "<contentLanguage>",
phrase : "<phrase>",
audioFileURL : "<fileUrl>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.CreateVoiceEnrollmentByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
<?php
$myVoiceIt->createVoiceEnrollmentByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
?>
$myVoiceIt->createVoiceEnrollmentByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
myVoiceIt.CreateVoiceEnrollmentByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
myVoiceIt.createVoiceEnrollmentByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
&my_voiceit.create_voice_enrollment_by_url(String::from("<userId>"), String::from("<contentLanguage>"), String::from("<phrase>"), String::from("<fileUrl>"))
The above command returns JSON structured like this:
{
"message": "Successfully enrolled voice for user with userId : usr_49c98304252549239775e2b52a84006a",
"contentLanguage": "en-US",
"id": 57,
"status": 201,
"text": "never forget tomorrow is a new day",
"textConfidence": 100.00,
"createdAt": 1487026658000,
"timeTaken": "7.718s",
"responseCode" : "SUCC"
}
This endpoint creates a new voice enrollment in the system for the given user
HTTP Request
POST <Your API 2.0 Endpoint>/enrollments/voice/byUrl
Request Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The ID of the user | True |
contentLanguage | String | Choose from a list of content language parameters | True |
phrase | String | The text of a valid phrase for the developer account | True |
fileUrl | String | A fully qualified URL to the audio file to be used for enrollment | True |
Related Response Codes
SUCC, MISP, DDNE, IFAD, INCP, INPP, SRNR, SSTQ, SSTL, NEHSD, STTF, RWPU, UNFD, MLOCK
See detailed descriptions for response codes here
Create Face Enrollment
curl -u "<apiKey>:<apiToken>" -X POST \
-F "userId=<userId>" \
-F "video=@<video>" \
"<Your API 2.0 Endpoint>/enrollments/face"
my_voiceit.create_face_enrollment("<userId>", "<video>")
myVoiceIt.createFaceEnrollment("<userId>", "<video>");
myVoiceIt.createFaceEnrollment("<userId>", "<video>")
myVoiceIt.CreateFaceEnrollment("<userId>", "<video>")
myVoiceIt.createFaceEnrollment({
userId : "<userId>",
videoFilePath : "<video>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.CreateFaceEnrollment("<userId>", "<video>");
<?php
$myVoiceIt->createFaceEnrollment("<userId>", "<video>");
?>
$myVoiceIt->createFaceEnrollment("<userId>", "<video>");
myVoiceIt.CreateFaceEnrollment("<userId>", "<video>");
myVoiceIt.createFaceEnrollment("<userId>", "<video>")
&my_voiceit.create_face_enrollment(String::from("<userId>"), String::from("<video>"))
The above command returns JSON structured like this:
{
"message": "Successfully enrolled face for user with userId : usr_feb6d1fcd80448628db8ec6a7ddb6322",
"status": 201,
"timeTaken": "5.055s",
"faceEnrollmentId":34,
"createdAt": 1487026658000,
"responseCode":"SUCC"
}
This endpoint creates a new face enrollment in the system for the given user
HTTP Request
POST <Your API 2.0 Endpoint>/enrollments/face
Request Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The ID of the user | True |
video | File / String | The binary video data uploaded as a file. Some of our wrappers also accept the absolute path to the video file | True |
Related Response Codes
SUCC, MISP, FTMF, FNFD, UNFD, EMPF, MLOCK
See detailed descriptions for response codes here
Create Face Enrollment by URL
curl -u "<apiKey>:<apiToken>" -X POST \
-F "userId=<userId>" \
-F "fileUrl=<fileUrl>" \
"<Your API 2.0 Endpoint>/enrollments/face/byUrl"
my_voiceit.create_face_enrollment_by_url("<userId>", "<fileUrl>")
myVoiceIt.createFaceEnrollmentByUrl("<userId>", "<fileUrl>");
myVoiceIt.createFaceEnrollmentByUrl("<userId>", "<fileUrl>")
myVoiceIt.CreateFaceEnrollmentByUrl("<userId>", "<fileUrl>")
myVoiceIt.createFaceEnrollmentByUrl({
userId : "<userId>",
videoFileURL : "<fileUrl>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.CreateFaceEnrollmentByUrl("<userId>", "<fileUrl>");
<?php
$myVoiceIt->createFaceEnrollmentByUrl("<userId>", "<fileUrl>");
?>
$myVoiceIt->createFaceEnrollmentByUrl("<userId>", "<fileUrl>");
myVoiceIt.CreateFaceEnrollmentByUrl("<userId>", "<fileUrl>");
myVoiceIt.createFaceEnrollmentByUrl("<userId>", "<fileUrl>")
&my_voiceit.create_face_enrollment_by_url(String::from("<userId>"), String::from("<fileUrl>"))
The above command returns JSON structured like this:
{
"message": "Successfully enrolled face for user with userId : usr_feb6d1fcd80448628db8ec6a7ddb6322",
"status": 201,
"timeTaken": "5.055s",
"faceEnrollmentId":34,
"createdAt": 1487026658000,
"responseCode":"SUCC"
}
This endpoint creates a new face enrollment in the system for the given user
HTTP Request
POST <Your API 2.0 Endpoint>/enrollments/face/byUrl
Request Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The ID of the user | True |
fileUrl | String | A fully qualified url to the video file | True |
Related Response Codes
SUCC, MISP, DDNE, IFVD, FTMF, FNFD, UNFD, MLOCK
See detailed descriptions for response codes here
Create Video Enrollment
curl -u "<apiKey>:<apiToken>" -X POST \
-F "userId=<userId>" \
-F "contentLanguage=<contentLanguage>" \
-F "phrase=<phrase>" \
-F "doBlinkDetection=false" \
-F "video=@<video>" \
"<Your API 2.0 Endpoint>/enrollments/video"
my_voiceit.create_video_enrollment("<userId>", "<contentLanguage>", "<phrase>", "<video>")
myVoiceIt.createVideoEnrollment("<userId>", "<contentLanguage>", "<phrase>", "<video>");
myVoiceIt.createVideoEnrollment("<userId>", "<contentLanguage>", "<phrase>", "<video>")
myVoiceIt.CreateVideoEnrollment("<userId>", "<contentLanguage>", "<phrase>", "<video>")
myVoiceIt.createVideoEnrollment({
userId : "<userId>",
contentLanguage : "<contentLanguage>",
phrase : "<phrase>",
videoFilePath : "<video>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.CreateVideoEnrollment("<userId>", "<contentLanguage>", "<phrase>", "<video>");
<?php
$myVoiceIt->createVideoEnrollment("<userId>", "<contentLanguage>", "<phrase>", "<video>");
?>
$myVoiceIt->createVideoEnrollment("<userId>", "<contentLanguage>", "<phrase>", "<video>");
myVoiceIt.CreateVideoEnrollment("<userId>", "<contentLanguage>", "<phrase>", "<video>");
myVoiceIt.createVideoEnrollment("<userId>", "<contentLanguage>", "<phrase>", "<video>")
&my_voiceit.create_video_enrollment(String::from("<userId>"), String::from("<contentLanguage>"), String::from("<phrase>"), String::from("<video>"))
The above command returns JSON structured like this:
{
"message": "Successfully enrolled video for user with userId : usr_49c98304252549239775e2b52a84006a",
"contentLanguage": "en-US",
"id": 57,
"status": 201,
"text": "never forget tomorrow is a new day",
"textConfidence": 100.00,
"createdAt": 1487026658000,
"timeTaken": "4.718s",
"responseCode" : "SUCC"
}
This endpoint creates a new voice + face enrollment in the system for the given user
HTTP Request
POST <Your API 2.0 Endpoint>/enrollments/video
Request Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The ID of the user | True |
contentLanguage | String | Choose from a list of content language parameters | True |
phrase | String | The text of a valid phrase for the developer account | True |
video | File / String | The binary video data uploaded as a file. Some of our wrappers also accept the absolute path to the video file | True |
Related Response Codes
SUCC, MISP, DDNE, IFVD, INCP, INPP, SRNR, SSTQ, SSTL, NEHSD, STTF, RWPU, FTMF, FNFD, UNFD, EMPF, MLOCK
See detailed descriptions for response codes here
Create Video Enrollment by URL
curl -u "<apiKey>:<apiToken>" -X POST \
-F "userId=<userId>" \
-F "contentLanguage=<contentLanguage>" \
-F "phrase=<phrase>" \
-F "fileUrl=<fileUrl>" \
"<Your API 2.0 Endpoint>/enrollments/video/byUrl"
my_voiceit.create_video_enrollment_by_url("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
myVoiceIt.createVideoEnrollmentByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
myVoiceIt.createVideoEnrollmentByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
myVoiceIt.CreateVideoEnrollmentByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
myVoiceIt.createVideoEnrollmentByUrl({
userId : "<userId>",
contentLanguage : "<contentLanguage>",
phrase : "<phrase>",
videoFileURL : "<fileUrl>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.CreateVideoEnrollmentByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
<?php
$myVoiceIt->createVideoEnrollmentByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
?>
$myVoiceIt->createVideoEnrollmentByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
myVoiceIt.CreateVideoEnrollmentByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
myVoiceIt.createVideoEnrollmentByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
&my_voiceit.create_video_enrollment_by_url(String::from("<userId>"), String::from("<contentLanguage>"), String::from("<phrase>"), String::from("<fileUrl>"))
The above command returns JSON structured like this:
{
"message": "Successfully enrolled video for user with userId : usr_49c98304252549239775e2b52a84006a",
"contentLanguage": "en-US",
"id": 57,
"status": 201,
"text": "never forget tomorrow is a new day",
"textConfidence": 100.00,
"createdAt": 1487026658000,
"timeTaken": "7.718s",
"responseCode" : "SUCC"
}
This endpoint creates a new voice + face enrollment in the system for the given user
HTTP Request
POST <Your API 2.0 Endpoint>/enrollments/video/byUrl
Request Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The ID of the user | True |
contentLanguage | String | Choose from a list of content language parameters | True |
phrase | String | The text of a valid phrase for the developer account | True |
fileUrl | String | A fully qualified url to the video file | True |
Related Response Codes
SUCC, MISP, DDNE, IFVD, INCP, INPP, SRNR, SSTQ, SSTL, NEHSD, STTF, RWPU, FTMF, FNFD, UNFD, MLOCK
See detailed descriptions for response codes here
Delete All Enrollments
curl -u "<apiKey>:<apiToken>" -X DELETE "<Your API 2.0 Endpoint>/enrollments/<userId>/all"
my_voiceit.delete_all_enrollments("<userId>")
myVoiceIt.deleteAllEnrollments("<userId>");
myVoiceIt.deleteAllEnrollments("<userId>")
myVoiceIt.DeleteAllEnrollments("<userId>")
myVoiceIt.deleteAllEnrollments({
userId : "<userId>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.DeleteAllEnrollments("<userId>");
<?php
$myVoiceIt->deleteAllEnrollments("<userId>");
?>
$myVoiceIt->deleteAllEnrollments("<userId>");
myVoiceIt.DeleteAllEnrollments("<userId>");
myVoiceIt.deleteAllEnrollments("<userId>")
&my_voiceit.delete_all_enrollments(String::from("<userId>")).unwrap();
The above command returns JSON structured like this:
{
"message": "All enrollments for user with userId : usr_feb6d1fcd80448628db8ec6a7ddb6322 were deleted",
"responseCode": "SUCC",
"status": 200,
"timeTaken": "0.016s"
}
This endpoint deletes all enrollments for a given userId
.
HTTP Request
DELETE <Your API 2.0 Endpoint>/enrollments/<userId>/all
URL Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The ID of the user | True |
Related Response Codes
SUCC, MISP, UNFD, EMPF, MLOCK
See detailed descriptions for response codes here
Verification
Verify a User's Voice
curl -u "<apiKey>:<apiToken>" -X POST \
-F "userId=<userId>" \
-F "contentLanguage=<contentLanguage>" \
-F "phrase=<phrase>" \
-F "recording=@<recording>" \
"<Your API 2.0 Endpoint>/verification/voice"
my_voiceit.voice_verification("<userId>", "<contentLanguage>", "<phrase>", "<recording>")
myVoiceIt.voiceVerification("<userId>", "<contentLanguage>", "<phrase>", "<recording>");
myVoiceIt.voiceVerification("<userId>", "<contentLanguage>", "<phrase>", "<recording>")
myVoiceIt.VoiceVerification("<userId>", "<contentLanguage>", "<phrase>", "<recording>")
myVoiceIt.voiceVerification({
userId : "<userId>",
contentLanguage : "<contentLanguage>",
phrase : "<phrase>",
audioFilePath : "<recording>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.VoiceVerification("<userId>", "<contentLanguage>", "<phrase>", "<recording>");
<?php
$myVoiceIt->voiceVerification("<userId>", "<contentLanguage>", "<phrase>", "<recording>");
?>
$myVoiceIt->voiceVerification("<userId>", "<contentLanguage>", "<phrase>", "<recording>");
myVoiceIt.VoiceVerification("<userId>", "<contentLanguage>", "<phrase>", "<recording>");
myVoiceIt.voiceVerification("<userId>", "<contentLanguage>", "<phrase>", "<recording>")
&my_voiceit.voice_verification(String::from("<userId>"), String::from("<contentLanguage>"), String::from("<phrase>"), String::from("<recording>")).unwrap();
The above command returns JSON structured like this:
{
"message": "Successfully verified voice for user with userId : usr_feb6d1fcd80448628db8ec6a7ddb6322",
"status": 200,
"confidence": 94.0,
"text": "never forget tomorrow is a new day",
"textConfidence": 100,
"timeTaken": "6.055s",
"responseCode":"SUCC"
}
The confidence scale is dependent on user enrollment profiles and developer activity.
This endpoint verifies the voice of the user against their previous enrollments of the same phrase for the given userId
HTTP Request
POST <Your API 2.0 Endpoint>/verification/voice
Request Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The ID of the user | True |
contentLanguage | String | Choose from a list of content language parameters | True |
phrase | String | The text of a valid phrase for the developer account | True |
recording | File / String | The binary audio data uploaded as a file. Some of our wrappers also accept the absolute path to the audio file | True |
Related Response Codes
SUCC, FAIL, MISP, INCP, INPP, DDNE, IFAD, SRNR, SSTQ, SSTL, NEHSD, STTF, RWPU, UNFD, EMPF
See detailed descriptions for response codes here
Verify a User's Voice by URL
curl -u "<apiKey>:<apiToken>" -X POST \
-F "userId=<userId>" \
-F "contentLanguage=<contentLanguage>" \
-F "phrase=<phrase>" \
-F "fileUrl=<fileUrl>" \
"<Your API 2.0 Endpoint>/verification/voice/byUrl"
my_voiceit.voice_verification_by_url("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
myVoiceIt.voiceVerificationByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
myVoiceIt.voiceVerificationByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
myVoiceIt.VoiceVerificationByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
myVoiceIt.voiceVerificationByUrl({
userId : "<userId>",
contentLanguage : "<contentLanguage>",
phrase : "<phrase>",
audioFileURL : "<fileUrl>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.VoiceVerificationByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
<?php
$myVoiceIt->voiceVerificationByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
?>
$myVoiceIt->voiceVerificationByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
myVoiceIt.VoiceVerificationByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
myVoiceIt.voiceVerificationByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
&my_voiceit.voice_verification_by_url(String::from("<userId>"), String::from("<contentLanguage>"), String::from("<phrase>"), String::from("<fileUrl>")).unwrap();
The above command returns JSON structured like this:
{
"message": "Successfully verified voice for user with userId : usr_feb6d1fcd80448628db8ec6a7ddb6322",
"status": 200,
"confidence": 94.0,
"text": "never forget tomorrow is a new day",
"textConfidence": 100,
"timeTaken": "6.055s",
"responseCode":"SUCC"
}
The confidence scale is dependent on user enrollment profiles and developer activity.
This endpoint verifies the voice of the user against their previous enrollments of the same phrase for the given userId
HTTP Request
POST <Your API 2.0 Endpoint>/verification/voice/byUrl
Request Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The ID of the user | True |
contentLanguage | String | Choose from a list of content language parameters | True |
phrase | String | The text of a valid phrase for the developer account | True |
fileUrl | String | A fully qualified URL to the audio file to be used for voice verification | True |
Related Response Codes
SUCC, FAIL, MISP, INCP, INPP, DDNE, IFAD, SRNR, SSTQ, SSTL, NEHSD, STTF, RWPU, UNFD
See detailed descriptions for response codes here
Verify a User's Face
curl -u "<apiKey>:<apiToken>" -X POST \
-F "userId=<userId>" \
-F "video=@<video>" \
"<Your API 2.0 Endpoint>/verification/face"
my_voiceit.face_verification("<userId>", "<video>")
myVoiceIt.faceVerification("<userId>", "<video>");
myVoiceIt.faceVerification("<userId>", "<video>")
myVoiceIt.FaceVerification("<userId>", "<video>")
myVoiceIt.faceVerification({
userId : "<userId>",
videoFilePath : "<video>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.FaceVerification("<userId>", "<video>");
<?php
$myVoiceIt->faceVerification("<userId>", "<video>");
?>
$myVoiceIt->faceVerification("<userId>", "<video>");
myVoiceIt.FaceVerification("<userId>", "<video>");
myVoiceIt.faceVerification("<userId>", "<video>")
&my_voiceit.face_verification(String::from("<userId>"), String::from("<video>")).unwrap();
The above command returns JSON structured like this:
{
"message": "Successfully verified face for user with userId : usr_feb6d1fcd80448628db8ec6a7ddb6322",
"status": 200,
"faceConfidence": 94.0,
"timeTaken": "6.055s",
"responseCode":"SUCC"
}
This endpoint verifies the face of the user against previous enrollments for the given userId
HTTP Request
POST <Your API 2.0 Endpoint>/verification/face
Request Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The ID of the user | True |
video | File / String | The binary video data uploaded as a file. Some of our wrappers also accept the absolute path to the video file | True |
Related Response Codes
SUCC, FAIL, MISP, FNFD, FTMF, UNFD, EMPF
See detailed descriptions for response codes here
Verify a User's Face by URL
curl -u "<apiKey>:<apiToken>" -X POST \
-F "userId=<userId>" \
-F "fileUrl=<fileUrl>" \
"<Your API 2.0 Endpoint>/verification/face/byUrl"
my_voiceit.face_verification_by_url("<userId>", "<fileUrl>")
myVoiceIt.faceVerificationByUrl("<userId>", "<fileUrl>");
myVoiceIt.faceVerificationByUrl("<userId>", "<fileUrl>")
myVoiceIt.FaceVerificationByUrl("<userId>", "<fileUrl>")
myVoiceIt.faceVerificationByUrl({
userId : "<userId>",
videoFileURL : "<fileUrl>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.FaceVerificationByUrl("<userId>", "<fileUrl>");
<?php
$myVoiceIt->faceVerificationByUrl("<userId>", "<fileUrl>");
?>
$myVoiceIt->faceVerificationByUrl("<userId>", "<fileUrl>");
myVoiceIt.FaceVerificationByUrl("<userId>", "<fileUrl>");
myVoiceIt.faceVerificationByUrl("<userId>", "<fileUrl>")
&my_voiceit.face_verification_by_url(String::from("<userId>"), String::from("<fileUrl>")).unwrap();
The above command returns JSON structured like this:
{
"message": "Successfully verified face for user with userId : usr_feb6d1fcd80448628db8ec6a7ddb6322",
"status": 200,
"faceConfidence": 94.0,
"timeTaken": "6.055s",
"responseCode":"SUCC"
}
This endpoint verifies the face and voice of the user against their previous enrollments of the same phrase for the given userId
HTTP Request
POST <Your API 2.0 Endpoint>/verification/face/byUrl
Request Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The ID of the user | True |
fileUrl | String | A fully qualified url to the video file | True |
Related Response Codes
SUCC, FAIL, MISP, DDNE, IFVD, FTMF, FNFD
See detailed descriptions for response codes here
Verify a User's Voice & Face
curl -u "<apiKey>:<apiToken>" -X POST \
-F "userId=<userId>" \
-F "contentLanguage=<contentLanguage>" \
-F "phrase=<phrase>" \
-F "video=@<video>" \
"<Your API 2.0 Endpoint>/verification/video"
my_voiceit.video_verification("<userId>", "<contentLanguage>", "<phrase>", "<video>")
myVoiceIt.videoVerification("<userId>", "<contentLanguage>", "<phrase>", "<video>");
myVoiceIt.videoVerification("<userId>", "<contentLanguage>", "<phrase>", "<video>")
myVoiceIt.VideoVerification("<userId>", "<contentLanguage>", "<phrase>", "<video>")
myVoiceIt.videoVerification({
userId : "<userId>",
contentLanguage : "<contentLanguage>",
phrase : "<phrase>",
videoFilePath : "<video>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.VideoVerification("<userId>", "<contentLanguage>", "<phrase>", "<video>");
<?php
$myVoiceIt->videoVerification("<userId>", "<contentLanguage>", "<phrase>", "<video>");
?>
$myVoiceIt->videoVerification("<userId>", "<contentLanguage>", "<phrase>", "<video>");
myVoiceIt.VideoVerification("<userId>", "<contentLanguage>", "<phrase>", "<video>", true);
myVoiceIt.videoVerification("<userId>", "<contentLanguage>", "<phrase>", "<video>")
&my_voiceit.video_verification(String::from("<userId>"), String::from("<contentLanguage>"), String::from("<phrase>"), String::from("<video>")).unwrap();
The above command returns JSON structured like this:
{
"message": "Successfully verified video user with userId : usr_feb6d1fcd80448628db8ec6a7ddb6322",
"status": 200,
"voiceConfidence": 93.00,
"faceConfidence": 94.0,
"text" : "never forget tomorrow is a new day",
"textConfidence" : 100.00,
"timeTaken": "8.055s",
"responseCode":"SUCC"
}
This endpoint verifies the face and voice of the user against a their previous enrollments of the same phrase for the given userId
HTTP Request
POST <Your API 2.0 Endpoint>/verification/video
Request Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The ID of the user | True |
contentLanguage | String | Choose from a list of content language parameters | True |
phrase | String | The text of a valid phrase for the developer account | True |
video | File / String | The binary video data uploaded as a file. Some of our wrappers also accept the absolute path to the video file | True |
Related Response Codes
SUCC, FAIL, MISP, INCP, INPP, DDNE, IFVD, SRNR, SSTQ, SSTL, NEHSD, STTF, RWPU, FTMF, FNFD, EMPF
See detailed descriptions for response codes here
Verify a User's Voice & Face by URL
curl -u "<apiKey>:<apiToken>" -X POST \
-F "userId=<userId>" \
-F "contentLanguage=<contentLanguage>" \
-F "phrase=<phrase>" \
-F "fileUrl=<fileUrl>" \
"<Your API 2.0 Endpoint>/verification/video/byUrl"
my_voiceit.video_verification_by_url("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
myVoiceIt.videoVerificationByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
myVoiceIt.videoVerificationByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
myVoiceIt.VideoVerificationByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
myVoiceIt.videoVerificationByUrl({
userId : "<userId>",
contentLanguage : "<contentLanguage>",
phrase : "<phrase>",
videoFileURL : "<fileUrl>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.VideoVerificationByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
<?php
$myVoiceIt->videoVerificationByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
?>
$myVoiceIt->videoVerificationByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
myVoiceIt.VideoVerificationByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
myVoiceIt.videoVerificationByUrl("<userId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
&my_voiceit.video_verification_by_url(String::from("<userId>"), String::from("<contentLanguage>"), String::from("<phrase>"), String::from("<fileUrl>")).unwrap();
The above command returns JSON structured like this:
{
"message": "Successfully verified video user with userId : usr_feb6d1fcd80448628db8ec6a7ddb6322",
"status": 200,
"voiceConfidence": 93.00,
"faceConfidence": 94.0,
"text" : "never forget tomorrow is a new day",
"textConfidence" : 100.00,
"timeTaken": "8.055s",
"responseCode":"SUCC"
}
This endpoint verifies the face and voice of the user against a their previous enrollments of the same phrase for the given userId
HTTP Request
POST <Your API 2.0 Endpoint>/verification/video/byUrl
Request Parameters
Parameter | Type | Description | Required |
---|---|---|---|
userId | String | The ID of the user | True |
contentLanguage | String | Choose from a list of content language parameters | True |
phrase | String | The text of a valid phrase for the developer account | True |
fileUrl | String | A fully qualified url to the video file | True |
Related Response Codes
SUCC, FAIL, MISP, INCP, INPP, DDNE, IFVD, SRNR, SSTQ, SSTL, NEHSD, STTF, RWPU, FTMF, FNFD
See detailed descriptions for response codes here
Identification
Identify a User's Voice
curl -u "<apiKey>:<apiToken>" -X POST \
-F "groupId=<groupId>" \
-F "contentLanguage=<contentLanguage>" \
-F "phrase=<phrase>" \
-F "recording=@<recording>" \
"<Your API 2.0 Endpoint>/identification/voice"
my_voiceit.voice_identification("<groupId>", "<contentLanguage>", "<phrase>", "<recording>")
myVoiceIt.voiceIdentification("<groupId>", "<contentLanguage>", "<phrase>", "<recording>");
myVoiceIt.voiceIdentification("<groupId>", "<contentLanguage>", "<phrase>", "<recording>")
myVoiceIt.VoiceIdentification("<groupId>", "<contentLanguage>", "<phrase>", "<recording>")
myVoiceIt.voiceIdentification({
groupId : "<groupId>",
contentLanguage : "<contentLanguage>",
phrase : "<phrase>",
audioFilePath : "<recording>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.VoiceIdentification("<groupId>", "<contentLanguage>", "<phrase>", "<recording>");
<?php
$myVoiceIt->voiceIdentification("<groupId>", "<contentLanguage>", "<phrase>", "<recording>");
?>
$myVoiceIt->voiceIdentification("<groupId>", "<contentLanguage>", "<phrase>", "<recording>");
myVoiceIt.VoiceIdentification("<groupId>", "<contentLanguage>", "<phrase>", "<recording>");
myVoiceIt.voiceIdentification("<groupId>", "<contentLanguage>", "<phrase>", "<recording>")
&my_voiceit.voice_identification(String::from("<groupId>"), String::from("<contentLanguage>"), String::from("<phrase>"), String::from("<recording>")).unwrap();
The above command returns JSON structured like this:
{
"message": "Successfully identified voice for user with userId : usr_49c98304252549239775e2b52a84006a in group with groupId : grp_801e4d6dc1e941bf9165ba5c84bd94d2",
"userId": "usr_49c98304252549239775e2b52a84006a",
"groupId": "grp_801e4d6dc1e941bf9165ba5c84bd94d2",
"confidence": 96.00,
"status": 200,
"text": "never forget tomorrow is a new day",
"textConfidence": 100.00,
"timeTaken": "9.969s",
"responseCode":"SUCC"
}
The confidence scale is dependent on user enrollment profiles and developer activity.
This endpoint identifies the voice of the user amongst other users in the given group
HTTP Request
POST <Your API 2.0 Endpoint>/identification/voice
Request Parameters
Parameter | Type | Description | Required |
---|---|---|---|
groupId | String | The ID of the group | True |
contentLanguage | String | Choose from a list of content language parameters | True |
phrase | String | The text of a valid phrase for the developer account | True |
recording | File / String | The binary audio data uploaded as a file. Some of our wrappers also accept the absolute path to the audio file | True |
Related Response Codes
SUCC, FAIL, MISP, INCP, INPP, DDNE, IFAD, SRNR, SSTQ, SSTL, NEHSD, STTF, RWPU, GNFD, EMPF
See detailed descriptions for response codes here
Identify a User's Voice by URL
curl -u "<apiKey>:<apiToken>" -X POST \
-F "groupId=<groupId>" \
-F "contentLanguage=<contentLanguage>" \
-F "phrase=<phrase>" \
-F "fileUrl=<fileUrl>" \
"<Your API 2.0 Endpoint>/identification/voice/byUrl"
my_voiceit.voice_identification_by_url("<groupId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
myVoiceIt.voiceIdentificationByUrl("<groupId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
myVoiceIt.voiceIdentificationByUrl("<groupId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
myVoiceIt.VoiceIdentificationByUrl("<groupId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
myVoiceIt.voiceIdentificationByUrl({
groupId : "<groupId>",
contentLanguage : "<contentLanguage>",
phrase : "<phrase>",
audioFileURL : "<fileUrl>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.VoiceIdentificationByUrl("<groupId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
<?php
$myVoiceIt->voiceIdentificationByUrl("<groupId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
?>
$myVoiceIt->voiceIdentificationByUrl("<groupId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
myVoiceIt.VoiceIdentificationByUrl("<groupId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
myVoiceIt.voiceIdentificationByUrl("<groupId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
&my_voiceit.voice_identification_by_url(String::from("<groupId>"), String::from("<contentLanguage>"), String::from("<phrase>"), String::from("<fileUrl>")).unwrap();
The above command returns JSON structured like this:
{
"message": "Successfully identified voice for user with userId : usr_49c98304252549239775e2b52a84006a in group with groupId : grp_801e4d6dc1e941bf9165ba5c84bd94d2",
"userId": "usr_49c98304252549239775e2b52a84006a",
"groupId": "grp_801e4d6dc1e941bf9165ba5c84bd94d2",
"confidence": 96.00,
"status": 200,
"text": "never forget tomorrow is a new day",
"textConfidence": 100.00,
"timeTaken": "9.969s",
"responseCode":"SUCC"
}
The confidence scale is dependent on user enrollment profiles and developer activity.
This endpoint identifies the voice of the user amongst other users in the given group
HTTP Request
POST <Your API 2.0 Endpoint>/identification/voice/byUrl
Request Parameters
Parameter | Type | Description | Required |
---|---|---|---|
groupId | String | The ID of the group | True |
contentLanguage | String | Choose from a list of content language parameters | True |
phrase | String | The text of a valid phrase for the developer account | True |
fileUrl | String | A fully qualified URL to the audio file to be used for voice verification | True |
Related Response Codes
SUCC, FAIL, MISP, INCP, INPP, DDNE, IFAD, SRNR, SSTQ, SSTL, NEHSD, STTF, RWPU, GNFD
See detailed descriptions for response codes here
Identify a User's Voice & Face
curl -u "<apiKey>:<apiToken>" -X POST \
-F "groupId=<groupId>" \
-F "contentLanguage=<contentLanguage>" \
-F "phrase=<phrase>" \
-F "video=@<video>" \
"<Your API 2.0 Endpoint>/identification/video"
my_voiceit.video_identification("<groupId>", "<contentLanguage>", "<phrase>", "<video>")
myVoiceIt.videoIdentification("<groupId>", "<contentLanguage>", "<phrase>", "<video>");
myVoiceIt.videoIdentification("<groupId>", "<contentLanguage>", "<phrase>", "<video>")
myVoiceIt.VideoIdentification("<groupId>", "<contentLanguage>", "<phrase>", "<video>")
myVoiceIt.videoIdentification({
groupId : "<groupId>",
contentLanguage : "<contentLanguage>",
phrase : "<phrase>",
videoFilePath : "<video>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.VideoIdentification("<groupId>", "<contentLanguage>", "<phrase>", "<video>");
<?php
$myVoiceIt->videoIdentification("<groupId>", "<contentLanguage>", "<phrase>", "<video>");
?>
$myVoiceIt->videoIdentification("<groupId>", "<contentLanguage>", "<phrase>", "<video>");
myVoiceIt.VideoIdentification("<groupId>", "<contentLanguage>", "<phrase>", "<video>");
myVoiceIt.videoIdentification("<groupId>", "<contentLanguage>", "<phrase>", "<video>")
&my_voiceit.video_identification(String::from("<groupId>"), String::from("<contentLanguage>"), String::from("<phrase>"), String::from("<video>")).unwrap();
The above command returns JSON structured like this:
{
"message": "Successfully identified video for user with userId : usr_49c98304252549239775e2b52a84006a in group with groupId : grp_801e4d6dc1e941bf9165ba5c84bd94d2",
"userId": "usr_49c98304252549239775e2b52a84006a",
"groupId": "grp_801e4d6dc1e941bf9165ba5c84bd94d2",
"status": 200,
"voiceConfidence": 93.00,
"faceConfidence": 94.0,
"text" : "never forget tomorrow is a new day",
"textConfidence" : 100.00,
"timeTaken": "8.055s",
"responseCode":"SUCC"
}
This endpoint identifies the face and voice of the user amongst other users in the given group
HTTP Request
POST <Your API 2.0 Endpoint>/identification/video
Request Parameters
Parameter | Type | Description | Required |
---|---|---|---|
groupId | String | The ID of the group | True |
contentLanguage | String | Choose from a list of content language parameters | True |
phrase | String | The text of a valid phrase for the developer account | True |
video | File / String | The binary video data uploaded as a file. Some of our wrappers accept the absolute path to the video file | True |
Related Response Codes
SUCC, FAIL, MISP, INCP, INPP, DDNE, IFVD, SRNR, SSTQ, SSTL, NEHSD, STTF, RWPU, FTMF, FNFD, GNFD, EMPF
See detailed descriptions for response codes here
Identify a User's Voice & Face by URL
curl -u "<apiKey>:<apiToken>" -X POST \
-F "groupId=<groupId>" \
-F "contentLanguage=<contentLanguage>" \
-F "phrase=<phrase>" \
-F "fileUrl=<fileUrl>" \
"<Your API 2.0 Endpoint>/identification/video/byUrl"
my_voiceit.video_identification_by_url("<groupId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
myVoiceIt.videoIdentificationByUrl("<groupId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
myVoiceIt.videoIdentificationByUrl("<groupId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
myVoiceIt.VideoIdentificationByUrl("<groupId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
myVoiceIt.videoIdentificationByUrl({
groupId : "<groupId>",
contentLanguage : "<contentLanguage>",
phrase : "<phrase>",
videoFileURL : "<fileUrl>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.VideoIdentificationByUrl("<groupId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
<?php
$myVoiceIt->videoIdentificationByUrl("<groupId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
?>
$myVoiceIt->videoIdentificationByUrl("<groupId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
myVoiceIt.VideoIdentificationByUrl("<groupId>", "<contentLanguage>", "<phrase>", "<fileUrl>");
myVoiceIt.videoIdentificationByUrl("<groupId>", "<contentLanguage>", "<phrase>", "<fileUrl>")
&my_voiceit.video_identification_by_url(String::from("<groupId>"), String::from("<contentLanguage>"), String::from("<phrase>"), String::from("<fileUrl>")).unwrap();
The above command returns JSON structured like this:
{
"message": "Successfully identified video for user with userId : usr_49c98304252549239775e2b52a84006a in group with groupId : grp_801e4d6dc1e941bf9165ba5c84bd94d2",
"userId": "usr_49c98304252549239775e2b52a84006a",
"groupId": "grp_801e4d6dc1e941bf9165ba5c84bd94d2",
"status": 200,
"voiceConfidence": 93.00,
"faceConfidence": 94.0,
"text" : "never forget tomorrow is a new day",
"textConfidence" : 100.00,
"timeTaken": "8.055s",
"responseCode":"SUCC"
}
This endpoint identifies the face and voice of the user amongst other users in the given group
HTTP Request
POST <Your API 2.0 Endpoint>/identification/video/byUrl
Request Parameters
Parameter | Type | Description | Required |
---|---|---|---|
groupId | String | The ID of the group | True |
contentLanguage | String | Choose from a list of content language parameters | True |
phrase | String | The text of a valid phrase for the developer account | True |
fileUrl | String | A fully qualified url to the video file | True |
Related Response Codes
SUCC, FAIL, MISP, INCP, INPP, DDNE, IFVD, SRNR, SSTQ, SSTL, NEHSD, STTF, RWPU, FTMF, FNFD, GNFD
See detailed descriptions for response codes here
See detailed descriptions for response codes here
Risk Thresholds
We have modeled Risk Thresholds for video (face + voice biometrics) to allow for extended usability in low-quality audio or visual surroundings.
Liveness Detection (available in the Android, iOS, and Web SDKs) is a key variable used in the calculation of Risk Thresholds.
When Liveness Detection is enabled, we are able to lower the Risk Thresholds as the risk of a replay attack is exponentially lower.
Other variables used to calculate Risk Thresholds include, but are not limited to: use case, confidence settings, channels used, etc...
Replay Attacks
Replay attacks are spoofing attempts that seek to gain unauthroized access by providing direct copies of media files that have been previously used for a successful authentication.
Liveness detection is a feature that can be used before face and video verification/identification that increases protection against such an attack. It works by prompting the end user for randomized actions such as turning their head or smiling. This feature is directly built into our Android SDK, iOS SDK, and Web SDK.
Sub-Accounts
Create a Managed Sub-Account
curl -u "<apiKey>:<apiToken>" -X POST -F "firstName=<firstName>" -F "lastName=<lastName>" -F "email=<email>" -F "contentLanguage=<contentLanguage>" "<Your API 2.0 Endpoint>/subaccount/managed"
my_voiceit.create_managed_sub_account("<firstName>", "<lastName>", "<email>", "<password>", "<contentLanguage>")
myVoiceIt.createManagedSubAccount("<firstName>", "<lastName>", "<email>", "<password>", "<contentLanguage>");
myVoiceIt.createManagedSubAccount("<firstName>", "<lastName>", "<email>", "<password>", "<contentLanguage>")
myVoiceIt.CreateManagedSubAccount(structs.CreateSubAccountRequest{})
myVoiceIt.createManagedSubAccount({
firstName: '<firstName>',
contentLanguage: '<contentLanguage>',
lastName: '<lastName>',
email: '<email>',
password: '<password>',
}, (jsonResponse)=>{
//handle response
});
myVoiceIt.CreateManagedSubAccount("<firstName>", "<lastName>", "<email>", "<password>", "<contentLanguage>");
<?php
$myVoiceIt->createManagedSubAccount('<firstName>', '<lastName>', '<email>', '<password>', '<contentLanguage>');
?>
$myVoiceIt->createManagedSubAccount('<firstName>', '<lastName>', '<email>', '<password>', '<contentLanguage>');
myVoiceIt.CreateManagedSubAccount("<firstName>", "<lastName>", "<email>", "<password>", "<contentLanguage>");
myVoiceIt.createManagedSubAccount("<firstName>", "<lastName>", "<email>", "<password>", "<contentLanguage>")
&my_voiceit.create_managed_sub_account().unwrap("<firstName>", "<lastName>", "<email>", "<password>", "<contentLanguage>);
The above command returns JSON structured like this:
{
"timeTaken": "0.070s",
"password": "<sub-account password>",
"apiToken": "<sub-account API token>",
"apiKey": "<sub-account API key>",
"emailValidationRequired": false,
"contentLanguage": "<contentLanguage>",
"type": "managed",
"message": "Created new managed developer sub-account with apiKey : key_f495ce605b58404b93cc491c7d6fe44d",
"email": "<email>",
"reactivated": false,
"responseCode": "SUCC",
"status": 201
}
This endpoint creates a managed sub-account. All of the managed sub-account calls are billed through its master account. Premium features will available to the sub-account if the master account has the funds to cover it.
Note, all arguments are optional. If left blank, VoiceIt will generate values for email
, password
, firstName
and lastName
using a secure pseudorandom algorithm. Pass arguments you do not want to define as empty strings.
HTTP Request
POST <Your API 2.0 Endpoint>/subaccount/managed
Parameters
No additional parameters needed for this request, just basic access authentication and a POST request to the end point.
Related Response Codes
SUCC, EAEX
See detailed descriptions for response codes here
Create an Unmanaged Sub-Account
curl -u "<apiKey>:<apiToken>" -X POST -F "firstName=<firstName>" -F "lastName=<lastName>" -F "email=<email>" -F "contentLanguage=<contentLanguage>" "<Your API 2.0 Endpoint>/subaccount/unmanaged"
my_voiceit.create_unmanaged_sub_account("<firstName>", "<lastName>", "<email>", "<password>", "<contentLanguage>")
myVoiceIt.createUnmanagedSubAccount("<firstName>", "<lastName>", "<email>", "<password>", "<contentLanguage>");
myVoiceIt.createUnmanagedSubAccount("<firstName>", "<lastName>", "<email>", "<password>", "<contentLanguage>")
myVoiceIt.CreateUnmanagedSubAccount(structs.CreateSubAccountRequest{})
myVoiceIt.createUnmanagedSubAccount({
firstName: '<firstName>',
contentLanguage: '<contentLanguage>',
lastName: '<lastName>',
email: '<email>',
password: '<password>',
}, (jsonResponse)=>{
//handle response
});
myVoiceIt.CreateUnmanagedSubAccount("<firstName>", "<lastName>", "<email>", "<password>", "<contentLanguage>");
<?php
$myVoiceIt->createUnmanagedSubAccount('<firstName>', '<lastName>', '<email>', '<password>', '<contentLanguage>');
?>
$myVoiceIt->createUnmanagedSubAccount('<firstName>', '<lastName>', '<email>', '<password>', '<contentLanguage>');
myVoiceIt.CreateUnmanagedSubAccount("<firstName>", "<lastName>", "<email>", "<password>", "<contentLanguage>");
myVoiceIt.createUnmanagedSubAccount("<firstName>", "<lastName>", "<email>", "<password>", "<contentLanguage>")
&my_voiceit.create_unmanaged_sub_account().unwrap("<firstName>", "<lastName>", "<email>", "<password>", "<contentLanguage>);
The above command returns JSON structured like this:
{
"timeTaken": "0.070s",
"password": "<sub-account password>",
"apiToken": "<sub-account API token>",
"apiKey": "<sub-account API key>",
"emailValidationRequired": false,
"contentLanguage": "<contentLanguage>",
"type": "managed",
"message": "Created new unmanaged developer sub-account with apiKey : key_f495ce605b58404b93cc491c7d6fe44d",
"email": "<email>",
"reactivated": false,
"responseCode": "SUCC",
"status": 201
}
This endpoint creates an unmanaged sub-account. Unmanaged sub-account calls are billed to their own accounts. Unmanage sub-accounts will to contact VoiceIt Support to enable account services and add funds in order to access premium features.
Note, all arguments are optional. If left blank, VoiceIt will generate values for email
, password
, firstName
and lastName
using a secure pseudorandom algorithm. Pass arguments you do not want to define as empty strings.
HTTP Request
POST <Your API 2.0 Endpoint>/subaccount/unmanaged
Parameters
No additional parameters needed for this request, just basic access authentication and a POST request to the end point.
Related Response Codes
SUCC, EAEX
See detailed descriptions for response codes here
Switch Sub-Account Type
curl -u "<apiKey>:<apiToken>" -X POST "<Your API 2.0 Endpoint>/subaccount/<subAccountApiKey>/switchType"
my_voiceit.switch_sub_account_type("<subAccountApiKey>")
myVoiceIt.switchSubAccountType("<subAccountApiKey>");
myVoiceIt.switchSubAccountType("<subAccountApiKey>")
myVoiceIt.SwitchSubAccountType("<subAccountApiKey>")
myVoiceIt.switchSubAccountType({
subAccountApiKey :"<subAccountApiKey>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.SwitchSubAccountType("<subAccountApiKey>");
<?php
$myVoiceIt->switchSubAccountType("<subAccountApiKey>");
?>
$myVoiceIt->switchSubAccountType("<subAccountApiKey>");
myVoiceIt.SwitchSubAccountType("<subAccountApiKey>");
myVoiceIt.switchSubAccountType("<subAccountApiKey>")
&my_voiceit.switch_sub_account_type(String::from("<subAccountApiKey>")).unwrap();
The above command returns JSON structured like this:
{
"message": "Switched developer sub-account with apiKey : key_f495ce605b58404b93cc491c7d6fe44d to <managed | unmanaged>",
"timeTaken": "0.070s",
"responseCode": "SUCC",
"status": 201
}
This endpoint makes unmanaged sub-accounts managed, and managed sub-accounts unmanaged
HTTP Request
POST "<Your API 2.0 Endpoint>/subaccount/<subAccountApiKey>/switchType
Parameters
Parameter | Type | Description | Required |
---|---|---|---|
subAccountApiKey | String | The API Key of the account | True |
Related Response Codes
SUCC
See detailed descriptions for response codes here
Delete a Specific Sub Account
curl -u "<apiKey>:<apiToken>" -X DELETE "<Your API 2.0 Endpoint>/subaccount/<subAccountApiKey>"
my_voiceit.delete_sub_account("<subAccountApiKey>")
myVoiceIt.deleteSubAccount("<subAccountApiKey>");
myVoiceIt.deleteSubAccount("<subAccountApiKey>")
myVoiceIt.DeleteSubAccount("<subAccountApiKey>")
myVoiceIt.deleteSubAccount({
subAccountApiKey :"<subAccountApiKey>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.DeleteSubAccount("<subAccountApiKey>");
<?php
$myVoiceIt->deleteSubAccount("<subAccountApiKey>");
?>
$myVoiceIt->deleteSubAccount("<subAccountApiKey>");
myVoiceIt.DeleteSubAccount("<subAccountApiKey>");
myVoiceIt.deleteSubAccount("<subAccountApiKey>")
&my_voiceit.delete_subaccount(String::from("<subAccountApiKey>")).unwrap();
The above command returns JSON structured like this:
{
"message": "Deleted developer sub-account with apiKey : key_f495ce605b58404b93cc491c7d6fe44d",
"status": 200,
"timeTaken": "0.037s",
"responseCode":"SUCC"
}
This endpoint deletes the given sub-account.
HTTP Request
DELETE <Your API 2.0 Endpoint>/subaccount/<subAccountApiKey>
URL Parameters
Parameter | Type | Description | Required |
---|---|---|---|
subAccountApiKey | String | The API key of the sub-account | True |
Related Response Codes
SUCC, SANF
See detailed descriptions for response codes here
Regenerate Sub Account API Token
curl -u "<apiKey>:<apiToken>" -X POST "<Your API 2.0 Endpoint>/sub-account/<subAccountApiKey>"
my_voiceit.regenerate_sub_account_api_token("<subAccountApiKey>")
myVoiceIt.regenerateSubAccountAPIToken("<subAccountApiKey>");
myVoiceIt.regenerateSubAccountAPIToken("<subAccountApiKey>")
myVoiceIt.RegenerateSubAccountAPIToken("<subAccountApiKey>")
myVoiceIt.regenerateSubAccountAPIToken({
subAccountApiKey :"<subAccountApiKey>"
},(jsonResponse)=>{
//handle response
});
myVoiceIt.RegenerateSubAccountAPIToken("<subAccountApiKey>");
<?php
$myVoiceIt->regenerateSubAccountAPIToken("<subAccountApiKey>");
?>
$myVoiceIt->regenerateSubAccountAPIToken("<subAccountApiKey>");
myVoiceIt.RegenerateSubAccountAPIToken("<subAccountApiKey>");
myVoiceIt.regenerateSubAccountAPIToken("<subAccountApiKey>")
&my_voiceit.regenerate_sub_account_api_token(String::from("<subAccountApiKey>")).unwrap();
The above command returns JSON structured like this:
{
"timeTaken": "0.070s",
"message": "Regenerated apiToken : <subAccountApiToken> for developer sub-account with apiKey : <subAccountApiKey>",
"responseCode": "SUCC",
"status": 201
}
This endpoint creates a new API Token for a given sub-account.
HTTP Request
POST <Your API 2.0 Endpoint>/sub-account/<subAccountApiKey>
Parameters
Parameter | Type | Description | Required |
---|---|---|---|
subAccountApiKey | String | The API key of the sub-account | True |
Related Response Codes
SUCC
See detailed descriptions for response codes here
Media File Formatting
For better accuracy, please do not process or alter original files before sending them, and make sure the bitrate across channels is the same. Visit opus-codec.org for more information about bitrates.
Note: Very high quality video increases the processing time of API calls.
Voice
Audio files should have a fixed length of 5 seconds, with the user beginning to speak after 500 milliseconds. Any recording that is over 5 seconds in length will result with the response code SRNR (sound recording does not meet requirements) and will be automatically rejected. This is used to capture background noise from the beginning and end of the audio clip that is utilized for noise profiling. We recommend PCM or lossless codecs such as FLAC.
Do not trim the audio before sending. Our engines need at least 500 milliseconds of padding to work their magic.
Sending an audio file longer than 5 seconds will result in the response code SRNR
.
Face
Video files should contain a 2 second video of the user facing the camera. We recommend faces being prominent and centered in the video frame for a higher level of accuracy. We recommend mp4 formatted video.
Video (Voice + Face)
Video files should have a fixed length of 5 seconds, with the user beginning to speak after 500 milliseconds. This is used to capture background noise from the beginning and end of the audio clip that is utilized for noise profiling. We recommend faces being prominent and centered in the video frame for a higher level of accuracy. We recommend mp4 formatted video.
File Size Limitations
Filetype | Limit |
---|---|
Audio | 2.5 MB |
Images | 2.5 MB |
Video | 10 MB |
Content Languages
The VoiceIt Voice and Video Enrollment/Verification/Identification API calls allow you to pass any of the following supported content language parameters:
Content Languages without upcharge
Free Tier Content Language | Language |
---|---|
No Speech To Text | no-STT |
Content Languages with upcharge.
Content Language | Language |
---|---|
Afrikaans (South Africa) | af-ZA |
Amharic (Ethiopia) | am-ET |
Arabic (United Arab Emirates) | ar-AE |
Arabic (Bahrain) | ar-BH |
Arabic (Algeria) | ar-DZ |
Arabic (Egypt) | ar-EG |
Arabic (Israel) | ar-IL |
Arabic (Iraq) | ar-IQ |
Arabic (Jordan) | ar-JO |
Arabic (Kuwait) | ar-KW |
Arabic (Lebanon) | ar-LB |
Arabic (Morocco) | ar-MA |
Arabic (Oman) | ar-OM |
Arabic (State of Palestine) | ar-PS |
Arabic (Qatar) | ar-QA |
Arabic (Saudi Arabia) | ar-SA |
Arabic (Tunisia) | ar-TN |
Azerbaijani (Azerbaijan) | az-AZ |
Bulgarian (Bulgaria) | bg-BG |
Bengali (Bangladesh) | bn-BD |
Bengali (India) | bn-IN |
Catalan (Spain) | ca-ES |
Chinese, Mandarin (Simplified, China) | cmn-Hans-CN |
Chinese, Mandarin (Simplified, Hong Kong) | cmn-Hans-HK |
Chinese, Mandarin (Traditional, Taiwan) | cmn-Hant-TW |
Czech (Czech Republic) | cs-CZ |
Danish (Denmark) | da-DK |
German (Germany) | de-DE |
Greek (Greece) | el-GR |
English (Australia) | en-AU |
English (Canada) | en-CA |
English (United Kingdom) | en-GB |
English (Ghana) | en-GH |
English (Ireland) | en-IE |
English (India) | en-IN |
English (Kenya) | en-KE |
English (Nigeria) | en-NG |
English (New Zealand) | en-NZ |
English (Philippines) | en-PH |
English (Tanzania) | en-TZ |
English (United States) | en-US |
English (South Africa) | en-ZA |
Spanish (Argentina) | es-AR |
Spanish (Bolivia) | es-BO |
Spanish (Chile) | es-CL |
Spanish (Colombia) | es-CO |
Spanish (Costa Rica) | es-CR |
Spanish (Dominican Republic) | es-DO |
Spanish (Ecuador) | es-EC |
Spanish (Spain) | es-ES |
Spanish (Guatemala) | es-GT |
Spanish (Honduras) | es-HN |
Spanish (Mexico) | es-MX |
Spanish (Nicaragua) | es-NI |
Spanish (Panama) | es-PA |
Spanish (Peru) | es-PE |
Spanish (Puerto Rico) | es-PR |
Spanish (Paraguay) | es-PY |
Spanish (El Salvador) | es-SV |
Spanish (United States) | es-US |
Spanish (Uruguay) | es-UY |
Spanish (Venezuela) | es-VE |
Basque (Spain) | eu-ES |
Persian (Iran) | fa-IR |
Finnish (Finland) | fi-FI |
Filipino (Philippines) | fil-PH |
French (Canada) | fr-CA |
French (France) | fr-FR |
Galician (Spain) | gl-ES |
Gujarati (India) | gu-IN |
Hebrew (Israel) | he-IL |
Hindi (India) | hi-IN |
Croatian (Croatia) | hr-HR |
Hungarian (Hungary) | hu-HU |
Armenian (Armenia) | hy-AM |
Indonesian (Indonesia) | id-ID |
Icelandic (Iceland) | is-IS |
Italian (Italy) | it-IT |
Japanese (Japan) | ja-JP |
Javanese (Indonesia) | jv-ID |
Georgian (Georgia) | ka-GE |
Khmer (Cambodia) | km-KH |
Kannada (India) | kn-IN |
Korean (South Korea) | ko-KR |
Lao (Laos) | lo-LA |
Lithuanian (Lithuania) | lt-LT |
Latvian (Latvia) | lv-LV |
Malayalam (India) | ml-IN |
Marathi (India) | mr-IN |
Malay (Malaysia) | ms-MY |
Norwegian Bokmal (Norway) | nb-NO |
Nepali (Nepal) | ne-NP |
Dutch (Netherlands) | nl-NL |
Polish (Poland) | pl-PL |
Portuguese (Brazil) | pt-BR |
Portuguese (Portugal) | pt-PT |
Romanian (Romania) | ro-RO |
Russian (Russia) | ru-RU |
Sinhala (Sri Lanka) | si-LK |
Slovak (Slovakia) | sk-SK |
Slovenian (Slovenia) | sl-SI |
Serbian (Serbia) | sr-RS |
Sundanese (Indonesia) | su-ID |
Swedish (Sweden) | sv-SE |
Swahili (Kenya) | sw-KE |
Swahili (Tanzania) | sw-TZ |
Tamil (India) | ta-IN |
Tamil (Sri Lanka) | ta-LK |
Tamil (Malaysia) | ta-MY |
Tamil (Singapore) | ta-SG |
Telugu (India) | te-IN |
Thai (Thailand) | th-TH |
Turkish (Turkey) | tr-TR |
Ukrainian (Ukraine) | uk-UA |
Urdu (India) | ur-IN |
Urdu (Pakistan) | ur-PK |
Vietnamese (Vietnam) | vi-VN |
Chinese, Cantonese (Traditional, Hong Kong) | yue-Hant-HK |
Zulu (South Africa) | zu-ZA |
Response Codes
The VoiceIt API returns the following response codes:
Response Code | Meaning |
---|---|
SUCC | Successful API call |
MISP | Missing Parameters |
MISU | Missing users |
FAIL | The API call completed but failed. Example: Verification Unsuccessful |
UNFD | User not found |
UDNM | User does not match |
GNFD | Group not found |
ENFD | Enrollment not found |
DDNE | Data does not exist |
FNFD | Face not found in video |
FTMF | Found too many faces in video |
IFAD | Incorrect formatted audio data |
IFVD | Incorrect formatted video data |
INCP | Incorrect contentLanguage parameter |
INPP | Incorrect phrase parameter |
SRNR | Sound recording does not meet requirements |
SSTQ | Speaker is speaking too quiet |
SSTL | Speaker is speaking too loud |
NEHSD | Not enough human speech detected |
STTF | Speech to text failed |
RWPU | Recording was previously used |
PNTE | Phrase needs a minimum of three enrollments |
PDNM | Phrase does not match |
NPFC | No phrases for contentLanguage |
TVER | Three video enrollments required |
NFEF | No face enrollments found |
IEID | Invalid enrollmentId |
GERR | A general error occurred |
DAID | Developer account is disabled ( most likely due to insufficient funds) |
UNAC | Unauthorized access ( make sure you are using the right API Key and Token) |
FBDN | Forbidden, please make sure to only access the API via HTTPS |
CLNE | Content language not enabled for free tier, only no-STT is available on the VoiceIt free tier plan |
ACLR | API call limit reached |
ACTO | API call timed out |
NSPE | Enrollment not similar to previous enrollments |
EMNV | Email not verified |
SANF | Sub-account not found |
EAEX | Email already exists in our system |
EMPF | An empty file was passed when a non-empty file was expected |
MLOCK | Your sandbox account has been locked from creating new data to prevent data drift during migration |
INVT | Not a valid integer to use as a value for user token expiration time out |
Your sandbox account has been locked from creating new data to prevent data drift during migration |
Errors
The VoiceIt API returns the following error codes:
Error Code | Meaning |
---|---|
400 | Bad Request -- Something is wrong with your request. |
401 | Unauthorized -- Incorrect API key. |
403 | Forbidden -- Access to the requested resource is forbidden. |
404 | Not Found -- The user/group could not be found. |
405 | Method Not Allowed -- You tried to access VoiceIt with an invalid method. |
500 | Internal Server Error -- We had a problem with our server. Try again later. |
503 | Service Unavailable -- We're temporarily offline for maintenance. Please try again later. |