Pakai X-Api-Key buat semua integrasi server-to-server kamu.
GET /v1/health HTTP/1.1
Host: api.wazapin.com
X-Api-Key: YOUR_API_KEY
Accept: application/jsonDapetin API key kamu
- Login ke app.wazapin.com.
- Buka Settings → API keys di organisasimu (atau Developer settings).
- Bikin key baru, pilih permission yang kamu butuhin.
- Simpan secret-nya sekarang juga — nggak bakal ditampilin lagi secara utuh.
Mau ngatur key lewat API? (butuh session login atau konteks organisasi):
POST /v1/api-keysGET /v1/api-keysDELETE /v1/api-keys/{keyID}
Cek key kamu jalan nggak
Panggil endpoint yang cuma baca data, nggak ngubah apa pun. Health nggak butuh autentikasi; List channels paling enak buat mastiin key kamu valid.
curl -sS "https://api.wazapin.com/v1/health"curl -sS "https://api.wazapin.com/v1/channels" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Accept: application/json"const res = await fetch("https://api.wazapin.com/v1/channels", {
headers: {
"X-Api-Key": process.env.WAZAPIN_API_KEY,
Accept: "application/json",
},
});
console.log(res.status, await res.json());import os
import requests
r = requests.get(
"https://api.wazapin.com/v1/channels",
headers={
"X-Api-Key": os.environ["WAZAPIN_API_KEY"],
"Accept": "application/json",
},
timeout=30,
)
print(r.status_code, r.json())Kalau berhasil
{
"data": [
{
"id": "wzp_abc123",
"platform": "whatsapp_official",
"status": "connected"
}
]
}Nama field di respon list ngikutin schema API yang live — pakai call ini buat mastiin auth kamu beres pas setup.
Key nggak valid (401)
{
"title": "Unauthorized",
"status": 401,
"detail": "invalid or missing API key"
}Cek Cara handle error dan Kode error buat status lainnya.
Opsional: Bearer token
Bearer token didukung buat flow login pakai session (misalnya dashboard atau POST /v1/auth/login). Tapi buat integrasi, tetap pakai X-Api-Key aja.
Keamanan
- Simpan key di secret manager, jangan taruh di code front-end.
- Langsung rotate kalau kamu curiga key-nya bocor.
- Kasih permission seminim mungkin — cuma yang kamu butuhin.
Langkah selanjutnya
Contoh request
curl "https://api.wazapin.com/v1/channels" \
--request GET \
--header "X-Api-Key: $WAZAPIN_API_KEY"const response = await fetch("https://api.wazapin.com/v1/channels", {
method: "GET",
});
const data = await response.json();
console.log(data);import os
import requests
response = requests.get(
"https://api.wazapin.com/v1/channels",
headers={
"X-Api-Key": os.environ["WAZAPIN_API_KEY"],
},
timeout=30,
)
print(response.status_code, response.json())