Dokumentacja API: organizacje
Dokumentacja API punktów końcowych do zarządzania organizacjami i użytkownikami.
warning
Usunięcie zbioru danych trwale usuwa wszystkie powiązane datatables i dane. Tej operacji nie można cofnąć.
Sposób użycia:
# 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
Podpisane URL-e wygasają po określonym czasie. Należy użyć URL-a wkrótce po jego uzyskaniu. Jeśli przesyłanie się nie powiedzie, należy zażądać nowego podpisanego URL-a.
Sposób użycia:
# 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
W przypadku przesłanych datatables zachowany zostaje oryginalny format pliku (CSV, Parquet, ORC, JSONL lub Excel). Wyniki symulacji są zawsze zapisywane w formacie CSV.
Sposób użycia:
# 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
Przed przesłaniem zmian delta do datatable należy wczytać do niej dane początkowe. Plik delta musi mieć ten sam format co plik źródłowy (na przykład delta CSV dla źródłowego pliku CSV lub delta Parquet dla źródłowego pliku Parquet) i taką samą strukturę kolumn. Przesyłanie plików Excel i XES jako delta nie jest obsługiwane.
info
Po przesłaniu pliku za pomocą podpisanego URL-a ProcessMind automatycznie przetwarza dane delta i łączy je z danymi źródłowymi. Aby sprawdzić, czy przetwarzanie się zakończyło, należy odpytywać GET /datatables/{dataTableId}, aż hasDataLoaded przyjmie wartość true.
Zbiory danych zawierają powiązane datatables, które tworzą logiczną całość.
Endpoint: GET /v1/tenant/{tenantId}/datasets
Uwierzytelnianie: klucz API przypisany do tenanta · zakres read
Parametry:
| Nazwa | Typ | Lokalizacja | Wymagany | Opis |
|---|---|---|---|---|
| tenantId | string | path | Tak | Format: uuid |
| limit | integer | query | Nie | Maksymalna liczba zwracanych elementów |
| offset | integer | query | Nie | Liczba pomijanych elementów |
Odpowiedź (200):
Lista zbiorów danych
[
{
"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"
}
] Błędy:
Endpoint: POST /v1/tenant/{tenantId}/datasets
Uwierzytelnianie: klucz API przypisany do tenanta · zakres write
Parametry:
| Nazwa | Typ | Lokalizacja | Wymagany | Opis |
|---|---|---|---|---|
| tenantId | string | path | Tak | Format: uuid |
Treść żądania:
{
"displayName": "string",
"treeParentId": "00000000-0000-0000-0000-000000000000",
"treeNodeType": "Dataset"
} | Pole | Typ | Wymagane | Opis |
|---|---|---|---|
| displayName | string | Tak | Nazwa zbioru danych wyświetlana w drzewie danych Maksymalna długość: 128 |
| treeParentId | string | Nie | Identyfikator folderu nadrzędnego (null = poziom główny) Format: uuid |
| treeNodeType | Dataset | TreeGroup | Nie | Zbiór danych lub folder Dozwolone wartości: Dataset, TreeGroupDomyślnie: Dataset |
Odpowiedź (201):
Utworzony zbiór danych
{
"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"
} | Pole | Typ | Wymagane | Opis |
|---|---|---|---|
| id | string | Tak | Format: uuid |
| treeParentId | string | Tak | Format: uuid |
| treeNodeType | Dataset | TreeGroup | Tak | Dozwolone wartości: Dataset, TreeGroupDomyślnie: Dataset |
| displayName | string | Tak | Domyślnie: ""Maksymalna długość: 128 |
| createdAt | string | Tak | Format: date-time |
| updatedAt | string | Tak | Format: date-time |
| dataTableId | string | Tak | Format: uuid |
Błędy:
Endpoint: GET /v1/tenant/{tenantId}/datasets/{datasetId}
Uwierzytelnianie: klucz API przypisany do tenanta · zakres read
Parametry:
| Nazwa | Typ | Lokalizacja | Wymagany | Opis |
|---|---|---|---|---|
| tenantId | string | path | Tak | Format: uuid |
| datasetId | string | path | Tak | Format: uuid |
Odpowiedź (200):
Zbiór danych
{
"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"
} | Pole | Typ | Wymagane | Opis |
|---|---|---|---|
| id | string | Tak | Format: uuid |
| treeParentId | string | Tak | Format: uuid |
| treeNodeType | Dataset | TreeGroup | Tak | Dozwolone wartości: Dataset, TreeGroupDomyślnie: Dataset |
| displayName | string | Tak | Domyślnie: ""Maksymalna długość: 128 |
| createdAt | string | Tak | Format: date-time |
| updatedAt | string | Tak | Format: date-time |
| dataTableId | string | Tak | Format: uuid |
Błędy:
Endpoint: DELETE /v1/tenant/{tenantId}/datasets/{datasetId}
Uwierzytelnianie: klucz API przypisany do tenanta · zakres write
Parametry:
| Nazwa | Typ | Lokalizacja | Wymagany | Opis |
|---|---|---|---|---|
| tenantId | string | path | Tak | Format: uuid |
| datasetId | string | path | Tak | Format: uuid |
Odpowiedź (200):
Usunięty zbiór danych
{
"success": true,
"message": "string"
} | Pole | Typ | Wymagane | Opis |
|---|---|---|---|
| success | boolean | Tak | |
| message | string | Tak |
Błędy:
Endpoint: GET /v1/tenant/{tenantId}/datasets/{datasetId}/datatables
Uwierzytelnianie: klucz API przypisany do tenanta · zakres read
Parametry:
| Nazwa | Typ | Lokalizacja | Wymagany | Opis |
|---|---|---|---|---|
| tenantId | string | path | Tak | Format: uuid |
| datasetId | string | path | Tak | Format: uuid |
| limit | integer | query | Nie | Maksymalna liczba zwracanych elementów |
| offset | integer | query | Nie | Liczba pomijanych elementów |
Odpowiedź (200):
Lista datatables w zbiorze danych
[
{
"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"
}
}
] Błędy:
Endpoint: POST /v1/tenant/{tenantId}/datasets/{datasetId}/datatables
Uwierzytelnianie: klucz API przypisany do tenanta · zakres write
Parametry:
| Nazwa | Typ | Lokalizacja | Wymagany | Opis |
|---|---|---|---|---|
| tenantId | string | path | Tak | Format: uuid |
| datasetId | string | path | Tak | Format: uuid |
Treść żądania:
{
"displayName": "string"
} | Pole | Typ | Wymagane | Opis |
|---|---|---|---|
| displayName | string | Tak | Nazwa datatable Maksymalna długość: 128 |
Odpowiedź (201):
Utworzona datatable
{
"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"
}
} | Pole | Typ | Wymagane | Opis |
|---|---|---|---|
| id | string | Tak | Format: uuid |
| datasetId | string | Tak | Format: uuid |
| displayName | string | Tak | Domyślnie: ""Maksymalna długość: 128 |
| createdAt | string | Tak | Format: date-time |
| updatedAt | string | Tak | Format: date-time |
| hasDataLoaded | boolean | Tak | Domyślnie: false |
| filterExpression | string | Tak | Maksymalna długość: 4096 |
| metaInfo | object | object | object | object | Tak |
Błędy:
Datatables przechowują właściwe dane dziennika zdarzeń wykorzystywane w process mining.
Endpoint: GET /v1/tenant/{tenantId}/datatables
Uwierzytelnianie: klucz API przypisany do tenanta · zakres read
Parametry:
| Nazwa | Typ | Lokalizacja | Wymagany | Opis |
|---|---|---|---|---|
| tenantId | string | path | Tak | Format: uuid |
| limit | integer | query | Nie | Maksymalna liczba zwracanych elementów |
| offset | integer | query | Nie | Liczba pomijanych elementów |
Odpowiedź (200):
Lista datatables
[
{
"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"
}
}
] Błędy:
Endpoint: GET /v1/tenant/{tenantId}/datatables/{dataTableId}
Uwierzytelnianie: klucz API przypisany do tenanta · zakres read
Parametry:
| Nazwa | Typ | Lokalizacja | Wymagany | Opis |
|---|---|---|---|---|
| tenantId | string | path | Tak | Format: uuid |
| dataTableId | string | path | Tak | Format: uuid |
Odpowiedź (200):
Datatable
{
"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"
}
} | Pole | Typ | Wymagane | Opis |
|---|---|---|---|
| id | string | Tak | Format: uuid |
| datasetId | string | Tak | Format: uuid |
| displayName | string | Tak | Domyślnie: ""Maksymalna długość: 128 |
| createdAt | string | Tak | Format: date-time |
| updatedAt | string | Tak | Format: date-time |
| hasDataLoaded | boolean | Tak | Domyślnie: false |
| filterExpression | string | Tak | Maksymalna długość: 4096 |
| metaInfo | object | object | object | object | Tak |
Błędy:
Endpoint: PUT /v1/tenant/{tenantId}/datatables/{dataTableId}
Uwierzytelnianie: klucz API przypisany do tenanta · zakres write
Parametry:
| Nazwa | Typ | Lokalizacja | Wymagany | Opis |
|---|---|---|---|---|
| tenantId | string | path | Tak | Format: uuid |
| dataTableId | string | path | Tak | Format: uuid |
Treść żądania:
{
"displayName": "string",
"filterExpression": "string"
} | Pole | Typ | Wymagane | Opis |
|---|---|---|---|
| displayName | string | Nie | Nazwa datatable Maksymalna długość: 128 |
| filterExpression | string | Nie | Wyrażenie filtra stosowane do danych Maksymalna długość: 4096 |
Odpowiedź (200):
Zaktualizowana datatable
{
"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"
}
} | Pole | Typ | Wymagane | Opis |
|---|---|---|---|
| id | string | Tak | Format: uuid |
| datasetId | string | Tak | Format: uuid |
| displayName | string | Tak | Domyślnie: ""Maksymalna długość: 128 |
| createdAt | string | Tak | Format: date-time |
| updatedAt | string | Tak | Format: date-time |
| hasDataLoaded | boolean | Tak | Domyślnie: false |
| filterExpression | string | Tak | Maksymalna długość: 4096 |
| metaInfo | object | object | object | object | Tak |
Błędy:
Endpoint: GET /v1/tenant/{tenantId}/datatables/{dataTableId}/download
Uwierzytelnianie: klucz API przypisany do tenanta · zakres read
Parametry:
| Nazwa | Typ | Lokalizacja | Wymagany | Opis |
|---|---|---|---|---|
| tenantId | string | path | Tak | Format: uuid |
| dataTableId | string | path | Tak | Format: uuid |
Odpowiedź (200):
URL do pobrania
{
"downloadUrl": "string",
"expiresInSeconds": 0
} | Pole | Typ | Wymagane | Opis |
|---|---|---|---|
| downloadUrl | string | Tak | |
| expiresInSeconds | number | Tak |
Błędy:
Klucz API musi mieć zakres uploadData.
Endpoint: POST /v1/tenant/{tenantId}/datatables/{dataTableId}/uploads/multipart/abort
Uwierzytelnianie: klucz API przypisany do tenanta · zakres write
Parametry:
| Nazwa | Typ | Lokalizacja | Wymagany | Opis |
|---|---|---|---|---|
| tenantId | string | path | Tak | Format: uuid |
| dataTableId | string | path | Tak | Format: uuid |
Treść żądania:
{
"uploadId": "string",
"uploadHandle": "string"
} | Pole | Typ | Wymagane | Opis |
|---|---|---|---|
| uploadId | string | Tak | |
| uploadHandle | string | Tak | Nieprzezroczysty identyfikator zwrócony podczas inicjowania przesyłania |
Odpowiedź (200):
Przerwano
{
"message": "string"
} | Pole | Typ | Wymagane | Opis |
|---|---|---|---|
| message | string | Tak |
Błędy:
Klucz API musi mieć zakres uploadData. Łączy przesłane części (na podstawie ich ETagów) i rozpoczyna przetwarzanie dziennika zdarzeń.
Endpoint: POST /v1/tenant/{tenantId}/datatables/{dataTableId}/uploads/multipart/complete
Uwierzytelnianie: klucz API przypisany do tenanta · zakres write
Parametry:
| Nazwa | Typ | Lokalizacja | Wymagany | Opis |
|---|---|---|---|---|
| tenantId | string | path | Tak | Format: uuid |
| dataTableId | string | path | Tak | Format: uuid |
Treść żądania:
{
"uploadId": "string",
"uploadHandle": "string",
"parts": [
{
"partNumber": 0,
"eTag": "string"
}
]
} | Pole | Typ | Wymagane | Opis |
|---|---|---|---|
| uploadId | string | Tak | |
| uploadHandle | string | Tak | Nieprzezroczysty identyfikator zwrócony podczas inicjowania przesyłania |
| parts | object[] | Tak |
Odpowiedź (200):
Zakończono ({ completed: true })
{
"message": "string"
} | Pole | Typ | Wymagane | Opis |
|---|---|---|---|
| message | string | Tak |
Błędy:
Klucz API musi mieć zakres uploadData. Zwraca uploadId i nieprzezroczysty uploadHandle, które należy przekazać w kolejnych wywołaniach parts, complete i abort. Ta metoda nadaje się do dużych plików.
Endpoint: POST /v1/tenant/{tenantId}/datatables/{dataTableId}/uploads/multipart/initiate
Uwierzytelnianie: klucz API przypisany do tenanta · zakres write
Parametry:
| Nazwa | Typ | Lokalizacja | Wymagany | Opis |
|---|---|---|---|---|
| tenantId | string | path | Tak | Format: uuid |
| dataTableId | string | path | Tak | Format: uuid |
Treść żądania:
{
"fileName": "string",
"fileSize": 0,
"fileLastModified": 0,
"partCount": 0,
"delta": true,
"datasetId": "00000000-0000-0000-0000-000000000000",
"modelId": "00000000-0000-0000-0000-000000000000"
} | Pole | Typ | Wymagane | Opis |
|---|---|---|---|
| fileName | string | Tak | |
| fileSize | number | Tak | |
| fileLastModified | number | Tak | |
| partCount | number | Nie | Liczba części do podpisania (domyślnie 10) |
| delta | boolean | Nie | Czy jest to przesyłanie delta (przyrostowe) |
| datasetId | string | Nie | Format: uuid |
| modelId | string | Nie | Format: uuid |
Odpowiedź (200):
Rozpoczęto przesyłanie
{
"uploadId": "string",
"uploadHandle": "string",
"partCount": 0,
"partSizeBytes": 0
} | Pole | Typ | Wymagane | Opis |
|---|---|---|---|
| uploadId | string | Nie | |
| uploadHandle | string | Nie | Nieprzezroczysty identyfikator używany w krokach przesyłania części, kończenia i przerywania |
| partCount | number | Nie | |
| partSizeBytes | number | Nie |
Błędy:
Klucz API musi mieć zakres uploadData. Dla każdego żądanego numeru części zwracany jest jeden podpisany URL PUT.
Endpoint: POST /v1/tenant/{tenantId}/datatables/{dataTableId}/uploads/multipart/parts
Uwierzytelnianie: klucz API przypisany do tenanta · zakres write
Parametry:
| Nazwa | Typ | Lokalizacja | Wymagany | Opis |
|---|---|---|---|---|
| tenantId | string | path | Tak | Format: uuid |
| dataTableId | string | path | Tak | Format: uuid |
Treść żądania:
{
"uploadId": "string",
"uploadHandle": "string",
"partNumbers": [
0
]
} | Pole | Typ | Wymagane | Opis |
|---|---|---|---|
| uploadId | string | Tak | |
| uploadHandle | string | Tak | Nieprzezroczysty identyfikator zwrócony podczas inicjowania przesyłania |
| partNumbers | number[] | Tak |
Odpowiedź (200):
Podpisane URL-e części ({ uploadId, parts: [{ partNumber, url }] })
{
"message": "string"
} | Pole | Typ | Wymagane | Opis |
|---|---|---|---|
| message | string | Tak |
Błędy:
Klucz API musi mieć zakres uploadData, niezależnie od uprawnień read/write. Zadeklarowany filesize (w bajtach) jest sprawdzany pod kątem maksymalnego rozmiaru przesyłanego pliku na platformie. Po przesłaniu pliku jego rzeczywisty rozmiar jest weryfikowany ponownie.
Endpoint: GET /v1/tenant/{tenantId}/datatables/{dataTableId}/uploads/presigned-url
Uwierzytelnianie: klucz API przypisany do tenanta · zakres read
Parametry:
| Nazwa | Typ | Lokalizacja | Wymagany | Opis |
|---|---|---|---|---|
| tenantId | string | path | Tak | Format: uuid |
| dataTableId | string | path | Tak | Format: uuid |
| filename | string | query | Tak | |
| filesize | string | query | Tak | Rozmiar pliku w bajtach (sprawdzany pod kątem maksymalnego rozmiaru przesyłanego pliku na platformie) |
| filelastmodified | string | query | Tak | |
| datasetid | string | query | Nie | Wymagane przy przesyłaniu całości (bez delta) |
| modelid | string | query | Nie | Format: uuid |
| delta | true | false | query | Nie | Dozwolone wartości: true, false |
| partnumber | string | query | Nie | |
| validforseconds | integer | query | Nie | Czas ważności podpisanego URL-a w sekundach (1–3600, domyślnie 3600) |
Odpowiedź (200):
Podpisany URL
{
"PreSignedUploadUrl": "string"
} | Pole | Typ | Wymagane | Opis |
|---|---|---|---|
| PreSignedUploadUrl | string | Tak | Podpisany URL S3 PUT (ważny przez około 1 godz.) |
Błędy:
Uzyskaj dostęp od razu, bez karty kredytowej i czekania. Przedstaw sposób działania organizacji w postaci przejrzystych, powiązanych modeli procesów.
Buduj architekturę procesów, określaj właścicieli i mechanizmy kontroli oraz uzgadniaj role i zakresy odpowiedzialności na każdym poziomie.
Rozpocznij okres próbny i stwórz solidną podstawę do nadzorowania, zarządzania i ciągłego doskonalenia procesów.
Używamy plików cookie, aby poprawiać komfort korzystania z serwisu, personalizować treści i analizować ruch. Anonimowe pomiary odsłon działają bez plików cookie. Zgoda na analitykę dodaje identyfikator, który łączy Państwa wizyty. Klikając „Akceptuj wszystkie”, wyrażają Państwo zgodę na używanie plików cookie.