In questa pagina

Riferimento API: tenant

Ottenere le informazioni del tenant

Endpoint: GET /v1/tenant/{tenantId}

Autenticazione: Chiave API con ambito tenant · read ambito

Parametri:

Nome Tipo Posizione Obbligatorio Descrizione
tenantId string path Formato: uuid

Risposta (200):

Dettagli del 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"
}
Campo Tipo Obbligatorio Descrizione
id string Formato: uuid
createdBy string Formato: uuid
createdAt string Formato: date-time
displayName string Predefinito: ""
Lunghezza massima: 128
contactEmail string Formato: email
isActive boolean Predefinito: true
shortName string
useOrganizationTheme boolean Predefinito: true
description string Lunghezza massima: 200
organizationId string Formato: uuid
allowedLogins object
url string Formato: uri

Errori:

  • 401 Chiave API mancante, non valida, disabilitata o scaduta
  • 404 Risorsa non trovata

Aggiornare le impostazioni del tenant

Endpoint: PUT /v1/tenant/{tenantId}

Autenticazione: Chiave API con ambito tenant · write ambito

Parametri:

Nome Tipo Posizione Obbligatorio Descrizione
tenantId string path Formato: uuid

Corpo della richiesta:

{
	"id": "00000000-0000-0000-0000-000000000000",
	"displayName": "string",
	"contactEmail": "string",
	"shortName": "string",
	"description": "string"
}
Campo Tipo Obbligatorio Descrizione
id string No Formato: uuid
displayName string No
contactEmail string No
shortName string No
description string No

Risposta (200):

Tenant aggiornato

{
	"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"
}
Campo Tipo Obbligatorio Descrizione
id string Formato: uuid
createdBy string Formato: uuid
createdAt string Formato: date-time
displayName string Predefinito: ""
Lunghezza massima: 128
contactEmail string Formato: email
isActive boolean Predefinito: true
shortName string
useOrganizationTheme boolean Predefinito: true
description string Lunghezza massima: 200
organizationId string Formato: uuid
allowedLogins object
url string Formato: uri

Errori:

  • 400 Richiesta non valida: ad esempio, un’espressione di filtro non valida, un processo senza modello, un tipo di caricamento non supportato o un campo obbligatorio mancante
  • 401 Chiave API mancante, non valida, disabilitata o scaduta
  • 403 La chiave API non dispone dell’ambito richiesto o dell’accesso all’organizzazione, il tenant è inattivo oppure il piano non consente il tipo di file
  • 406 Il valore non può essere accettato, ad esempio perché il nome breve è riservato o duplicato

Ottenere le statistiche del tenant (dimensione dei dati, modelli, simulazioni, utenti)

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

Autenticazione: Chiave API con ambito tenant · read ambito

Parametri:

Nome Tipo Posizione Obbligatorio Descrizione
tenantId string path Formato: uuid

Risposta (200):

Statistiche del tenant

{
	"tenantId": "00000000-0000-0000-0000-000000000000",
	"uploadedDataSize": 0,
	"uploadedDataCount": 0,
	"modelCount": 0,
	"simulationCount": 0,
	"userCount": 0
}
Campo Tipo Obbligatorio Descrizione
tenantId string Formato: uuid
uploadedDataSize number
uploadedDataCount number
modelCount number
simulationCount number
userCount number

Errori:

  • 401 Chiave API mancante, non valida, disabilitata o scaduta
  • 404 Risorsa non trovata

Elencare gli utenti del tenant

Restituisce gli utenti corrispondenti come array JSON semplice: non è presente un conteggio totale; utilizzare limit/offset per la paginazione.

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

Autenticazione: Chiave API con ambito tenant · read ambito

Parametri:

Nome Tipo Posizione Obbligatorio Descrizione
tenantId string path Formato: uuid
limit integer query No Numero massimo di elementi da restituire
offset integer query No Numero di elementi da ignorare

Risposta (200):

Elenco degli utenti

[
	{
		"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
	}
]

Errori:

  • 401 Chiave API mancante, non valida, disabilitata o scaduta

