Sur cette page

Référence de l’API : données

warning

La suppression d’un jeu de données supprime définitivement toutes les tables de données et les données associées. Cette action est irréversible.

Utilisation :

# Get the presigned URL with required parameters
URL=$(curl -s -H "X-API-Key: your-api-key" \
  "https://api.processmind.com/v1/tenant/{tenantId}/datatables/{datatableId}/uploads/presigned-url?datasetid={datasetId}&filename=data.csv&filesize=1024&filelastmodified=1704067200000")

# Upload the file
curl -X PUT --upload-file "data.csv" -H "Content-Type: text/csv" "$URL"

info

Les URL signées expirent après un délai limité. Utilisez-les rapidement après les avoir obtenues. Si l’import échoue, demandez une nouvelle URL signée.

Utilisation :

# Get the download URL
RESPONSE=$(curl -s -H "X-API-Key: your-api-key" \
  "https://api.processmind.com/v1/tenant/{tenantId}/datatables/{dataTableId}/download")

# Extract URL and download the file
DOWNLOAD_URL=$(echo $RESPONSE | jq -r '.downloadUrl')
curl -o "data.csv" "$DOWNLOAD_URL"

info

Pour les tables de données importées, le format du fichier d’origine est conservé (CSV, Parquet, ORC, JSONL ou Excel). Pour les résultats de simulation, le fichier est toujours au format CSV.

Utilisation :

# Get delta presigned URL
RESPONSE=$(curl -s -H "X-API-Key: your-api-key" \
  "https://api.processmind.com/v1/tenant/{tenantId}/datatables/{dataTableId}/uploads/presigned-url?delta=true&filename=delta.csv&filesize=1024&filelastmodified=1704067200000")

# Upload the delta file
UPLOAD_URL=$(echo $RESPONSE | jq -r '.PreSignedUploadUrl')
curl -X PUT --upload-file "delta.csv" -H "Content-Type: text/csv" "$UPLOAD_URL"

info

La table de données doit déjà contenir des données initiales avant l’utilisation des imports delta. Le fichier delta doit utiliser le même format que l’import d’origine, par exemple un delta CSV pour un fichier CSV d’origine ou un delta Parquet pour un fichier Parquet d’origine, et présenter la même structure de colonnes. Les fichiers Excel et XES ne sont pas pris en charge pour les imports delta.

info

Après l’import via l’URL signée, ProcessMind traite automatiquement le delta et le combine avec les données d’origine. Interrogez GET /datatables/{dataTableId} jusqu’à ce que hasDataLoaded soit true pour savoir quand le traitement est terminé.

Les jeux de données sont des ensembles de tables de données associées qui appartiennent logiquement au même groupe.

Lister les jeux de données

Point de terminaison : GET /v1/tenant/{tenantId}/datasets

Authentification : Clé API limitée au tenant · périmètre read

Paramètres :

Nom Type Emplacement Obligatoire Description
tenantId string chemin Oui Format : uuid
limit integer requête Non Nombre maximal d’éléments à renvoyer
offset integer requête Non Nombre d’éléments à ignorer

Réponse (200) :

Liste des jeux de données

[
	{
		"id": "00000000-0000-0000-0000-000000000000",
		"treeParentId": "00000000-0000-0000-0000-000000000000",
		"treeNodeType": "Dataset",
		"displayName": "string",
		"createdAt": "2024-03-15T16:30:00Z",
		"updatedAt": "2024-03-15T16:30:00Z",
		"dataTableId": "00000000-0000-0000-0000-000000000000"
	}
]

Erreurs :

  • 401 Clé API absente, non valide, désactivée ou expirée

Créer un jeu de données (avec une table de données vide)

Point de terminaison : POST /v1/tenant/{tenantId}/datasets

Authentification : Clé API limitée au tenant · périmètre write

Paramètres :

Nom Type Emplacement Obligatoire Description
tenantId string chemin Oui Format : uuid

Corps de la requête :

{
	"displayName": "string",
	"treeParentId": "00000000-0000-0000-0000-000000000000",
	"treeNodeType": "Dataset"
}
Champ Type Obligatoire Description
displayName string Oui Nom du jeu de données affiché dans l’arborescence des données
Longueur maximale : 128
treeParentId string Non Identifiant du dossier parent (null = niveau supérieur)
Format : uuid
treeNodeType Dataset | TreeGroup Non Jeu de données ou dossier
Valeurs autorisées : Dataset, TreeGroup
Valeur par défaut : Dataset

