Haijun Platform Docs
EN

Halaman ini membahas pengelolaan orang-orang di organisasi Haijun Enterprise (haijun.ai) Anda secara terprogram, menggunakan Admin API: mendaftarkan anggota dan mencarinya berdasarkan alamat email, mengubah peran anggota, menghapus anggota, mengirim dan menarik undangan, mengelola grup enterprise Anda beserta keanggotaannya, dan membaca peran kustom organisasi Anda. Untuk organisasi Haijun Console (Haijun Platform), lihat panduan Admin API untuk Haijun Console.

Note: Permintaan grup dan peran kustom tidak memerlukan header beta juglow-beta: ce-user-management-2026-07-13. Permintaan yang masih mengirimkannya tetap diterima dan berperilaku identik.

Endpoint mana yang dapat digunakan organisasi Anda?

Admin API adalah satu set endpoint di bawah https://haijun.my.id/v1/organizations/. Organisasi Haijun Console dan Haijun Enterprise melakukan autentikasi dengan kunci yang berbeda dan masing-masing memiliki akses ke subset endpoint yang berbeda:

EndpointHaijun Console (Haijun Platform)Haijun Enterprise (haijun.ai)
Anggota dan undanganTersedia; lihat panduan Admin APITersedia (halaman ini)
GrupTidak tersediaTersedia (halaman ini)
Peran kustomTidak tersediaTersedia, hanya-baca (halaman ini)
Batas pengeluaranTidak tersediaTersedia
Laporan penggunaan dan biayaTersedia; lihat Usage and Cost APITersedia melalui Haijun Enterprise Analytics API
Workspace, kunci API, batas laju, dan endpoint lainnya dalam panduan Admin APITersediaTidak tersedia

Anggota dan undangan adalah endpoint yang sama untuk kedua jenis organisasi; halaman ini mendokumentasikan perilakunya pada Haijun Enterprise, termasuk peran organisasi Haijun Enterprise. Endpoint grup dan peran kustom hanya ada untuk Haijun Enterprise.

Tip: Diperlukan kunci Admin API dengan cakupan (scope) Endpoint ini memerlukan kunci Admin API dengan "scope" (cakupan) read:members (endpoint GET anggota dan undangan, serta semua endpoint peran kustom; tidak ada scope peran terpisah), scope write:members (endpoint POST dan DELETE anggota dan undangan), scope read:rbac_groups (endpoint GET grup), atau scope write:rbac_groups (endpoint POST dan DELETE grup). Kunci yang memiliki scope read:org_audit (scope hanya-baca untuk integrasi audit keamanan) juga dapat memanggil setiap endpoint GET di halaman ini serta endpoint baca Compliance API. Lihat Membuat kunci Admin API untuk mengetahui di mana primary owner Anda membuatnya dan scope mana yang harus dipilih. Kirimkan kunci di header x-api-key pada setiap permintaan, bersama dengan header juglow-version.

Ikhtisar

Halaman ini membahas lima sumber daya:

Sumber dayaEndpointDigunakan untuk
AnggotaGET /v1/organizations/users GET /v1/organizations/users/{user_id} POST /v1/organizations/users/{user_id} DELETE /v1/organizations/users/{user_id}Menampilkan daftar anggota organisasi atau mencari satu anggota berdasarkan email; mengubah peran anggota; menghapus anggota.
UndanganPOST /v1/organizations/invites GET /v1/organizations/invites GET /v1/organizations/invites/{invite_id} DELETE /v1/organizations/invites/{invite_id}Mengundang seseorang ke organisasi, melacak status undangan, dan menariknya sebelum diterima.
GrupGET /v1/organizations/rbac_groups GET /v1/organizations/rbac_groups/{rbac_group_id} POST /v1/organizations/rbac_groups POST /v1/organizations/rbac_groups/{rbac_group_id} DELETE /v1/organizations/rbac_groups/{rbac_group_id}Membaca grup enterprise Anda dan peran kustom yang terlampir pada masing-masing grup; membuat, mengganti nama, dan menghapus grup.
Anggota grupGET /v1/organizations/rbac_groups/{rbac_group_id}/members POST /v1/organizations/rbac_groups/{rbac_group_id}/members DELETE /v1/organizations/rbac_groups/{rbac_group_id}/members/{user_id}Membaca anggota grup; menambahkan dan menghapus anggota.
Peran kustomGET /v1/organizations/rbac_roles GET /v1/organizations/rbac_roles/{rbac_role_id} GET /v1/organizations/rbac_roles/{rbac_role_id}/permissionsMembaca peran kustom organisasi Anda dan izin yang diberikan oleh setiap peran.

