이 페이지에서

API 참조: 테넌트

테넌트 정보 조회

엔드포인트: GET /v1/tenant/{tenantId}

인증: 테넌트 범위 API 키 · read 범위

매개변수:

이름 유형 위치 필수 설명
tenantId string 경로 예 형식: uuid

응답 (200):

테넌트 정보

{
	"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
	},
	"tenantType": "normal",
	"url": "string"
}
필드 유형 필수 설명
id string 예 형식: uuid
createdBy string 예 형식: uuid
createdAt string 예 형식: date-time
displayName string 예 기본값: ""
최대 길이: 128
contactEmail string 예 형식: email
isActive boolean 예 기본값: true
shortName string 예
useOrganizationTheme boolean 예 기본값: true
description string 예 최대 길이: 200
organizationId string 예 형식: uuid
allowedLogins object 예
tenantType normal | sandbox | demo 예 허용 값: normal, sandbox, demo
기본값: normal
url string 예 형식: uri

오류:

  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료되었습니다
  • 404 리소스를 찾을 수 없습니다

테넌트 설정 업데이트

엔드포인트: PUT /v1/tenant/{tenantId}

인증: 테넌트 범위 API 키 · write 범위

매개변수:

이름 유형 위치 필수 설명
tenantId string 경로 예 형식: uuid

요청 본문:

{
	"id": "00000000-0000-0000-0000-000000000000",
	"displayName": "string",
	"contactEmail": "string",
	"shortName": "string",
	"description": "string"
}
필드 유형 필수 설명
id string 아니요 형식: uuid
displayName string 아니요
contactEmail string 아니요
shortName string 아니요
description string 아니요

응답 (200):

테넌트를 업데이트했습니다

{
	"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
	},
	"tenantType": "normal",
	"url": "string"
}
필드 유형 필수 설명
id string 예 형식: uuid
createdBy string 예 형식: uuid
createdAt string 예 형식: date-time
displayName string 예 기본값: ""
최대 길이: 128
contactEmail string 예 형식: email
isActive boolean 예 기본값: true
shortName string 예
useOrganizationTheme boolean 예 기본값: true
description string 예 최대 길이: 200
organizationId string 예 형식: uuid
allowedLogins object 예
tenantType normal | sandbox | demo 예 허용 값: normal, sandbox, demo
기본값: normal
url string 예 형식: uri

오류:

  • 400 잘못된 요청: 필터 표현식이 잘못되었거나, 모델이 없는 프로세스이거나, 지원하지 않는 업로드 유형이거나, 필수 필드가 누락된 경우 등이 해당합니다
  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료되었습니다
  • 403 API 키에 필요한 범위 또는 조직 접근 권한이 없거나, 테넌트가 비활성 상태이거나, 요금제가 해당 파일 유형을 허용하지 않습니다
  • 406 해당 값을 사용할 수 없습니다 (예: 예약되었거나 중복된 short name)

테넌트 통계 조회 (데이터 크기, 모델, 시뮬레이션, 사용자)

엔드포인트: GET /v1/tenant/{tenantId}/statistics

인증: 테넌트 범위 API 키 · read 범위

매개변수:

이름 유형 위치 필수 설명
tenantId string 경로 예 형식: uuid

응답 (200):

테넌트 통계

{
	"tenantId": "00000000-0000-0000-0000-000000000000",
	"uploadedDataSize": 0,
	"uploadedDataCount": 0,
	"modelCount": 0,
	"simulationCount": 0,
	"userCount": 0
}
필드 유형 필수 설명
tenantId string 예 형식: uuid
uploadedDataSize number 예
uploadedDataCount number 예
modelCount number 예
simulationCount number 예
userCount number 예

오류:

  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료되었습니다
  • 404 리소스를 찾을 수 없습니다

테넌트 사용자 목록 조회

조건에 맞는 사용자를 JSON 배열로 반환합니다. 전체 개수는 제공되지 않으며, limit/offset을 사용해 페이지를 나눕니다.

엔드포인트: GET /v1/tenant/{tenantId}/users

인증: 테넌트 범위 API 키 · read 범위

매개변수:

이름 유형 위치 필수 설명
tenantId string 경로 예 형식: uuid
limit integer 쿼리 아니요 반환할 최대 항목 수
offset integer 쿼리 아니요 건너뛸 항목 수

응답 (200):

사용자 목록

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

오류:

  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료되었습니다