Réponse (201) :

Jeu de données créé

{
	"id": "00000000-0000-0000-0000-000000000000",
	"treeParentId": "00000000-0000-0000-0000-000000000000",
	"treeNodeType": "Dataset",
	"displayName": "string",
	"createdAt": "2024-03-15T16:30:00Z",
	"updatedAt": "2024-03-15T16:30:00Z",
	"dataTableId": "00000000-0000-0000-0000-000000000000"
}
Champ Type Obligatoire Description
id string Oui Format : uuid
treeParentId string Oui Format : uuid
treeNodeType Dataset | TreeGroup Oui Valeurs autorisées : Dataset, TreeGroup
Valeur par défaut : Dataset
displayName string Oui Valeur par défaut : ""
Longueur maximale : 128
createdAt string Oui Format : date-time
updatedAt string Oui Format : date-time
dataTableId string Oui Format : uuid

Erreurs :

  • 401 Clé API absente, non valide, désactivée ou expirée

Récupérer un jeu de données

Point de terminaison : GET /v1/tenant/{tenantId}/datasets/{datasetId}

Authentification : Clé API limitée au tenant · périmètre read

Paramètres :

Nom Type Emplacement Obligatoire Description
tenantId string chemin Oui Format : uuid
datasetId string chemin Oui Format : uuid

Réponse (200) :

Jeu de données

{
	"id": "00000000-0000-0000-0000-000000000000",
	"treeParentId": "00000000-0000-0000-0000-000000000000",
	"treeNodeType": "Dataset",
	"displayName": "string",
	"createdAt": "2024-03-15T16:30:00Z",
	"updatedAt": "2024-03-15T16:30:00Z",
	"dataTableId": "00000000-0000-0000-0000-000000000000"
}
Champ Type Obligatoire Description
id string Oui Format : uuid
treeParentId string Oui Format : uuid
treeNodeType Dataset | TreeGroup Oui Valeurs autorisées : Dataset, TreeGroup
Valeur par défaut : Dataset
displayName string Oui Valeur par défaut : ""
Longueur maximale : 128
createdAt string Oui Format : date-time
updatedAt string Oui Format : date-time
dataTableId string Oui Format : uuid

Erreurs :

  • 401 Clé API absente, non valide, désactivée ou expirée
  • 404 Ressource introuvable

Supprimer logiquement un jeu de données

Point de terminaison : DELETE /v1/tenant/{tenantId}/datasets/{datasetId}

Authentification : Clé API limitée au tenant · périmètre write

Paramètres :

Nom Type Emplacement Obligatoire Description
tenantId string chemin Oui Format : uuid
datasetId string chemin Oui Format : uuid

Réponse (200) :

Jeu de données supprimé

{
	"success": true,
	"message": "string"
}
Champ Type Obligatoire Description
success boolean Oui
message string Oui

Erreurs :

  • 401 Clé API absente, non valide, désactivée ou expirée
  • 404 Ressource introuvable

Lister les tables de données d’un jeu de données

Point de terminaison : GET /v1/tenant/{tenantId}/datasets/{datasetId}/datatables

Authentification : Clé API limitée au tenant · périmètre read

Paramètres :

Nom Type Emplacement Obligatoire Description
tenantId string chemin Oui Format : uuid
datasetId string chemin Oui Format : uuid
limit integer requête Non Nombre maximal d’éléments à renvoyer
offset integer requête Non Nombre d’éléments à ignorer

Réponse (200) :

Liste des tables de données du jeu de données

[
	{
		"id": "00000000-0000-0000-0000-000000000000",
		"datasetId": "00000000-0000-0000-0000-000000000000",
		"displayName": "string",
		"createdAt": "2024-03-15T16:30:00Z",
		"updatedAt": "2024-03-15T16:30:00Z",
		"hasDataLoaded": true,
		"filterExpression": "string",
		"metaInfo": {
			"type": "nodata"
		}
	}
]

Erreurs :

  • 401 Clé API absente, non valide, désactivée ou expirée
  • 404 Ressource introuvable

Créer une table de données vide dans un jeu de données

Point de terminaison : POST /v1/tenant/{tenantId}/datasets/{datasetId}/datatables

Authentification : Clé API limitée au tenant · périmètre write

Paramètres :

Nom Type Emplacement Obligatoire Description
tenantId string chemin Oui Format : uuid
datasetId string chemin Oui Format : uuid

Corps de la requête :