Aggiungere un utente al tenant (non viene inviata alcuna e-mail di invito)

I campi del ruolo nel corpo della richiesta (isAdminInTenant, access: none|portalViewer|designer|architect|intelligence, isDashboardViewer) vengono applicati senza modifiche; questo endpoint consente di amministrare completamente il tenant, pertanto assegni le chiavi con autorizzazioni di scrittura esclusivamente a chiamanti affidabili. La visualizzazione delle Dashboard è controllata dal valore booleano isDashboardViewer; il precedente livello di accesso in sola lettura viewer è stato rimosso.

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

Autenticazione: Chiave API con ambito tenant · write ambito

Parametri:

Nome Tipo Posizione Obbligatorio Descrizione
tenantId string path Formato: uuid

Corpo della richiesta:

{
	"email": "string",
	"firstName": "string",
	"lastName": "string",
	"isActiveInTenant": true,
	"isAdminInTenant": true,
	"access": "none",
	"isDashboardViewer": true,
	"preferredLocale": "en"
}
Campo Tipo Obbligatorio Descrizione
email string Indirizzo e-mail dell’utente, utilizzato anche come identità di accesso
Formato: email
firstName string No Nome facoltativo
Lunghezza massima: 64
lastName string No Cognome facoltativo
Lunghezza massima: 64
isActiveInTenant boolean No Indica se l’utente è attivo in questo tenant
isAdminInTenant boolean No Diritti di amministratore in questo tenant, applicati senza modifiche: amministrazione completa del tenant
access none | portalViewer | designer | architect | intelligence No Postazione a selezione singola: none | portalViewer | designer | architect | intelligence
Valori consentiti: none, portalViewer, designer, architect, intelligence
isDashboardViewer boolean No Indica se l’utente dispone della visualizzazione in sola lettura delle Dashboard
preferredLocale en | zh | es | fr | de | pt | it | nl | ja | tr No Impostazioni locali preferite dell’interfaccia per l’utente
Valori consentiti: en, zh, es, fr, de, pt, it, nl, ja, tr

Risposta (201):

Utente aggiunto

{
	"id": "string",
	"message": "string"
}
Campo Tipo Obbligatorio Descrizione
id string ID del nuovo utente aggiunto
message string

Errori:

  • 401 Chiave API mancante, non valida, disabilitata o scaduta
  • 409 La richiesta è in conflitto con lo stato attuale, ad esempio per un limite relativo alle postazioni o per il riutilizzo di un ID

Aggiornare le impostazioni del tenant di un utente

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

Autenticazione: Chiave API con ambito tenant · write ambito

Parametri:

Nome Tipo Posizione Obbligatorio Descrizione
tenantId string path Formato: uuid
userId string path Formato: uuid

Corpo della richiesta:

{
	"isActiveInTenant": true,
	"isAdminInTenant": true,
	"access": "none",
	"isDashboardViewer": true
}
Campo Tipo Obbligatorio Descrizione
isActiveInTenant boolean No Indica se l’utente è attivo in questo tenant
isAdminInTenant boolean No Diritti di amministratore in questo tenant, applicati senza modifiche: amministrazione completa del tenant
access none | portalViewer | designer | architect | intelligence No Postazione a selezione singola: none | portalViewer | designer | architect | intelligence. La visualizzazione delle Dashboard è controllata dal valore booleano isDashboardViewer.
Valori consentiti: none, portalViewer, designer, architect, intelligence
isDashboardViewer boolean No Indica se l’utente dispone della visualizzazione in sola lettura delle Dashboard

Risposta (200):

Aggiornato

{
	"message": "string"
}
Campo Tipo Obbligatorio Descrizione
message string

Errori:

  • 400 Richiesta non valida: ad esempio, un’espressione di filtro non valida, un processo senza modello, un tipo di caricamento non supportato o un campo obbligatorio mancante
  • 401 Chiave API mancante, non valida, disabilitata o scaduta
  • 404 Risorsa non trovata

Rimuovere un utente dal tenant

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

