Nesta página

Referência da API: ambientes

Obter informações do ambiente

Endpoint: GET /v1/tenant/{tenantId}

Autenticação: Chave de API com escopo de ambiente · read escopo

Parâmetros:

Nome Tipo Localização Obrigatório Descrição
tenantId string caminho Sim Formato: uuid

Resposta (200):

Detalhes do ambiente

{
	"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 Obrigatório Descrição
id string Sim Formato: uuid
createdBy string Sim Formato: uuid
createdAt string Sim Formato: date-time
displayName string Sim Padrão: ""
Comprimento máximo: 128
contactEmail string Sim Formato: email
isActive boolean Sim Padrão: true
shortName string Sim
useOrganizationTheme boolean Sim Padrão: true
description string Sim Comprimento máximo: 200
organizationId string Sim Formato: uuid
allowedLogins object Sim
url string Sim Formato: uri

Erros:

  • 401 Chave de API ausente, inválida, desativada ou expirada
  • 404 Recurso não encontrado

Atualizar configurações do ambiente

Endpoint: PUT /v1/tenant/{tenantId}

Autenticação: Chave de API com escopo de ambiente · write escopo

Parâmetros:

Nome Tipo Localização Obrigatório Descrição
tenantId string caminho Sim Formato: uuid

Corpo da solicitação:

{
	"id": "00000000-0000-0000-0000-000000000000",
	"displayName": "string",
	"contactEmail": "string",
	"shortName": "string",
	"description": "string"
}
Campo Tipo Obrigatório Descrição
id string Não Formato: uuid
displayName string Não
contactEmail string Não
shortName string Não
description string Não

Resposta (200):

Ambiente atualizado

{
	"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 Obrigatório Descrição
id string Sim Formato: uuid
createdBy string Sim Formato: uuid
createdAt string Sim Formato: date-time
displayName string Sim Padrão: ""
Comprimento máximo: 128
contactEmail string Sim Formato: email
isActive boolean Sim Padrão: true
shortName string Sim
useOrganizationTheme boolean Sim Padrão: true
description string Sim Comprimento máximo: 200
organizationId string Sim Formato: uuid
allowedLogins object Sim
url string Sim Formato: uri

Erros:

  • 400 Solicitação inválida: por exemplo, uma expressão de filtro inválida, um processo sem modelo, um tipo de upload não compatível ou um campo obrigatório ausente
  • 401 Chave de API ausente, inválida, desativada ou expirada
  • 403 A chave de API não tem o escopo ou o acesso à organização necessários, o ambiente está inativo ou o plano bloqueia o tipo de arquivo
  • 406 O valor não pode ser aceito, por exemplo, porque o nome curto é reservado ou duplicado

Obter estatísticas do ambiente (tamanho dos dados, modelos, simulações, usuários)

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

Autenticação: Chave de API com escopo de ambiente · read escopo

Parâmetros:

Nome Tipo Localização Obrigatório Descrição
tenantId string caminho Sim Formato: uuid

Resposta (200):

Estatísticas do ambiente

{
	"tenantId": "00000000-0000-0000-0000-000000000000",
	"uploadedDataSize": 0,
	"uploadedDataCount": 0,
	"modelCount": 0,
	"simulationCount": 0,
	"userCount": 0
}
Campo Tipo Obrigatório Descrição
tenantId string Sim Formato: uuid
uploadedDataSize number Sim
uploadedDataCount number Sim
modelCount number Sim
simulationCount number Sim
userCount number Sim

Erros:

  • 401 Chave de API ausente, inválida, desativada ou expirada
  • 404 Recurso não encontrado

Listar usuários do ambiente

Retorna os usuários correspondentes como um array JSON simples: não há contagem total; use limit/offset para paginar.

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

Autenticação: Chave de API com escopo de ambiente · read escopo

Parâmetros:

Nome Tipo Localização Obrigatório Descrição
tenantId string caminho Sim Formato: uuid
limit integer consulta Não Número máximo de itens a retornar
offset integer consulta Não Número de itens a ignorar

Resposta (200):

Lista de usuários

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

Erros:

  • 401 Chave de API ausente, inválida, desativada ou expirada

Adicionar um usuário ao ambiente (nenhum e-mail de convite é enviado)

Os campos de função no corpo (isAdminInTenant, access: none|portalViewer|designer|architect|intelligence, isDashboardViewer) são respeitados literalmente; este endpoint oferece acesso completo de administrador do ambiente, portanto forneça chaves com escopo de gravação apenas a chamadores confiáveis. A visualização do Dashboard é controlada pelo booleano isDashboardViewer; o nível legado de visualização somente leitura foi removido.

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

Autenticação: Chave de API com escopo de ambiente · write escopo

Parâmetros:

Nome Tipo Localização Obrigatório Descrição
tenantId string caminho Sim Formato: uuid

Corpo da solicitação:

{
	"email": "string",
	"firstName": "string",
	"lastName": "string",
	"isActiveInTenant": true,
	"isAdminInTenant": true,
	"access": "none",
	"isDashboardViewer": true,
	"preferredLocale": "en"
}
Campo Tipo Obrigatório Descrição
email string Sim Endereço de e-mail do usuário, que também é a identidade de login
Formato: email
firstName string Não Primeiro nome opcional
Comprimento máximo: 64
lastName string Não Sobrenome opcional
Comprimento máximo: 64
isActiveInTenant boolean Não Indica se o usuário está ativo neste ambiente
isAdminInTenant boolean Não Direitos de administrador neste ambiente, respeitados literalmente: acesso completo de administrador do ambiente
access none | portalViewer | designer | architect | intelligence Não Licença de seleção única: none | portalViewer | designer | architect | intelligence
Valores permitidos: none, portalViewer, designer, architect, intelligence
isDashboardViewer boolean Não Indica se o usuário tem acesso somente leitura ao Dashboard
preferredLocale en | zh | es | fr | de | pt | it | nl | ja | tr Não Localidade preferida da interface para o usuário
Valores permitidos: en, zh, es, fr, de, pt, it, nl, ja, tr

Resposta (201):

Usuário adicionado

{
	"id": "string",
	"message": "string"
}
Campo Tipo Obrigatório Descrição
id string Sim ID do usuário recém-adicionado
message string Sim

Erros:

  • 401 Chave de API ausente, inválida, desativada ou expirada
  • 409 A solicitação entra em conflito com o estado atual, por exemplo, por causa de uma restrição de licença ou de um ID reutilizado

Atualizar as configurações de ambiente de um usuário

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

Autenticação: Chave de API com escopo de ambiente · write escopo

Parâmetros:

Nome Tipo Localização Obrigatório Descrição
tenantId string caminho Sim Formato: uuid
userId string caminho Sim Formato: uuid

Corpo da solicitação:

{
	"isActiveInTenant": true,
	"isAdminInTenant": true,
	"access": "none",
	"isDashboardViewer": true
}
Campo Tipo Obrigatório Descrição
isActiveInTenant boolean Não Indica se o usuário está ativo neste ambiente
isAdminInTenant boolean Não Direitos de administrador neste ambiente, respeitados literalmente: acesso completo de administrador do ambiente
access none | portalViewer | designer | architect | intelligence Não Licença de seleção única: none | portalViewer | designer | architect | intelligence. A visualização do Dashboard é controlada pelo booleano isDashboardViewer.
Valores permitidos: none, portalViewer, designer, architect, intelligence
isDashboardViewer boolean Não Indica se o usuário tem acesso somente leitura ao Dashboard

Resposta (200):

Atualizado

{
	"message": "string"
}
Campo Tipo Obrigatório Descrição
message string Sim

Erros:

  • 400 Solicitação inválida: por exemplo, uma expressão de filtro inválida, um processo sem modelo, um tipo de upload não compatível ou um campo obrigatório ausente
  • 401 Chave de API ausente, inválida, desativada ou expirada
  • 404 Recurso não encontrado

Remover um usuário do ambiente

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

Autenticação: Chave de API com escopo de ambiente · write escopo

Parâmetros:

Nome Tipo Localização Obrigatório Descrição
tenantId string caminho Sim Formato: uuid
userId string caminho Sim Formato: uuid

Resposta (200):

Usuário removido

{
	"message": "string"
}
Campo Tipo Obrigatório Descrição
message string Sim

Erros:

  • 400 Solicitação inválida: por exemplo, uma expressão de filtro inválida, um processo sem modelo, um tipo de upload não compatível ou um campo obrigatório ausente
  • 401 Chave de API ausente, inválida, desativada ou expirada
  • 404 Recurso não encontrado

Gerar um token de handoff de login de uso único para um usuário

Retorna um token de uso único, com TTL de 60 s, vinculado ao usuário, ao ambiente e à organização, além da url para redirecionar o navegador do usuário. Abra a URL no navegador do usuário para que ele entre no ProcessMind já autenticado: sem link de e-mail e sem personificação; o usuário terá a própria sessão. Requer o escopo dedicado sessions na chave de API: uma chave com escopo de organização pode gerar tokens para qualquer ambiente da organização; uma chave com escopo de ambiente pode gerar tokens apenas para usuários do próprio ambiente. Trate o token como equivalente a uma senha: ele é retornado uma única vez, nunca é registrado em logs e é revogado quando a chave ou o usuário é desativado.

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

Autenticação: Chave de API com escopo de ambiente ou organização · sessions escopo · limite de taxa de 2 req/s (rajada de 4)

Parâmetros:

Nome Tipo Localização Obrigatório Descrição
tenantId string caminho Sim Formato: uuid
userId string caminho Sim Formato: uuid

Corpo da solicitação:

Caminho opcional de destino, relativo ao aplicativo, por exemplo, “app” ou “app/dashboards”

{
	"path": "string"
}
Campo Tipo Obrigatório Descrição
path string Não Comprimento máximo: 512

Resposta (200):

Token de handoff de login

{
	"token": "string",
	"url": "string",
	"expiresInSeconds": 0,
	"expiresAt": "2024-03-15T16:30:00Z"
}
Campo Tipo Obrigatório Descrição
token string Sim
url string Sim
expiresInSeconds number Sim
expiresAt string Sim Formato: date-time

Erros:

  • 400 Solicitação inválida: por exemplo, uma expressão de filtro inválida, um processo sem modelo, um tipo de upload não compatível ou um campo obrigatório ausente
  • 401 Chave de API ausente, inválida, desativada ou expirada
  • 403 A chave de API não tem o escopo ou o acesso à organização necessários, o ambiente está inativo ou o plano bloqueia o tipo de arquivo
  • 404 Recurso não encontrado
  • 429 Limite de taxa excedido: consulte o limite de taxa documentado do endpoint

As chaves de API autenticam suas integrações. Chaves com escopo de organização podem provisionar e gerenciar as chaves de qualquer ambiente da organização.

Listar as chaves de API do ambiente

Requer uma chave de API com escopo de organização. O segredo nunca é retornado.

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

Autenticação: Chave de API com escopo de organização · read escopo

Parâmetros:

Nome Tipo Localização Obrigatório Descrição
tenantId string caminho Sim Formato: uuid
limit integer consulta Não Número máximo de itens a retornar
offset integer consulta Não Número de itens a ignorar

Resposta (200):

Lista de chaves de 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
		}
	}
]