{
	"displayName": "string"
}
Champ Type Obligatoire Description
displayName string Oui Nom de la table de données
Longueur maximale : 128

Réponse (201) :

Table de données créée

{
	"id": "00000000-0000-0000-0000-000000000000",
	"datasetId": "00000000-0000-0000-0000-000000000000",
	"displayName": "string",
	"createdAt": "2024-03-15T16:30:00Z",
	"updatedAt": "2024-03-15T16:30:00Z",
	"hasDataLoaded": true,
	"filterExpression": "string",
	"metaInfo": {
		"type": "nodata"
	}
}
Champ Type Obligatoire Description
id string Oui Format : uuid
datasetId string Oui Format : uuid
displayName string Oui Valeur par défaut : ""
Longueur maximale : 128
createdAt string Oui Format : date-time
updatedAt string Oui Format : date-time
hasDataLoaded boolean Oui Valeur par défaut : false
filterExpression string Oui Longueur maximale : 4096
metaInfo object | object | object | object Oui

Erreurs :

  • 401 Clé API absente, non valide, désactivée ou expirée
  • 404 Ressource introuvable

Les tables de données stockent les données réelles du journal d’événements utilisées pour le Process Mining.

Lister les tables de données

Point de terminaison : GET /v1/tenant/{tenantId}/datatables

Authentification : Clé API limitée au tenant · périmètre read

Paramètres :

Nom Type Emplacement Obligatoire Description
tenantId string chemin Oui Format : uuid
limit integer requête Non Nombre maximal d’éléments à renvoyer
offset integer requête Non Nombre d’éléments à ignorer

Réponse (200) :

Liste des tables de données

[
	{
		"id": "00000000-0000-0000-0000-000000000000",
		"datasetId": "00000000-0000-0000-0000-000000000000",
		"displayName": "string",
		"createdAt": "2024-03-15T16:30:00Z",
		"updatedAt": "2024-03-15T16:30:00Z",
		"hasDataLoaded": true,
		"filterExpression": "string",
		"metaInfo": {
			"type": "nodata"
		}
	}
]

Erreurs :

  • 401 Clé API absente, non valide, désactivée ou expirée

Récupérer une table de données

Point de terminaison : GET /v1/tenant/{tenantId}/datatables/{dataTableId}

Authentification : Clé API limitée au tenant · périmètre read

Paramètres :

Nom Type Emplacement Obligatoire Description
tenantId string chemin Oui Format : uuid
dataTableId string chemin Oui Format : uuid

Réponse (200) :

Table de données

{
	"id": "00000000-0000-0000-0000-000000000000",
	"datasetId": "00000000-0000-0000-0000-000000000000",
	"displayName": "string",
	"createdAt": "2024-03-15T16:30:00Z",
	"updatedAt": "2024-03-15T16:30:00Z",
	"hasDataLoaded": true,
	"filterExpression": "string",
	"metaInfo": {
		"type": "nodata"
	}
}
Champ Type Obligatoire Description
id string Oui Format : uuid
datasetId string Oui Format : uuid
displayName string Oui Valeur par défaut : ""
Longueur maximale : 128
createdAt string Oui Format : date-time
updatedAt string Oui Format : date-time
hasDataLoaded boolean Oui Valeur par défaut : false
filterExpression string Oui Longueur maximale : 4096
metaInfo object | object | object | object Oui

Erreurs :

  • 401 Clé API absente, non valide, désactivée ou expirée
  • 404 Ressource introuvable

Mettre à jour une table de données (displayName, parseSettings, …)

Point de terminaison : PUT /v1/tenant/{tenantId}/datatables/{dataTableId}

Authentification : Clé API limitée au tenant · périmètre write

Paramètres :

Nom Type Emplacement Obligatoire Description
tenantId string chemin Oui Format : uuid
dataTableId string chemin Oui Format : uuid

Corps de la requête :

{
	"displayName": "string",
	"filterExpression": "string"
}
Champ Type Obligatoire Description
displayName string Non Nom de la table de données
Longueur maximale : 128
filterExpression string Non Expression de filtre appliquée aux données
Longueur maximale : 4096

Réponse (200) :

Table de données mise à jour

