API 레퍼런스: 조직
조직 관리 및 사용자 관리 엔드포인트의 API 레퍼런스입니다.
warning
데이터 세트를 삭제하면 연결된 모든 데이터 테이블과 데이터가 영구적으로 제거됩니다. 이 작업은 취소할 수 없습니다.
사용 방법:
# Get the presigned URL with required parameters
URL=$(curl -s -H "X-API-Key: your-api-key" \
"https://api.processmind.com/v1/tenant/{tenantId}/datatables/{datatableId}/uploads/presigned-url?datasetid={datasetId}&filename=data.csv&filesize=1024&filelastmodified=1704067200000")
# Upload the file
curl -X PUT --upload-file "data.csv" -H "Content-Type: text/csv" "$URL" info
사전 서명 URL은 제한된 시간 동안만 유효합니다. URL을 받은 뒤 바로 사용하세요. 업로드에 실패하면 새 사전 서명 URL을 요청하세요.
사용 방법:
# Get the download URL
RESPONSE=$(curl -s -H "X-API-Key: your-api-key" \
"https://api.processmind.com/v1/tenant/{tenantId}/datatables/{dataTableId}/download")
# Extract URL and download the file
DOWNLOAD_URL=$(echo $RESPONSE | jq -r '.downloadUrl')
curl -o "data.csv" "$DOWNLOAD_URL" info
업로드한 데이터 테이블은 원본 파일 형식(CSV, Parquet, ORC, JSONL 또는 Excel)을 유지합니다. 시뮬레이션 결과 파일은 항상 CSV 형식입니다.
사용 방법:
# Get delta presigned URL
RESPONSE=$(curl -s -H "X-API-Key: your-api-key" \
"https://api.processmind.com/v1/tenant/{tenantId}/datatables/{dataTableId}/uploads/presigned-url?delta=true&filename=delta.csv&filesize=1024&filelastmodified=1704067200000")
# Upload the delta file
UPLOAD_URL=$(echo $RESPONSE | jq -r '.PreSignedUploadUrl')
curl -X PUT --upload-file "delta.csv" -H "Content-Type: text/csv" "$UPLOAD_URL" info
증분 업로드를 사용하려면 데이터 테이블에 초기 데이터를 먼저 불러와야 합니다. 증분 파일은 원본 업로드와 같은 형식이어야 하며(예: CSV 원본에는 CSV 증분 파일, Parquet 원본에는 Parquet 증분 파일), 열 구조도 같아야 합니다. Excel 및 XES 파일은 증분 업로드를 지원하지 않습니다.
info
사전 서명 URL로 업로드하면 ProcessMind가 증분 데이터를 자동으로 처리해 원본 데이터와 결합합니다. 처리가 완료될 때까지 GET /datatables/{dataTableId}을 확인하고 hasDataLoaded가 true인지 확인하세요.
데이터 세트는 논리적으로 연관된 데이터 테이블을 모아 관리하는 단위입니다.
엔드포인트: GET /v1/tenant/{tenantId}/datasets
인증: 테넌트 범위 API 키 · read 권한 범위
매개변수:
| 이름 | 유형 | 위치 | 필수 | 설명 |
|---|---|---|---|---|
| tenantId | string | path | 예 | 형식: uuid |
| limit | integer | query | 아니요 | 반환할 최대 항목 수 |
| offset | integer | query | 아니요 | 건너뛸 항목 수 |
응답(200):
데이터 세트 목록
[
{
"id": "00000000-0000-0000-0000-000000000000",
"treeParentId": "00000000-0000-0000-0000-000000000000",
"treeNodeType": "Dataset",
"displayName": "string",
"createdAt": "2024-03-15T16:30:00Z",
"updatedAt": "2024-03-15T16:30:00Z",
"dataTableId": "00000000-0000-0000-0000-000000000000"
}
] 오류:
엔드포인트: POST /v1/tenant/{tenantId}/datasets
인증: 테넌트 범위 API 키 · write 권한 범위
매개변수:
| 이름 | 유형 | 위치 | 필수 | 설명 |
|---|---|---|---|---|
| tenantId | string | path | 예 | 형식: uuid |
요청 본문:
{
"displayName": "string",
"treeParentId": "00000000-0000-0000-0000-000000000000",
"treeNodeType": "Dataset"
} | 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| displayName | string | 예 | 데이터 트리에 표시할 데이터 세트 이름 최대 길이: 128 |
| treeParentId | string | 아니요 | 상위 폴더 ID(null = 최상위) 형식: uuid |
| treeNodeType | Dataset | TreeGroup | 아니요 | 데이터 세트 또는 폴더 허용 값: Dataset, TreeGroup기본값: Dataset |
응답(201):
생성된 데이터 세트
{
"id": "00000000-0000-0000-0000-000000000000",
"treeParentId": "00000000-0000-0000-0000-000000000000",
"treeNodeType": "Dataset",
"displayName": "string",
"createdAt": "2024-03-15T16:30:00Z",
"updatedAt": "2024-03-15T16:30:00Z",
"dataTableId": "00000000-0000-0000-0000-000000000000"
} | 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| id | string | 예 | 형식: uuid |
| treeParentId | string | 예 | 형식: uuid |
| treeNodeType | Dataset | TreeGroup | 예 | 허용 값: Dataset, TreeGroup기본값: Dataset |
| displayName | string | 예 | 기본값: ""최대 길이: 128 |
| createdAt | string | 예 | 형식: date-time |
| updatedAt | string | 예 | 형식: date-time |
| dataTableId | string | 예 | 형식: uuid |
오류:
엔드포인트: GET /v1/tenant/{tenantId}/datasets/{datasetId}
인증: 테넌트 범위 API 키 · read 권한 범위
매개변수:
| 이름 | 유형 | 위치 | 필수 | 설명 |
|---|---|---|---|---|
| tenantId | string | path | 예 | 형식: uuid |
| datasetId | string | path | 예 | 형식: uuid |
응답(200):
데이터 세트
{
"id": "00000000-0000-0000-0000-000000000000",
"treeParentId": "00000000-0000-0000-0000-000000000000",
"treeNodeType": "Dataset",
"displayName": "string",
"createdAt": "2024-03-15T16:30:00Z",
"updatedAt": "2024-03-15T16:30:00Z",
"dataTableId": "00000000-0000-0000-0000-000000000000"
} | 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| id | string | 예 | 형식: uuid |
| treeParentId | string | 예 | 형식: uuid |
| treeNodeType | Dataset | TreeGroup | 예 | 허용 값: Dataset, TreeGroup기본값: Dataset |
| displayName | string | 예 | 기본값: ""최대 길이: 128 |
| createdAt | string | 예 | 형식: date-time |
| updatedAt | string | 예 | 형식: date-time |
| dataTableId | string | 예 | 형식: uuid |
오류:
엔드포인트: DELETE /v1/tenant/{tenantId}/datasets/{datasetId}
인증: 테넌트 범위 API 키 · write 권한 범위
매개변수:
| 이름 | 유형 | 위치 | 필수 | 설명 |
|---|---|---|---|---|
| tenantId | string | path | 예 | 형식: uuid |
| datasetId | string | path | 예 | 형식: uuid |
응답(200):
데이터 세트 삭제됨
{
"success": true,
"message": "string"
} | 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| success | boolean | 예 | |
| message | string | 예 |
오류:
엔드포인트: GET /v1/tenant/{tenantId}/datasets/{datasetId}/datatables
인증: 테넌트 범위 API 키 · read 권한 범위
매개변수:
| 이름 | 유형 | 위치 | 필수 | 설명 |
|---|---|---|---|---|
| tenantId | string | path | 예 | 형식: uuid |
| datasetId | string | path | 예 | 형식: uuid |
| limit | integer | query | 아니요 | 반환할 최대 항목 수 |
| offset | integer | query | 아니요 | 건너뛸 항목 수 |
응답(200):
데이터 세트의 데이터 테이블 목록
[
{
"id": "00000000-0000-0000-0000-000000000000",
"datasetId": "00000000-0000-0000-0000-000000000000",
"displayName": "string",
"createdAt": "2024-03-15T16:30:00Z",
"updatedAt": "2024-03-15T16:30:00Z",
"hasDataLoaded": true,
"filterExpression": "string",
"metaInfo": {
"type": "nodata"
}
}
] 오류:
엔드포인트: POST /v1/tenant/{tenantId}/datasets/{datasetId}/datatables
인증: 테넌트 범위 API 키 · write 권한 범위
매개변수:
| 이름 | 유형 | 위치 | 필수 | 설명 |
|---|---|---|---|---|
| tenantId | string | path | 예 | 형식: uuid |
| datasetId | string | path | 예 | 형식: uuid |
요청 본문:
{
"displayName": "string"
} | 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| displayName | string | 예 | 데이터 테이블 이름 최대 길이: 128 |
응답(201):
생성된 데이터 테이블
{
"id": "00000000-0000-0000-0000-000000000000",
"datasetId": "00000000-0000-0000-0000-000000000000",
"displayName": "string",
"createdAt": "2024-03-15T16:30:00Z",
"updatedAt": "2024-03-15T16:30:00Z",
"hasDataLoaded": true,
"filterExpression": "string",
"metaInfo": {
"type": "nodata"
}
} | 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| id | string | 예 | 형식: uuid |
| datasetId | string | 예 | 형식: uuid |
| displayName | string | 예 | 기본값: ""최대 길이: 128 |
| createdAt | string | 예 | 형식: date-time |
| updatedAt | string | 예 | 형식: date-time |
| hasDataLoaded | boolean | 예 | 기본값: false |
| filterExpression | string | 예 | 최대 길이: 4096 |
| metaInfo | object | object | object | object | 예 |
오류:
데이터 테이블에는 process mining에 사용되는 실제 이벤트 로그 데이터가 저장됩니다.
엔드포인트: GET /v1/tenant/{tenantId}/datatables
인증: 테넌트 범위 API 키 · read 권한 범위
매개변수:
| 이름 | 유형 | 위치 | 필수 | 설명 |
|---|---|---|---|---|
| tenantId | string | path | 예 | 형식: uuid |
| limit | integer | query | 아니요 | 반환할 최대 항목 수 |
| offset | integer | query | 아니요 | 건너뛸 항목 수 |
응답(200):
데이터 테이블 목록
[
{
"id": "00000000-0000-0000-0000-000000000000",
"datasetId": "00000000-0000-0000-0000-000000000000",
"displayName": "string",
"createdAt": "2024-03-15T16:30:00Z",
"updatedAt": "2024-03-15T16:30:00Z",
"hasDataLoaded": true,
"filterExpression": "string",
"metaInfo": {
"type": "nodata"
}
}
] 오류:
엔드포인트: GET /v1/tenant/{tenantId}/datatables/{dataTableId}
인증: 테넌트 범위 API 키 · read 권한 범위
매개변수:
| 이름 | 유형 | 위치 | 필수 | 설명 |
|---|---|---|---|---|
| tenantId | string | path | 예 | 형식: uuid |
| dataTableId | string | path | 예 | 형식: uuid |
응답(200):
데이터 테이블
{
"id": "00000000-0000-0000-0000-000000000000",
"datasetId": "00000000-0000-0000-0000-000000000000",
"displayName": "string",
"createdAt": "2024-03-15T16:30:00Z",
"updatedAt": "2024-03-15T16:30:00Z",
"hasDataLoaded": true,
"filterExpression": "string",
"metaInfo": {
"type": "nodata"
}
} | 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| id | string | 예 | 형식: uuid |
| datasetId | string | 예 | 형식: uuid |
| displayName | string | 예 | 기본값: ""최대 길이: 128 |
| createdAt | string | 예 | 형식: date-time |
| updatedAt | string | 예 | 형식: date-time |
| hasDataLoaded | boolean | 예 | 기본값: false |
| filterExpression | string | 예 | 최대 길이: 4096 |
| metaInfo | object | object | object | object | 예 |
오류:
엔드포인트: PUT /v1/tenant/{tenantId}/datatables/{dataTableId}
인증: 테넌트 범위 API 키 · write 권한 범위
매개변수:
| 이름 | 유형 | 위치 | 필수 | 설명 |
|---|---|---|---|---|
| tenantId | string | path | 예 | 형식: uuid |
| dataTableId | string | path | 예 | 형식: uuid |
요청 본문:
{
"displayName": "string",
"filterExpression": "string"
} | 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| displayName | string | 아니요 | 데이터 테이블 이름 최대 길이: 128 |
| filterExpression | string | 아니요 | 데이터에 적용할 필터 표현식 최대 길이: 4096 |
응답(200):
수정된 데이터 테이블
{
"id": "00000000-0000-0000-0000-000000000000",
"datasetId": "00000000-0000-0000-0000-000000000000",
"displayName": "string",
"createdAt": "2024-03-15T16:30:00Z",
"updatedAt": "2024-03-15T16:30:00Z",
"hasDataLoaded": true,
"filterExpression": "string",
"metaInfo": {
"type": "nodata"
}
} | 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| id | string | 예 | 형식: uuid |
| datasetId | string | 예 | 형식: uuid |
| displayName | string | 예 | 기본값: ""최대 길이: 128 |
| createdAt | string | 예 | 형식: date-time |
| updatedAt | string | 예 | 형식: date-time |
| hasDataLoaded | boolean | 예 | 기본값: false |
| filterExpression | string | 예 | 최대 길이: 4096 |
| metaInfo | object | object | object | object | 예 |
오류:
엔드포인트: GET /v1/tenant/{tenantId}/datatables/{dataTableId}/download
인증: 테넌트 범위 API 키 · read 권한 범위
매개변수:
| 이름 | 유형 | 위치 | 필수 | 설명 |
|---|---|---|---|---|
| tenantId | string | path | 예 | 형식: uuid |
| dataTableId | string | path | 예 | 형식: uuid |
응답(200):
다운로드 URL
{
"downloadUrl": "string",
"expiresInSeconds": 0
} | 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| downloadUrl | string | 예 | |
| expiresInSeconds | number | 예 |
오류:
API 키에 uploadData 권한 범위가 필요합니다.
엔드포인트: POST /v1/tenant/{tenantId}/datatables/{dataTableId}/uploads/multipart/abort
인증: 테넌트 범위 API 키 · write 권한 범위
매개변수:
| 이름 | 유형 | 위치 | 필수 | 설명 |
|---|---|---|---|---|
| tenantId | string | path | 예 | 형식: uuid |
| dataTableId | string | path | 예 | 형식: uuid |
요청 본문:
{
"uploadId": "string",
"uploadHandle": "string"
} | 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| uploadId | string | 예 | |
| uploadHandle | string | 예 | 업로드 시작 단계에서 반환된 불투명 핸들 |
응답(200):
중단됨
{
"message": "string"
} | 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| message | string | 예 |
오류:
API 키에 uploadData 권한 범위가 필요합니다. 업로드된 파트를 ETag를 사용해 조합하고 이벤트 로그 처리를 시작합니다.
엔드포인트: POST /v1/tenant/{tenantId}/datatables/{dataTableId}/uploads/multipart/complete
인증: 테넌트 범위 API 키 · write 권한 범위
매개변수:
| 이름 | 유형 | 위치 | 필수 | 설명 |
|---|---|---|---|---|
| tenantId | string | path | 예 | 형식: uuid |
| dataTableId | string | path | 예 | 형식: uuid |
요청 본문:
{
"uploadId": "string",
"uploadHandle": "string",
"parts": [
{
"partNumber": 0,
"eTag": "string"
}
]
} | 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| uploadId | string | 예 | |
| uploadHandle | string | 예 | 업로드 시작 단계에서 반환된 불투명 핸들 |
| parts | object[] | 예 |
응답(200):
완료됨({ completed: true })
{
"message": "string"
} | 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| message | string | 예 |
오류:
API 키에 uploadData 권한 범위가 필요합니다. uploadId과 불투명한 uploadHandle를 반환하며, 이후 parts, complete 및 abort 호출에 전달해야 합니다. 대용량 파일에 적합합니다.
엔드포인트: POST /v1/tenant/{tenantId}/datatables/{dataTableId}/uploads/multipart/initiate
인증: 테넌트 범위 API 키 · write 권한 범위
매개변수:
| 이름 | 유형 | 위치 | 필수 | 설명 |
|---|---|---|---|---|
| tenantId | string | path | 예 | 형식: uuid |
| dataTableId | string | path | 예 | 형식: uuid |
요청 본문:
{
"fileName": "string",
"fileSize": 0,
"fileLastModified": 0,
"partCount": 0,
"delta": true,
"datasetId": "00000000-0000-0000-0000-000000000000",
"modelId": "00000000-0000-0000-0000-000000000000"
} | 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| fileName | string | 예 | |
| fileSize | number | 예 | |
| fileLastModified | number | 예 | |
| partCount | number | 아니요 | 사전 서명할 파트 수(기본값 10) |
| delta | boolean | 아니요 | 증분 업로드 여부 |
| datasetId | string | 아니요 | 형식: uuid |
| modelId | string | 아니요 | 형식: uuid |
응답(200):
업로드 시작됨
{
"uploadId": "string",
"uploadHandle": "string",
"partCount": 0,
"partSizeBytes": 0
} | 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| uploadId | string | 아니요 | |
| uploadHandle | string | 아니요 | 파트 업로드, 완료 및 중단 단계에 사용하는 불투명 핸들 |
| partCount | number | 아니요 | |
| partSizeBytes | number | 아니요 |
오류:
API 키에 uploadData 권한 범위가 필요합니다. 요청한 각 파트 번호에 대해 사전 서명된 PUT URL 하나를 반환합니다.
엔드포인트: POST /v1/tenant/{tenantId}/datatables/{dataTableId}/uploads/multipart/parts
인증: 테넌트 범위 API 키 · write 권한 범위
매개변수:
| 이름 | 유형 | 위치 | 필수 | 설명 |
|---|---|---|---|---|
| tenantId | string | path | 예 | 형식: uuid |
| dataTableId | string | path | 예 | 형식: uuid |
요청 본문:
{
"uploadId": "string",
"uploadHandle": "string",
"partNumbers": [
0
]
} | 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| uploadId | string | 예 | |
| uploadHandle | string | 예 | 업로드 시작 단계에서 반환된 불투명 핸들 |
| partNumbers | number[] | 예 |
응답(200):
파트 사전 서명 URL({ uploadId, parts: [{ partNumber, url }] })
{
"message": "string"
} | 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| message | string | 예 |
오류:
API 키에 uploadData 권한 범위가 필요합니다(read/write와 별개). 지정된 filesize(바이트) 값은 플랫폼의 최대 업로드 크기와 비교해 확인하며, 파일이 업로드되면 실제 객체 크기도 다시 확인합니다.
엔드포인트: GET /v1/tenant/{tenantId}/datatables/{dataTableId}/uploads/presigned-url
인증: 테넌트 범위 API 키 · read 권한 범위
매개변수:
| 이름 | 유형 | 위치 | 필수 | 설명 |
|---|---|---|---|---|
| tenantId | string | path | 예 | 형식: uuid |
| dataTableId | string | path | 예 | 형식: uuid |
| filename | string | query | 예 | |
| filesize | string | query | 예 | 파일 크기(바이트, 플랫폼 최대 업로드 크기와 비교해 확인) |
| filelastmodified | string | query | 예 | |
| datasetid | string | query | 아니요 | 전체 업로드(증분 아님)에 필요합니다. |
| modelid | string | query | 아니요 | 형식: uuid |
| delta | true | false | query | 아니요 | 허용 값: true, false |
| partnumber | string | query | 아니요 | |
| validforseconds | integer | query | 아니요 | 사전 서명 URL 유효 기간(초, 1~3600, 기본값 3600) |
응답(200):
사전 서명 URL
{
"PreSignedUploadUrl": "string"
} | 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| PreSignedUploadUrl | string | 예 | 사전 서명된 S3 PUT URL(약 1시간 동안 유효) |
오류:
신용카드 등록이나 대기 없이 바로 이용할 수 있습니다. 조직의 업무 방식을 명확하고 유기적으로 연결된 프로세스 설계로 바꿔 보세요.
프로세스 아키텍처를 구축하고, 소유권과 통제 기준을 정립하며, 모든 계층의 역할과 책임을 조율하세요.
무료 체험을 시작하고 프로세스를 관리·운영하고 지속적으로 개선할 수 있는 신뢰할 만한 기반을 마련하세요.