DOKUMENTASI API

API REST Publik. Dikenal pasti dengan kunci, dokumentasi OpenAPI.

Baca katalog OGRECORDS dan kelola Smartlink serta Release Draft secara programatik — melalui API REST sederhana. Autentikasi dengan kunci API berbasis scope dari dashboardmu. Akses awal tersedia atas permintaan.

Referensi APIKelola Kunci APIAjukan Akses Awal

Ringkasan: API REST, Kunci Berbasis Scope, Rate-Limits, OpenAPI

Baca + Tulis REST

Baca Release, Track, Smartlink, dan Statistik — serta buat atau sunting Smartlink dan Release Draft-mu — melalui HTTPS sederhana. Jawaban JSON, pagination dengan limit/offset, skema yang dapat diprediksi. Distribusi dan submit tetap di luar API.

Kunci API Berbasis Scope

Autentikasi dengan kunci ogr_pk_ sebagai Bearer Token atau di header X-API-Key. Setiap kunci memiliki scope eksplisit — read:releases, read:smartlinks, read:stats, write:smartlinks, write:releases — dan bisa diputar atau dicabut kapan saja di dashboard.

Rate-Limits + Header

Setiap respons menyertakan X-RateLimit-Limit, X-RateLimit-Remaining, dan X-RateLimit-Reset. Melebihi batas menghasilkan kode 429 dengan Retry-After. Kunci gratis mendapat 1.000 permintaan/hari, kunci bisnis 100.000.

OpenAPI 3.0 yang Dihost Sendiri

Spesifikasi lengkap yang bisa dibaca mesin tersedia di /api/v1/public/openapi.json dan dirender sebagai referensi interaktif di halaman ini — tanpa host dokumentasi pihak ketiga, tanpa panggilan eksternal.

DAFTAR AKHIRAN

Endpoint untuk peluncuran.

Setiap endpoint diotentikasi dengan kunci API berbasis scope dan disediakan dari https://api.og-records.com. Endpoint baca ditambah tulis berbasis pemilik untuk Smartlink dan Release Draft — distribusi dan submit tidak diungkapkan.

Release

  • GET/api/v1/public/releasesDaftar release-mu. Pagination dengan limit dan offset.
  • GET/api/v1/public/releases/{id}Satu release per id.
  • POST/api/v1/public/releasesBuat Release Draft (write:releases). Diperlukan KYC + onboarding.
  • PATCH/api/v1/public/releases/{id}Perbarui metadata Draft (write:releases). Hanya untuk Draft sebelum submit.
  • DELETE/api/v1/public/releases/{id}Hapus Release Draft (write:releases).

Lagu

  • GET/api/v1/public/tracks?release_id={id}Lagu dari rilisan yang menjadi milikmu.
  • GET/api/v1/public/tracks/{id}Satu lagu berdasarkan ID.

Smartlink

  • GET/api/v1/public/smartlinksDaftar Smartlink-mu.
  • POST/api/v1/public/smartlinksBuat Smartlink untuk rilisan milikmu sendiri (write:smartlinks).
  • PATCH/api/v1/public/smartlinks/{id}Perbarui Smartlink milikmu (write:smartlinks).
  • DELETE/api/v1/public/smartlinks/{id}Nonaktifkan Smartlink (write:smartlinks).

Statistik & Spesifikasi

  • GET/api/v1/public/stats/release/{id}Stream, pendengar, dan penyimpanan dengan rincian per DSP dan negara. range = 7d, 14d, 30d, 90d, 1y atau ytd.
  • GET/api/v1/public/openapi.jsonDokumen OpenAPI-3.0. Publik dan dapat di-cache — tidak perlu kunci.

Artis & Pendapatan

  • GET/api/v1/public/artistsDaftar artis di roster-mu (read:artists).
  • GET/api/v1/public/earnings/balanceSaldo snapshot dompet USD-mu (read:earnings).
WEBHOOKS

Dapatkan notifikasi saat status rilisan berubah.

Daftarkan endpoint HTTPS dan kami akan mengirimkan event JSON yang ditandatangani melalui POST begitu rilisanmu dikirim, ditolak, atau dihapus. Endpoint dikelola di dashboard — setiap endpoint memiliki signing secret sendiri yang hanya ditampilkan sekali.

Event Saat Peluncuran

  • release.delivered — rilisan telah dikirim ke toko.
  • release.rejected — toko atau tahap QC menolak rilisan.
  • release.takedown — rilis ini telah ditarik dari toko.
  • release.live — rilis ini sekarang sudah live di toko-toko.

Setiap pengiriman membawa header ini

  • X-Webhook-Signature — HMAC-SHA256 dalam format hex kecil dari isi permintaan mentah, dengan Signing-Secret-mu sebagai kunci.
  • X-Webhook-Timestamp — waktu pengiriman dalam format ISO-8601, sama dengan created_at di dalam body.
  • X-Webhook-Event — nama event, contohnya release.delivered.
  • X-Webhook-Id — ID unik untuk pengiriman ini.

Payload adalah body JSON dengan id, event, created_at, dan objek data yang berisi release_id. Untuk verifikasi, hitung kembali HMAC-SHA256 dari body mentah yang persis sama menggunakan Signing-Secret-mu, lalu bandingkan secara aman terhadap X-Webhook-Signature — lalu periksa bahwa X-Webhook-Timestamp berada dalam jangka waktu sekitar lima menit untuk mencegah replikasi.

Pengiriman yang gagal akan diulang dengan backoff eksponensial. Setelah 15 kegagalan berturut-turut, endpoint akan dinonaktifkan secara otomatis dan kamu harus mendaftarkan ulang untuk melanjutkan.

Kelola Webhooks di dashboard-mu.

OTENTIKASI

API-Keys dengan scope.

Buat key di dashboard-mu dan kirim sebagai header Authorization: Bearer ogr_pk_… atau di header X-API-Key. Setiap key memiliki scope — read:releases, read:smartlinks, read:stats, write:smartlinks, write:releases — sehingga integrasi hanya mendapatkan apa yang dibutuhkan. Key bisa diputar kapan saja dan dicabut kapan saja. Akses tulis bersifat owner-scoped dan tidak pernah memicu distribusi; OAuth tidak termasuk dalam peluncuran ini.

BATASAN KECEPATAN

Apa yang bisa dilakukan oleh key-mu.

Gratis
1.000 Permintaan / Hari

Standar untuk setiap key baru. Cocok untuk dashboard, sinkronisasi cron, dan prototipe.

Bisnis
100.000 Permintaan / Hari

Kuota harian lebih tinggi untuk integrasi produksi. Dapat diminta.

Setiap respons mengandung X-RateLimit-Limit, X-RateLimit-Remaining, dan X-RateLimit-Reset. Jika kuota harian habis, akan dikembalikan kode 429 dengan header Retry-After — jumlah detik hingga jendela reset.

AKSES AWAL

Bangun berdasarkan katalog-mu.

API Publik saat ini dalam fase Early Access. Tulis kepada kami tentang apa yang ingin kamu bangun, dan kami akan mengaktifkan API-Keys untuk akunmu.

Ajukan akses awalBaca referensi