API Keys
Autentikasi ke API getlaunch.dev secara terprogram menggunakan API keys.
Apa itu API Keys?
API keys memungkinkan Anda mengakses API getlaunch.dev tanpa OAuth. Mereka sempurna untuk:
- Pipeline CI/CD (GitHub Actions, GitLab CI, dll.)
- Skrip otomasi
- Integrasi pihak ketiga
- Komunikasi server-to-server
API keys menggunakan prefiks glk_ (contoh: glk_a1b2c3d4...) dan hanya ditampilkan sekali saat dibuat. Simpan dengan aman segera setelah dibuat.
Membuat API Key
Melalui Sidebar
- Buka Sidebar di dashboard Anda
- Temukan bagian API Keys
- Klik Create API Key
- Masukkan nama (contoh: "GitHub Actions deploy")
- Pilih scope yang dibutuhkan key Anda (minimal satu diperlukan)
- Secara opsional tetapkan tanggal kedaluwarsa
- Klik Create
Key Anda akan ditampilkan dalam modal reveal one-time. Salin dan simpan segera — tidak akan ditampilkan lagi.
Scope yang Tersedia
Setiap API key memberikan akses melalui scope spesifik. Pilih hanya scope yang diperlukan integrasi Anda:
| Scope | Akses |
|---|---|
projects:read | Daftar/lihat proyek, koneksi VCS, repo |
projects:write | Buat, perbarui, hapus proyek |
deployments:read | Daftar deployment, lihat log |
deployments:write | Picu deployment baru |
files:read | Daftar file di storage project |
files:write | Unggah file ke storage project |
billing:read | Lihat langganan, invoice, kuota |
Catatan: Pengaturan akun, koneksi VCS, dan pembuatan AI tidak dapat diakses melalui API keys.
Menggunakan API Key
Teruskan API key Anda di header Authorization sebagai token Bearer:
Authorization: Bearer glk_a1b2c3d4...
curl
# Daftar proyek
curl https://api.getlaunch.dev/v1/private/projects \
-H "Authorization: Bearer glk_a1b2c3d4..."
# Picu deployment dari branch yang dikonfigurasi pada project
curl -X POST https://api.getlaunch.dev/v1/private/projects/{projectID}/deployments \
-H "Authorization: Bearer glk_a1b2c3d4..."
# Minta URL unggahan untuk storage
curl -X POST https://api.getlaunch.dev/v1/private/projects/{id}/files \
-H "Authorization: Bearer glk_a1b2c3d4..." \
-H "Content-Type: application/json" \
-d '{
"filename": "data.csv",
"content_type": "text/csv",
"size": 1024
}'
# Unggah file ke upload_url yang dikembalikan
curl -X PUT "{upload_url}" \
-H "Content-Type: text/csv" \
--data-binary @data.csv
GitHub Actions
Simpan API key Anda sebagai repository secret dan gunakan dalam workflow:
env:
GETLAUNCH_API_KEY: ${{ secrets.GETLAUNCH_API_KEY }}
GETLAUNCH_PROJECT_ID: ${{ vars.GETLAUNCH_PROJECT_ID }}
- name: Deploy ke GetLaunch
run: |
curl -f -X POST https://api.getlaunch.dev/v1/private/projects/$GETLAUNCH_PROJECT_ID/deployments \
-H "Authorization: Bearer $GETLAUNCH_API_KEY"
Jangan pernah hardcode API keys dalam kode atau workflow Anda. Selalu gunakan repository secrets.
Node.js / fetch
const apiKey = process.env.GETLAUNCH_API_KEY;
const res = await fetch('https://api.getlaunch.dev/v1/private/projects', {
headers: {
'Authorization': `Bearer ${apiKey}`,
},
});
const { data } = await res.json();
console.log(data);
Python
import httpx
import os
api_key = os.getenv("GETLAUNCH_API_KEY")
client = httpx.Client(headers={"Authorization": f"Bearer {api_key}"})
response = client.get("https://api.getlaunch.dev/v1/private/projects")
projects = response.json()
print(projects)
Hubungkan dengan Claude / MCP
Hubungkan Claude atau klien AI MCP apa pun untuk membaca proyek, memicu deployment, mengelola file, dan memeriksa billing — menggunakan bahasa natural.
Claude (claude.ai)
Tidak perlu API key. Claude mendukung OAuth — cukup tambahkan URL server dan ikuti panduan di layar:
- Di Claude, tambahkan MCP server baru dengan URL
https://api.getlaunch.dev/mcp, beri nama (contoh:getlaunch), lalu klik Connect - Ikuti panduan di layar untuk mengotorisasi akses
MCP client lainnya
Untuk Claude Desktop, Claude Code CLI, atau client yang memerlukan konfigurasi manual, buat API key terlebih dahulu, lalu:
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"getlaunch": {
"type": "http",
"url": "https://api.getlaunch.dev/mcp",
"headers": {
"Authorization": "Bearer glk_your_key_here"
}
}
}
}
Claude Code CLI:
claude mcp add --transport http getlaunch https://api.getlaunch.dev/mcp \
--header "Authorization: Bearer glk_your_key_here"
Restart klien kamu setelah menambahkan — tool yang tersedia akan terdeteksi otomatis.
Yang bisa dilakukan AI
Tergantung scope yang kamu berikan, asisten AI dapat:
| Scope | Kemampuan |
|---|---|
projects:read | Daftar proyek, cek status deployment |
deployments:write | Memicu deployment baru |
files:read | Daftar file di storage bucket |
files:write | Unggah file ke storage |
billing:read | Cek kuota dan status invoice |
Tips: batasi scope
Untuk asisten AI yang digunakan sehari-hari, projects:read + deployments:write biasanya sudah cukup. Hindari memberikan projects:write kecuali kamu memang ingin AI membuat atau menghapus proyek.
Mengelola Keys
Lihat Detail Key
Keys menampilkan:
- Name — Label Anda untuk key
- Prefix — 8 karakter pertama (contoh:
glk_a1b2) untuk identifikasi - Scopes — Izin yang diberikan
- Last Used — Kapan key terakhir digunakan (membantu mengidentifikasi key aktif)
- Expires — Tanggal kedaluwarsa, jika diatur
Peringatan Kedaluwarsa
Keys yang kedaluwarsa dalam 7 hari menampilkan badge peringatan. Rencanakan ke depan untuk menghindari gangguan layanan.
Rotasi Key
Untuk merotasi key:
- Buat key baru dengan scope yang sama
- Perbarui skrip dan integrasi Anda untuk menggunakan key baru
- Hapus key lama setelah memverifikasi semuanya berfungsi
Batas & Kuota
- Max 10 keys per pengguna — Hubungi support jika Anda membutuhkan lebih
- Format key — Selalu dimulai dengan
glk_ - Kedaluwarsa — Dapat diatur hingga 10 tahun ke depan
Best Practice Keamanan
Simpan dengan aman:
- Gunakan variabel lingkungan atau tools manajemen rahasia (jangan hardcode keys)
- Di CI/CD, selalu gunakan repository atau organization secrets
- Rotasi keys secara berkala
Batasi scope:
- Berikan hanya izin yang dibutuhkan integrasi Anda
- Gunakan key terpisah untuk tujuan berbeda (satu untuk deployment, satu untuk unggah file, dll.)
Pantau penggunaan:
- Tinjau timestamp "Last Used" untuk mengidentifikasi key yang tidak digunakan
- Hapus key yang tidak lagi Anda butuhkan
- Periksa integrasi mana yang menggunakan setiap key
Tangani kedaluwarsa:
- Tetapkan tanggal kedaluwarsa yang masuk akal
- Terima peringatan dashboard untuk key yang akan kedaluwarsa
- Rotasi sebelum kedaluwarsa untuk menghindari downtime
Kode Error
| Error | HTTP | Penyebab |
|---|---|---|
API_KEY_NOT_FOUND | 404 | ID key tidak ada atau milik pengguna lain |
API_KEY_LIMIT_EXCEEDED | 409 | Anda telah membuat 10 keys (maksimal yang diizinkan) |
VALIDATION_ERROR | 400 | Nama tidak valid, scope tidak dikenal, atau format tanggal tidak valid |
UNAUTHORIZED | 401 | Key hilang, tidak valid, kedaluwarsa, atau kekurangan scope yang diperlukan |
Contoh
Picu Deployment dari Script
#!/bin/bash
PROJECT_ID="proj-12345"
curl -X POST "https://api.getlaunch.dev/v1/private/projects/$PROJECT_ID/deployments" \
-H "Authorization: Bearer $GETLAUNCH_API_KEY"
Daftar Semua Proyek dan Status Mereka
import httpx
api_key = "glk_your_key_here"
headers = {"Authorization": f"Bearer {api_key}"}
response = httpx.get(
"https://api.getlaunch.dev/v1/private/projects",
headers=headers
)
projects = response.json()["data"]["projects"]
for project in projects:
print(f"{project['name']} — {project['deployment_type']}")
Unggah File ke Storage (Multi-step)
- Minta URL unggahan:
curl -X POST https://api.getlaunch.dev/v1/private/projects/{projectId}/files \
-H "Authorization: Bearer glk_your_key" \
-H "Content-Type: application/json" \
-d '{
"filename": "data.csv",
"content_type": "text/csv",
"size": 5120
}'
- Unggah ke URL yang disediakan:
curl -X PUT "{upload_url}" \
--data-binary @data.csv