{
	"id": "00000000-0000-0000-0000-000000000000",
	"datasetId": "00000000-0000-0000-0000-000000000000",
	"displayName": "string",
	"createdAt": "2024-03-15T16:30:00Z",
	"updatedAt": "2024-03-15T16:30:00Z",
	"hasDataLoaded": true,
	"filterExpression": "string",
	"metaInfo": {
		"type": "nodata"
	}
}
Champ Type Obligatoire Description
id string Oui Format : uuid
datasetId string Oui Format : uuid
displayName string Oui Valeur par défaut : ""
Longueur maximale : 128
createdAt string Oui Format : date-time
updatedAt string Oui Format : date-time
hasDataLoaded boolean Oui Valeur par défaut : false
filterExpression string Oui Longueur maximale : 4096
metaInfo object | object | object | object Oui

Erreurs :

  • 401 Clé API absente, non valide, désactivée ou expirée
  • 404 Ressource introuvable

Obtenir une URL signée pour télécharger le fichier source de la table de données

Point de terminaison : GET /v1/tenant/{tenantId}/datatables/{dataTableId}/download

Authentification : Clé API limitée au tenant · périmètre read

Paramètres :

Nom Type Emplacement Obligatoire Description
tenantId string chemin Oui Format : uuid
dataTableId string chemin Oui Format : uuid

Réponse (200) :

URL de téléchargement

{
	"downloadUrl": "string",
	"expiresInSeconds": 0
}
Champ Type Obligatoire Description
downloadUrl string Oui
expiresInSeconds number Oui

Erreurs :

  • 400 Requête incorrecte : par exemple, expression de filtre non valide, processus sans modèle, type d’import non pris en charge ou champ obligatoire manquant
  • 401 Clé API absente, non valide, désactivée ou expirée
  • 404 Ressource introuvable

Annuler un import multipart et supprimer les parties importées

Le périmètre uploadData doit être associé à la clé API.

Point de terminaison : POST /v1/tenant/{tenantId}/datatables/{dataTableId}/uploads/multipart/abort

Authentification : Clé API limitée au tenant · périmètre write

Paramètres :

Nom Type Emplacement Obligatoire Description
tenantId string chemin Oui Format : uuid
dataTableId string chemin Oui Format : uuid

Corps de la requête :

{
	"uploadId": "string",
	"uploadHandle": "string"
}
Champ Type Obligatoire Description
uploadId string Oui
uploadHandle string Oui Identifiant opaque renvoyé lors de l’étape d’initialisation

Réponse (200) :

Import annulé

{
	"message": "string"
}
Champ Type Obligatoire Description
message string Oui

Erreurs :

  • 401 Clé API absente, non valide, désactivée ou expirée
  • 403 La clé API ne dispose pas du périmètre requis ou de l’accès à l’organisation, le tenant est inactif ou le forfait bloque ce type de fichier
  • 404 Ressource introuvable

Terminer un import multipart (étape 3 sur 3)

Le périmètre uploadData doit être associé à la clé API. Assemble les parties importées à l’aide de leurs ETags et déclenche le traitement du journal d’événements.

Point de terminaison : POST /v1/tenant/{tenantId}/datatables/{dataTableId}/uploads/multipart/complete

Authentification : Clé API limitée au tenant · périmètre write

Paramètres :

Nom Type Emplacement Obligatoire Description
tenantId string chemin Oui Format : uuid
dataTableId string chemin Oui Format : uuid

Corps de la requête :

{
	"uploadId": "string",
	"uploadHandle": "string",
	"parts": [
		{
			"partNumber": 0,
			"eTag": "string"
		}
	]
}
Champ Type Obligatoire Description
uploadId string Oui
uploadHandle string Oui Identifiant opaque renvoyé lors de l’étape d’initialisation
parts object[] Oui

Réponse (200) :

