이 페이지에서

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

오류:

  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료됨

데이터 세트 만들기(빈 데이터 테이블 포함)

엔드포인트: 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

오류:

  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료됨

데이터 세트 조회

엔드포인트: 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

오류:

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

데이터 세트 소프트 삭제

엔드포인트: 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 예

오류:

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

데이터 세트의 데이터 테이블 목록 조회

엔드포인트: 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"
		}
	}
]

오류:

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

데이터 세트에 빈 데이터 테이블 만들기

엔드포인트: 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 예

오류:

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

데이터 테이블에는 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"
		}
	}
]

오류:

  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료됨

데이터 테이블 조회

엔드포인트: 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 예

오류:

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

데이터 테이블 수정(displayName, parseSettings 등).

엔드포인트: 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 예

오류:

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

데이터 테이블 원본 파일을 다운로드할 사전 서명 URL 받기

엔드포인트: 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 예

오류:

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

멀티파트 업로드 중단 및 업로드된 파트 폐기

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 예

오류:

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

멀티파트 업로드 완료(3단계 중 3단계)

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 예

오류:

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

이벤트 로그 데이터 멀티파트(분할) 업로드 시작(3단계 중 1단계)

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 아니요

오류:

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

멀티파트 업로드 파트용 사전 서명 URL 받기(3단계 중 2단계)

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 예

오류:

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

이벤트 로그 데이터(CSV/XLSX, 전체 또는 증분)용 사전 서명 S3 업로드 URL 받기

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시간 동안 유효)

오류:

  • 401 API 키가 없거나 유효하지 않거나 비활성화 또는 만료됨
  • 403 API 키에 필요한 권한 범위가 없거나 조직에 접근할 수 없습니다. 테넌트가 비활성 상태이거나 요금제가 해당 파일 형식을 허용하지 않는 경우에도 발생합니다.
  • 404 리소스를 찾을 수 없음
  • 413 파일이 플랫폼의 최대 업로드 크기를 초과함

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

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

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

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