Peran kustom dan pelampirannya ke grup dikelola di pengaturan organisasi haijun.ai; API membacanya tetapi tidak dapat mengubahnya.

Mulai cepat

Daftarkan anggota organisasi, yang terbaru terlebih dahulu:

bash
curl "https://haijun.my.id/v1/organizations/users?limit=20" \
  -H "x-api-key: $JUGLOW_ADMIN_KEY" \
  -H "juglow-version: 2023-06-01"
json
{
  "data": [
    {
      "type": "user",
      "id": "user_01AbCdEfGhIjKlMnOpQrSt",
      "email": "jane@example.com",
      "name": "Jane Smith",
      "role": "user",
      "added_at": "2026-06-12T09:14:03Z"
    }
  ],
  "has_more": false,
  "first_id": "user_01AbCdEfGhIjKlMnOpQrSt",
  "last_id": "user_01AbCdEfGhIjKlMnOpQrSt"
}

Konsep utama

Peran organisasi

Setiap anggota memiliki tepat satu peran organisasi. Pembacaan mengembalikan peran anggota sebagai salah satu dari lima nilai:

PeranArti
userAnggota standar.
managedAnggota yang izinnya diberikan melalui peran kustom yang terlampir pada grupnya.
ownerPemilik organisasi.
membership_adminAnggota yang dapat mengelola anggota organisasi.
primary_ownerPemilik utama organisasi. Hanya ada tepat satu.

API hanya dapat menetapkan peran user dan managed, pada pembuatan undangan dan pada pembaruan peran. Peran administratif (owner, membership_admin, dan primary_owner) ditetapkan di pengaturan organisasi haijun.ai, dan anggota yang memegangnya tidak dapat diubah atau dihapus melalui API ini.

Anggota dan undangan

Seseorang menjadi anggota dengan menerima undangan (atau melalui single sign-on organisasi Anda, jika dikonfigurasi). Membuat undangan akan mengirim email undangan; undangan tersebut kemudian terbaca sebagai pending hingga penerima menerimanya (accepted) atau expires_at yang ditetapkan server terlewati (expired). Hanya undangan pending yang dapat ditarik. Untuk mengubah alamat email atau peran pada undangan yang masih pending, tarik undangan tersebut dan buat yang baru.

Jika paket organisasi Anda mengambil anggota dari kumpulan seat yang dibeli dalam jumlah terbatas, undangan pending menggunakan satu seat. Endpoint pembuatan undangan tidak menerima parameter seat atau tier: seat ditetapkan secara otomatis dari tier terendah yang masih tersedia. Membuat undangan ketika tidak ada seat yang kosong akan gagal dengan error 400, bukan membeli seat. Menarik undangan, membiarkannya kedaluwarsa, atau menghapus anggota di kemudian hari akan mengembalikan seat ke kumpulan.

Grup dan peran

Grup menghubungkan anggota dengan peran kustom ("role-based access control" (kontrol akses berbasis peran), yaitu rbac dalam path endpoint dan nama cakupan). Grup dimiliki oleh enterprise Anda secara keseluruhan (organisasi induk beserta setiap organisasi di bawahnya), bukan oleh satu organisasi saja, sehingga cakupan grup (read:rbac_groups dan write:rbac_groups) memerlukan kunci yang dibuat untuk semua organisasi yang tertaut. Setiap grup memiliki source_type: direct untuk grup yang dibuat di haijun.ai, scim untuk grup yang disediakan oleh penyedia identitas Anda. Field role_ids pada grup mencantumkan ID peran kustom yang terlampir padanya; uraikan ID tersebut menjadi nama dan izin dengan endpoint peran kustom, dengan catatan bahwa katalog peran bersifat per organisasi sedangkan grup berlaku di seluruh enterprise, sehingga mengambil peran yang dimiliki organisasi lain di enterprise Anda akan mengembalikan 404 untuk kunci Anda. Field ini bernilai null (bukan []) ketika data peran untuk sementara tidak tersedia, jadi coba lagi untuk membedakan pembacaan yang terdegradasi dari grup yang tidak memiliki peran. Dua field yang sudah usang masih dikembalikan: roles pada grup, yang selalu sama dengan role_ids, dan group_id pada anggota grup, yang selalu sama dengan rbac_group_id.

Pembuatan versi