Autenticazione: Chiave API con ambito tenant · write ambito

Parametri:

Nome Tipo Posizione Obbligatorio Descrizione
tenantId string path Formato: uuid
userId string path Formato: uuid

Risposta (200):

Utente rimosso

{
	"message": "string"
}
Campo Tipo Obbligatorio Descrizione
message string

Errori:

  • 400 Richiesta non valida: ad esempio, un’espressione di filtro non valida, un processo senza modello, un tipo di caricamento non supportato o un campo obbligatorio mancante
  • 401 Chiave API mancante, non valida, disabilitata o scaduta
  • 404 Risorsa non trovata

Generare un token monouso di passaggio per l’accesso di un utente

Restituisce un token monouso, con validità di 60 secondi, associato all’utente, al tenant e all’organizzazione, oltre all’url a cui indirizzare il browser dell’utente. Apra l’URL nel browser dell’utente: quest’ultimo accederà a ProcessMind con autenticazione già attiva, senza link e-mail né impersonificazione, utilizzando la propria sessione. È necessario l’ambito sessions dedicato sulla chiave API: una chiave con ambito organizzazione può generare token per qualsiasi tenant della propria organizzazione, mentre una chiave con ambito tenant può farlo solo per gli utenti del proprio tenant. Tratti il token come una password: viene restituito una sola volta, non viene mai registrato nei log e viene revocato disabilitando la chiave o l’utente.

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

Autenticazione: Chiave API con ambito tenant o organizzazione · sessions ambito · limite di frequenza 2 richieste/s (burst 4)

Parametri:

Nome Tipo Posizione Obbligatorio Descrizione
tenantId string path Formato: uuid
userId string path Formato: uuid

Corpo della richiesta:

Percorso di destinazione facoltativo, relativo all’app, ad esempio “app” o “app/dashboards”

{
	"path": "string"
}
Campo Tipo Obbligatorio Descrizione
path string No Lunghezza massima: 512

Risposta (200):

Token di passaggio per l’accesso

{
	"token": "string",
	"url": "string",
	"expiresInSeconds": 0,
	"expiresAt": "2024-03-15T16:30:00Z"
}
Campo Tipo Obbligatorio Descrizione
token string
url string
expiresInSeconds number
expiresAt string Formato: date-time

Errori:

  • 400 Richiesta non valida: ad esempio, un’espressione di filtro non valida, un processo senza modello, un tipo di caricamento non supportato o un campo obbligatorio mancante
  • 401 Chiave API mancante, non valida, disabilitata o scaduta
  • 403 La chiave API non dispone dell’ambito richiesto o dell’accesso all’organizzazione, il tenant è inattivo oppure il piano non consente il tipo di file
  • 404 Risorsa non trovata
  • 429 Limite di frequenza superato: consultare il limite documentato per l’endpoint

Le chiavi API autenticano le integrazioni. Le chiavi con ambito organizzazione possono predisporre e gestire le chiavi di qualsiasi tenant dell’organizzazione.

Elencare le chiavi API del tenant

È necessaria una chiave API con ambito organizzazione. Il segreto non viene mai restituito.

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

Autenticazione: Chiave API con ambito organizzazione · read ambito

Parametri:

Nome Tipo Posizione Obbligatorio Descrizione
tenantId string path Formato: uuid
limit integer query No Numero massimo di elementi da restituire
offset integer query No Numero di elementi da ignorare

Risposta (200):

Elenco delle chiavi 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
		}
	}
]

Errori:

  • 401 Chiave API mancante, non valida, disabilitata o scaduta
  • 403 La chiave API non dispone dell’ambito richiesto o dell’accesso all’organizzazione, il tenant è inattivo oppure il piano non consente il tipo di file

Creare una chiave API con ambito tenant

È necessaria una chiave di scrittura con ambito organizzazione. Il segreto viene generato lato server e restituito una sola volta nella risposta; lo conservi in modo sicuro. Viene memorizzato esclusivamente l’hash.

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

Autenticazione: Chiave API con ambito organizzazione · write ambito