Terminé (&#123 ; completed : true })

{
	"message": "string"
}
Champ Type Obligatoire Description
message string Oui

Erreurs :

  • 401 Clé API absente, non valide, désactivée ou expirée
  • 403 La clé API ne dispose pas du périmètre requis ou de l’accès à l’organisation, le tenant est inactif ou le forfait bloque ce type de fichier
  • 404 Ressource introuvable

Démarrer un import multipart par segments pour les données du journal d’événements (étape 1 sur 3)

Le périmètre uploadData doit être associé à la clé API. Renvoie un uploadId et un uploadHandle opaque à transmettre aux appels parts, complete et abort suivants. Convient aux fichiers volumineux.

Point de terminaison : POST /v1/tenant/{tenantId}/datatables/{dataTableId}/uploads/multipart/initiate

Authentification : Clé API limitée au tenant · périmètre write

Paramètres :

Nom Type Emplacement Obligatoire Description
tenantId string chemin Oui Format : uuid
dataTableId string chemin Oui Format : uuid

Corps de la requête :

{
	"fileName": "string",
	"fileSize": 0,
	"fileLastModified": 0,
	"partCount": 0,
	"delta": true,
	"datasetId": "00000000-0000-0000-0000-000000000000",
	"modelId": "00000000-0000-0000-0000-000000000000"
}
Champ Type Obligatoire Description
fileName string Oui
fileSize number Oui
fileLastModified number Oui
partCount number Non Nombre de parties à signer (valeur par défaut : 10)
delta boolean Non Indique s’il s’agit d’un import delta (incrémentiel)
datasetId string Non Format : uuid
modelId string Non Format : uuid

Réponse (200) :

Import initialisé

{
	"uploadId": "string",
	"uploadHandle": "string",
	"partCount": 0,
	"partSizeBytes": 0
}
Champ Type Obligatoire Description
uploadId string Non
uploadHandle string Non Identifiant opaque pour les étapes des parties, de finalisation et d’annulation
partCount number Non
partSizeBytes number Non

Erreurs :

  • 401 Clé API absente, non valide, désactivée ou expirée
  • 403 La clé API ne dispose pas du périmètre requis ou de l’accès à l’organisation, le tenant est inactif ou le forfait bloque ce type de fichier
  • 404 Ressource introuvable

Obtenir les URL signées des parties d’un import multipart (étape 2 sur 3)

Le périmètre uploadData doit être associé à la clé API. Renvoie une URL PUT signée pour chaque numéro de partie demandé.

Point de terminaison : POST /v1/tenant/{tenantId}/datatables/{dataTableId}/uploads/multipart/parts

Authentification : Clé API limitée au tenant · périmètre write

Paramètres :

Nom Type Emplacement Obligatoire Description
tenantId string chemin Oui Format : uuid
dataTableId string chemin Oui Format : uuid

Corps de la requête :

{
	"uploadId": "string",
	"uploadHandle": "string",
	"partNumbers": [
		0
	]
}
Champ Type Obligatoire Description
uploadId string Oui
uploadHandle string Oui Identifiant opaque renvoyé lors de l’étape d’initialisation
partNumbers number[] Oui

Réponse (200) :

URL signées des parties (&#123 ; uploadId, parts : [&#123 ; partNumber, url }] })

{
	"message": "string"
}
Champ Type Obligatoire Description
message string Oui

Erreurs :

  • 401 Clé API absente, non valide, désactivée ou expirée
  • 403 La clé API ne dispose pas du périmètre requis ou de l’accès à l’organisation, le tenant est inactif ou le forfait bloque ce type de fichier
  • 404 Ressource introuvable

Obtenir une URL d’import S3 signée pour les données du journal d’événements (CSV/XLSX, complètes ou delta)

Le périmètre uploadData doit être associé à la clé API, indépendamment des périmètres read/write. La valeur filesize déclarée, en octets, est comparée à la taille maximale d’import du forfait ; la taille réelle de l’objet est vérifiée à nouveau lorsque le fichier est reçu.

Point de terminaison : GET /v1/tenant/{tenantId}/datatables/{dataTableId}/uploads/presigned-url

Authentification : Clé API limitée au tenant · périmètre read

Paramètres :

Nom Type Emplacement Obligatoire Description
tenantId string chemin Oui Format : uuid
dataTableId string chemin Oui Format : uuid
filename string requête Oui
filesize string requête Oui Taille du fichier en octets, comparée à la taille maximale d’import du forfait
filelastmodified string requête Oui
datasetid string requête Non Obligatoire pour les imports complets, non delta
modelid string requête Non Format : uuid
delta true | false requête Non Valeurs autorisées : true, false
partnumber string requête Non
validforseconds integer requête Non Durée de validité de l’URL signée en secondes (1–3600, valeur par défaut : 3600)

Réponse (200) :

URL signée

{
	"PreSignedUploadUrl": "string"
}
Champ Type Obligatoire Description
PreSignedUploadUrl string Oui URL PUT S3 signée, valide environ 1 h

Erreurs :

  • 401 Clé API absente, non valide, désactivée ou expirée
  • 403 La clé API ne dispose pas du périmètre requis ou de l’accès à l’organisation, le tenant est inactif ou le forfait bloque ce type de fichier
  • 404 Ressource introuvable
  • 413 Le fichier dépasse la taille maximale d’import du forfait