Sur cette page

Référence de l’API : tenants

Obtenir les informations du tenant

Endpoint : GET /v1/tenant/{tenantId}

Authentification : Clé API limitée au tenant · read portée

Paramètres :

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

Réponse (200) :

Détails du tenant

{
	"id": "00000000-0000-0000-0000-000000000000",
	"createdBy": "00000000-0000-0000-0000-000000000000",
	"createdAt": "2024-03-15T16:30:00Z",
	"displayName": "string",
	"contactEmail": "string",
	"isActive": true,
	"shortName": "string",
	"useOrganizationTheme": true,
	"description": "string",
	"organizationId": "00000000-0000-0000-0000-000000000000",
	"allowedLogins": {
		"Microsoft": true,
		"Google": true,
		"LinkedIn": true
	},
	"url": "string"
}
Champ Type Obligatoire Description
id string Oui Format : uuid
createdBy string Oui Format : uuid
createdAt string Oui Format : date-time
displayName string Oui Valeur par défaut : ""
Longueur maximale : 128
contactEmail string Oui Format : email
isActive boolean Oui Valeur par défaut : true
shortName string Oui
useOrganizationTheme boolean Oui Valeur par défaut : true
description string Oui Longueur maximale : 200
organizationId string Oui Format : uuid
allowedLogins object Oui
url string Oui Format : uri

Erreurs :

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

Mettre à jour les paramètres du tenant

Endpoint : PUT /v1/tenant/{tenantId}

Authentification : Clé API limitée au tenant · write portée

Paramètres :

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

Corps de la requête :

{
	"id": "00000000-0000-0000-0000-000000000000",
	"displayName": "string",
	"contactEmail": "string",
	"shortName": "string",
	"description": "string"
}
Champ Type Obligatoire Description
id string Non Format : uuid
displayName string Non
contactEmail string Non
shortName string Non
description string Non

Réponse (200) :

Tenant mis à jour

{
	"id": "00000000-0000-0000-0000-000000000000",
	"createdBy": "00000000-0000-0000-0000-000000000000",
	"createdAt": "2024-03-15T16:30:00Z",
	"displayName": "string",
	"contactEmail": "string",
	"isActive": true,
	"shortName": "string",
	"useOrganizationTheme": true,
	"description": "string",
	"organizationId": "00000000-0000-0000-0000-000000000000",
	"allowedLogins": {
		"Microsoft": true,
		"Google": true,
		"LinkedIn": true
	},
	"url": "string"
}
Champ Type Obligatoire Description
id string Oui Format : uuid
createdBy string Oui Format : uuid
createdAt string Oui Format : date-time
displayName string Oui Valeur par défaut : ""
Longueur maximale : 128
contactEmail string Oui Format : email
isActive boolean Oui Valeur par défaut : true
shortName string Oui
useOrganizationTheme boolean Oui Valeur par défaut : true
description string Oui Longueur maximale : 200
organizationId string Oui Format : uuid
allowedLogins object Oui
url string Oui Format : uri

Erreurs :

  • 400 Requête incorrecte : par exemple, une expression de filtre non valide, un processus sans modèle, un type d’importation non pris en charge ou un champ obligatoire manquant
  • 401 Clé API manquante, non valide, désactivée ou expirée
  • 403 La clé API ne possède pas la portée requise ou l’accès à l’organisation, le tenant est inactif ou le forfait bloque ce type de fichier
  • 406 La valeur ne peut pas être acceptée, par exemple s’il s’agit d’un nom court réservé ou déjà utilisé

Obtenir les statistiques du tenant (taille des données, modèles, simulations, utilisateurs)

Endpoint : GET /v1/tenant/{tenantId}/statistics

Authentification : Clé API limitée au tenant · read portée

Paramètres :

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

Réponse (200) :

Statistiques du tenant

{
	"tenantId": "00000000-0000-0000-0000-000000000000",
	"uploadedDataSize": 0,
	"uploadedDataCount": 0,
	"modelCount": 0,
	"simulationCount": 0,
	"userCount": 0
}
Champ Type Obligatoire Description
tenantId string Oui Format : uuid
uploadedDataSize number Oui
uploadedDataCount number Oui
modelCount number Oui
simulationCount number Oui
userCount number Oui

Erreurs :

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

Lister les utilisateurs du tenant

Renvoie les utilisateurs correspondants sous la forme d’un tableau JSON simple : aucun nombre total n’est fourni ; utilisez limit/offset pour la pagination.

