API Reference: Organizations
API reference for organization management and user administration endpoints.
Datasets are collections of related datatables that belong together logically.
Retrieve all datasets in a tenant.
Endpoint: GET /tenant/{tenantId}/datasets
Parameters:
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | The unique identifier of the tenant |
Response:
[
{
"id": "f6a7b8c9-d0e1-2345-fab6-789012345678",
"displayName": "Sales Data",
"createdAt": "2024-01-20T08:00:00Z",
"datatableCount": 3
}
]
Create a new dataset in a tenant.
Endpoint: POST /tenant/{tenantId}/datasets
Parameters:
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | The unique identifier of the tenant |
Request Body:
{
"displayName": "My New Dataset",
"treeNodeType": "Dataset",
"treeParentId": null
}
| Field | Type | Required | Description |
|---|---|---|---|
| displayName | string | Yes | Name of the dataset |
| treeNodeType | string | No | Must be Dataset (default) or TreeGroup |
| treeParentId | string | No | Parent folder ID for organizing datasets |
Response: Returns the created dataset object.
Retrieve details about a specific dataset.
Endpoint: GET /tenant/{tenantId}/datasets/{datasetId}
Parameters:
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | The unique identifier of the tenant |
| datasetId | string | path | Yes | The unique identifier of the dataset |
Response:
{
"id": "f6a7b8c9-d0e1-2345-fab6-789012345678",
"displayName": "Sales Data",
"createdAt": "2024-01-20T08:00:00Z",
"datatables": [
{
"id": "a7b8c9d0-e1f2-3456-abc7-890123456789",
"displayName": "Orders",
"rowCount": 15000
}
]
}
Delete a dataset and all its datatables.
Endpoint: DELETE /tenant/{tenantId}/datasets/{datasetId}
Parameters:
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | The unique identifier of the tenant |
| datasetId | string | path | Yes | The unique identifier of the dataset |
Response:
{
"success": true
}
warning
Deleting a dataset will permanently remove all associated datatables and data. This action cannot be undone.
Datatables store the actual event log data used for process mining.
Retrieve all datatables in a tenant.
Endpoint: GET /tenant/{tenantId}/datatables
Parameters:
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | The unique identifier of the tenant |
Response:
[
{
"id": "a7b8c9d0-e1f2-3456-abc7-890123456789",
"displayName": "Orders 2024",
"datasetId": "f6a7b8c9-d0e1-2345-fab6-789012345678",
"rowCount": 15000,
"createdAt": "2024-01-25T10:00:00Z"
}
]
Create a new datatable within an existing dataset.
Endpoint: POST /tenant/{tenantId}/datasets/{datasetId}/datatables
Parameters:
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | The unique identifier of the tenant |
| datasetId | string | path | Yes | The unique identifier of the dataset |
Request Body:
{
"displayName": "Orders Q1 2024"
}
| Field | Type | Required | Description |
|---|---|---|---|
| displayName | string | Yes | Name of the datatable |
Response: Returns the created datatable object.
Retrieve details about a specific datatable.
Endpoint: GET /tenant/{tenantId}/datatable/{datatableId}
Parameters:
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | The unique identifier of the tenant |
| datatableId | string | path | Yes | The unique identifier of the datatable |
Response:
{
"id": "a7b8c9d0-e1f2-3456-abc7-890123456789",
"displayName": "Orders 2024",
"datasetId": "f6a7b8c9-d0e1-2345-fab6-789012345678",
"rowCount": 15000,
"columns": [
{"name": "case_id", "type": "string"},
{"name": "activity", "type": "string"},
{"name": "timestamp", "type": "datetime"}
],
"createdAt": "2024-01-25T10:00:00Z"
}
Get a temporary URL for uploading a file directly to a datatable.
Endpoint: GET /tenant/{tenantId}/datatable/{datatableId}/uploads/presignedurl
Parameters:
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | The unique identifier of the tenant |
| datatableId | string | path | Yes | The unique identifier of the datatable |
| datasetid | string | query | Yes | The unique identifier of the dataset |
| filename | string | query | Yes | The name of the file to upload |
| filesize | string | query | Yes | The size of the file in bytes |
| filelastmodified | string | query | Yes | Timestamp of when the file was last modified |
| validforseconds | string | query | No | URL validity duration in seconds (default: 3600) |
Response:
{
"PreSignedUploadUrl": "https://s3.amazonaws.com/bucket/path?X-Amz-Algorithm=AWS4-HMAC-SHA256&..."
}
Usage: Use the returned URL to upload a file via HTTP PUT:
# Get the presigned URL with required parameters
URL=$(curl -s -H "X-API-Key: your-api-key" \
"https://api.processmind.com/tenant/{tenantId}/datatable/{datatableId}/uploads/presignedurl?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
Presigned URLs expire after a limited time. Use the URL promptly after obtaining it. If the upload fails, request a new presigned URL.