테넌트에 사용자 추가 (초대 이메일은 발송되지 않음)

본문의 역할 필드(isAdminInTenant, access: none|portalViewer|designer|architect|intelligence, isDashboardViewer)는 입력한 값 그대로 적용됩니다. 이 엔드포인트는 테넌트 관리자 권한 전체를 다루므로 신뢰할 수 있는 호출자에게만 쓰기 범위 키를 발급하세요. 대시보드 조회 권한은 isDashboardViewer boolean으로 설정합니다. 기존의 읽기 전용 Viewer 단계는 제거되었습니다.

엔드포인트: POST /v1/tenant/{tenantId}/users

인증: 테넌트 범위 API 키 · write 범위

매개변수:

이름 유형 위치 필수 설명
tenantId string 경로 예 형식: uuid

요청 본문:

{
	"email": "string",
	"firstName": "string",
	"lastName": "string",
	"isActiveInTenant": true,
	"isAdminInTenant": true,
	"access": "none",
	"isDashboardViewer": true,
	"preferredLocale": "en"
}
필드 유형 필수 설명
email string 예 사용자의 이메일 주소(로그인 ID로도 사용)
형식: email
firstName string 아니요 선택 입력 항목: 이름
최대 길이: 64자
lastName string 아니요 선택 입력 항목: 성
최대 길이: 64자
isActiveInTenant boolean 아니요 사용자가 이 테넌트에서 활성 상태인지 여부
isAdminInTenant boolean 아니요 이 테넌트의 관리자 권한(전체 테넌트 관리 기능에 그대로 적용)
access none | portalViewer | designer | architect | intelligence 아니요 단일 선택 좌석: none | portalViewer | designer | architect | intelligence
허용 값: none, portalViewer, designer, architect, intelligence
isDashboardViewer boolean 아니요 사용자에게 읽기 전용 대시보드 보기 권한이 있는지 여부
preferredLocale en | zh | es | fr | de | pt | it | nl | ja | tr | pl | cs | hu | id | ko | vi | th 아니요 사용자가 선호하는 UI 언어
허용 값: en, zh, es, fr, de, pt, it, nl, ja, tr, pl, cs, hu, id, ko, vi, th

응답 (201):

사용자를 추가했습니다

{
	"id": "string",
	"message": "string"
}
필드 유형 필수 설명
id string 예 새로 추가한 사용자의 ID
message string 예

오류:

  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료되었습니다
  • 409 현재 상태와 요청이 충돌합니다 (예: 라이선스 제한 또는 ID 중복)

사용자의 테넌트 설정 업데이트

엔드포인트: PUT /v1/tenant/{tenantId}/users/{userId}

인증: 테넌트 범위 API 키 · write 범위

매개변수:

이름 유형 위치 필수 설명
tenantId string 경로 예 형식: uuid
userId string 경로 예 형식: uuid

요청 본문:

{
	"isActiveInTenant": true,
	"isAdminInTenant": true,
	"access": "none",
	"isDashboardViewer": true
}
필드 유형 필수 설명
isActiveInTenant boolean 아니요 이 테넌트에서 사용자가 활성 상태인지 여부
isAdminInTenant boolean 아니요 이 테넌트의 관리자 권한 (입력한 값 그대로 적용되며, 테넌트 관리자 권한 전체를 부여합니다)
access none | portalViewer | designer | architect | intelligence 아니요 단일 선택 라이선스: none | portalViewer | designer | architect | intelligence. 대시보드 조회 권한은 isDashboardViewer boolean으로 설정합니다.
허용 값: none, portalViewer, designer, architect, intelligence
isDashboardViewer boolean 아니요 사용자에게 대시보드 읽기 전용 권한이 있는지 여부

응답 (200):

업데이트했습니다

{
	"message": "string"
}
필드 유형 필수 설명
message string 예

오류:

  • 400 잘못된 요청: 필터 표현식이 잘못되었거나, 모델이 없는 프로세스이거나, 지원하지 않는 업로드 유형이거나, 필수 필드가 누락된 경우 등이 해당합니다
  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료되었습니다
  • 404 리소스를 찾을 수 없습니다

테넌트에서 사용자 삭제

엔드포인트: DELETE /v1/tenant/{tenantId}/users/{userId}

인증: 테넌트 범위 API 키 · write 범위

매개변수:

이름 유형 위치 필수 설명
tenantId string 경로 예 형식: uuid
userId string 경로 예 형식: uuid