Parametri:

Nome Tipo Posizione Obbligatorio Descrizione
tenantId string path Formato: uuid

Corpo della richiesta:

{
	"displayName": "string",
	"scope": {
		"read": true,
		"write": true,
		"uploadData": true,
		"sessions": true
	},
	"enabled": true,
	"expiresAt": "2024-03-15T16:30:00Z"
}
Campo Tipo Obbligatorio Descrizione
displayName string Lunghezza massima: 128
scope object No
enabled boolean No
expiresAt string No Formato: date-time

Risposta (201):

Chiave API creata, incluso il segreto monouso

{
	"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"
}
Campo Tipo Obbligatorio Descrizione
id string Formato: uuid
tenantId string Formato: uuid
organizationId string Formato: uuid
displayName string Lunghezza massima: 128
partialKey string Lunghezza massima: 128
enabled boolean Predefinito: true
createdAt string Formato: date-time
lastUsedAt string Formato: date-time
expiresAt string Formato: date-time
scope object
secret string Lunghezza massima: 128

Errori:

  • 400 Richiesta non valida: ad esempio, un’espressione di filtro non valida, un processo senza modello, un tipo di caricamento non supportato o un campo obbligatorio mancante
  • 401 Chiave API mancante, non valida, disabilitata o scaduta
  • 403 La chiave API non dispone dell’ambito richiesto o dell’accesso all’organizzazione, il tenant è inattivo oppure il piano non consente il tipo di file

Aggiornare una chiave API con ambito tenant

È necessaria una chiave di scrittura con ambito organizzazione. I campi dell’ambito vengono uniti a quello memorizzato.

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

Autenticazione: Chiave API con ambito organizzazione · write ambito

Parametri:

Nome Tipo Posizione Obbligatorio Descrizione
tenantId string path Formato: uuid
keyId string path Formato: uuid

Corpo della richiesta:

{
	"displayName": "string",
	"scope": {
		"read": true,
		"write": true,
		"uploadData": true,
		"sessions": true
	},
	"enabled": true,
	"expiresAt": "2024-03-15T16:30:00Z"
}
Campo Tipo Obbligatorio Descrizione
displayName string No Lunghezza massima: 128
scope object No
enabled boolean No
expiresAt string No Formato: date-time

Risposta (200):

Chiave API aggiornata

{
	"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
	}
}
Campo Tipo Obbligatorio Descrizione
id string Formato: uuid
tenantId string Formato: uuid
organizationId string Formato: uuid
displayName string Lunghezza massima: 128
partialKey string Lunghezza massima: 128
enabled boolean Predefinito: true
createdAt string Formato: date-time
lastUsedAt string Formato: date-time
expiresAt string Formato: date-time
scope object

Errori:

  • 400 Richiesta non valida: ad esempio, un’espressione di filtro non valida, un processo senza modello, un tipo di caricamento non supportato o un campo obbligatorio mancante
  • 401 Chiave API mancante, non valida, disabilitata o scaduta
  • 403 La chiave API non dispone dell’ambito richiesto o dell’accesso all’organizzazione, il tenant è inattivo oppure il piano non consente il tipo di file
  • 404 Risorsa non trovata

Eliminare una chiave API con ambito tenant

È necessaria una chiave di scrittura con ambito organizzazione. La chiave viene eliminata logicamente e smette immediatamente di autenticare le richieste.

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

Autenticazione: Chiave API con ambito organizzazione · write ambito

Parametri:

Nome Tipo Posizione Obbligatorio Descrizione
tenantId string path Formato: uuid
keyId string path Formato: uuid

Risposta (200):

Chiave API eliminata

{
	"message": "string"
}
Campo Tipo Obbligatorio Descrizione
message string

Errori:

  • 401 Chiave API mancante, non valida, disabilitata o scaduta
  • 403 La chiave API non dispone dell’ambito richiesto o dell’accesso all’organizzazione, il tenant è inattivo oppure il piano non consente il tipo di file
  • 404 Risorsa non trovata