Membuat API Publik atau Privat
Fungsionalitas ini menyempurnakan kontrol akses, untuk memberikan visibilitas pada skema.
Ketika akses ke suatu field atau directive ditolak melalui kontrol akses, ada 2 cara API berperilaku:
Mode publik: field-field dalam skema diekspos, dan ketika izin tidak terpenuhi, pengguna mendapatkan pesan kesalahan yang menjelaskan mengapa izin tersebut ditolak. Perilaku ini membuat metadata dari skema selalu tersedia.
Mode privat: skema disesuaikan untuk setiap pengguna, hanya berisi field-field yang tersedia baginya, sehingga ketika mencoba mengakses field yang dilarang, pesan kesalahan menyatakan bahwa field tersebut tidak ada. Perilaku ini hanya mengekspos metadata dari skema kepada pengguna yang dapat mengaksesnya.
Cara mendefinisikan visibilitas API
Ada 3 tingkatan di mana kita dapat mendefinisikan visibilitas API, apakah publik atau privat. Berdasarkan urutan prioritas:
1. Secara individual pada field dan directive
Opsi ini tersedia ketika opsi "Enable granular control?" di pengaturan diaktifkan (on).
Kita dapat mendefinisikan visibilitas untuk sekumpulan field dan directive, saat mengedit entri dari access control list:

2. Pada konfigurasi skema
Kita dapat mendefinisikan visibilitas pada konfigurasi skema, untuk diterapkan pada custom endpoint atau persisted query secara keseluruhan:

3. Mode default, didefinisikan di Pengaturan
Jika konfigurasi skema memiliki nilai "Default", maka akan menggunakan mode yang didefinisikan di Pengaturan:
