Personal Access Token
Terakhir diperbarui: 3 Juli 2026
PersonalAccessToken adalah token jangka panjang yang dipakai oleh akun platform Weegloo (Weegloo User) untuk memanggil CMA, Upload, dan CDA dengan haknya sendiri dari server, CI, atau skrip. Berbeda dengan token jangka pendek yang diterbitkan setiap kali melalui alur login browser, token ini sekali diterbitkan akan tetap berlaku sampai dihapus.
PersonalAccessToken terikat pada akun pengguna, bukan pada Space. Karena itu endpoint-nya tidak berada di bawah /spaces/{spaceId} melainkan pada jalur tingkat atas /personal-access-tokens, dan tidak ada spaceId pada variabel jalurnya. Pemanggil yang memakai token ini bekerja di semua Space tempat pengguna tersebut bergabung, sebatas hak yang ditetapkan oleh SpaceRole masing-masing Space.
Struktur resource
Berikut adalah respons saat PersonalAccessToken dibuat. sys (properti sistem) berisi nilai token dan cakupannya, sedangkan badan respons berisi name.
{
"sys": {
"id": "5KmQ2pVnRb8sTfWcXd3LhJ9gAe",
"type": "PersonalAccessToken",
"createdBy": { "sys": { "id": "2bN7kRpQ9mWx4Lt6Vy0Cf3Hs8", "type": "Refer", "targetType": "User" } },
"createdAt": "2026-06-18T11:41:47.409Z",
"updatedBy": { "sys": { "id": "2bN7kRpQ9mWx4Lt6Vy0Cf3Hs8", "type": "Refer", "targetType": "User" } },
"updatedAt": "2026-06-18T11:41:47.409Z",
"accessToken": "PSNAT5SCq8Lm2vK9pXfR1Zt0Nc4Wd6Hg5Ua2Ee9Ck3PoYx8Bj6Hg5Ua2Ee9Ck3Po…",
"scopes": ["PERSONAL"]
},
"name": "Server sinkronisasi produk"
}Kunci utama:
sys.id: pengenal unik PersonalAccessToken. Masuk ke{personalAccessTokenId}pada jalur ambil tunggal dan hapus.sys.accessToken: nilai token rahasia yang dipakai untuk memanggil API. Nilai yang sama muncul apa adanya tidak hanya pada respons pembuatan tetapi juga pada respons pengambilan berikutnya, jadi berhati-hatilah terhadap paparannya (lihat bagian keamanan di bawah).sys.scopes: cakupan hak token. PersonalAccessToken selalu["PERSONAL"]saat diterbitkan.name: nama token yang ditentukan saat pembuatan (contoh:Server sinkronisasi produk).
Nilai accessToken pada contoh di atas adalah nilai rahasia, jadi diganti dengan string contoh. Nilai sebenarnya adalah string panjang dan tidak transparan yang diawali PSNAT, dan nilai yang sama akan muncul kembali meski diambil ulang setelah diterbitkan.
Properti sistem (sys)
Setiap PersonalAccessToken menyimpan properti sistem umum dan properti khusus token di dalam objek sys. createdBy dan updatedBy masuk dalam bentuk Refer ({ "sys": { "id", "type": "Refer", "targetType" } }). Resource ini tidak memiliki space. Sebab token ini adalah token tingkat pengguna yang terikat pada akun pengguna, bukan pada Space.
| Properti | Tipe | Deskripsi |
|---|---|---|
id | string | Pengenal unik resource. |
type | string | Jenis resource. PersonalAccessToken selalu "PersonalAccessToken". |
createdBy | Refer<User> | Pengguna yang membuat. |
createdAt | string (date-time) | Waktu pembuatan. |
updatedBy | Refer<User> | Pengguna yang terakhir mengubah. |
updatedAt | string (date-time) | Waktu perubahan terakhir. |
accessToken | string | Nilai token rahasia yang dipakai untuk memanggil API. Karena muncul apa adanya pada respons pembuatan maupun pengambilan, harus ditangani agar tidak terpapar ke luar. |
scopes | string array | Cakupan hak token. PersonalAccessToken selalu ["PERSONAL"]. |
Properti badan:
| Properti | Tipe | Deskripsi |
|---|---|---|
name | string (1~64) | Nama token. Ditentukan saat pembuatan. |
Keamanan: jangan sampai terpapar
PersonalAccessToken membawa identitas pengguna tersebut apa adanya. Memanggil dengan token ini berarti dapat memanggil CMA, Upload, dan CDA dengan hak SpaceRole dari seluruh keanggotaan Space yang dimiliki pengguna. Cakupan haknya luas dan masa berlakunya panjang, sehingga sekali bocor, seluruh hak pengguna tersebut ikut terpapar.
- Tangani sebagai rahasia agar tidak terpapar di mana pun. Begitu bocor, seluruh hak pengguna tersebut berpindah ke luar. PersonalAccessToken hanya untuk lingkungan tepercaya seperti server atau CI, dan jangan pernah ditinggalkan sebagai teks polos di mana pun, baik pada kode, log, penyimpanan, maupun pesan kesalahan.
- Jangan menaruhnya pada kode browser atau klien. Nilai yang dikirim ke browser dapat dilihat langsung oleh pengguna sehingga praktis menjadi publik. Layar administrasi yang berjalan di browser memakai token jangka pendek yang diterima melalui alur login studio konten (terbatas pada sesi layar).
- Untuk pengiriman baca-saja yang dibuka ke pengunjung, pakai DeliveryAccessToken yang terikat pada SpaceRole dengan hak paling minimal (least-privilege). Jangan memakai PersonalAccessToken pada klien publik.
accessTokenmuncul dengan nilai yang sama apa adanya tidak hanya saat pembuatan tetapi juga pada respons pengambilan. Berhati-hatilah agar hasil pengambilan tidak ditinggalkan apa adanya di log, layar, atau penyimpanan eksternal.- Tidak ada API perubahan (tidak ada PUT atau PATCH). Untuk mengganti token, hapus token yang ada lalu terbitkan yang baru. Jika dicurigai terpapar, segera hapus untuk membatalkannya dan ganti dengan token baru.
(Sumber: skill weegloo-user-login dan weegloo-delivery-access-token, .claude/rules/weegloo-api-endpoints.md.)
API
Base URL untuk semua endpoint di bawah adalah https://cma.weegloo.com/v1, dan diperlukan token Bearer yang mengautentikasi CMA pada header Authorization. Karena PersonalAccessToken adalah resource tingkat pengguna, tidak ada spaceId pada jalurnya. Selain itu, karena tidak ada API perubahan, hanya ada empat operasi: daftar, pembuatan, ambil tunggal, dan hapus.
Dokumen terkait
- Delivery Access Token: token pengiriman baca-saja yang dibuka ke pengunjung (untuk browser).
- SpaceRole: cakupan hak yang dimiliki pengguna ini di setiap Space.