Erros:

  • 401 Chave de API ausente, inválida, desativada ou expirada
  • 403 A chave de API não tem o escopo ou o acesso à organização necessários, o ambiente está inativo ou o plano bloqueia o tipo de arquivo

Criar uma chave de API com escopo de ambiente

Requer uma chave de gravação com escopo de organização. O segredo é gerado no servidor e retornado exatamente uma vez na resposta; armazene-o com segurança. Apenas o hash é mantido.

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

Autenticação: Chave de API com escopo de organização · write escopo

Parâmetros:

Nome Tipo Localização Obrigatório Descrição
tenantId string caminho Sim Formato: uuid

Corpo da solicitação:

{
	"displayName": "string",
	"scope": {
		"read": true,
		"write": true,
		"uploadData": true,
		"sessions": true
	},
	"enabled": true,
	"expiresAt": "2024-03-15T16:30:00Z"
}
Campo Tipo Obrigatório Descrição
displayName string Sim Comprimento máximo: 128
scope object Não
enabled boolean Não
expiresAt string Não Formato: date-time

Resposta (201):

Chave de API criada, incluindo o segredo de uso único

{
	"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 Obrigatório Descrição
id string Sim Formato: uuid
tenantId string Sim Formato: uuid
organizationId string Sim Formato: uuid
displayName string Sim Comprimento máximo: 128
partialKey string Sim Comprimento máximo: 128
enabled boolean Sim Padrão: true
createdAt string Sim Formato: date-time
lastUsedAt string Sim Formato: date-time
expiresAt string Sim Formato: date-time
scope object Sim
secret string Sim Comprimento máximo: 128

Erros:

  • 400 Solicitação inválida: por exemplo, uma expressão de filtro inválida, um processo sem modelo, um tipo de upload não compatível ou um campo obrigatório ausente
  • 401 Chave de API ausente, inválida, desativada ou expirada
  • 403 A chave de API não tem o escopo ou o acesso à organização necessários, o ambiente está inativo ou o plano bloqueia o tipo de arquivo

Atualizar uma chave de API com escopo de ambiente

Requer uma chave de gravação com escopo de organização. Os campos de escopo são mesclados ao escopo armazenado.

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

Autenticação: Chave de API com escopo de organização · write escopo

Parâmetros:

Nome Tipo Localização Obrigatório Descrição
tenantId string caminho Sim Formato: uuid
keyId string caminho Sim Formato: uuid

Corpo da solicitação:

{
	"displayName": "string",
	"scope": {
		"read": true,
		"write": true,
		"uploadData": true,
		"sessions": true
	},
	"enabled": true,
	"expiresAt": "2024-03-15T16:30:00Z"
}
Campo Tipo Obrigatório Descrição
displayName string Não Comprimento máximo: 128
scope object Não
enabled boolean Não
expiresAt string Não Formato: date-time

Resposta (200):

Chave de API atualizada

{
	"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 Obrigatório Descrição
id string Sim Formato: uuid
tenantId string Sim Formato: uuid
organizationId string Sim Formato: uuid
displayName string Sim Comprimento máximo: 128
partialKey string Sim Comprimento máximo: 128
enabled boolean Sim Padrão: true
createdAt string Sim Formato: date-time
lastUsedAt string Sim Formato: date-time
expiresAt string Sim Formato: date-time
scope object Sim

Erros:

  • 400 Solicitação inválida: por exemplo, uma expressão de filtro inválida, um processo sem modelo, um tipo de upload não compatível ou um campo obrigatório ausente
  • 401 Chave de API ausente, inválida, desativada ou expirada
  • 403 A chave de API não tem o escopo ou o acesso à organização necessários, o ambiente está inativo ou o plano bloqueia o tipo de arquivo
  • 404 Recurso não encontrado

Excluir uma chave de API com escopo de ambiente

Requer uma chave de gravação com escopo de organização. A chave é excluída logicamente e deixa de autenticar imediatamente.

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

Autenticação: Chave de API com escopo de organização · write escopo

Parâmetros:

Nome Tipo Localização Obrigatório Descrição
tenantId string caminho Sim Formato: uuid
keyId string caminho Sim Formato: uuid

Resposta (200):

Chave de API excluída

{
	"message": "string"
}
Campo Tipo Obrigatório Descrição
message string Sim

Erros:

  • 401 Chave de API ausente, inválida, desativada ou expirada
  • 403 A chave de API não tem o escopo ou o acesso à organização necessários, o ambiente está inativo ou o plano bloqueia o tipo de arquivo
  • 404 Recurso não encontrado