Kirimkan header juglow-version pada setiap permintaan; lihat Versi API untuk versi yang tersedia.

Batas laju

Endpoint Admin API berbagi "rate limit" (batas laju) per-organisasi sebesar 100 permintaan per menit; pembuatan undangan memiliki batasnya sendiri sebesar 1.200 permintaan per jam. Permintaan yang melebihi batas mengembalikan 429 Too Many Requests.

Paginasi

Daftar anggota dan undangan menggunakan paginasi berbasis ID: sertakan limit (default 20, maks 1000) ditambah paling banyak satu dari before_id atau after_id, dan lakukan paginasi menggunakan field first_id dan last_id dari setiap respons hingga has_more bernilai false. Daftar grup dan peran kustom menggunakan kursor opak sebagai gantinya: nilai next_page dari respons diteruskan tanpa diubah sebagai parameter page pada permintaan berikutnya, hingga next_page bernilai null.

Respons error

Respons error mengikuti bentuk standar yang didokumentasikan di Error.

Anggota

Mendaftarkan anggota

GET /v1/organizations/users mengembalikan anggota organisasi, yang paling baru ditambahkan terlebih dahulu. Filter berdasarkan email untuk mencari anggota tertentu; pencocokannya tidak peka huruf besar-kecil dan mentoleransi varian umum dari alamat yang sama (misalnya, jane+hiring@example.com cocok dengan jane@example.com). Memerlukan cakupan read:members.

Untuk detail parameter lengkap dan skema respons, lihat List users di referensi API.

bash
curl "https://haijun.my.id/v1/organizations/users?email=jane@example.com" \
  -H "x-api-key: $JUGLOW_ADMIN_KEY" \
  -H "juglow-version: 2023-06-01"

Mendapatkan anggota

GET /v1/organizations/users/{user_id} mengembalikan satu anggota berdasarkan ID. Memerlukan cakupan read:members.

Untuk detail parameter lengkap dan skema respons, lihat Get user di referensi API.

bash
curl "https://haijun.my.id/v1/organizations/users/user_01AbCdEfGhIjKlMnOpQrSt" \
  -H "x-api-key: $JUGLOW_ADMIN_KEY" \
  -H "juglow-version: 2023-06-01"

Mengubah peran anggota

POST /v1/organizations/users/{user_id} menetapkan peran anggota menjadi user atau managed. Anggota yang memegang peran administratif (owner, membership_admin, atau primary_owner) tidak dapat diubah melalui endpoint ini, dan peran administratif tidak dapat ditetapkan; keduanya mengembalikan 400 dan dikelola di pengaturan organisasi haijun.ai. Jika penyedia identitas organisasi Anda mengelola peran (SSO lanjutan atau provisi SCIM lanjutan), pembaruan peran mengembalikan 400. Memerlukan cakupan write:members.

Untuk detail parameter lengkap dan skema respons, lihat Update user di referensi API.

bash
curl -X POST "https://haijun.my.id/v1/organizations/users/user_01AbCdEfGhIjKlMnOpQrSt" \
  -H "content-type: application/json" \
  -H "x-api-key: $JUGLOW_ADMIN_KEY" \
  -H "juglow-version: 2023-06-01" \
  -d '{"role": "managed"}'

Menghapus anggota

DELETE /v1/organizations/users/{user_id} menghapus anggota dari organisasi, mengembalikan seat yang dibeli yang mereka tempati ke kumpulan organisasi. Anggota yang memegang peran administratif tidak dapat dihapus melalui endpoint ini, dan jika penyedia identitas Anda mengelola keanggotaan (SCIM), penghapusan mengembalikan 400. Memerlukan cakupan write:members.

Untuk detail parameter lengkap dan skema respons, lihat Remove user di referensi API.

bash
curl -X DELETE "https://haijun.my.id/v1/organizations/users/user_01AbCdEfGhIjKlMnOpQrSt" \
  -H "x-api-key: $JUGLOW_ADMIN_KEY" \
  -H "juglow-version: 2023-06-01"
json
{
  "type": "user_deleted",
  "id": "user_01AbCdEfGhIjKlMnOpQrSt"
}

Undangan

Membuat undangan

POST /v1/organizations/invites mengirim email undangan dan mengembalikan undangan dengan expires_at yang ditetapkan server. role harus user atau managed. Jika undangan pending sudah ada untuk alamat email tersebut, atau alamat tersebut sudah dimiliki oleh seorang anggota, permintaan mengembalikan 400 yang menyebutkan sumber daya yang sudah ada. Organisasi yang penyedia identitasnya memprovisikan pengguna secara otomatis (JIT atau SCIM) tidak dapat membuat undangan melalui API. Memerlukan cakupan write:members.

