WBIA RESTful API
| Method | Description |
|---|---|
| GET | Retrieves data from WBIA |
| PUT | Sets data in WBIA using specified items and the new values. PUT can also be used to update the state of WBIA by running algorithm subroutines |
| POST | Adds data to WBIA using new values |
| DELETE | Deletes data from WBIA using specified items |
User Authentication - used for all web pages
Username: wbia
Password: wbia
Token Authentication - used for all API calls
Name: IBEIS
Secret: b'5\x16$\xd4\xf0t\xe5\x16\x8b\x16\xb6\xf1:m\xc9!\x80\x16J\x10\xfb\xbbE8Ab\x0e\xe4\x99\x7f\xef\xe5\x1c1|\x9b^j\xda\xd9\xf2\xea\xa6%\xb9\x90\xd1\xb8\xe5\xe5]\xaf\x0c=\x05\x0f9\x10\xd7\\3\x98\xec\xfd'
Code snippets
Python Version:
def get_signature(key, message):
return str(hmac.new(key, message, sha1).digest().encode("base64").rstrip('\n'))
def get_authorization_header(url):
app_name = 'WBIA'
app_secret = 'CB73808F-A6F6-094B-5FCD-385EBAFF8FC0'
url = str(request.url)
hash_ = get_signature(app_secret, url)
header = '%s:%s' % (app_name, hash_, )
return header
C# Version:
private static string GetSignature(string key, byte[] messageToSendBytes)
{
var keyHMAC = new HMACSHA1(Encoding.ASCII.GetBytes(key));
var keyBytes = keyHMAC.ComputeHash(messageToSendBytes);
return Convert.ToBase64String(keyBytes);
}
public static string GetAuthorizationHeader(string url)
{
string appName = "WBIA";
string appSecret = "CB73808F-A6F6-094B-5FCD-385EBAFF8FC0";
var messageToSendBytes = Encoding.ASCII.GetBytes(url);
var secretKeySignature = GetSignature(appSecret, messageToSendBytes);
return string.Format("{0}:{1}", appName, secretKeySignature);
}
Javascript Version (using CryptoJS):
httpAuth = function() {
var getSignature = function(message, key) {
var hash = CryptoJS.HmacSHA1(message, key);
return CryptoJS.enc.Base64.stringify(hash);
}
return {
getAuthorizationHeader: function(url) {
var app_name = 'WBIA'
var app_secret = 'CB73808F-A6F6-094B-5FCD-385EBAFF8FC0'
var hash = getSignature(url, app_secret)
var header = app_name.concat(':', hash)
return header
},
}
}();
Java Version:
private static final String HMAC_SHA1_ALGORITHM = "HmacSHA1";
private static String getSignature(String key, byte[] messageToSendBytes) throws NoSuchAlgorithmException, InvalidKeyException {
SecretKeySpec keyHmac = new SecretKeySpec(key.getBytes(), HMAC_SHA1_ALGORITHM);
Mac mac = Mac.getInstance(HMAC_SHA1_ALGORITHM);
mac.init(keyHmac);
return new String(Base64.encodeBase64(mac.doFinal(messageToSendBytes)));
}
public static String getAuthorizationHeader(String url) throws NoSuchAlgorithmException, InvalidKeyException {
String appName = "WBIA";
String appSecret = "CB73808F-A6F6-094B-5FCD-385EBAFF8FC0";
return appName + ":" + getSignature(appSecret, url.getBytes());
}Example Request
Request:
Name: WBIA
Secret: CB73808F-A6F6-094B-5FCD-385EBAFF8FC0
Method: GET
URL: http://172.18.0.3:5000/api/core/dbname/ * NOTE: The URL sent to the server includes the protocol and port.
Headers: {
'Authorization': 'IBEIS:ZBE6kYxaCwCv0YJ38DrVtuHZHeM='
}
Response: {
"status": {
"cache": -1,
"message": "",
"code": 200,
"success": true
},
"response": "testdb1"
}Documentation
http://erotemic.github.io/wbia/wbia.control.html
http://erotemic.github.io/wbia/wbia.web.html
GET API calls
GET : /api/
GET : /api/annot/
GET : /api/annot/<rowid>/
GET : /api/annot/age/months/
GET : /api/annot/age/months/json/
GET : /api/annot/age/months/max/
GET : /api/annot/age/months/max/json/
GET : /api/annot/age/months/max/text/
GET : /api/annot/age/months/max/text/json/
GET : /api/annot/age/months/min/
GET : /api/annot/age/months/min/json/
GET : /api/annot/age/months/min/text/
GET : /api/annot/age/months/min/text/json/
GET : /api/annot/age/months/text/
GET : /api/annot/age/months/text/json/
GET : /api/annot/bbox/
GET : /api/annot/bbox/json/
GET : /api/annot/canonical/
GET : /api/annot/detect/confidence/
GET : /api/annot/detect/confidence/json/
GET : /api/annot/encounter/static/
GET : /api/annot/exemplar/
GET : /api/annot/exemplar/json/
GET : /api/annot/image/contributor/tag/
GET : /api/annot/image/contributor/tag/json/
GET : /api/annot/image/file/path/
GET : /api/annot/image/file/path/json/
GET : /api/annot/image/gps/
GET : /api/annot/image/gps/json/
GET : /api/annot/image/gps2/
GET : /api/annot/image/name/
GET : /api/annot/image/name/json/
GET : /api/annot/image/rowid/
GET : /api/annot/image/rowid/json/
GET : /api/annot/image/unixtime/
GET : /api/annot/image/unixtime/json/
GET : /api/annot/image/uuid/
GET : /api/annot/image/uuid/json/
GET : /api/annot/imageset/rowid/
GET : /api/annot/imageset/rowid/json/
GET : /api/annot/imageset/text/
GET : /api/annot/imageset/text/json/
GET : /api/annot/imageset/uuid/
GET : /api/annot/imageset/uuid/json/
GET : /api/annot/interest/
GET : /api/annot/interest/json/
GET : /api/annot/json/
GET : /api/annot/json/<uuid>/
GET : /api/annot/metadata/
GET : /api/annot/multiple/
GET : /api/annot/multiple/json/
GET : /api/annot/name/rowid/
GET : /api/annot/name/rowid/json/
GET : /api/annot/name/text/
GET : /api/annot/name/text/json/
GET : /api/annot/name/uuid/
GET : /api/annot/name/uuid/json/
GET : /api/annot/note/
GET : /api/annot/note/json/
GET : /api/annot/num/vert/
GET : /api/annot/num/vert/json/
GET : /api/annot/part/rowid/
GET : /api/annot/quality/
GET : /api/annot/quality/json/
GET : /api/annot/quality/text/
GET : /api/annot/quality/text/json/
GET : /api/annot/reviewed/
GET : /api/annot/reviewed/json/
GET : /api/annot/rowid/uuid/
GET : /api/annot/rowid/uuid/json/
GET : /api/annot/sex/
GET : /api/annot/sex/json/
GET : /api/annot/sex/text/
GET : /api/annot/sex/text/json/
GET : /api/annot/species/
GET : /api/annot/species/json/
GET : /api/annot/species/rowid/
GET : /api/annot/species/rowid/json/
GET : /api/annot/species/text/
GET : /api/annot/species/text/json/
GET : /api/annot/species/uuid/
GET : /api/annot/species/uuid/json/
GET : /api/annot/src/<rowid>/
GET : /api/annot/staged/
GET : /api/annot/staged/metadata/
GET : /api/annot/staged/user/
GET : /api/annot/staged/uuid/
GET : /api/annot/theta/
GET : /api/annot/theta/json/
GET : /api/annot/uuid/
GET : /api/annot/uuid/hashid/
GET : /api/annot/uuid/hashid/json/
GET : /api/annot/vert/
GET : /api/annot/vert/json/
GET : /api/annot/vert/rotated/
GET : /api/annot/vert/rotated/json/
GET : /api/annot/viewpoint/
GET : /api/annot/viewpoint/json/
GET : /api/annot/viewpoint/text/json/
GET : /api/annot/yaw/
GET : /api/annot/yaw/json/
GET : /api/annot/yaw/text/
GET : /api/annot/yaw/text/json/
GET : /api/background/src/<rowid>/
GET : /api/contributor/
GET : /api/contributor/image/rowid/
GET : /api/contributor/location/
GET : /api/contributor/location/city/
GET : /api/contributor/location/country/
GET : /api/contributor/location/state/
GET : /api/contributor/location/zip/
GET : /api/contributor/name/
GET : /api/contributor/name/first/
GET : /api/contributor/name/last/
GET : /api/contributor/note/
GET : /api/contributor/rowid/tag/
GET : /api/contributor/rowid/uuid/json/
GET : /api/contributor/tag/
GET : /api/contributor/uuid/
GET : /api/core/db/info/
GET : /api/core/db/name/
GET : /api/core/db/numbers/
GET : /api/core/db/uuid/init/
GET : /api/core/db/version/
GET : /api/core/version/
GET : /api/detect/cnn/yolo/exists/
GET : /api/detect/species/
GET : /api/detect/species/enabled/
GET : /api/detect/species/working/
GET : /api/detect/whaleSharkInjury/
GET : /api/edge/weight/
GET : /api/edge/weight/confidence/
GET : /api/edge/weight/count/
GET : /api/edge/weight/counts/tuple/
GET : /api/edge/weight/identities/tuple/
GET : /api/edge/weight/identity/
GET : /api/edge/weight/metadata/
GET : /api/edge/weight/rowids/only/
GET : /api/edge/weight/rowids/tuple/
GET : /api/edge/weight/tags/
GET : /api/edge/weight/tags/tuple/
GET : /api/edge/weight/uuid/
GET : /api/edge/weight/value/
GET : /api/edge/weight/values/only/
GET : /api/embed/
GET : /api/engine/query/web/
GET : /api/engine/wildbook/sync/
GET : /api/image/
GET : /api/image/<rowid>/
GET : /api/image/annot/rowid/
GET : /api/image/annot/rowid/json/
GET : /api/image/annot/rowid/species/
GET : /api/image/annot/rowid/species/json/
GET : /api/image/annot/uuid/
GET : /api/image/annot/uuid/json/
GET : /api/image/annot/uuid/species/
GET : /api/image/annot/uuid/species/json/
GET : /api/image/contributor/rowid/
GET : /api/image/contributor/tag/
GET : /api/image/detect/confidence/
GET : /api/image/detect/confidence/json/
GET : /api/image/dict/
GET : /api/image/dict/json/
GET : /api/image/feature/<rowid>/
GET : /api/image/feature/json/<uuid>/
GET : /api/image/file/hash/
GET : /api/image/file/hash/json/
GET : /api/image/file/name/
GET : /api/image/file/name/json/
GET : /api/image/file/path/
GET : /api/image/file/path/json/
GET : /api/image/gps/
GET : /api/image/gps/json/
GET : /api/image/gps2/
GET : /api/image/height/
GET : /api/image/height/json/
GET : /api/image/imageset/rowid/
GET : /api/image/imageset/rowid/json/
GET : /api/image/imageset/text/
GET : /api/image/imageset/text/json/
GET : /api/image/imageset/uuid/
GET : /api/image/imageset/uuid/json/
GET : /api/image/json/
GET : /api/image/json/<uuid>/
GET : /api/image/lat/
GET : /api/image/lat/json/
GET : /api/image/location/code/
GET : /api/image/location/code/json/
GET : /api/image/lon/
GET : /api/image/lon/json/
GET : /api/image/metadata/
GET : /api/image/name/rowid/
GET : /api/image/name/rowid/json/
GET : /api/image/name/uuid/
GET : /api/image/name/uuid/json/
GET : /api/image/note/
GET : /api/image/note/json/
GET : /api/image/num/annot/
GET : /api/image/num/annot/json/
GET : /api/image/orientation/
GET : /api/image/orientation/json/
GET : /api/image/orientation/str/
GET : /api/image/orientation/str/json/
GET : /api/image/reviewed/
GET : /api/image/reviewed/json/
GET : /api/image/rowid/uuid/
GET : /api/image/rowid/uuid/json/
GET : /api/image/size/
GET : /api/image/size/json/
GET : /api/image/species/rowid/
GET : /api/image/species/rowid/json/
GET : /api/image/species/uuid/
GET : /api/image/species/uuid/json/
GET : /api/image/src/<rowid>.jpg
GET : /api/image/src/<rowid>/
GET : /api/image/src/json/<uuid>/
GET : /api/image/timedelta/posix/
GET : /api/image/timedelta/posix/json/
GET : /api/image/unixtime/
GET : /api/image/unixtime/json/
GET : /api/image/unixtime2/
GET : /api/image/uri/
GET : /api/image/uri/json/
GET : /api/image/uri/original/
GET : /api/image/uri/original/json/
GET : /api/image/uuid/
GET : /api/image/width/
GET : /api/image/width/json/
GET : /api/imageset/
GET : /api/imageset/annot/rowid/
GET : /api/imageset/annot/rowid/json/
GET : /api/imageset/annot/uuid/
GET : /api/imageset/annot/uuid/json/
GET : /api/imageset/duration/
GET : /api/imageset/duration/json/
GET : /api/imageset/gps/lat/
GET : /api/imageset/gps/lat/json/
GET : /api/imageset/gps/lon/
GET : /api/imageset/gps/lon/json/
GET : /api/imageset/image/rowid/
GET : /api/imageset/image/rowid/json/
GET : /api/imageset/image/uuid/
GET : /api/imageset/image/uuid/json/
GET : /api/imageset/json/
GET : /api/imageset/metadata/
GET : /api/imageset/name/rowid/
GET : /api/imageset/name/rowid/json/
GET : /api/imageset/name/uuid/
GET : /api/imageset/name/uuid/json/
GET : /api/imageset/note/
GET : /api/imageset/note/json/
GET : /api/imageset/num/annot/
GET : /api/imageset/num/annot/json/
GET : /api/imageset/num/annot/reviewed/
GET : /api/imageset/num/annot/reviewed/json/
GET : /api/imageset/num/image/
GET : /api/imageset/num/image/json/
GET : /api/imageset/num/image/reviewed/
GET : /api/imageset/num/image/reviewed/json/
GET : /api/imageset/num/name/exemplar/
GET : /api/imageset/num/name/exemplar/json/
GET : /api/imageset/occurrence/
GET : /api/imageset/occurrence/json/
GET : /api/imageset/processed/
GET : /api/imageset/processed/json/
GET : /api/imageset/rowid/text/
GET : /api/imageset/rowid/text/json/
GET : /api/imageset/rowid/uuid/
GET : /api/imageset/rowid/uuid/json/
GET : /api/imageset/shipped/
GET : /api/imageset/shipped/json/
GET : /api/imageset/smart/waypoint/
GET : /api/imageset/smart/waypoint/json/
GET : /api/imageset/smart/xml/file/content/
GET : /api/imageset/smart/xml/file/content/json/
GET : /api/imageset/smart/xml/file/name/
GET : /api/imageset/smart/xml/file/name/json/
GET : /api/imageset/text/
GET : /api/imageset/text/json/
GET : /api/imageset/time/posix/end/
GET : /api/imageset/time/posix/end/json/
GET : /api/imageset/time/posix/start/
GET : /api/imageset/time/posix/start/json/
GET : /api/imageset/uuid/
GET : /api/name/
GET : /api/name/age/months/max/
GET : /api/name/age/months/max/json/
GET : /api/name/age/months/min/
GET : /api/name/age/months/min/json/
GET : /api/name/alias/text/
GET : /api/name/alias/text/json/
GET : /api/name/annot/rowid/
GET : /api/name/annot/rowid/exemplar/
GET : /api/name/annot/rowid/exemplar/json/
GET : /api/name/annot/rowid/json/
GET : /api/name/annot/uuid/
GET : /api/name/annot/uuid/exemplar/
GET : /api/name/annot/uuid/exemplar/json/
GET : /api/name/annot/uuid/json/
GET : /api/name/dict/
GET : /api/name/dict/json/
GET : /api/name/image/rowid/
GET : /api/name/image/rowid/json/
GET : /api/name/image/uuid/
GET : /api/name/image/uuid/json/
GET : /api/name/imageset/rowid/
GET : /api/name/imageset/rowid/json/
GET : /api/name/imageset/uuid/
GET : /api/name/imageset/uuid/json/
GET : /api/name/json/
GET : /api/name/metadata/
GET : /api/name/note/
GET : /api/name/note/json/
GET : /api/name/num/annot/
GET : /api/name/num/annot/exemplar/
GET : /api/name/num/annot/exemplar/json/
GET : /api/name/num/annot/json/
GET : /api/name/rowid/text/
GET : /api/name/rowid/uuid/
GET : /api/name/rowid/uuid/json/
GET : /api/name/sex/
GET : /api/name/sex/json/
GET : /api/name/sex/text/
GET : /api/name/sex/text/json/
GET : /api/name/temp/
GET : /api/name/temp/json/
GET : /api/name/text/
GET : /api/name/text/json/
GET : /api/name/uuid/
GET : /api/name/uuid/text/json/
GET : /api/part/
GET : /api/part/<rowid>/
GET : /api/part/annot/rowid/
GET : /api/part/bbox/
GET : /api/part/contour/
GET : /api/part/detect/confidence/
GET : /api/part/image/rowid/
GET : /api/part/json/
GET : /api/part/metadata/
GET : /api/part/note/
GET : /api/part/num/vert/
GET : /api/part/quality/
GET : /api/part/quality/text/
GET : /api/part/reviewed/
GET : /api/part/rowid/uuid/
GET : /api/part/staged/
GET : /api/part/staged/metadata/
GET : /api/part/staged/user/
GET : /api/part/staged/uuid/
GET : /api/part/theta/
GET : /api/part/type/
GET : /api/part/uuid/
GET : /api/part/vert/
GET : /api/part/vert/rotated/
GET : /api/part/viewpoint/
GET : /api/plugin/lca/sim/
GET : /api/query/annot/rowid/
GET : /api/query/chip/
GET : /api/query/chip/dict/
GET : /api/query/chip/dict/simple/
GET : /api/query/graph/match/thumb/
GET : /api/query/graph/v2/
GET : /api/review/
GET : /api/review/confidence/
GET : /api/review/count/
GET : /api/review/counts/tuple/
GET : /api/review/decision/
GET : /api/review/decision/str/
GET : /api/review/decisions/only/
GET : /api/review/detect/cnn/yolo/
GET : /api/review/identities/tuple/
GET : /api/review/identity/
GET : /api/review/metadata/
GET : /api/review/query/chip/best/
GET : /api/review/query/graph/
GET : /api/review/query/graph/v2/
GET : /api/review/rowids/only/
GET : /api/review/rowids/tuple/
GET : /api/review/tags/
GET : /api/review/tags/tuple/
GET : /api/review/time/client/end/posix/
GET : /api/review/time/client/start/posix/
GET : /api/review/time/posix/
GET : /api/review/time/posix/tuple/
GET : /api/review/time/server/end/posix/
GET : /api/review/time/server/start/posix/
GET : /api/review/uuid/
GET : /api/species/
GET : /api/species/code/
GET : /api/species/code/json/
GET : /api/species/json/
GET : /api/species/nice/
GET : /api/species/nice/json/
GET : /api/species/note/
GET : /api/species/note/json/
GET : /api/species/rowid/text/
GET : /api/species/rowid/text/json/
GET : /api/species/rowid/uuid/
GET : /api/species/rowid/uuid/json/
GET : /api/species/text/
GET : /api/species/text/json/
GET : /api/species/uuid/
GET : /api/status/query/graph/v2/
GET : /api/sync/
GET : /api/test/
GET : /api/test/rowid/uuid/
GET : /api/test/uuid/
GET : /api/v2/
GET : /api/v2/
GET : /api/v2/auth/recaptcha
GET : /api/v2/detect/
GET : /api/v2/swagger.json
GET : /api/v2/users/me
GET : /api/version/
PUT API calls
PUT : /api/annot/age/months/max/
PUT : /api/annot/age/months/min/
PUT : /api/annot/bbox/
PUT : /api/annot/bbox/json/
PUT : /api/annot/canonical/
PUT : /api/annot/detect/confidence/
PUT : /api/annot/encounter/static/
PUT : /api/annot/exemplar/
PUT : /api/annot/interest/
PUT : /api/annot/interest/json/
PUT : /api/annot/metadata/
PUT : /api/annot/multiple/
PUT : /api/annot/multiple/json/
PUT : /api/annot/name/
PUT : /api/annot/name/text/json/
PUT : /api/annot/note/
PUT : /api/annot/note/json/
PUT : /api/annot/quality/
PUT : /api/annot/quality/text/
PUT : /api/annot/quality/text/json/
PUT : /api/annot/reviewed/
PUT : /api/annot/sex/
PUT : /api/annot/sex/text/
PUT : /api/annot/species/
PUT : /api/annot/species/json/
PUT : /api/annot/species/rowid/
PUT : /api/annot/staged/
PUT : /api/annot/staged/metadata/
PUT : /api/annot/staged/user/
PUT : /api/annot/staged/uuid/
PUT : /api/annot/tags/json/
PUT : /api/annot/theta/
PUT : /api/annot/theta/json/
PUT : /api/annot/vert/
PUT : /api/annot/viewpoint/
PUT : /api/annot/viewpoint/json/
PUT : /api/annot/yaw/
PUT : /api/annot/yaw/text/
PUT : /api/edge/weight/metadata/
PUT : /api/image/contributor/rowid/
PUT : /api/image/gps/
PUT : /api/image/gps/str/
PUT : /api/image/imageset/rowid/
PUT : /api/image/imageset/rowid/json/
PUT : /api/image/imageset/text/
PUT : /api/image/imageset/text/json/
PUT : /api/image/imageset/uuid/json/
PUT : /api/image/location/code/
PUT : /api/image/metadata/
PUT : /api/image/note/
PUT : /api/image/orientation/
PUT : /api/image/reviewed/
PUT : /api/image/time/posix/
PUT : /api/image/timedelta/posix/
PUT : /api/image/unixtime/
PUT : /api/image/uri/
PUT : /api/image/uri/original/
PUT : /api/imageset/gps/lat/
PUT : /api/imageset/gps/lon/
PUT : /api/imageset/info/
PUT : /api/imageset/metadata/
PUT : /api/imageset/note/
PUT : /api/imageset/occurrence/
PUT : /api/imageset/processed/
PUT : /api/imageset/shipped/
PUT : /api/imageset/smart/waypoint/
PUT : /api/imageset/smart/xml/file/name/
PUT : /api/imageset/text/
PUT : /api/imageset/time/posix/end/
PUT : /api/imageset/time/posix/start/
PUT : /api/match/confidence/
PUT : /api/match/confidence/json/
PUT : /api/match/count/
PUT : /api/match/count/json/
PUT : /api/match/decision/evidence/
PUT : /api/match/decision/evidence/json/
PUT : /api/match/decision/meta/
PUT : /api/match/decision/meta/json/
PUT : /api/match/modified/json/
PUT : /api/match/tags/
PUT : /api/match/tags/json/
PUT : /api/match/user/
PUT : /api/match/user/json/
PUT : /api/name/alias/text/
PUT : /api/name/metadata/
PUT : /api/name/note/
PUT : /api/name/note/json/
PUT : /api/name/sanitize/
PUT : /api/name/sex/
PUT : /api/name/sex/text/
PUT : /api/name/temp/
PUT : /api/name/text/
PUT : /api/name/text/json/
PUT : /api/part/annot/rowid/
PUT : /api/part/bbox/
PUT : /api/part/bbox/json/
PUT : /api/part/contour/
PUT : /api/part/detect/confidence/
PUT : /api/part/metadata/
PUT : /api/part/note/
PUT : /api/part/quality/
PUT : /api/part/quality/text/
PUT : /api/part/quality/text/json/
PUT : /api/part/reviewed/
PUT : /api/part/staged/
PUT : /api/part/staged/metadata/
PUT : /api/part/staged/user/
PUT : /api/part/staged/uuid/
PUT : /api/part/theta/
PUT : /api/part/theta/json/
PUT : /api/part/type/
PUT : /api/part/type/json/
PUT : /api/part/vert/
PUT : /api/part/viewpoint/
PUT : /api/part/viewpoint/json/
PUT : /api/query/cfg/
PUT : /api/query/graph/v2/
PUT : /api/review/metadata/
PUT : /api/wildbook/signal/annot/name/
PUT : /api/wildbook/signal/imageset/
PUT : /api/wildbook/signal/name/
POST API calls
POST : /api/annot/
POST : /api/annot/exemplar/
POST : /api/annot/exemplar/json/
POST : /api/annot/json/
POST : /api/annot/rotate/left/
POST : /api/annot/rotate/right/
POST : /api/annot/uuid/
POST : /api/aoi/cnn/
POST : /api/contributor/
POST : /api/detect/cnn/lightnet/
POST : /api/detect/cnn/lightnet/json/
POST : /api/detect/cnn/yolo/
POST : /api/detect/cnn/yolo/json/
POST : /api/edge/weight/
POST : /api/edge/weight/metadata/
POST : /api/engine/classify/whaleshark/injury/
POST : /api/engine/detect/cnn/lightnet/
POST : /api/engine/detect/cnn/yolo/
POST : /api/engine/image/json/
POST : /api/engine/job/
POST : /api/engine/job/metadata/
POST : /api/engine/job/result/
POST : /api/engine/job/status/
POST : /api/engine/labeler/cnn/
POST : /api/engine/process/status/
POST : /api/engine/query/annot/rowid/
POST : /api/engine/query/graph/
POST : /api/engine/query/graph/complete/
POST : /api/engine/review/query/chip/best/
POST : /api/engine/uuid/check/
POST : /api/engine/wic/cnn/
POST : /api/image/
POST : /api/image/json/
POST : /api/image/rotate/180/
POST : /api/image/rotate/left/
POST : /api/image/rotate/right/
POST : /api/image/uuid/
POST : /api/imageset/
POST : /api/imageset/json/
POST : /api/labeler/cnn/
POST : /api/labeler/cnn/json/
POST : /api/match/
POST : /api/match/json/
POST : /api/models/cnn/lightnet/
POST : /api/models/cnn/yolo/
POST : /api/name/
POST : /api/name/json/
POST : /api/part/
POST : /api/part/json/
POST : /api/part/rotate/left/
POST : /api/part/rotate/right/
POST : /api/query/graph/
POST : /api/query/graph/complete/
POST : /api/query/graph/v2/
POST : /api/review/
POST : /api/review/detect/cnn/yolo/
POST : /api/review/json/
POST : /api/review/query/graph/
POST : /api/review/query/graph/alias/
POST : /api/review/query/graph/v2/
POST : /api/species/
POST : /api/species/json/
POST : /api/test/
POST : /api/test/dataset/id/
POST : /api/test/heartbeat/
POST : /api/test/helloworld/
POST : /api/test/prometheus/
POST : /api/upload/image/
POST : /api/upload/zip/
POST : /api/v2/auth/clients
POST : /api/v2/auth/revoke
POST : /api/v2/auth/sessions
POST : /api/v2/auth/tokens
POST : /api/wic/cnn/
POST : /api/wildbook/sync/
DELETE API calls
DELETE : /api/annot/
DELETE : /api/annot/json/
DELETE : /api/annot/name/rowid/
DELETE : /api/annot/species/rowid/
DELETE : /api/contributor/
DELETE : /api/edge/weight/
DELETE : /api/image/
DELETE : /api/image/json/
DELETE : /api/image/thumb/
DELETE : /api/imageset/
DELETE : /api/imageset/json/
DELETE : /api/name/
DELETE : /api/name/json/
DELETE : /api/part/
DELETE : /api/query/graph/v2/
DELETE : /api/review/
DELETE : /api/species/
DELETE : /api/species/json/
DELETE : /api/test/