☰ Di halaman ini
Base URL dan autentikasi
Semua endpoint berada di bawah https://api.oprex.id/api/v1 dan diautentikasi dengan API key yang Anda buat di workspace.
# buat kunci di https://member.oprex.id/panel/settings/api-keys curl https://api.oprex.id/api/v1/bugs \ -H "Authorization: Bearer oprex_pk_…"
Kunci membawa scope dan, bila perlu, batas sumber daya. Kunci ber-scope read saja tidak bisa menjalankan metode tulis apa pun — ini dipaksakan terpusat pada metode HTTP, jadi berlaku untuk seluruh endpoint yang ada sekarang maupun nanti. Kunci yang dibatasi ke satu group atau project hanya bisa menyentuh group atau project itu; tanpa batas, cakupannya seluruh tenant.
Batas laju. Setiap kunci punya jatah permintaan per menit (bawaan 120). Melampauinya menghasilkan 429 dengan header Retry-After dan X-RateLimit-Limit. Mundur sejenak, jangan langsung mengulang.
Bentuk respons
Daftar menjawab { "data": [...] }; objek tunggal menjawab { "data": {...} }. Kesalahan menjawab { "error": { "code", "message" } } dengan status HTTP yang bermakna. Pesannya ditulis untuk dibaca manusia — kalau ada yang tidak, itu bug yang layak dilaporkan.
{ "data": [ { "id": "bug_9tK…", "seq": 42, "title": "Checkout retries create duplicate orders",
"severity": "critical", "status": "confirmed", "projectId": "prj_2mA…" } ] }
Sumber daya
Tiap keluarga mendukung operasi list, baca, buat, dan ubah yang biasa — kecuali objeknya memang tidak bisa diubah. Parameter query menyaring berdasarkan project, status, severity, penanggung jawab, dan teks bebas bila masuk akal.
Lifecycle
| Resource | Isinya |
|---|---|
/specifications | Specification — desain sebuah fitur; induk wajib setiap requirement |
/requirements | Requirement — apa yang harus ada, di bawah satu specification, berversi dan berpemilik |
/tests | Test plan, test case, dan test run |
/coverage | Matriks cakupan requirement × test |
/release-plans | Rilis yang direncanakan beserta isinya |
/releases | Rilis yang sudah keluar dan entri changelog |
Cacat & pekerjaan
| Resource | Isinya |
|---|---|
/bugs | Bug dengan severity, status, dan environment |
/bug-relations | Kaitan antar bug, termasuk lintas project |
/tickets | Tiket helpdesk dan kategorinya |
/milestones | Milestone lintas project |
/todos | Tugas pribadi dan tugas yang ditugaskan |
Pengetahuan
| Resource | Isinya |
|---|---|
/memories | Dokumen Memory panjang untuk manusia dan agen |
/notes | Catatan pendek yang menempel pada objek apa pun |
/kb | Artikel knowledge base |
/comments | Diskusi berutas pada objek apa pun |
Platform
| Resource | Isinya |
|---|---|
/platform/groups | Group — namespace bersarang |
/platform/projects | Project di dalam sebuah group |
/platform/context | Tenant, peran, group, dan project Anda |
/platform/entitlement | Paket saat ini, batas efektif, dan pemakaian |
/api-keys | Kelola API key lewat program |
Kontrol akses juga berlaku di API
API key bertindak atas nama orang yang membuatnya. Kalau kontrol akses per project aktif di tenant Anda, kunci itu melihat persis apa yang orang tersebut lihat — termasuk pada angka agregat. Project yang tidak boleh Anda baca tidak akan bocor keberadaannya lewat sebuah statistik.
OAuth 2.1
Untuk perkakas yang menyambung atas nama seorang pengguna alih-alih menyimpan kunci statis, Oprex adalah authorization server OAuth 2.1-nya sendiri, dengan PKCE dan pendaftaran klien dinamis. Token yang terbit lewat jalur itu berperilaku persis seperti API key — scope sama, penegakan sama — sehingga seluruh endpoint di halaman ini bekerja tanpa perubahan.
Ambil kunci dan coba
Buat workspace, buka Settings → API Keys, dan permintaan pertama tinggal sekali salin-tempel.
Buat API key Atau sambungkan lewat MCP