API Reference

Permissions

Halaman ini menjelaskan endpoint untuk mengambil daftar permission yang tersedia di sistem. Data ini digunakan misalnya untuk menampilkan checklist permission saat membuat atau mengedit role.

Tentang Permission

permission merepresentasikan satu aksi spesifik yang dapat dilakukan di dalam sistem, dikelompokkan berdasarkan module. Setiap permission memiliki slug unik dengan format module.action, contohnya users.create atau roles.managepermissions.

๐Ÿ’ก

Catatan Penting

Daftar permission dikelola oleh developer melalui seed/migration dan bersifat read-only dari sisi API โ€” tidak ada endpoint untuk membuat, mengubah, atau menghapus permission secara langsung.

GET /api/v1/permissions

Mengambil Daftar Permission

Mengembalikan seluruh permission aktif, dikelompokkan berdasarkan module.

Query Parameters

module string ยท optional

Filter permission berdasarkan nama module tertentu, contoh: ?module=users.

Headers

Authorization string ยท required

Bearer token akses yang valid.

Example Request
curl -X GET \
  "https://api.smkn7palangkaraya.sch.id/api/v1/permissions" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Response (200 OK)
{
  "success": true,
  "message": "Data permission berhasil diambil",
  "data": {
    "users": [
      {
        "id": "019fb4bf-980a-71b2-a1f8-fc8cab75f818",
        "module": "users",
        "action": "create",
        "slug": "users.create",
        "label": "Tambah User",
        "description": "Membuat akun user baru secara manual"
      },
      {
        "id": "019fb4bf-980f-7f18-bc5b-b58b92585c60",
        "module": "users",
        "action": "read",
        "slug": "users.read",
        "label": "Lihat User",
        "description": "Melihat daftar & detail user"
      }
    ],
    "roles": [
      {
        "id": "019fb4ca-9498-7d22-8d42-0a182587b928",
        "module": "roles",
        "action": "create",
        "slug": "roles.create",
        "label": "Tambah Role",
        "description": "Membuat role custom baru"
      }
    ]
  }
}
Example Request (Filtered)
curl -X GET \
  "https://api.smkn7palangkaraya.sch.id/api/v1/permissions?module=users" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Response (200 OK)
{
  "success": true,
  "message": "Data permission berhasil diambil",
  "data": {
    "users": [
      {
        "id": "019fb4bf-980a-71b2-a1f8-fc8cab75f818",
        "module": "users",
        "action": "create",
        "slug": "users.create",
        "label": "Tambah User",
        "description": "Membuat akun user baru secara manual"
      }
    ]
  }
}

Error Responses

Berikut beberapa kendala kode status HTTP yang umum terjadi saat mengakses endpoint permissions.

401 Unauthorized

Access token tidak disertakan, tidak valid, atau sudah kedaluwarsa.

422 Unprocessable Entity

Query parameter module tidak sesuai format yang diharapkan.

Error Response (401)
{
  "success": false,
  "message": "Access token is invalid or expired",
  "error": {
    "code": "UNAUTHORIZED"
  }
}
Next Step

Lanjut ke Roles?

Gunakan daftar permission ini untuk membuat atau mengatur akses suatu role pada endpoint Roles berikutnya.

Lihat Endpoint Roles โ†’