Référence API : organisations
Référence API des points de terminaison de gestion des organisations et d’administration des utilisateurs.
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 :
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 :
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 :
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 :
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 |
|---|---|---|---|
| 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 :
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 :
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 :
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 :
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.
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 :
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 :
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 :
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 :
Nous utilisons des cookies pour améliorer votre expérience, personnaliser le contenu et analyser le trafic. En cliquant sur « Tout accepter », vous consentez à l’utilisation de cookies.