Referensi API: Organisasi
Referensi API untuk endpoint pengelolaan organisasi dan administrasi pengguna.
Endpoint: GET /v1/tenant/{tenantId}
Autentikasi: API key khusus tenant · cakupan read
Parameter:
| Nama | Tipe | Lokasi | Wajib | Deskripsi |
|---|---|---|---|---|
| tenantId | string | path | Ya | Format: uuid |
Respons (200):
Detail tenant
{
"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"
} | Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| id | string | Ya | Format: uuid |
| createdBy | string | Ya | Format: uuid |
| createdAt | string | Ya | Format: date-time |
| displayName | string | Ya | Default: ""Panjang maksimum: 128 |
| contactEmail | string | Ya | Format: email |
| isActive | boolean | Ya | Default: true |
| shortName | string | Ya | |
| useOrganizationTheme | boolean | Ya | Default: true |
| description | string | Ya | Panjang maksimum: 200 |
| organizationId | string | Ya | Format: uuid |
| allowedLogins | object | Ya | |
| tenantType | normal | sandbox | demo | Ya | Nilai yang diizinkan: normal, sandbox, demoDefault: normal |
| url | string | Ya | Format: uri |
Error:
Endpoint: PUT /v1/tenant/{tenantId}
Autentikasi: API key khusus tenant · cakupan write
Parameter:
| Nama | Tipe | Lokasi | Wajib | Deskripsi |
|---|---|---|---|---|
| tenantId | string | path | Ya | Format: uuid |
Isi permintaan:
{
"id": "00000000-0000-0000-0000-000000000000",
"displayName": "string",
"contactEmail": "string",
"shortName": "string",
"description": "string"
} | Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| id | string | Tidak | Format: uuid |
| displayName | string | Tidak | |
| contactEmail | string | Tidak | |
| shortName | string | Tidak | |
| description | string | Tidak |
Respons (200):
Tenant diperbarui
{
"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"
} | Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| id | string | Ya | Format: uuid |
| createdBy | string | Ya | Format: uuid |
| createdAt | string | Ya | Format: date-time |
| displayName | string | Ya | Default: ""Panjang maksimum: 128 |
| contactEmail | string | Ya | Format: email |
| isActive | boolean | Ya | Default: true |
| shortName | string | Ya | |
| useOrganizationTheme | boolean | Ya | Default: true |
| description | string | Ya | Panjang maksimum: 200 |
| organizationId | string | Ya | Format: uuid |
| allowedLogins | object | Ya | |
| tenantType | normal | sandbox | demo | Ya | Nilai yang diizinkan: normal, sandbox, demoDefault: normal |
| url | string | Ya | Format: uri |
Error:
Endpoint: GET /v1/tenant/{tenantId}/statistics
Autentikasi: API key khusus tenant · cakupan read
Parameter:
| Nama | Tipe | Lokasi | Wajib | Deskripsi |
|---|---|---|---|---|
| tenantId | string | path | Ya | Format: uuid |
Respons (200):
Statistik tenant
{
"tenantId": "00000000-0000-0000-0000-000000000000",
"uploadedDataSize": 0,
"uploadedDataCount": 0,
"modelCount": 0,
"simulationCount": 0,
"userCount": 0
} | Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| tenantId | string | Ya | Format: uuid |
| uploadedDataSize | number | Ya | |
| uploadedDataCount | number | Ya | |
| modelCount | number | Ya | |
| simulationCount | number | Ya | |
| userCount | number | Ya |
Error:
Mengembalikan pengguna yang cocok dalam bentuk array JSON langsung. Tidak ada jumlah total; gunakan limit/offset untuk berpindah halaman.
Endpoint: GET /v1/tenant/{tenantId}/users
Autentikasi: API key khusus tenant · cakupan read
Parameter:
| Nama | Tipe | Lokasi | Wajib | Deskripsi |
|---|---|---|---|---|
| tenantId | string | path | Ya | Format: uuid |
| limit | integer | query | Tidak | Jumlah maksimum item yang dikembalikan |
| offset | integer | query | Tidak | Jumlah item yang dilewati |
Respons (200):
Daftar pengguna
[
{
"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
}
] Error:
Field peran dalam isi permintaan (isAdminInTenant, access: none|portalViewer|designer|architect|intelligence, isDashboardViewer) diterapkan persis seperti yang dikirim. Endpoint ini memberikan akses penuh untuk mengelola tenant, jadi berikan API key dengan cakupan tulis hanya kepada pemanggil tepercaya. Akses lihat dashboard ditentukan oleh boolean isDashboardViewer. Tingkat akses viewer hanya-baca yang lama sudah dihapus.
Endpoint: POST /v1/tenant/{tenantId}/users
Autentikasi: API key khusus tenant · cakupan write
Parameter:
| Nama | Tipe | Lokasi | Wajib | Deskripsi |
|---|---|---|---|---|
| tenantId | string | path | Ya | Format: uuid |
Isi permintaan:
{
"email": "string",
"firstName": "string",
"lastName": "string",
"isActiveInTenant": true,
"isAdminInTenant": true,
"access": "none",
"isDashboardViewer": true,
"preferredLocale": "en"
} | Field | Type | Required | Description |
|---|---|---|---|
| string | Yes | Alamat email pengguna (juga digunakan sebagai identitas login) Format: email | |
| firstName | string | No | Nama depan opsional Panjang maksimum: 64 |
| lastName | string | No | Nama belakang opsional Panjang maksimum: 64 |
| isActiveInTenant | boolean | No | Menunjukkan apakah pengguna aktif di Tenant ini |
| isAdminInTenant | boolean | No | Hak admin di Tenant ini (diterapkan apa adanya: mencakup seluruh hak admin Tenant) |
| access | none | portalViewer | designer | architect | intelligence | No | Kursi pengguna dengan satu pilihan: none | portalViewer | designer | architect | intelligence Nilai yang diizinkan: none, portalViewer, designer, architect, intelligence |
| isDashboardViewer | boolean | No | Menunjukkan apakah pengguna memiliki akses lihat saja ke dasbor |
| preferredLocale | en | zh | es | fr | de | pt | it | nl | ja | tr | pl | cs | hu | id | ko | vi | th | No | Bahasa antarmuka pilihan pengguna Nilai yang diizinkan: en, zh, es, fr, de, pt, it, nl, ja, tr, pl, cs, hu, id, ko, vi, th |
Respons (201):
Pengguna ditambahkan
{
"id": "string",
"message": "string"
} | Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| id | string | Ya | ID pengguna yang baru ditambahkan |
| message | string | Ya |
Error:
Endpoint: PUT /v1/tenant/{tenantId}/users/{userId}
Autentikasi: API key khusus tenant · cakupan write
Parameter:
| Nama | Tipe | Lokasi | Wajib | Deskripsi |
|---|---|---|---|---|
| tenantId | string | path | Ya | Format: uuid |
| userId | string | path | Ya | Format: uuid |
Isi permintaan:
{
"isActiveInTenant": true,
"isAdminInTenant": true,
"access": "none",
"isDashboardViewer": true
} | Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| isActiveInTenant | boolean | Tidak | Menentukan apakah pengguna aktif di tenant ini |
| isAdminInTenant | boolean | Tidak | Hak admin di tenant ini (diterapkan persis seperti yang dikirim: akses penuh untuk mengelola tenant) |
| access | none | portalViewer | designer | architect | intelligence | Tidak | Lisensi pilihan tunggal: none | portalViewer | designer | architect | intelligence. Akses lihat dashboard ditentukan oleh boolean isDashboardViewer. Nilai yang diizinkan: none, portalViewer, designer, architect, intelligence |
| isDashboardViewer | boolean | Tidak | Menentukan apakah pengguna dapat melihat dashboard dalam mode hanya-baca |
Respons (200):
Diperbarui
{
"message": "string"
} | Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| message | string | Ya |
Error:
Endpoint: DELETE /v1/tenant/{tenantId}/users/{userId}
Autentikasi: API key khusus tenant · cakupan write
Parameter:
| Nama | Tipe | Lokasi | Wajib | Deskripsi |
|---|---|---|---|---|
| tenantId | string | path | Ya | Format: uuid |
| userId | string | path | Ya | Format: uuid |
Respons (200):
Pengguna dihapus
{
"message": "string"
} | Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| message | string | Ya |
Error:
Mengembalikan token sekali pakai (masa berlaku 60 detik) yang terikat pada pengguna, tenant, dan organisasi, serta url untuk membuka browser pengguna. Buka URL tersebut di browser pengguna agar mereka masuk ke ProcessMind tanpa perlu autentikasi ulang. Tidak ada tautan email atau penyamaran pengguna; pengguna mendapatkan sesi sendiri. API key harus memiliki cakupan khusus sessions: API key dengan cakupan organisasi dapat membuat token untuk tenant mana pun di organisasinya, sedangkan API key dengan cakupan tenant hanya dapat membuat token untuk pengguna di tenantnya sendiri. Perlakukan token ini seperti kata sandi: token hanya dikembalikan sekali, tidak pernah dicatat di log, dan dicabut jika API key atau pengguna dinonaktifkan.
Endpoint: POST /v1/tenant/{tenantId}/users/{userId}/login-token
Autentikasi: API key dengan cakupan tenant atau organisasi · cakupan sessions · batas laju 2 permintaan/detik (lonjakan hingga 4)
Parameter:
| Nama | Tipe | Lokasi | Wajib | Deskripsi |
|---|---|---|---|---|
| tenantId | string | path | Ya | Format: uuid |
| userId | string | path | Ya | Format: uuid |
Isi permintaan:
Path tujuan opsional (path relatif di aplikasi, misalnya “app” atau “app/dashboards”)
{
"path": "string"
} | Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| path | string | Tidak | Panjang maksimum: 512 |
Respons (200):
Token pengalihan login
{
"token": "string",
"url": "string",
"expiresInSeconds": 0,
"expiresAt": "2024-03-15T16:30:00Z"
} | Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| token | string | Ya | |
| url | string | Ya | |
| expiresInSeconds | number | Ya | |
| expiresAt | string | Ya | Format: date-time |
Error:
API key digunakan untuk mengautentikasi integrasi Anda. API key dengan cakupan organisasi dapat membuat dan mengelola API key untuk tenant mana pun di organisasi tersebut.
Memerlukan API key dengan cakupan organisasi. Secret tidak pernah dikembalikan.
Endpoint: GET /v1/tenant/{tenantId}/api-keys
Autentikasi: API key dengan cakupan organisasi · cakupan read
Parameter:
| Nama | Tipe | Lokasi | Wajib | Deskripsi |
|---|---|---|---|---|
| tenantId | string | path | Ya | Format: uuid |
| limit | integer | query | Tidak | Jumlah maksimum item yang dikembalikan |
| offset | integer | query | Tidak | Jumlah item yang dilewati |
Respons (200):
Daftar API key
[
{
"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
}
}
] Error:
Memerlukan API key tulis dengan cakupan organisasi. Secret dibuat di server dan hanya dikembalikan sekali dalam respons. Simpan dengan aman. Hanya hash-nya yang disimpan.
Endpoint: POST /v1/tenant/{tenantId}/api-keys
Autentikasi: API key dengan cakupan organisasi · cakupan write
Parameter:
| Nama | Tipe | Lokasi | Wajib | Deskripsi |
|---|---|---|---|---|
| tenantId | string | path | Ya | Format: uuid |
Isi permintaan:
{
"displayName": "string",
"scope": {
"read": true,
"write": true,
"uploadData": true,
"sessions": true
},
"enabled": true,
"expiresAt": "2024-03-15T16:30:00Z"
} | Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| displayName | string | Ya | Panjang maksimum: 128 |
| scope | object | Tidak | |
| enabled | boolean | Tidak | |
| expiresAt | string | Tidak | Format: date-time |
Respons (201):
API key dibuat (termasuk secret sekali pakai)
{
"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"
} | Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| id | string | Ya | Format: uuid |
| tenantId | string | Ya | Format: uuid |
| organizationId | string | Ya | Format: uuid |
| displayName | string | Ya | Panjang maksimum: 128 |
| partialKey | string | Ya | Panjang maksimum: 128 |
| enabled | boolean | Ya | Default: true |
| createdAt | string | Ya | Format: date-time |
| lastUsedAt | string | Ya | Format: date-time |
| expiresAt | string | Ya | Format: date-time |
| scope | object | Ya | |
| secret | string | Ya | Panjang maksimum: 128 |
Error:
Memerlukan API key tulis dengan cakupan organisasi. Field cakupan digabungkan dengan cakupan yang tersimpan.
Endpoint: PUT /v1/tenant/{tenantId}/api-keys/{keyId}
Autentikasi: API key dengan cakupan organisasi · cakupan write
Parameter:
| Nama | Tipe | Lokasi | Wajib | Deskripsi |
|---|---|---|---|---|
| tenantId | string | path | Ya | Format: uuid |
| keyId | string | path | Ya | Format: uuid |
Isi permintaan:
{
"displayName": "string",
"scope": {
"read": true,
"write": true,
"uploadData": true,
"sessions": true
},
"enabled": true,
"expiresAt": "2024-03-15T16:30:00Z"
} | Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| displayName | string | Tidak | Panjang maksimum: 128 |
| scope | object | Tidak | |
| enabled | boolean | Tidak | |
| expiresAt | string | Tidak | Format: date-time |
Respons (200):
API key diperbarui
{
"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
}
} | Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| id | string | Ya | Format: uuid |
| tenantId | string | Ya | Format: uuid |
| organizationId | string | Ya | Format: uuid |
| displayName | string | Ya | Panjang maksimum: 128 |
| partialKey | string | Ya | Panjang maksimum: 128 |
| enabled | boolean | Ya | Default: true |
| createdAt | string | Ya | Format: date-time |
| lastUsedAt | string | Ya | Format: date-time |
| expiresAt | string | Ya | Format: date-time |
| scope | object | Ya |
Error:
Memerlukan API key tulis dengan cakupan organisasi. API key dihapus secara lunak dan langsung berhenti mengautentikasi.
Endpoint: DELETE /v1/tenant/{tenantId}/api-keys/{keyId}
Autentikasi: API key dengan cakupan organisasi · cakupan write
Parameter:
| Nama | Tipe | Lokasi | Wajib | Deskripsi |
|---|---|---|---|---|
| tenantId | string | path | Ya | Format: uuid |
| keyId | string | path | Ya | Format: uuid |
Respons (200):
API key dihapus
{
"message": "string"
} | Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| message | string | Ya |
Error:
Mulai sekarang juga tanpa kartu kredit dan tanpa perlu menunggu. Ubah cara kerja organisasi Anda menjadi rancangan proses yang jelas dan saling terhubung.
Bangun arsitektur proses, tetapkan penanggung jawab dan kontrol, lalu selaraskan peran serta tanggung jawab di setiap tingkat.
Mulai uji coba gratis dan bangun satu landasan tepercaya untuk mengatur, mengelola, dan terus memperbaiki proses Anda.
Kami menggunakan cookie untuk meningkatkan pengalaman Anda, menyesuaikan konten, dan menganalisis lalu lintas. Kami tetap mengukur kunjungan halaman secara anonim tanpa cookie. Jika Anda menyetujui analitik, kami menambahkan pengenal untuk menghubungkan kunjungan Anda. Dengan mengeklik "Terima semua", Anda menyetujui penggunaan cookie.