Pada paket yang mengambil anggota dari kumpulan seat terbatas, undangan secara otomatis mengambil seat dari tier terendah yang masih tersedia; API tidak menerima parameter tier. Jika tidak ada seat yang kosong, permintaan gagal dengan error 400, bukan membeli seat. Tambahkan seat melalui manajemen paket organisasi dan coba lagi.

Field opsional rbac_group_ids mencantumkan grup (berdasarkan ID berawalan rbac_group_) yang akan ditetapkan kepada anggota ketika mereka menerima undangan. Menyertakan rbac_group_ids yang tidak kosong juga mengharuskan kunci membawa cakupan write:rbac_groups, karena penetapan grup dapat memberikan izin yang terlampir pada peran grup tersebut.

Untuk detail parameter lengkap dan skema respons, lihat Create invite di referensi API.

bash
curl -X POST "https://haijun.my.id/v1/organizations/invites" \
  -H "content-type: application/json" \
  -H "x-api-key: $JUGLOW_ADMIN_KEY" \
  -H "juglow-version: 2023-06-01" \
  -d '{
    "email": "newhire@example.com",
    "role": "managed",
    "rbac_group_ids": ["rbac_group_01UvWxYzAbCdEfGhIjKlMn"]
  }'
json
{
  "type": "invite",
  "id": "invite_01QrStUvWxYzAbCdEfGhIj",
  "email": "newhire@example.com",
  "role": "managed",
  "invited_at": "2026-07-06T16:20:11Z",
  "expires_at": "2026-07-27T16:20:11Z",
  "accepted_at": null,
  "status": "pending",
  "rbac_group_ids": ["rbac_group_01UvWxYzAbCdEfGhIjKlMn"]
}

Mendaftarkan undangan

GET /v1/organizations/invites mengembalikan undangan organisasi, yang terbaru terlebih dahulu, mencakup status pending, accepted, dan expired; tidak ada filter status. Memerlukan cakupan read:members.

Untuk detail parameter lengkap dan skema respons, lihat List invites di referensi API.

bash
curl "https://haijun.my.id/v1/organizations/invites?limit=20" \
  -H "x-api-key: $JUGLOW_ADMIN_KEY" \
  -H "juglow-version: 2023-06-01"

Mendapatkan undangan

GET /v1/organizations/invites/{invite_id} mengembalikan satu undangan berdasarkan ID. Memerlukan cakupan read:members.

Untuk detail parameter lengkap dan skema respons, lihat Get invite di referensi API.

bash
curl "https://haijun.my.id/v1/organizations/invites/invite_01QrStUvWxYzAbCdEfGhIj" \
  -H "x-api-key: $JUGLOW_ADMIN_KEY" \
  -H "juglow-version: 2023-06-01"

Menarik undangan

DELETE /v1/organizations/invites/{invite_id} menarik undangan pending, menonaktifkan tautan dalam email undangan. Menarik undangan accepted mengembalikan 400 (hapus anggotanya sebagai gantinya); menarik undangan expired mengembalikan 400. Memerlukan cakupan write:members.

Untuk detail parameter lengkap dan skema respons, lihat Delete invite di referensi API.

bash
curl -X DELETE "https://haijun.my.id/v1/organizations/invites/invite_01QrStUvWxYzAbCdEfGhIj" \
  -H "x-api-key: $JUGLOW_ADMIN_KEY" \
  -H "juglow-version: 2023-06-01"

Grup

Grup yang dibuat langsung oleh enterprise Anda, di pengaturan organisasi haijun.ai atau melalui API ini (source_type: "direct"), mendukung setiap endpoint di bagian ini. Grup yang disediakan oleh penyedia identitas Anda (source_type: "scim") dapat dibaca tetapi tidak dapat diubah: mengganti nama atau menghapus grup SCIM, atau mengubah keanggotaannya, akan mengembalikan 400, karena grup tersebut dimiliki oleh penyedia identitas Anda.

Mendaftarkan grup

GET /v1/organizations/rbac_groups mengembalikan grup enterprise Anda, termasuk grup yang dikelola penyedia identitas (scim). Memerlukan cakupan read:rbac_groups.

Untuk detail parameter lengkap dan skema respons, lihat List groups di referensi API.

