> ## Documentation Index
> Fetch the complete documentation index at: https://docs.livingsecurity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Kunci API

> Buat, rotasi, dan cabut kredensial yang mengautentikasi permintaan ke Public API Living Security.

Kunci API mengautentikasi permintaan ke Public API `/v1`. Setiap kunci dimiliki oleh
sebuah [akun layanan](/id/developers/developer-hub/service-accounts) dan
dibuat dari halaman detail akun tersebut di
[Developer Hub](/id/developers/developer-hub/overview).

Gunakan kunci API dengan cakupan terbatas untuk Integrasi backend privat ketika penyimpanan dan rotasi
secret secara aman memenuhi kebutuhan Anda. Klien OAuth atau pertukaran token
tidak diperlukan. Lihat [Autentikasi](/id/developers/v1/authentication) jika
organisasi Anda mewajibkan token akses OAuth berumur singkat.

## Anatomi sebuah kunci

* **Pengenal** — diawali dengan `ak_`. Aman untuk dirujuk dalam tiket, log,
  dan konfigurasi; pengenal ini tidak memberikan akses apa pun dengan sendirinya.
* **Secret** — diawali dengan `lsk_live_`. Ini adalah kredensial yang
  disampaikan oleh integrasi Anda. Secret ditampilkan **satu kali**, saat pembuatan atau rotasi, dan
  tidak dapat diambil kembali setelahnya. Daftar kunci hanya menampilkan empat karakter terakhir
  (misalnya `lsk_live_…xQc4`) sehingga Anda dapat mencocokkan satu baris dengan
  kredensial yang dipegang oleh pemanggil.
* **Izin** — subset dari izin akun layanan pemilik,
  yang dipilih saat pembuatan. Sebuah kunci tidak akan pernah dapat melakukan lebih dari yang diizinkan oleh akunnya.
* **Masa berlaku** — wajib. Setiap kunci memiliki tanggal kedaluwarsa.

<Warning>
  Simpan secret di secret manager segera setelah ditampilkan. Jangan pernah meng-commit
  secret ke version control, menyematkannya dalam kode sisi klien, atau membagikannya melalui
  obrolan. Siapa pun yang memegang secret dapat bertindak dengan izin kunci tersebut.
</Warning>

## Membuat kunci

Pada halaman detail akun layanan, buat kunci melalui empat langkah:
beri nama, pilih izin yang dibutuhkan oleh kunci spesifik ini, pilih masa berlaku
— 30, 90, atau 365 hari, atau periode kustom hingga satu tahun — lalu tinjau. Secret
ditampilkan setelah proses selesai, hanya satu kali.

Batasi cakupan setiap kunci pada kumpulan izin tersempit yang dibutuhkan pemanggilnya, meskipun
akun mengizinkan lebih banyak. Jika sebuah kunci bocor, izinnya menentukan
seberapa luas dampaknya.

## Rotasi tanpa downtime

Rotasi menerbitkan secret baru dan memulai periode tumpang tindih — 1 jam,
24 jam, atau 7 hari — selama periode tersebut **secret lama tetap berfungsi**. Dengan demikian
Anda dapat menerapkan secret baru ke seluruh deployment sesuai kecepatan Anda sendiri:

<Steps>
  <Step title="Rotasi kunci">
    Pilih periode tumpang tindih yang mencakup jalur deployment Anda yang paling lambat. Secret
    baru hanya ditampilkan satu kali — simpan segera.
  </Step>

  <Step title="Perbarui Integrasi Anda">
    Ganti secret lama di semua tempat secret tersebut dikonfigurasi. Status kunci
    ditampilkan sebagai in-overlap hingga periode berakhir.
  </Step>

  <Step title="Verifikasi sebelum periode berakhir">
    Gunakan [log permintaan](/id/developers/developer-hub/request-logs) untuk memastikan
    lalu lintas telah berpindah ke secret baru. Ketika periode tumpang tindih berakhir, secret lama
    tidak lagi dapat mengautentikasi.
  </Step>
</Steps>

Lakukan rotasi sebelum kedaluwarsa juga: kunci yang mendekati tanggal kedaluwarsanya
ditandai sebagai akan kedaluwarsa dalam daftar kunci. Kunci yang telah kedaluwarsa tidak lagi dapat mengautentikasi —
permintaan yang dibuat dengannya akan menghasilkan `401` dengan kode
[`credential_expired`](/id/developers/v1/errors/credential_expired).

## Mencabut secara langsung

Pencabutan berlaku segera dan bersifat permanen — tidak ada periode tumpang tindih
dan tidak dapat dibatalkan. Cabut kunci begitu Anda menduga secret-nya
telah terekspos; lakukan rotasi jika Anda hanya mengganti kredensial yang masih sehat.

Permintaan yang dibuat dengan kunci yang telah dicabut akan menghasilkan `401` dengan kode
[`credential_revoked`](/id/developers/v1/errors/credential_revoked). Jika Anda
perlu menghentikan semua kunci yang dimiliki sebuah integrasi sekaligus, nonaktifkan akun layanannya.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.