This reference provides detailed documentation of all data schemas used in the Vysion API responses. Understanding these schemas is essential for proper data parsing and integration.
All Vysion API responses follow a consistent wrapper format:
Field Type Description dataobject/null Contains the response data or null if error occurred data.totalinteger Total number of results available data.hitsarray Array of result objects errorobject/null Error information or null if successful
Used in document search and retrieval endpoints.
"networkProtocol" : " string " ,
"detectionDate" : " 2019-08-24T14:15:22Z " ,
Field Type Required Description idstring true Unique document identifier urlobject true URL information object foundAtstring false Source where document was found pageTitlestring false Title of the webpage languagestring false Detected language (ISO 639-1) htmlstring false Raw HTML content textstring false Extracted text content sha1sumstring false SHA1 hash of content sha256sumstring false SHA256 hash of content ssdeepstring false Fuzzy hash for similarity detection detectionDatestring true ISO 8601 timestamp screenshotstring false Screenshot URL if available chunkboolean false Whether this is a partial document
Field Type Description urlstring Complete URL networkProtocolstring Protocol (http, https) domainNamestring Domain name portinteger Port number pathstring URL path signaturestring URL signature (UUID) networkstring Network type (tor, clearnet)
Field Type Description namespacestring Tag namespace predicatestring Tag predicate valuestring Tag value
Used for ransomware victim data.
"networkProtocol" : " string " ,
"detectionDate" : " 2019-08-24T14:15:22Z "
"ransomwareGroup" : " string " ,
"companyAddress" : " string " ,
Field Type Description pageobject Page information (see DocumentHit) tagarray Associated tags ransomwareGroupstring Name of ransomware group companyNamestring Victim company name companyAddressstring Company address companyLinkstring Company website countrystring Country code naicsstring NAICS industry code industrystring Industry description
Used for statistics endpoints.
Field Type Description keystring Category identifier doc_countinteger Number of occurrences
Used for aggregated statistics with sub-categories.
"key_as_string" : " string " ,
Field Type Description keystring Primary category key doc_countinteger Total count for category key_as_stringstring Human-readable key agg.bucketsarray Sub-category breakdowns
Used for Telegram and Discord message data.
"channelTitle" : " string " ,
"detectionDate" : " 2019-08-24T14:15:22Z " ,
Field Type Description userIdinteger/string User identifier usernamestring Username on platform channelIdinteger/string Channel/group identifier messageIdstring Unique message ID messagestring Message content channelTitlestring Channel/group name languagesarray Detected languages with confidence sha1sumstring Message content hash sha256sumstring Message content hash mediastring Media type if present detectionDatestring ISO 8601 timestamp serverIdstring Discord server ID (Discord only) serverTitlestring Discord server name (Discord only) platformstring Platform name
Used for user profile data.
"detectionDate" : " 2019-08-24T14:15:22Z " ,
"profilePhoto" : [ " string " ],
"email" : [{ "value" : " string " }],
"telegram" : [{ "value" : " string " }],
"whatsapp" : [{ "value" : " string " }],
"bitcoin_address" : [{ "value" : " string " }],
"ethereum_address" : [{ "value" : " string " }],
"monero_address" : [{ "value" : " string " }],
"ripple_address" : [{ "value" : " string " }],
"zcash_address" : [{ "value" : " string " }],
"polkadot_address" : [{ "value" : " string " }]
Field Type Description userIdinteger User identifier usernamesarray Known usernames firstNamearray Known first names lastNamearray Known last names detectionDatestring ISO 8601 timestamp profilePhotoarray Profile photo URLs platformstring Platform name emailarray Associated email addresses telegramarray Telegram handles whatsapparray WhatsApp numbers *_addressarray Cryptocurrency addresses
Used for channel/group information.
"channelTitles" : [ " string " ],
"detectionDate" : " 2019-08-24T14:15:22Z " ,
"creationDate" : " 2019-08-24T14:15:22Z " ,
"channelPhoto" : [ " string " ]
Field Type Description channelIdinteger Channel identifier channelTitlesarray Known channel names detectionDatestring When detected creationDatestring Channel creation date channelPhotoarray Channel photo URLs
Used for Discord server information.
"serverTitles" : [ " string " ],
"detectionDate" : " 2019-08-24T14:15:22Z " ,
"creationDate" : " 2019-08-24T14:15:22Z " ,
"serverPhoto" : [ " string " ],
"discordLink" : [ " string " ]
Field Type Description serverIdinteger Server identifier serverTitlesarray Known server names detectionDatestring When detected creationDatestring Server creation date serverPhotoarray Server icon URLs memberCountinteger Number of members discordLinkarray Discord invite links
Used for leaked data from Telegram channels.
"detectionDate" : " 2024-01-15T10:30:00Z " ,
"filePath" : " leaked_database.sql " ,
"fileHash" : " a3b2c1d4e5f6... " ,
"detectedMimeType" : " text/plain " ,
"decompressedFilename" : " leaked_data.pdf " ,
"archiveSource" : " archive.zip " ,
"archiveMemberPath" : " leaked_data.pdf " ,
"emails" : [ " user@example.com " ],
"usernames" : [ " johndoe " ],
"phone_numbers" : [ " +1234567890 " ],
"ipv4_addresses" : [ " 192.168.1.1 " ],
"ipv6_addresses" : [ " 2001:0db8::1 " ],
"bitcoin_addresses" : [ " 1A1zP1eP... " ],
"ethereum_addresses" : [ " 0x742d35... " ],
"hashes" : [ " a3b2c1d4e5f6... " ]
"telegram_id" : " -1002104057089_108 " ,
"channelId" : -1002104057089 ,
"channelName" : " Data Leaks " ,
"channelUsername" : " dataleaks "
"parseStatus" : " success " ,
"detectedInfo.emails" : [ " <mark>user@example.com</mark> " ],
"content" : [ " snippet 1 " , " snippet 2 " ]
Field Type Required Description idstring true Unique leak identifier detectionDatestring true ISO 8601 timestamp filePathstring false Path to leaked file fileHashstring false File hash (SHA256/SHA1/MD5) fileSizeinteger false File size in bytes fileTypestring false File extension/type detectedMimeTypestring false MIME type from file content
Field Type Description decompressedFilenamestring Original filename if from archive archiveSourcestring Parent archive filename archiveMemberPathstring Path within archive
The detectedInfo object contains extracted entities:
Field Type Description emailsarray Email addresses found usernamesarray Usernames found phone_numbersarray Phone numbers found ipv4_addressesarray IPv4 addresses found ipv6_addressesarray IPv6 addresses found bitcoin_addressesarray Bitcoin wallet addresses ethereum_addressesarray Ethereum wallet addresses monero_addressesarray Monero wallet addresses ripple_addressesarray Ripple wallet addresses zcash_addressesarray Zcash wallet addresses polkadot_addressesarray Polkadot wallet addresses binance_addressesarray Binance Coin addresses dash_addressesarray Dash wallet addresses hashesarray File hashes found in content
Field Type Description telegram_idstring Telegram message identifier channelIdinteger Channel ID messageIdinteger Message ID channelNamestring Channel name channelUsernamestring Channel username
Field Type When Present Description downloadUrlstring /leak/{id} onlyPresigned S3 download URL highlightobject /leak/search onlyHighlighted search matches languagestring When detected Primary language code languagesarray When detected Languages with confidence parseStatusstring Always Parsing status
Used in daily ransomware feeds.
"ransomwareGroup" : " string " ,
"companyAddress" : " string " ,
"detectionDate" : " 2019-08-24T14:15:22Z "
Used in Telegram channel feeds.
"detectionDate" : " 2019-08-24T14:15:22Z " ,
Field Type Description languagestring ISO 639-1 language code probabilitynumber Confidence score (0-1)
Used for all cryptocurrency addresses and contact information.
Field Type Description codeinteger HTTP status code messagestring Error description
Field Type Description detailarray Array of validation errors detail[].locarray Field location path detail[].msgstring Error message detail[].typestring Error type
Value Description torTor hidden service clearnetStandard internet
The API uses ISO 639-1 language codes. Common values include:
Code Language enEnglish esSpanish frFrench deGerman ruRussian zhChinese arArabic
Value Description telegramTelegram messaging discordDiscord messaging
All schemas are validated server-side. Common validation rules include:
Required fields : Must be present in the response
Type validation : Fields must match specified types
Format validation : Dates must be ISO 8601, UUIDs must be valid format
Range validation : Numeric fields may have min/max constraints
def get_document_title ( document_hit ) :
page = document_hit. get ( ' page ' , {} )
return page. get ( ' pageTitle ' , ' Unknown Title ' )
def validate_message_hit ( hit ) :
required_fields = [ ' userId ' , ' channelId ' , ' messageId ' , ' detectionDate ' ]
for field in required_fields:
raise ValueError ( f "Missing required field: {field} " )
from datetime import datetime
def parse_detection_date ( date_string ) :
return datetime. fromisoformat ( date_string. replace ( ' Z ' , ' +00:00 ' ))