bash
curl "https://haijun.my.id/v1/organizations/rbac_groups?limit=20" \
  -H "x-api-key: $JUGLOW_ADMIN_KEY" \
  -H "juglow-version: 2023-06-01"
json
{
  "data": [
    {
      "type": "rbac_group",
      "id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
      "name": "Engineering",
      "source_type": "direct",
      "role_ids": ["rbac_role_01CdEfGhIjKlMnOpQrStUv"],
      "roles": ["rbac_role_01CdEfGhIjKlMnOpQrStUv"],
      "created_at": "2026-03-18T10:01:42Z",
      "updated_at": "2026-05-02T08:55:09Z"
    }
  ],
  "has_more": false,
  "next_page": null
}

Mendapatkan grup

GET /v1/organizations/rbac_groups/{rbac_group_id} mengembalikan satu grup berdasarkan ID. Memerlukan cakupan read:rbac_groups.

Untuk detail parameter lengkap dan skema respons, lihat Get group di referensi API.

bash
curl "https://haijun.my.id/v1/organizations/rbac_groups/rbac_group_01UvWxYzAbCdEfGhIjKlMn" \
  -H "x-api-key: $JUGLOW_ADMIN_KEY" \
  -H "juglow-version: 2023-06-01"

Membuat grup

POST /v1/organizations/rbac_groups membuat grup dengan name yang diberikan (1–255 karakter) tanpa peran atau anggota. Memerlukan cakupan write:rbac_groups.

Untuk detail parameter lengkap dan skema respons, lihat Create group di referensi API.

bash
curl -X POST "https://haijun.my.id/v1/organizations/rbac_groups" \
  -H "content-type: application/json" \
  -H "x-api-key: $JUGLOW_ADMIN_KEY" \
  -H "juglow-version: 2023-06-01" \
  -d '{"name": "Engineering"}'
json
{
  "type": "rbac_group",
  "id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
  "name": "Engineering",
  "source_type": "direct",
  "role_ids": [],
  "roles": [],
  "created_at": "2026-07-09T18:00:00Z",
  "updated_at": "2026-07-09T18:00:00Z"
}

Mengganti nama grup

POST /v1/organizations/rbac_groups/{rbac_group_id} memperbarui grup. name adalah satu-satunya field yang dapat diubah oleh endpoint ini. Memerlukan cakupan write:rbac_groups.

Untuk detail parameter lengkap dan skema respons, lihat Update group di referensi API.

bash
curl -X POST "https://haijun.my.id/v1/organizations/rbac_groups/rbac_group_01UvWxYzAbCdEfGhIjKlMn" \
  -H "content-type: application/json" \
  -H "x-api-key: $JUGLOW_ADMIN_KEY" \
  -H "juglow-version: 2023-06-01" \
  -d '{"name": "Platform Engineering"}'

Menghapus grup

DELETE /v1/organizations/rbac_groups/{rbac_group_id} menghapus grup. Anggotanya tetap menjadi anggota organisasi mereka, tetapi mereka kehilangan izin dari peran yang terlampir pada grup tersebut, dan batas pengeluaran grup, jika ada, tidak lagi berlaku bagi mereka. Memerlukan cakupan write:rbac_groups.

Untuk detail parameter lengkap dan skema respons, lihat Delete group di referensi API.

bash
curl -X DELETE "https://haijun.my.id/v1/organizations/rbac_groups/rbac_group_01UvWxYzAbCdEfGhIjKlMn" \
  -H "x-api-key: $JUGLOW_ADMIN_KEY" \
  -H "juglow-version: 2023-06-01"
json
{
  "id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
  "type": "rbac_group_deleted"
}

Mendaftarkan anggota grup

GET /v1/organizations/rbac_groups/{rbac_group_id}/members mengembalikan anggota grup (masing-masing dengan user_id dan email-nya), dimulai dari yang terlama. Hanya anggota saat ini dari organisasi-organisasi enterprise Anda yang dikembalikan, sehingga satu halaman mungkin berisi lebih sedikit entri daripada limit meskipun has_more bernilai true. Memerlukan cakupan read:rbac_groups.

Untuk detail parameter lengkap dan skema respons, lihat List group members di referensi API.

bash
curl "https://haijun.my.id/v1/organizations/rbac_groups/rbac_group_01UvWxYzAbCdEfGhIjKlMn/members?limit=100" \
  -H "x-api-key: $JUGLOW_ADMIN_KEY" \
  -H "juglow-version: 2023-06-01"