응답 (200):

사용자를 삭제했습니다

{
	"message": "string"
}
필드 유형 필수 설명
message string 예

오류:

  • 400 잘못된 요청: 필터 표현식이 잘못되었거나, 모델이 없는 프로세스이거나, 지원하지 않는 업로드 유형이거나, 필수 필드가 누락된 경우 등이 해당합니다
  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료되었습니다
  • 404 리소스를 찾을 수 없습니다

사용자의 일회용 로그인 전달 토큰 발급

사용자, 테넌트, 조직에 연결된 일회용 토큰 (유효 기간 60초)과 사용자의 브라우저를 이동시킬 url을 반환합니다. 사용자의 브라우저에서 URL을 열면 별도의 이메일 링크나 사용자 가장 없이 ProcessMind에 인증된 상태로 접속하며, 사용자 본인의 세션이 생성됩니다. API 키에 전용 sessions 범위가 필요합니다. 조직 범위 키는 해당 조직의 모든 테넌트에서 토큰을 발급할 수 있지만, 테넌트 범위 키는 자신이 속한 테넌트의 사용자에게만 발급할 수 있습니다. 토큰은 비밀번호와 동일한 수준으로 취급하세요. 한 번만 반환되며 로그에 기록되지 않고, 키나 사용자를 비활성화하면 폐기됩니다.

엔드포인트: POST /v1/tenant/{tenantId}/users/{userId}/login-token

인증: 테넌트 또는 조직 범위 API 키 · sessions 범위 · 요청 제한 초당 2회 (최대 4회)

매개변수:

이름 유형 위치 필수 설명
tenantId string 경로 예 형식: uuid
userId string 경로 예 형식: uuid

요청 본문:

선택 입력 항목인 도착 경로 (상대 경로, 예: “app” 또는 “app/dashboards”)

{
	"path": "string"
}
필드 유형 필수 설명
path string 아니요 최대 길이: 512

응답 (200):

로그인 전달 토큰

{
	"token": "string",
	"url": "string",
	"expiresInSeconds": 0,
	"expiresAt": "2024-03-15T16:30:00Z"
}
필드 유형 필수 설명
token string 예
url string 예
expiresInSeconds number 예
expiresAt string 예 형식: date-time

오류:

  • 400 잘못된 요청: 필터 표현식이 잘못되었거나, 모델이 없는 프로세스이거나, 지원하지 않는 업로드 유형이거나, 필수 필드가 누락된 경우 등이 해당합니다
  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료되었습니다
  • 403 API 키에 필요한 범위 또는 조직 접근 권한이 없거나, 테넌트가 비활성 상태이거나, 요금제가 해당 파일 유형을 허용하지 않습니다
  • 404 리소스를 찾을 수 없습니다
  • 429 요청 제한 초과: 엔드포인트에 명시된 요청 제한을 확인하세요

API 키는 연동 시스템의 인증에 사용됩니다. 조직 범위 키를 사용하면 조직 내 모든 테넌트의 키를 발급하고 관리할 수 있습니다.

테넌트의 API 키 목록 조회

조직 범위 API 키가 필요합니다. 비밀 키는 반환되지 않습니다.

엔드포인트: GET /v1/tenant/{tenantId}/api-keys

인증: 조직 범위 API 키 · read 범위

매개변수:

이름 유형 위치 필수 설명
tenantId string 경로 예 형식: uuid
limit integer 쿼리 아니요 반환할 최대 항목 수
offset integer 쿼리 아니요 건너뛸 항목 수

응답 (200):

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
		}
	}
]

오류:

  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료되었습니다
  • 403 API 키에 필요한 범위 또는 조직 접근 권한이 없거나, 테넌트가 비활성 상태이거나, 요금제가 해당 파일 유형을 허용하지 않습니다

테넌트 범위 API 키 생성

조직 범위 쓰기 키가 필요합니다. 비밀 키는 서버에서 생성되어 응답에 한 번만 포함됩니다. 안전한 곳에 보관하세요. 저장되는 값은 해시뿐입니다.

엔드포인트: POST /v1/tenant/{tenantId}/api-keys

인증: 조직 범위 API 키 · write 범위

매개변수:

이름 유형 위치 필수 설명
tenantId string 경로 예 형식: uuid

요청 본문:

{
	"displayName": "string",
	"scope": {
		"read": true,
		"write": true,
		"uploadData": true,
		"sessions": true
	},
	"enabled": true,
	"expiresAt": "2024-03-15T16:30:00Z"
}
필드 유형 필수 설명
displayName string 예 최대 길이: 128
scope object 아니요
enabled boolean 아니요
expiresAt string 아니요 형식: date-time

응답 (201):

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
	},
	"secret": "string"
}
필드 유형 필수 설명
id string 예 형식: uuid
tenantId string 예 형식: uuid
organizationId string 예 형식: uuid
displayName string 예 최대 길이: 128
partialKey string 예 최대 길이: 128
enabled boolean 예 기본값: true
createdAt string 예 형식: date-time
lastUsedAt string 예 형식: date-time
expiresAt string 예 형식: date-time
scope object 예
secret string 예 최대 길이: 128

오류:

  • 400 잘못된 요청: 필터 표현식이 잘못되었거나, 모델이 없는 프로세스이거나, 지원하지 않는 업로드 유형이거나, 필수 필드가 누락된 경우 등이 해당합니다
  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료되었습니다
  • 403 API 키에 필요한 범위 또는 조직 접근 권한이 없거나, 테넌트가 비활성 상태이거나, 요금제가 해당 파일 유형을 허용하지 않습니다

테넌트 범위 API 키 업데이트

조직 범위 쓰기 키가 필요합니다. 범위 필드는 저장된 범위와 병합됩니다.

엔드포인트: PUT /v1/tenant/{tenantId}/api-keys/{keyId}

인증: 조직 범위 API 키 · write 범위

매개변수:

이름 유형 위치 필수 설명
tenantId string 경로 예 형식: uuid
keyId string 경로 예 형식: uuid

요청 본문:

{
	"displayName": "string",
	"scope": {
		"read": true,
		"write": true,
		"uploadData": true,
		"sessions": true
	},
	"enabled": true,
	"expiresAt": "2024-03-15T16:30:00Z"
}
필드 유형 필수 설명
displayName string 아니요 최대 길이: 128
scope object 아니요
enabled boolean 아니요
expiresAt string 아니요 형식: date-time

응답 (200):

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
	}
}
필드 유형 필수 설명
id string 예 형식: uuid
tenantId string 예 형식: uuid
organizationId string 예 형식: uuid
displayName string 예 최대 길이: 128
partialKey string 예 최대 길이: 128
enabled boolean 예 기본값: true
createdAt string 예 형식: date-time
lastUsedAt string 예 형식: date-time
expiresAt string 예 형식: date-time
scope object 예

오류:

  • 400 잘못된 요청: 필터 표현식이 잘못되었거나, 모델이 없는 프로세스이거나, 지원하지 않는 업로드 유형이거나, 필수 필드가 누락된 경우 등이 해당합니다
  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료되었습니다
  • 403 API 키에 필요한 범위 또는 조직 접근 권한이 없거나, 테넌트가 비활성 상태이거나, 요금제가 해당 파일 유형을 허용하지 않습니다
  • 404 리소스를 찾을 수 없습니다

테넌트 범위 API 키 삭제

조직 범위 쓰기 키가 필요합니다. 키는 논리적으로 삭제되며 즉시 인증에 사용할 수 없게 됩니다.

엔드포인트: DELETE /v1/tenant/{tenantId}/api-keys/{keyId}

인증: 조직 범위 API 키 · write 범위

매개변수:

이름 유형 위치 필수 설명
tenantId string 경로 예 형식: uuid
keyId string 경로 예 형식: uuid

응답 (200):

API 키를 삭제했습니다

{
	"message": "string"
}
필드 유형 필수 설명
message string 예

오류:

  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료되었습니다
  • 403 API 키에 필요한 범위 또는 조직 접근 권한이 없거나, 테넌트가 비활성 상태이거나, 요금제가 해당 파일 유형을 허용하지 않습니다
  • 404 리소스를 찾을 수 없습니다

더 나은 프로세스를 설계하고, 연결된 아키텍처를 구축해 관리하세요.

신용카드 등록이나 대기 없이 바로 이용할 수 있습니다. 조직의 업무 방식을 명확하고 유기적으로 연결된 프로세스 설계로 바꿔 보세요.

프로세스 아키텍처를 구축하고, 소유권과 통제 기준을 정립하며, 모든 계층의 역할과 책임을 조율하세요.

무료 체험을 시작하고 프로세스를 관리·운영하고 지속적으로 개선할 수 있는 신뢰할 만한 기반을 마련하세요.