Langsung ke konten
Sursa Developers

Cakupan kunci

Cakupan menyebutkan bagian API yang boleh dipanggil oleh sebuah kunci. Setiap endpoint di referensi API menyatakan satu cakupan yang dibutuhkannya. Permintaan dengan kunci yang tidak memiliki cakupan itu ditolak dengan 403 dan kode api_keys.scope, sebelum apa pun dibaca atau diubah.

Cakupan menentukan operasi mana yang boleh dipanggil kunci. Peran, profil data, dan koleksi kunci tetap menentukan objek mana yang dilihat oleh operasi itu: kunci dengan cards:write dan peran viewer tidak dapat mengubah kartu, dan kunci yang dibatasi pada satu koleksi tidak melihat koleksi lain.

Cakupan

CakupanMengizinkan
cards:readMembaca kartu, koleksi, dan folder.
cards:writeMembuat, mengubah, dan menghapus kartu, koleksi, dan folder.
searchMencari di basis pengetahuan (POST /v1/search).
askBertanya kepada asisten (POST /v1/ask, POST /v1/chat).
import:writeMenulis ke sumber kustom organisasi: sinkronisasi, batch, dan penghapusan, serta membaca statusnya. Membuat sumber dan kuncinya memerlukan admin.
webhooks:manageMengelola webhook dan membaca umpan peristiwa (GET /v1/webhook-events). Keduanya juga memerlukan peran admin.
users:readMembaca pengguna dan grup.
users:writeMengubah pengguna dan grup.
analytics:readMembaca analitik.
audit:readMembaca log audit.
finance:readMembaca laporan keuangan, faktur, dan pembayaran.
catalog:readMembaca katalog layanan.
files:readMembaca file yang dihasilkan, seperti jawaban yang diekspor.
files:writeMengubah dan menghapus file yang dihasilkan.
permissions:manageMemberikan dan mencabut izin pada objek.
adminPengaturan organisasi dan kunci API-nya. Kunci dengan admin juga memiliki semua cakupan lainnya.

Pencarian dan pertanyaan pada dasarnya adalah operasi baca: kunci yang hanya boleh membaca tetap dapat mencari dan bertanya.

Memilih cakupan

Berikan cakupan yang dipakai integrasi dan tidak lebih:

IntegrasiCakupan
Bot tanya jawab di alat chatsearch, ask
Impor dari sistem dokumen Andacards:write (API kartu) atau import:write (sumber kustom)
Ekspor ke gudang datacards:read, users:read, dan webhooks:manage untuk umpan peristiwa
Penyediaan pengguna dari sistem HR Andausers:write

Berikan daftarnya saat Anda membuat kunci:

curl -X POST https://api.sursa.com/v1/api-keys \
  -H "Authorization: Bearer $SURSA_ADMIN_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Support bot", "role": "viewer", "scopes": ["search", "ask"]}'

Cakupan lama

Kunci yang dibuat sebelum cakupan dipecah tetap berfungsi. Cakupan read, write, dan admin miliknya mewakili kumpulan berikut:

Cakupan lamaArtinya
readcards:read, search, ask, users:read, analytics:read, finance:read, catalog:read, files:read
writesemua yang ada di read, ditambah cards:write, files:write, users:write, permissions:manage
adminsemua cakupan

Kunci yang dibuat tanpa cakupan eksplisit mendapat cakupan dari perannya: admin mendapat admin; editor dan verifier mendapat write; viewer mendapat read.

Melihat cakupan sebuah kunci

GET /v1/me mengembalikan cakupan kunci yang mengirim permintaan, apa pun cakupan yang dimilikinya. Untuk kunci yang dibuat tanpa cakupan eksplisit, cakupan ini adalah cakupan lama dari perannya, seperti read dan write; tabel di atas menunjukkan artinya. Jika operasi gagal dengan api_keys.scope, error.message menyebutkan cakupan yang tidak ada.