json
{
  "data": [
    {
      "type": "rbac_group_member",
      "rbac_group_id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
      "group_id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
      "user_id": "user_01AbCdEfGhIjKlMnOpQrSt",
      "email": "jane@example.com",
      "created_at": "2026-04-07T12:30:00Z"
    }
  ],
  "has_more": false,
  "next_page": null
}

Menambahkan anggota ke grup

POST /v1/organizations/rbac_groups/{rbac_group_id}/members menambahkan anggota organisasi ke grup berdasarkan user_id. Pengguna harus sudah menjadi anggota salah satu organisasi enterprise Anda (jika tidak, permintaan akan mengembalikan 404), dan menambahkan seseorang yang sudah ada di grup akan mengembalikan 400. Untuk grup scim, keanggotaan dikelola di penyedia identitas Anda dan permintaan ini akan mengembalikan 400. Untuk menetapkan grup kepada seseorang yang belum bergabung, gunakan rbac_group_ids saat pembuatan undangan sebagai gantinya. Memerlukan cakupan write:rbac_groups.

Untuk detail parameter lengkap dan skema respons, lihat Add group member di referensi API.

bash
curl -X POST "https://haijun.my.id/v1/organizations/rbac_groups/rbac_group_01UvWxYzAbCdEfGhIjKlMn/members" \
  -H "content-type: application/json" \
  -H "x-api-key: $JUGLOW_ADMIN_KEY" \
  -H "juglow-version: 2023-06-01" \
  -d '{"user_id": "user_01AbCdEfGhIjKlMnOpQrSt"}'
json
{
  "type": "rbac_group_member",
  "rbac_group_id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
  "group_id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
  "user_id": "user_01AbCdEfGhIjKlMnOpQrSt",
  "email": "jane@example.com",
  "created_at": "2026-07-09T18:00:00Z"
}

Menghapus anggota dari grup

DELETE /v1/organizations/rbac_groups/{rbac_group_id}/members/{user_id} menghapus anggota dari grup; mereka tetap menjadi anggota organisasinya. Permintaan akan mengembalikan 404 jika pengguna bukan anggota grup, dan 400 untuk grup scim, yang keanggotaannya dikelola di penyedia identitas Anda. Memerlukan cakupan write:rbac_groups.

Untuk detail parameter lengkap dan skema respons, lihat Remove group member di referensi API.

bash
curl -X DELETE "https://haijun.my.id/v1/organizations/rbac_groups/rbac_group_01UvWxYzAbCdEfGhIjKlMn/members/user_01AbCdEfGhIjKlMnOpQrSt" \
  -H "x-api-key: $JUGLOW_ADMIN_KEY" \
  -H "juglow-version: 2023-06-01"
json
{
  "rbac_group_id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
  "group_id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
  "user_id": "user_01AbCdEfGhIjKlMnOpQrSt",
  "type": "rbac_group_member_deleted"
}

Peran kustom

Peran kustom bersifat hanya-baca melalui API: endpoint ini mengatalogkan peran kustom organisasi Anda (yang didefinisikan di pengaturan organisasi haijun.ai atau diprovisikan oleh Juglow) dan izin yang diberikan oleh setiap peran. Pembacaan peran kustom menggunakan cakupan read:members (tidak ada cakupan peran terpisah) dan berfungsi dengan kunci tingkat organisasi: tidak seperti endpoint grup, endpoint ini tidak memerlukan kunci yang dibuat untuk semua organisasi tertaut, dan katalog yang dikembalikan adalah milik organisasi Anda sendiri.

Mendaftarkan peran

GET /v1/organizations/rbac_roles mengembalikan peran kustom organisasi Anda. Memerlukan cakupan read:members.

Untuk detail parameter lengkap dan skema respons, lihat List roles di referensi API.

bash
curl "https://haijun.my.id/v1/organizations/rbac_roles?limit=20" \
  -H "x-api-key: $JUGLOW_ADMIN_KEY" \
  -H "juglow-version: 2023-06-01"
json
{
  "data": [
    {
      "type": "rbac_role",
      "id": "rbac_role_01CdEfGhIjKlMnOpQrStUv",
      "name": "Engineering base",
      "created_at": "2026-03-18T10:01:42Z",
      "updated_at": "2026-05-02T08:55:09Z"
    }
  ],
  "has_more": false,
  "next_page": null
}

Mendapatkan peran

GET /v1/organizations/rbac_roles/{rbac_role_id} mengembalikan satu peran berdasarkan ID. Memerlukan cakupan read:members.

