Platform by Developer

Manzxy

@manzxy

Developer & maintainer of SnippetHub — platform snippet code open untuk komunitas developer Indonesia.

SCROLL
owner

Hubungi Owner

Ada pertanyaan, laporan bug, atau mau kolaborasi? Reach out lewat salah satu kontak di bawah.

✈️
Telegram
@manjisukasuki
Untuk diskusi panjang, kolaborasi project, atau gabung channel update SnippetHub.
Online hampir setiap hari
Buka Telegram
📧
Gmail
Untuk keperluan formal, laporan keamanan (security report), atau partnership inquiry.
Dibalas dalam 24 jam
Kirim Email
api reference

Dokumentasi API

Semua endpoint tersedia untuk scraping dan integrasi. Base URL: /api

GET /api/snippets
Ambil semua snippet
Endpoint publik — tidak butuh autentikasi. Mengembalikan array semua snippet tanpa snippet_key_hash.
Contoh Request
curl
curl https://your-domain.vercel.app/api/snippets
javascript
const res = await fetch('/api/snippets');
const snippets = await res.json();
console.log(snippets);
Response
200 OK · application/json
[
  {
    "id":           1,
    "created_at":   "2026-01-15T10:00:00Z",
    "author":       "devuser",
    "title":        "Fetch + Retry",
    "description":  "Wrapper fetch dengan auto-retry",
    "language":     "JavaScript",
    "tags":         ["fetch", "async"],
    "code":         "async function fetchWithRetry...",
    "likes":        12,
    "views":        87
  }
]
POST /api/snippets
Like / increment view
Body Parameters
actionreqstringNilai: "like", "unlike", atau "view"
idreqnumberID snippet yang ditarget
javascript
await fetch('/api/snippets', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ action: 'like', id: 1 })
});
200 OK
{ "likes": 13 }  // atau "views" untuk action view
POST /api/snippet-create
Upload snippet baru
Snippet key akan di-hash SHA-256 di server sebelum disimpan. Simpan key asli kamu — tidak bisa dipulihkan dari DB.
Body Parameters
authorreqstringNama/username penulis snippet
titlereqstringJudul snippet
descriptionreqstringDeskripsi singkat snippet
languageoptstringJavaScript | TypeScript | Python | PHP | Go (default: JavaScript)
tagsoptstringTags dipisah koma: "fetch, async, api"
codereqstringIsi kode snippet
snippetKeyreqstringKey pribadi 3–7 karakter untuk edit/delete nanti
python
import requests

payload = {
    'author':      'devuser',
    'title':       'Hello World',
    'description': 'Contoh snippet',
    'language':    'Python',
    'tags':        'hello, contoh',
    'code':        'print("Hello, World!")',
    'snippetKey':  'mykey1'
}

res = requests.post('https://your-domain.vercel.app/api/snippet-create', json=payload)
print(res.json())
201 Created
{ "ok": true }
PUT /api/snippet-action
Edit snippet (butuh key)
Body Parameters
idreqnumberID snippet yang mau diedit
snippetKeyreqstringKey asli yang dibuat saat upload (akan diverifikasi di server)
titleoptstringJudul baru
languageoptstringLanguage baru
descriptionoptstringDeskripsi baru
tagsoptstringTags baru
codeoptstringKode baru
200 OK
{ "ok": true }
DELETE /api/snippet-action
Hapus snippet (butuh key)
Body Parameters
idreqnumberID snippet yang mau dihapus
snippetKeyreqstringKey asli yang dibuat saat upload
curl
curl -X DELETE https://your-domain.vercel.app/api/snippet-action \
  -H 'Content-Type: application/json' \
  -d '{"id": 1, "snippetKey": "mykey1"}'
200 OK
{ "ok": true }