Endpoint : GET /v1/tenant/{tenantId}/users

Authentification : Clé API limitée au tenant · read portée

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 utilisateurs

[
	{
		"id": "00000000-0000-0000-0000-000000000000",
		"email": "string",
		"firstName": "string",
		"lastName": "string",
		"createdAt": "2024-03-15T16:30:00Z",
		"lastLoginAt": "2024-03-15T16:30:00Z",
		"tenantId": "00000000-0000-0000-0000-000000000000",
		"isActiveInTenant": true,
		"isAdminInTenant": true,
		"access": "none",
		"isDashboardViewer": true,
		"organizationId": "00000000-0000-0000-0000-000000000000",
		"isActiveInOrganization": true,
		"isAdminInOrganization": true
	}
]

Erreurs :

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

Ajouter un utilisateur au tenant (aucun e-mail d’invitation n’est envoyé)

Les champs de rôle du corps de la requête (isAdminInTenant, access : none|portalViewer|designer|architect|intelligence, isDashboardViewer) sont respectés tels quels ; cet endpoint donne un accès complet d’administration du tenant, utilisez donc uniquement des clés avec droits d’écriture pour les appelants de confiance. L’affichage du Dashboard est contrôlé par le booléen isDashboardViewer ; l’ancien niveau de lecture seule viewer a été supprimé.

Endpoint : POST /v1/tenant/{tenantId}/users

Authentification : Clé API limitée au tenant · write portée

Paramètres :

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

Corps de la requête :

{
	"email": "string",
	"firstName": "string",
	"lastName": "string",
	"isActiveInTenant": true,
	"isAdminInTenant": true,
	"access": "none",
	"isDashboardViewer": true,
	"preferredLocale": "en"
}
Champ Type Obligatoire Description
email string Oui Adresse e-mail de l’utilisateur, également utilisée comme identifiant de connexion
Format : email
firstName string Non Prénom facultatif
Longueur maximale : 64
lastName string Non Nom facultatif
Longueur maximale : 64
isActiveInTenant boolean Non Indique si l’utilisateur est actif dans ce tenant
isAdminInTenant boolean Non Droits d’administration dans ce tenant, respectés tels quels : accès complet d’administration du tenant
access none | portalViewer | designer | architect | intelligence Non Licence utilisateur à sélection unique : none | portalViewer | designer | architect | intelligence
Valeurs autorisées : none, portalViewer, designer, architect, intelligence
isDashboardViewer boolean Non Indique si l’utilisateur dispose d’un accès en lecture seule au Dashboard
preferredLocale en | zh | es | fr | de | pt | it | nl | ja | tr Non Langue préférée de l’interface pour l’utilisateur
Valeurs autorisées : en, zh, es, fr, de, pt, it, nl, ja, tr

Réponse (201) :

Utilisateur ajouté

{
	"id": "string",
	"message": "string"
}
Champ Type Obligatoire Description
id string Oui Identifiant de l’utilisateur nouvellement ajouté
message string Oui

Erreurs :

  • 401 Clé API manquante, non valide, désactivée ou expirée
  • 409 La requête est en conflit avec l’état actuel, par exemple en raison d’une restriction de licence utilisateur ou d’un identifiant déjà utilisé

Mettre à jour les paramètres de tenant d’un utilisateur

Endpoint : PUT /v1/tenant/{tenantId}/users/{userId}

Authentification : Clé API limitée au tenant · write portée

Paramètres :

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

Corps de la requête :

{
	"isActiveInTenant": true,
	"isAdminInTenant": true,
	"access": "none",
	"isDashboardViewer": true
}
Champ Type Obligatoire Description
isActiveInTenant boolean Non Indique si l’utilisateur est actif dans ce tenant
isAdminInTenant boolean Non Droits d’administration dans ce tenant, respectés tels quels : accès complet d’administration du tenant
access none | portalViewer | designer | architect | intelligence Non Licence utilisateur à sélection unique : none | portalViewer | designer | architect | intelligence. L’affichage du Dashboard est contrôlé par le booléen isDashboardViewer.
Valeurs autorisées : none, portalViewer, designer, architect, intelligence
isDashboardViewer boolean Non Indique si l’utilisateur dispose d’un accès en lecture seule au Dashboard

Réponse (200) :

Mis à jour

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

Erreurs :

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

Retirer un utilisateur du tenant

Endpoint : DELETE /v1/tenant/{tenantId}/users/{userId}