Untuk detail parameter lengkap dan skema respons, lihat Get role di referensi API.

bash
curl "https://haijun.my.id/v1/organizations/rbac_roles/rbac_role_01CdEfGhIjKlMnOpQrStUv" \
  -H "x-api-key: $JUGLOW_ADMIN_KEY" \
  -H "juglow-version: 2023-06-01"

Mendaftarkan izin peran

GET /v1/organizations/rbac_roles/{rbac_role_id}/permissions mengembalikan izin peran. Setiap izin memasangkan sebuah resource (objek yang dikenai izin: fitur produk organisasi, alat konektor, cakupan OAuth konektor, satu konektor, atau setiap konektor) dengan sebuah action (apa yang diberikan pada sumber daya tersebut). Baris untuk fitur yang tidak diaktifkan untuk organisasi Anda dihilangkan, sehingga satu halaman mungkin berisi lebih sedikit baris daripada limit meskipun has_more bernilai true. Memerlukan cakupan read:members.

Dua nilai action memerlukan perhatian khusus: izin organization yang action-nya adalah capability_access_all (setiap fitur produk) atau capability_access_all_ga (setiap fitur produk stabil, yaitu setiap fitur yang tidak berlabel beta atau research preview) merupakan pemberian menyeluruh (yang tidak mencakup akses model maupun izin panel admin berawalan permission_) dan dicantumkan sebagai satu baris tersebut, bukan diperluas. Ketika Anda menghitung apa yang diberikan oleh suatu peran, perlakukan baris menyeluruh sebagai mencakup semua yang dijelaskan oleh variannya, bukan hanya fitur yang disebutkan di baris lain.

Untuk detail parameter lengkap dan skema respons, lihat List role permissions di referensi API.

bash
curl "https://haijun.my.id/v1/organizations/rbac_roles/rbac_role_01CdEfGhIjKlMnOpQrStUv/permissions?limit=20" \
  -H "x-api-key: $JUGLOW_ADMIN_KEY" \
  -H "juglow-version: 2023-06-01"
json
{
  "data": [
    {
      "type": "rbac_role_permission",
      "resource": {
        "type": "organization",
        "organization_id": "12345678-1234-5678-1234-567812345678"
      },
      "action": "capability_access_all_ga"
    },
    {
      "type": "rbac_role_permission",
      "resource": {
        "type": "connector_tool",
        "connector_id": "mcpsrv_01WxYzAbCdEfGhIjKlMnOp",
        "tool_name": "search_tickets"
      },
      "action": "use"
    }
  ],
  "has_more": false,
  "next_page": null
}

Contoh alur kerja

Offboarding karyawan yang keluar

  1. Cari anggota berdasarkan email:
bash
   curl "https://haijun.my.id/v1/organizations/users?email=departing@example.com" \
     -H "x-api-key: $JUGLOW_ADMIN_KEY" \
     -H "juglow-version: 2023-06-01"
  1. Hapus mereka dengan DELETE /v1/organizations/users/{user_id}, menggunakan id dari respons. Seat mereka, jika ada, kembali ke kumpulan.
  1. Jika orang tersebut belum bergabung, pencarian tidak mengembalikan anggota; daftarkan undangan dan tarik undangan pending mereka sebagai gantinya.

Mengaudit keanggotaan grup

  1. Tampilkan daftar grup dan catat id, name, dan role_ids setiap grup.
  1. Untuk setiap grup yang memiliki peran sensitif, lakukan paginasi melalui GET /v1/organizations/rbac_groups/{rbac_group_id}/members dan bandingkan email anggota dengan daftar di penyedia identitas Anda.
  1. Hapus anggota yang seharusnya tidak lagi berada di grup dengan DELETE /v1/organizations/rbac_groups/{rbac_group_id}/members/{user_id}. Untuk grup scim, lakukan perubahan di penyedia identitas Anda sebagai gantinya.

Untuk alur kerja yang menggabungkan keanggotaan grup dengan kenaikan batas pengeluaran sementara, lihat Menaikkan batas pengeluaran anggota untuk sementara selama insiden di halaman Spend Limits API.

Pertanyaan yang sering diajukan

Apakah ini API yang berbeda dari Admin API?

Tidak. Endpoint anggota dan undangan adalah endpoint /v1/organizations/ yang sama dengan yang digunakan organisasi Haijun Console; halaman ini mendokumentasikan perilakunya pada Haijun Enterprise. Endpoint grup dan peran kustom merupakan bagian dari API yang sama dan hanya ada untuk organisasi Haijun Enterprise. Tabel ketersediaan menunjukkan endpoint mana yang dapat dipanggil oleh setiap jenis organisasi.

