{"info":{"_postman_id":"0a992639-75ca-4282-86fb-6ec87d3e04de","name":"TypingDNA Authentication API [cv 0.1]","description":"Typing Biometrics Authentication API provided by TypingDNA.\n\nRecognize people by the way they type. We enable you to identify a person by the way they type on their keyboards. By this, you have a strong security layer that enforces existing username+password, credit card payment and any text use cases. \n\nFor more info, visit typingdna.com","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json"},"item":[{"name":"Check User","id":"c815898d-61bc-4b34-acc1-6ef9ccca914e","request":{"auth":{"type":"basic","basic":{"username":"apiKey","password":"apiSecret","saveHelperData":true,"showPassword":false}},"method":"GET","header":[],"body":{"mode":"formdata","formdata":[]},"url":{"raw":"https://api.typingdna.com/user/:id","protocol":"https","host":["api","typingdna","com"],"path":["user",":id"],"variable":[{"key":"id","value":""}]},"description":"To check if a user exists and get the number of saved typing patterns, call `/user/:id` with the `GET` method. We recommend to save at least 3 typing patterns per user (170+ chars) in order to perform accurate authentications.\n\n**Parameters**\n* id - String - A string that identifies the user. Minimum length is 6 characters.\n\nMore info https://api.typingdna.com/index.html#api-API_Services-GetUser"},"response":[{"id":"5f94dabd-055d-4c5e-a528-a114b7fd58e6","name":"Check User","originalRequest":{"method":"GET","header":[],"url":"https://api.typingdna.com/user/sampleuserid"},"code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Done\",\r\n    \"message_code\": 1,\r\n    \"success\": 1,\r\n    \"count\": 0,\r\n    \"mobilecount\": 0,\r\n    \"type\": \"All\",\r\n    \"status\": 200\r\n}"}],"_postman_id":"c815898d-61bc-4b34-acc1-6ef9ccca914e"},{"name":"Delete User","id":"42edf1d4-233a-41e6-998c-edd249fa41e0","request":{"auth":{"type":"basic","basic":{"username":"apiKey","password":"apiSecret","saveHelperData":true,"showPassword":false}},"method":"DELETE","header":[{"key":"Authorization","value":"Basic NGY3NzQyZjIxNTBkNDYwNzVjODZjNjhiNzJkNTFmYTk6OGU2OTdlY2YxNzkxM2VkZDY1OWFmNmU1ZmU1YzYxZDE="}],"body":{"mode":"formdata","formdata":[{"key":"device","value":"","description":"A string that identifies the device ['all','desktop','mobile']. The default value is 'all'.","type":"text","disabled":true}]},"url":{"raw":"https://api.typingdna.com/user/:id","protocol":"https","host":["api","typingdna","com"],"path":["user",":id"],"variable":[{"key":"id","value":""}]},"description":"To delete a user and his saved typing patterns you can call `/user/:id` with `DELETE` method.\n\n**Parameters**\n* id  - String - A string of your choice that identifies the user. Minimum length is 6 characters.\n\n* device - String - A string that identifies the device ['all','desktop','mobile']. The default value is 'all'.\n\n**Repsonse**\nmessage - String - Status message, typically Done.\n\n* success - Number - Return 1 for success and 0 for failure.\n\n* count - Number - User's desktop typing patterns count, recorded on a desktop device.\n\n* mobilecount - Number - User's mobile typing patterns count, recorded on a mobile device.\n\n* status - String - Http status code\n\nMore info https://api.typingdna.com/index.html#api-API_Services-DeleteUser"},"response":[{"id":"a0ee1f39-7b5a-4392-b730-213db8306d67","name":"Delete User","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Basic NGY3NzQyZjIxNTBkNDYwNzVjODZjNjhiNzJkNTFmYTk6OGU2OTdlY2YxNzkxM2VkZDY1OWFmNmU1ZmU1YzYxZDE="}],"body":{"mode":"formdata","formdata":[{"key":"device","value":"","description":"A string that identifies the device ['all','desktop','mobile']. The default value is 'all'.","type":"text","disabled":true}]},"url":"https://api.typingdna.com/user/sampleuserid"},"code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Done\",\r\n    \"message_code\": 1,\r\n    \"success\": 1,\r\n    \"deleted\": 0,\r\n    \"status\": 200\r\n}"}],"_postman_id":"42edf1d4-233a-41e6-998c-edd249fa41e0"},{"name":"Save typing pattern","id":"790a6d7c-f356-4c4d-8912-330f77fc658d","request":{"auth":{"type":"basic","basic":{"username":"apiKey","password":"apiSecret","saveHelperData":true,"showPassword":false}},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"tp","value":"","description":"A typing pattern recorded with the TypingDNA JavaScript class","type":"text"}]},"url":{"raw":"https://api.typingdna.com/save/:id","protocol":"https","host":["api","typingdna","com"],"path":["save",":id"],"variable":[{"key":"id","value":""}]},"description":"To save/enroll a new user and/or a new typing pattern you have to make the `/save` request.\n\n**Parameter**\n* id - String - A String of your choice that identifies the user. Minimum length is 6 characters.\n* tp - String - A typing pattern recorded with the `TypingDNA` JavaScript class.\n\nMore info https://api.typingdna.com/index.html#api-API_Services-verifyTypingPattern"},"response":[{"id":"0f7a65fb-3c1b-49cb-96a4-4a8da1ac4f29","name":"Duplicate pattern","originalRequest":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"tp","value":"0,3.1,0,0,22,2511978419,0,-1,-1,0,-1,-1,4,99,19,3,65,17,3,86,82,1,0,0,1,1,1,902248182,1,1,0,0,0,1,1536,864,2,0,87,0,312577325|9900,140|164,145|73,123|84,121|111,99|42,122|112,98|153,85|81,137|110,80|90,132|86,104|196,133|57,123|67,130|87,107|63,127|91,94|153,105|136,129|64,118|58,78","description":"A typing pattern recorded with the TypingDNA JavaScript class","type":"text"}]},"url":"https://api.typingdna.com/save/sampleuserid"},"code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Duplicate typing pattern(s).\",\r\n    \"message_code\": 2,\r\n    \"success\": 0,\r\n    \"status\": 200\r\n}"},{"id":"616258ca-fc96-46a0-9b80-27d26127d380","name":"Save typing pattern (success)","originalRequest":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"tp","value":"0,3.1,0,0,22,2511978419,0,-1,-1,0,-1,-1,4,109,37,2,74,3,2,15,13,1,0,0,1,1,1,902248182,1,1,0,0,0,1,1536,864,2,0,87,0,312577325|333274,136|167,143|59,105|74,99|83,154|131,118|112,105|108,76|109,127|83,68|116,124|67,70|184,114|45,121|41,137|100,111|85,122|85,91|154,83|120,132|69,129|80,75","description":"A typing pattern recorded with the TypingDNA JavaScript class","type":"text"}]},"url":"https://api.typingdna.com/save/sampleuserid"},"code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Done\",\r\n    \"message_code\": 1,\r\n    \"success\": 1,\r\n    \"status\": 200\r\n}"}],"_postman_id":"790a6d7c-f356-4c4d-8912-330f77fc658d"},{"name":"Verify typing pattern","id":"1574085d-907e-4ec7-b6bb-47443c8b9f12","request":{"auth":{"type":"basic","basic":{"username":"apiKey","password":"apiSecret","saveHelperData":true,"showPassword":false}},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"tp","value":"","description":"A typing pattern recorded with the TypingDNA JavaScript class","type":"text"},{"key":"quality","value":"","description":"An Integer: 1, 2 or 3 default: 2, recommended: 2.","type":"text","disabled":true}]},"url":{"raw":"https://api.typingdna.com/verify/:id","protocol":"https","host":["api","typingdna","com"],"path":["verify",":id"],"variable":[{"key":"id","value":""}]},"description":"To authenticate a user with previous patterns saved, a new pattern is collected and submitted via a `/verify` request.\n\n**Parameter**\n* id - String - A string of your choice that identifies the user. Minimum length is 6 characters.\n\n* tp - String - A typing pattern recorded with the `TypingDNA` JavaScript class.\n\n* quality - Integer - An Integer: 1, 2 or 3 default: 2, recommended: 2.\n\nMore info https://api.typingdna.com/index.html#api-API_Services-verifyTypingPattern"},"response":[{"id":"1a22126d-6f25-4277-b30b-b39b40ac3bbd","name":"Verify typing pattern (no match)","originalRequest":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"tp","value":"0,3.1,0,0,19,2344574204,0,-1,-1,0,-1,-1,4,104,8,2,88,10,2,24,8,1,0,0,1,1,1,902248182,1,1,0,0,0,1,1536,864,2,0,87,0,312577325|20740,108|59,170|79,110|68,106|66,117|80,104|70,114|95,98|104,101|97,96|107,121|34,108|816,122|136,122|116,105|759,150|110,165|1075,258|433,131","description":"A typing pattern recorded with the TypingDNA JavaScript class","type":"text"},{"key":"quality","value":"","description":"An Integer: 1, 2 or 3 default: 2, recommended: 2.","type":"text","disabled":true}]},"url":"https://api.typingdna.com/verify/sampleuserid"},"code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Done\",\r\n    \"message_code\": 1,\r\n    \"success\": 1,\r\n    \"result\": 0,\r\n    \"score\": 9,\r\n    \"confidence_interval\": 19,\r\n    \"confidence\": 81,\r\n    \"net_score\": 7,\r\n    \"device_similarity\": 100,\r\n    \"positions\": [],\r\n    \"compared_samples\": 3,\r\n    \"action\": \"verify\",\r\n    \"previous_samples\": 3,\r\n    \"status\": 200\r\n}"},{"id":"55c53cfb-f33b-4c48-acc8-3f133ad75cb8","name":"Verify typing pattern (match)","originalRequest":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"tp","value":"0,3.1,0,0,22,2511978419,0,-1,-1,0,-1,-1,4,89,13,2,47,1,2,44,13,1,0,0,1,1,1,902248182,1,1,0,0,0,1,1536,864,2,0,87,0,312577325|18309,134|159,153|59,116|69,106|97,90|38,117|87,99|106,76|69,104|116,80|95,98|58,78|171,119|32,120|85,110|89,102|90,143|92,92|162,84|113,135|77,130|38,75","description":"A typing pattern recorded with the TypingDNA JavaScript class","type":"text"},{"key":"quality","value":"","description":"An Integer: 1, 2 or 3 default: 2, recommended: 2.","type":"text","disabled":true}]},"url":"https://api.typingdna.com/verify/sampleuserid"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Done\",\r\n    \"message_code\": 1,\r\n    \"success\": 1,\r\n    \"result\": 1,\r\n    \"score\": 100,\r\n    \"confidence_interval\": 14,\r\n    \"confidence\": 86,\r\n    \"net_score\": 86,\r\n    \"device_similarity\": 100,\r\n    \"positions\": [],\r\n    \"compared_samples\": 3,\r\n    \"action\": \"verify\",\r\n    \"previous_samples\": 3,\r\n    \"status\": 200\r\n}"},{"id":"9cb79d4e-853d-400f-8932-27fc095dc787","name":"Verify typing pattern (no enrollments)","originalRequest":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"tp","value":"0,3.1,0,0,21,1170816882,0,-1,-1,0,-1,-1,4,108,15,2,63,1,2,82,37,1,0,0,1,1,1,902248182,1,1,0,0,0,1,1536,864,2,0,87,0,312577325|1950,101|70,149|54,116|98,99|67,111|115,113|59,118|102,88|142,76|59,103|517,112|136,98|85,107|78,142|58,136|85,92|130,130|400,111|65,104|233,112|62,114\n","description":"A typing pattern recorded with the TypingDNA JavaScript class","type":"text"},{"key":"quality","value":"","description":"An Integer: 1, 2 or 3 default: 2, recommended: 2.","type":"text","disabled":true}]},"url":"https://api.typingdna.com/verify/sampleuserid"},"code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"No previous valid typing patterns found.\",\r\n    \"message_code\": 4,\r\n    \"success\": 0,\r\n    \"status\": 200\r\n}"}],"_postman_id":"1574085d-907e-4ec7-b6bb-47443c8b9f12"},{"name":"Auto","id":"f455383a-32fa-4ffe-aa4f-d2ef4e58cc40","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"tp","value":"","description":"A typing pattern recorded with the TypingDNA JavaScript class","type":"text"}]},"url":{"raw":"https://api.typingdna.com/auto/:id","protocol":"https","host":["api","typingdna","com"],"path":["auto",":id"],"variable":[{"key":"id","value":"","type":"string"}]},"description":"The '/auto' endpoint is a universal API, combining the functionality of '/save' and '/verify' depending on the context of the request.\n\nWhen supplied with 'tp' and 'id' parameters, '/auto' will either enroll the pattern supplied for the 'id' typing profile, or will verify against previous patterns if they exist and return the appropriate results.\n\n'/auto' will enroll the first three patterns received for an 'id'. Subsequent requests will return verification results ('result'), and be enrolled as well if they meet score criteria.\n\n**Parameter**\n* id - String - A string of your choice that identifies the user. Minimum length is 6 characters.\n\n* tp - String - A typing pattern recorded with the `TypingDNA` JavaScript class.\n\n\nMore info https://api.typingdna.com/index.html"},"response":[{"id":"9e257d15-0f92-4291-b3ed-6185fe5006b0","name":"Auto (verify & enroll)","originalRequest":{"method":"POST","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"tp","value":"","description":"A typing pattern recorded with the TypingDNA JavaScript class","type":"text"}]},"url":"https://api.typingdna.com/auto/sampleuserid"},"code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Done\",\r\n    \"message_code\": 1,\r\n    \"result\": 1,\r\n    \"action\": \"verify;enroll\",\r\n    \"high_confidence\": 1,\r\n    \"enrollment\": 1,\r\n    \"status\": 200\r\n}"}],"_postman_id":"f455383a-32fa-4ffe-aa4f-d2ef4e58cc40"}],"auth":{"type":"basic","basic":{}},"event":[{"listen":"prerequest","script":{"id":"29f2e8a7-4de6-4931-90e0-af021f772806","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"89f45ec1-861b-4a3b-8505-8ed0515bc702","type":"text/javascript","exec":[""]}}]}