Authentification : Clé API limitée au tenant · write portée

Paramètres :

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

Réponse (200) :

Utilisateur retiré

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

Erreurs :

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

Créer un jeton de transfert de connexion à usage unique pour un utilisateur

Renvoie un jeton à usage unique, valable 60 s, associé à l’utilisateur, au tenant et à l’organisation, ainsi que l’url vers laquelle rediriger le navigateur de l’utilisateur. Ouvrez l’URL dans le navigateur de l’utilisateur : il accède à ProcessMind avec une session déjà authentifiée, sans lien envoyé par e-mail ni usurpation d’identité ; il utilise sa propre session. La portée sessions dédiée est requise sur la clé API : une clé limitée à l’organisation peut créer un jeton pour n’importe quel tenant de son organisation, tandis qu’une clé limitée au tenant ne peut le faire que pour les utilisateurs de son propre tenant. Traitez ce jeton comme un mot de passe : il n’est renvoyé qu’une seule fois, n’est jamais journalisé et est révoqué si la clé ou l’utilisateur est désactivé.

Endpoint : POST /v1/tenant/{tenantId}/users/{userId}/login-token

Authentification : Clé API limitée au tenant ou à l’organisation · sessions portée · limite de débit de 2 req/s (rafale de 4)

Paramètres :

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

Corps de la requête :

Chemin de destination facultatif, relatif à l’application, par exemple “app” ou “app/dashboards”

{
	"path": "string"
}
Champ Type Obligatoire Description
path string Non Longueur maximale : 512

Réponse (200) :

Jeton de transfert de connexion

{
	"token": "string",
	"url": "string",
	"expiresInSeconds": 0,
	"expiresAt": "2024-03-15T16:30:00Z"
}
Champ Type Obligatoire Description
token string Oui
url string Oui
expiresInSeconds number Oui
expiresAt string Oui Format : date-time

Erreurs :

  • 400 Requête incorrecte : par exemple, une expression de filtre non valide, un processus sans modèle, un type d’importation non pris en charge ou un champ obligatoire manquant
  • 401 Clé API manquante, non valide, désactivée ou expirée
  • 403 La clé API ne possède pas la portée requise ou l’accès à l’organisation, le tenant est inactif ou le forfait bloque ce type de fichier
  • 404 Ressource introuvable
  • 429 Limite de débit atteinte : consultez la limite documentée pour cet endpoint

Les clés API authentifient vos intégrations. Les clés limitées à l’organisation peuvent créer et gérer les clés de n’importe quel tenant de l’organisation.

Lister les clés API du tenant

Nécessite une clé API limitée à l’organisation. Le secret n’est jamais renvoyé.

Endpoint : GET /v1/tenant/{tenantId}/api-keys

Authentification : Clé API limitée à l’organisation · read portée

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 clés API

[
	{
		"id": "00000000-0000-0000-0000-000000000000",
		"tenantId": "00000000-0000-0000-0000-000000000000",
		"organizationId": "00000000-0000-0000-0000-000000000000",
		"displayName": "string",
		"partialKey": "string",
		"enabled": true,
		"createdAt": "2024-03-15T16:30:00Z",
		"lastUsedAt": "2024-03-15T16:30:00Z",
		"expiresAt": "2024-03-15T16:30:00Z",
		"scope": {
			"read": true,
			"write": true,
			"uploadData": true,
			"sessions": true
		}
	}
]

Erreurs :

  • 401 Clé API manquante, non valide, désactivée ou expirée
  • 403 La clé API ne possède pas la portée requise ou l’accès à l’organisation, le tenant est inactif ou le forfait bloque ce type de fichier

Créer une clé API limitée au tenant

Nécessite une clé d’écriture limitée à l’organisation. Le secret est généré côté serveur et renvoyé une seule fois dans la réponse ; conservez-le en lieu sûr. Seul son hachage est conservé.

Endpoint : POST /v1/tenant/{tenantId}/api-keys

Authentification : Clé API limitée à l’organisation · write portée

Paramètres :

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

Corps de la requête :

{
	"displayName": "string",
	"scope": {
		"read": true,
		"write": true,
		"uploadData": true,
		"sessions": true
	},
	"enabled": true,
	"expiresAt": "2024-03-15T16:30:00Z"
}
Champ Type Obligatoire Description
displayName string Oui Longueur maximale : 128
scope object Non
enabled boolean Non
expiresAt string Non Format : date-time