Dapatkah saya menetapkan peran owner atau membership admin melalui API?

Tidak. API hanya menetapkan user dan managed, pada pembuatan undangan dan pembaruan peran. Peran administratif ditetapkan di pengaturan organisasi haijun.ai, dan anggota yang memegangnya tidak dapat diubah atau dihapus melalui API.

Dapatkah saya membuat atau mengubah grup melalui API?

Ya, dengan cakupan write:rbac_groups: membuat, mengganti nama, dan menghapus grup, serta menambah atau menghapus anggotanya. Dua hal yang tidak dapat diubah oleh API: grup yang diprovisikan oleh penyedia identitas Anda (source_type: "scim"), yang nama dan keanggotaannya dimiliki oleh penyedia identitas, dan peran kustom, yang dikelola di pengaturan organisasi haijun.ai (API membacanya).

Apakah undangan yang belum diterima menggunakan seat?

Pada paket dengan kumpulan seat terbatas, ya: undangan pending menahan satu seat. Menarik undangan atau membiarkannya kedaluwarsa akan membebaskan seat tersebut. Pada paket tanpa kumpulan seat, undangan tidak menggunakan apa pun.

Organisasi saya menggunakan single sign-on. Operasi mana yang berfungsi?

Jika penyedia identitas Anda memprovisikan pengguna secara otomatis (JIT atau SCIM), pembuatan undangan mengembalikan 400. Jika penyedia identitas mengelola peran (SSO lanjutan atau provisi SCIM lanjutan), pembaruan peran mengembalikan 400. Jika penyedia identitas mengelola keanggotaan (provisi SCIM), penghapusan anggota mengembalikan 400. Pembacaan tetap berfungsi dalam semua kasus.

Apa yang terjadi pada kunci Admin API ketika orang yang membuatnya keluar?

Kunci tersebut tetap berfungsi. Kunci Admin API dicakupkan ke organisasi, bukan ke pengguna individu, dan kunci yang dibuat di haijun.ai tidak kedaluwarsa. Menghapus pembuatnya dari organisasi atau mencabut provisinya melalui penyedia identitas Anda mengakhiri akses mereka sendiri, tetapi tidak mengakhiri kunci yang mereka buat. Menurunkan peran mereka juga tidak mengubah kunci: setiap kunci tetap aktif dengan cakupan aslinya. Ketika Anda melakukan offboarding seseorang yang membuat kunci Admin API, hapus kunci tersebut di bagian Keys pada haijun.ai > Organization settings > API dan buat penggantinya.

Lihat juga

  • Membuat kunci Admin API — Di mana primary owner Anda membuat kunci bercakupan dan cakupan mana yang harus dipilih.
  • Compliance API — Audit aktivitas dan ambil atau hapus konten pengguna di seluruh organisasi Anda.
  • Analytics API — Pelaporan penggunaan dan biaya per-pengguna dan per-rentang-waktu untuk Haijun Enterprise.
  • Spend Limits API — Tetapkan batas pengeluaran per-anggota dan tinjau permintaan kenaikan.
On this page
Endpoint mana yang dapat digunakan organisasi Anda?IkhtisarMulai cepatKonsep utamaPeran organisasiAnggota dan undanganGrup dan peranPembuatan versiBatas lajuPaginasiRespons errorAnggotaMendaftarkan anggotaMendapatkan anggotaMengubah peran anggotaMenghapus anggotaUndanganMembuat undanganMendaftarkan undanganMendapatkan undanganMenarik undanganGrupMendaftarkan grupMendapatkan grupMembuat grupMengganti nama grupMenghapus grupMendaftarkan anggota grupMenambahkan anggota ke grupMenghapus anggota dari grupPeran kustomMendaftarkan peranMendapatkan peranMendaftarkan izin peranContoh alur kerjaOffboarding karyawan yang keluarMengaudit keanggotaan grupPertanyaan yang sering diajukanApakah ini API yang berbeda dari Admin API?Dapatkah saya menetapkan peran owner atau membership admin melalui API?Dapatkah saya membuat atau mengubah grup melalui API?Apakah undangan yang belum diterima menggunakan seat?Organisasi saya menggunakan single sign-on. Operasi mana yang berfungsi?Apa yang terjadi pada kunci Admin API ketika orang yang membuatnya keluar?Lihat juga