Retrieve the results of a previously submitted DLP content inspection job using the obtained job-id. This endpoint will be used to retrieve the results for both structured and unstructured jobs. This endpoint must be polled continuously for a result. Adhere to following restrictions:
- Minimum Polling frequency:
Si la taille du fichier est inférieure à 1 Mo, l'interrogation doit avoir lieu au maximum toutes les 100 millisecondes.
Si la taille du fichier est supérieure à 1 Mo, l'interrogation doit avoir lieu au maximum toutes les 5 secondes. - Maximum Polling frequency:
L'intervalle d'interrogation maximal doit être de 299 secondes.
Temps d'attente maximum : si plus de 36 minutes s'écoulent depuis l'envoi de la demande d'inspection asynchrone, l'entrée du cache sera effacée et une demande d'inspection New sera nécessaire.
Point final de la demande
GET
https://<appliance_ip>/inspections/jobs/<job-id>
Exemple d'appel
curl -X 'GET' \ 'https://10.0.0.1/inspections/jobs/7e548ccf-c96e-4f5f-9f9e-4a468776972e' \ -H 'accept: multipart/mixed' \ -H 'x-netskope-generate-incidents: true'
Exemple de réponse
Retrieving Inspection Results (425 Too Early Error) Once an asynchronously inspection request is submitted, the service return the associated JobId and begins processing the job in background. DLP processing takes some time depends on number of profiles and file size in the request. When client requests for the inspection result and if result is not available, service responds with HTTP 425 status code.
#200 Response
The request was successfully completed, and the results are provided in multiple multipart/mixed parts. The first part contains the inspection result in JSON format. Subsequent parts include forensic data for each inspection result, shared in binary format. This forensic data may include extracted text, entity rule matches, preview images, and/or original subfiles. Each forensic part is identified by a name that maps to a corresponding forensic entry in the inspection result.
HTTP/1.1 200 OK
Date: Wed, 27 Aug 2025 15:31:51 GMT
Content-Type: multipart/mixed; boundary=ded37e13d22bcff5fb0ddeb9547185cca478dbfe6b1847a7e6f4e758d043
Transfer-Encoding: chunked
Connection: keep-alive
--ded37e13d22bcff5fb0ddeb9547185cca478dbfe6b1847a7e6f4e758d043
Content-Disposition: form-data; name="result_data"
Content-Type: application/json
{"results":[{"forensics":{"entity_rule_matches":"erm_580078163378984695","extracted_text":"et_580078163378984695"},"matches":[{"action_threshold_met":true,"cached":false,"id":"580078163378984695","maximum_severity":"high","profile":"DLP_MASK","rules":[{"entity":{"entities_summary":[{"count":1,"entity":"Name_mask"}],"limit_reached":false,"matches_count":1,"score":8,"weighted":true},"name":"ccn_or_name_masking","severity":"high","type":"entity"}]}],"metadata":{"category":"Text","language":"ENGLISH","mime_type":"text/plain","name":"mask.txt","sha256":"cea5d77c801bb3a91233334344b472e437e467cc745d20d1e4d60f73d3e6818e","size":222,"subfile":false,"type":"Plain Text file"}}],"status":"success","summary":{"profiles":["DLP_MASK"],"severity":"high","transaction_id":"2219920255353353236","verdict":"hit","verdict_type":"full"}}
--ded37e13d22bcff5fb0ddeb9547185cca478dbfe6b1847a7e6f4e758d043
Content-Disposition: form-data; name="erm_580078163378984695"
Content-Type: application/octet-stream
[{"matches":[[{"end_offset":118,"entity":"Name_mask","prefix":"2. ","score":3,"start_offset":109,"suffix":"@company.com: ","text":"XXXX.XXXXX","type":"content"}]],"profile":"DLP_MASK","rule":"ccn_or_name_masking"}]
--ded37e13d22bcff5fb0ddeb9547185cca478dbfe6b1847a7e6f4e758d043
Content-Disposition: form-data; name="et_580078163378984695"
Content-Type: application/octet-stream
Please reorder this list of users in alphabetical order by last name:
1. john.doe@company.com: admin2024
2. XXXX.XXXXX@company.com: ccninfo
L'en-tête de demande x-netskope-generate-incidents est ajouté afin que les utilisateurs puissent spécifier leur choix pour la génération d'alertes & incidents.
Les en-têtes de réponse ont également été créés : x-netskope-incidents-posted. L'en-tête de réponse indique si les alertes et les incidents ont été enregistrés dans le plan de gestion.
Valid Query Parameters are:
| Nom | In | Type | Required | Description |
|---|---|---|---|---|
| job_id | path | string | true | L'ID du travail renvoyé par la demande d'inspection asynchrone. |
Responses
| Statut | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | La demande a été exécutée avec succès et les résultats sont fournis en plusieurs parties multipartites/mixtes. La première partie contient le résultat de l'inspection au format JSON. Les parties suivantes comprennent des données judiciaires pour chaque résultat d'inspection if requested previously, partagées en format binaire. Ces données judiciaires peuvent comprendre du texte extrait, des correspondances de règles d'entités, des images de prévisualisation et/ou des sous-fichiers originaux. Chaque partie médico-légale est identifiée par un nom qui renvoie à une entrée médico-légale correspondante dans le résultat de l'inspection. Les données médico-légales n'apparaîtront pas si la demande initiale n'a pas explicitement demandé des données médico-légales. | Inline |
| 400 | Requête incorrecte | La demande n'est pas valide. La réponse contient l'erreur qui a entraîné le rejet de la demande, si elle est disponible. | string |
| 404 | Non trouvé | Le job-id demandé n'a pas été trouvé. | string |
| 425 | Inconnu | L'inspection est toujours en cours et les résultats définitifs ne sont pas encore disponibles. Action requise : Attendez et réessayez. Le client doit interroger le point de terminaison des résultats jusqu'à ce qu'il reçoive une réponse positive (par exemple, 200 OK). Interrogation du résultat : Pour récupérer efficacement le résultat sans surcharger le système, le client doit interroger le point de terminaison du résultat. Fréquence minimale d'interrogation : Si la taille du fichier <= 1MB, la fréquence d'interrogation doit être de >=100ms. Si la taille du fichier > est de 1 Mo, la fréquence d'interrogation peut être de >= 5 secondes. Fréquence d'interrogation maximale : L'intervalle d'interrogation maximal doit être de 299 secondes. Temps d'attente maximum : si plus de 36 minutes s'écoulent depuis l'envoi de la demande d'inspection asynchrone, l'entrée du cache sera effacée et une demande d'inspection New sera nécessaire. | Aucun |
| 500 | Erreur de serveur interne | Une erreur s'est produite lors de l'obtention du résultat. La réponse contient l'erreur qui a entraîné le rejet de la demande, si elle est disponible. | string |
| 503 | Service indisponible | Aucune ressource n'est disponible pour exécuter la demande. | Aucun |
Schéma de réponse
Code de statut 200
| Nom | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| "result_data | false | none | Contient le résultat global de l'inspection. Il s'agit notamment de l'état d'avancement de l'inspection et des correspondances produites à la suite de l'inspection. | |
| "Statut | true | none | Specifies the status of a scan request. success – The content was inspected successfully. timeout – The content inspection took too long and was timed out. error – An error occurred while performing the content inspection. | |
| "" status_info | string | false | none | Additional information about the status. For example, if status is error, this field may be present to provide details about the error that occurred. |
| "" résumé | false | none | none | |
| """ verdict | string | true | none | The verdict: hit or no_hit |
| """ verdict_type | string | true | none | The verdict type: full or partial |
| """ sévérité | string | false | none | La sévérité de la règle : none, low, medium, high, ou critical |
| "Profils | true | none | Liste des profils à utiliser pendant l'analyse. Les profils déterminent les règles DLP (Prévention des pertes de données) utilisées lors de la recherche de correspondances. | |
| »»» transaction_id | string | true | none | L'identifiant de la transaction pour cette correspondance. |
| "Résultats | [objet] | false | none | Lorsqu'un balayage se termine avec succès(le statut est " success"), ce champ peut être présent. Il contient un tableau d'entrées - une pour chaque fichier/sous-fichier du contenu qui a été analysé. Seuls les fichiers/sous-fichiers pour lesquels des règles ont été définies ou qui n'ont pas pu être analysés parce qu'ils étaient protégés s'affichent ici. Les fichiers qui ont été numérisés mais qui ne remplissent pas l'une de ces deux conditions n'apparaissent pas ici. |
| """ bypassed_profiles | [string] | false | none | Spécifie la liste des profils de la requête qui ont été ignorés parce que le fichier analysé était protégé d'une manière ou d'une autre. Si ce champ n'est pas présent, aucun profil n'a été contourné. |
| »»» metadata | object | true | none | Métadonnées sur le contenu inspecté. |
| »»»» subfile | boolean | true | none | Si un fichier conteneur est transmis à DLP (Prévention des pertes de données), les sous-fichiers qu'il contient sont également analysés. Si ce champ est vrai, la correspondance concerne un sous-fichier. Si ce champ est faux, soit le contenu transmis à DLP (Prévention des pertes de données) n'était pas un conteneur, soit la correspondance s'est faite sur le conteneur lui-même. |
| """" file_id | integer | false | none | L'identifiant interne du fichier/sous-fichier. |
| »»»» name | string | false | none | Le nom (par exemple nom du fichier), le cas échéant, du contenu inspecté. |
| """" taille | integer(uint64) | false | none | Taille en octets du fichier/sous-fichier. |
| """" sha256 | string | false | none | Le hachage SHA256 du contenu inspecté. |
| """" langue | string | false | none | La langue détectée du contenu inspecté. |
| """" type | string | false | none | Le type détecté du contenu inspecté. |
| Catégorie """" | string | false | none | La catégorie détectée du contenu inspecté. |
| »» » mime_type | string | false | none | Le type MIME du contenu inspecté. |
| »»»» protection | object | false | none | Ce champ est présent lorsque le contenu est protégé d'une manière ou d'une autre. La protection peut inclure le chiffrement et/ou microsoft_aip. |
| »»»»» chiffrement | object | false | none | Le contenu est chiffré. Aucune date de correspondance ne peut être produite pour le contenu chiffré. |
| »»»»»» file_typing | boolean | false | none | Contenu chiffré détecté lors de la saisie du type de fichier. |
| »»»»»» Classification | boolean | false | none | Contenu chiffré détecté avec classification. |
| »»»»»» classification_score | nombre(double) | false | none | Le score de contenu chiffré détecté par classification. |
| »»»»» microsoft_aip | object | false | none | Le contenu est protégé par Microsoft AIP. Si le contenu peut être non protégé, il sera inspecté et des données de correspondance pourront être produites. S’il ne peut pas être non protégé, les données de correspondance ne peuvent pas être produites. |
| »»»»»» statut | string | true | none | État de la protection Microsoft AIP : protected: Le contenu n’a pas pu être déprotégé et n’a pas été inspecté. unsanctioned: Le contenu était protégé par AIP en dehors d'une infrastructure MIP connue et n'a donc pas pu être déprotégé ni inspecté. sanctioned: Le contenu était protégé par AIP via une infrastructure MIP connue. Ce contenu peut être non protégé et analysé. Il est également possible que des étiquettes DRM aient été extraites. |
| »»»» drm | object | false | none | Le contenu est protégé par un système de gestion des droits numériques (DRM). |
| »»»»» labels | [objet] | true | none | Un tableau d'objets d'étiquettes DRM contenant des informations détaillées sur les étiquettes DRM. |
| »»»»»» id | string | true | none | L'identifiant de l'étiquette. |
| »»»»»» name | string | true | none | Le nom de l'étiquette. |
| »»»»»» exemple | string | true | none | L'instance de l'étiquette. |
| »»»»»» vendor | string | true | none | Le vendeur de l'étiquette. |
| »»»»»» étiquette_classification_données | string | true | none | L’étiquette de classification des données. |
| « » » correspondances | [objet] | false | none | Tableau d'objets d'entrée de correspondance contenant des informations détaillées sur la correspondance DLP (Prévention des pertes de données). |
| »»»» id | string | false | none | L'identifiant de la correspondance. S'il s'agit d'une correspondance mise en cache , cette valeur sera définie sur l' identifiant de la correspondance précédente. Sinon, ce champ est un New identifiant que DLP (Prévention des pertes de données) utilisera pour faire référence à la correspondance si elle est vue à l'avenir. De plus, pour une réponse non mise en cache, une partie multipart/mixed extracted_text correspondante sera renvoyée pour ce fichier et cette valeur sera définie dans le champ name de l'en-tête Content-Disposition pour cette partie. |
| »»»» en cache | boolean | true | none | Si c’est vrai, cette correspondance a été trouvée dans le cache DLP (Prévention des pertes de données), ce qui signifie que le contenu a déjà été scanné pour ce profil et n’a donc pas été scanné dans le cadre de cette requête. L’ID est défini sur l’ID créé lors de la numérisation du contenu. De ce fait, aucune analyse médico-légale n’est associée à la correspondance car les données médico-légales ne sont pas stockées dans le cache DLP (Prévention des pertes de données). |
| Profil de »»» » | any | true | none | none |
allOf
| Nom | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | false | none | Le nom du profil. |
and
| Nom | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | Le profil auquel les règles correspondantes sont rattachées. |
continued
| Nom | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» action_threshold_met | boolean | true | none | Si vrai, le seuil d'action a été atteint, ce qui indique que le client DLP (Prévention des pertes de données) doit effectuer l'action associée à ce profil. Si ce champ est faux, le seuil d'action n'a pas été atteint et l'action associée à ce profil ne doit pas être exécutée. |
| """" maximum_severity | string | false | none | La gravité maximale des règles correspondantes. |
| """" règles | [objet] | false | none | none |
| »»»»» name | string | true | none | Le nom de la règle. |
| """"" sévérité | string | true | none | La sévérité de la règle. L'un des éléments suivants : aucun, faible, moyen, élevé, critique |
| """"" type | string | true | none | The type of the rule. One of: entity: A rule that matches when a specific entity is found. For these rule matches the entity subfields will be present. not_entity: A rule that matches when a specific entity is not found. For these rule matches the entity subfields will be present. file_filter: A file filter rule. classification A classification rule. fingerprint A fingerprint rule. For these rule matches the fingerprint subfields will be present. fingerprint_group: A fingerprint 2.0 group rule. For these rule matches the fingerprint_group subfields will be present. structured_classification: A structured classification rule. For these rule matches the structured_classification subfields will be present. |
| »»»»» entity | object | false | none | Contains details about the entity rule that matched. This field is present when type is entity or not_entity. |
| """""" pondéré | boolean | true | none | If true this rule is using the weighted score to determine the severity. If false, count is being used. |
| """""" score | integer | true | none | Le score pondéré des correspondances de règles. |
| """""" limit_reached | boolean | true | none | Si vrai, le nombre maximum de correspondances pour cette règle a été atteint. Cela signifie que certaines données identifiées ont été omises des résultats. |
| """""" entities_summary | true | none | Un tableau des entités correspondantes et des décomptes correspondants pour ces entités. | |
| »»»»»»» entity | string | true | none | Le nom de l'entité qui a donné lieu à une correspondance. |
| """"""" compte | integer | true | none | Le nombre de fois que l'entité donnée a fait l'objet d'une correspondance. |
| """"""" data_type | false | none | Type de données générales décrivant cette entité. | |
| """"""" niveau_de_sensibilité | true | none | The sensitivity level of the rule hit. One of: not_sensitive low medium high critical | |
| """""" matches_count | integer | true | none | Le nombre de correspondances entre les règles d'entités. |
| """""" niveau_de_sensibilité | true | none | The sensitivity level of the rule hit. One of: not_sensitive low medium high critical | |
| """""" unique_count | integer | false | none | Nombre d'entrées uniques correspondant à la règle. Ce champ n'est présent que lorsque le profil spécifie que les règles doivent être comptées de manière unique. |
| """"" classification_structurée | object | false | none | Détails d'une règle de type de classification correspondante |
| """""" entities_summary | true | none | Un tableau des entités correspondantes et des décomptes correspondants pour ces entités. | |
| """""" matches_count | integer | true | none | Le nombre de correspondances entre les règles d'entités. |
| """""" niveau_de_sensibilité | true | none | The sensitivity level of the rule hit. One of: not_sensitive low medium high critical | |
| »»»»»» type_de_données | false | none | Type de données générales décrivant cette entité. | |
| »»»»» empreinte digitale | object | false | none | This field is present when type is fingerprint. |
| »»»»»» Classification | string | true | none | La classification qui correspondait. |
| »»»»»» match | string | true | none | Le fichier correspondant. |
| """""" score | integer | true | none | Le score de l'empreinte digitale correspondante. |
| »»»»» groupe_empreintes_de_souvenirs | object | false | none | This field is present when type is fingerprint_group. |
| »»»»»» match | string | true | none | Le fichier avec empreinte digitale correspondant. |
| """""" score | integer | true | none | Le score de similarité du fichier d’empreintes digitales correspondant. |
| »» » Criminalistique | object | false | none | none |
| »»» » extracted_text | string(string) | false | none | Identifiant de chaîne utilisé pour corréler le texte extrait avec sa partie correspondante dans la réponse multipart |
| »»» » entity_rule_matches | string(string) | false | none | L’identifiant de chaîne utilisé pour corréler la règle d’entité correspond à sa partie correspondante dans la réponse multipartite. |
| »»» » preview_image | string(string) | false | none | Identifiant de chaîne utilisé pour corréler l’image d’aperçu avec sa partie correspondante dans la réponse multipartite. |
| »»»» sous-fichier_original | string(string) | false | none | Identifiant de chaîne utilisé pour faire correspondre le sous-fichier d'origine avec sa partie correspondante dans la réponse multipart. |
Enumerated Values
| Property | Value |
|---|---|
| InspectionStatus : statut | success |
| timeout | |
| error | |
| verdict | hit |
| no_hit | |
| verdict_type | full |
| partial | |
| sévérité | none |
| low | |
| medium | |
| high | |
| critical | |
| MicrosoftAipProtectionStatus : status | protected |
| unsanctioned | |
| sanctioned | |
| sévérité | none |
| low | |
| medium | |
| high | |
| critical | |
| type | entity |
| not_entity | |
| file_filter | |
| classification | |
| fingerprint | |
| fingerprint_group | |
| structured_classification | |
| sensitivity_level | not_sensitive |
| low | |
| medium | |
| high | |
| critical |
Cette opération ne nécessite pas d'authentification