Réponse (201) :

Clé API créée, avec le secret à usage unique

{
	"id": "00000000-0000-0000-0000-000000000000",
	"tenantId": "00000000-0000-0000-0000-000000000000",
	"organizationId": "00000000-0000-0000-0000-000000000000",
	"displayName": "string",
	"partialKey": "string",
	"enabled": true,
	"createdAt": "2024-03-15T16:30:00Z",
	"lastUsedAt": "2024-03-15T16:30:00Z",
	"expiresAt": "2024-03-15T16:30:00Z",
	"scope": {
		"read": true,
		"write": true,
		"uploadData": true,
		"sessions": true
	},
	"secret": "string"
}
Champ Type Obligatoire Description
id string Oui Format : uuid
tenantId string Oui Format : uuid
organizationId string Oui Format : uuid
displayName string Oui Longueur maximale : 128
partialKey string Oui Longueur maximale : 128
enabled boolean Oui Valeur par défaut : true
createdAt string Oui Format : date-time
lastUsedAt string Oui Format : date-time
expiresAt string Oui Format : date-time
scope object Oui
secret string Oui Longueur maximale : 128

Erreurs :

  • 400 Requête incorrecte : par exemple, une expression de filtre non valide, un processus sans modèle, un type d’importation non pris en charge ou un champ obligatoire manquant
  • 401 Clé API manquante, non valide, désactivée ou expirée
  • 403 La clé API ne possède pas la portée requise ou l’accès à l’organisation, le tenant est inactif ou le forfait bloque ce type de fichier

Mettre à jour une clé API limitée au tenant

Nécessite une clé d’écriture limitée à l’organisation. Les champs de portée sont fusionnés avec la portée enregistrée.

Endpoint : PUT /v1/tenant/{tenantId}/api-keys/{keyId}

Authentification : Clé API limitée à l’organisation · write portée

Paramètres :

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

Corps de la requête :

{
	"displayName": "string",
	"scope": {
		"read": true,
		"write": true,
		"uploadData": true,
		"sessions": true
	},
	"enabled": true,
	"expiresAt": "2024-03-15T16:30:00Z"
}
Champ Type Obligatoire Description
displayName string Non Longueur maximale : 128
scope object Non
enabled boolean Non
expiresAt string Non Format : date-time

Réponse (200) :

Clé API mise à jour

{
	"id": "00000000-0000-0000-0000-000000000000",
	"tenantId": "00000000-0000-0000-0000-000000000000",
	"organizationId": "00000000-0000-0000-0000-000000000000",
	"displayName": "string",
	"partialKey": "string",
	"enabled": true,
	"createdAt": "2024-03-15T16:30:00Z",
	"lastUsedAt": "2024-03-15T16:30:00Z",
	"expiresAt": "2024-03-15T16:30:00Z",
	"scope": {
		"read": true,
		"write": true,
		"uploadData": true,
		"sessions": true
	}
}
Champ Type Obligatoire Description
id string Oui Format : uuid
tenantId string Oui Format : uuid
organizationId string Oui Format : uuid
displayName string Oui Longueur maximale : 128
partialKey string Oui Longueur maximale : 128
enabled boolean Oui Valeur par défaut : true
createdAt string Oui Format : date-time
lastUsedAt string Oui Format : date-time
expiresAt string Oui Format : date-time
scope object Oui

Erreurs :

  • 400 Requête incorrecte : par exemple, une expression de filtre non valide, un processus sans modèle, un type d’importation non pris en charge ou un champ obligatoire manquant
  • 401 Clé API manquante, non valide, désactivée ou expirée
  • 403 La clé API ne possède pas la portée requise ou l’accès à l’organisation, le tenant est inactif ou le forfait bloque ce type de fichier
  • 404 Ressource introuvable

Supprimer une clé API limitée au tenant

Nécessite une clé d’écriture limitée à l’organisation. La clé est supprimée de manière réversible et cesse immédiatement d’authentifier les requêtes.

Endpoint : DELETE /v1/tenant/{tenantId}/api-keys/{keyId}

Authentification : Clé API limitée à l’organisation · write portée

Paramètres :

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

Réponse (200) :

Clé API supprimée

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

Erreurs :

  • 401 Clé API manquante, non valide, désactivée ou expirée
  • 403 La clé API ne possède pas la portée requise ou l’accès à l’organisation, le tenant est inactif ou le forfait bloque ce type de fichier
  • 404 Ressource introuvable