API dan server MCP
Buat dan kelola tautan pendek dari kodemu sendiri — lewat REST API atau melalui server MCP di asisten AI-mu.
cutty punya API publik dan server MCP. Yang pertama memungkinkanmu membuat dan mengubah tautan dari kode; yang kedua bekerja langsung dari asisten AI yang memahami protokol MCP. Keduanya memakai kunci API yang sama.
Kunci API
Autentikasi setiap permintaan dengan header:
Authorization: Bearer ck_your_key
Cara mendapatkan kunci: masuk, buka dashboard → API keys → Create key. Kunci lengkap (diawali ck_) hanya ditampilkan sekali, saat dibuat — segera simpan di tempat yang aman. Batasnya 120 permintaan per menit per kunci.
Base URL
Semua endpoint REST berada di bawah https://cutty.dev/api/v1. Permintaan dan respons berupa JSON.
Membuat tautan
POST /api/v1/links — body JSON minimal butuh url. Sisanya opsional:
url— alamat tujuan (wajib)slug— akhiran khusus, 3–40 karakter; kosongkan untuk akhiran acakexpiresAt— tanggal kedaluwarsa dalam format ISO 8601maxHits— batas klik (1–1.000.000)password— kata sandi yang melindungi tautantags— label dipisahkan koma untuk mengatur di dashboardfolder— nama folder tempat tautan diletakkanutmSource,utmMedium,utmCampaign— parameter UTM yang ditambahkan saat pengalihan
Responsnya memberimu slug, shortUrl, dan target.
curl -X POST https://cutty.dev/api/v1/links \
-H "Authorization: Bearer ck_your_key" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/a/very/long/address","slug":"offer","tags":"campaign,summer"}'
Daftar dan satu tautan
GET /api/v1/links mengembalikan semua tautanmu. GET /api/v1/links/{slug} — detail satu tautan.
curl https://cutty.dev/api/v1/links/offer \
-H "Authorization: Bearer ck_your_key"
Memperbarui dan menghapus
PATCH /api/v1/links/{slug} memperbarui field yang kamu kirim, DELETE /api/v1/links/{slug} menghapus tautan.
curl -X PATCH https://cutty.dev/api/v1/links/offer \
-H "Authorization: Bearer ck_your_key" \
-H "Content-Type: application/json" \
-d '{"maxHits":500}'
Lewat PATCH kamu bisa mengatur, antara lain: targetUrl, expiresAt, maxHits, status, password, tags, folder, ditambah field lanjutan di bawah. Field yang diset null (atau string kosong) akan menghapus properti tersebut.
Targeting, A/B, dan field lanjutan
Hal-hal yang sama yang kamu dapat di editor tautan juga tersedia lewat API:
rules— array aturan pengalihan berdasarkan negara atau perangkat, mis.[{"kind":"country","match":"PL","url":"https://shop.pl"},{"kind":"device","match":"ios","url":"https://apps.apple.com/..."}]abUrls— rotasi A/B: array[{"url":"https://a.com","weight":1},{"url":"https://b.com","weight":1}]; dipakai saat tidak ada aturan yang cocokstartsAt— tanggal (ISO 8601) tautan mulai aktif; sebelum itu, tautan mengembalikan 425webhookUrl— alamat yang menerima notifikasiPOSTpada setiap klik (fire-and-forget)serveOgdenganogTitle,ogDescription,ogImageUrl— kartu pratinjau khusus untuk crawler sosial (manusia tetap dialihkan)
curl -X PATCH https://cutty.dev/api/v1/links/offer \
-H "Authorization: Bearer ck_your_key" \
-H "Content-Type: application/json" \
-d '{"rules":[{"kind":"country","match":"DE","url":"https://example.de"}]}'
Operasi massal
POST /api/v1/bulk membuat banyak tautan dalam satu permintaan. Kirim array links (tiap item seperti pembuatan biasa), hingga 500 sekaligus. Responsnya mengembalikan hasil per baris.
curl -X POST https://cutty.dev/api/v1/bulk \
-H "Authorization: Bearer ck_your_key" \
-H "Content-Type: application/json" \
-d '{"links":[{"url":"https://a.com"},{"url":"https://b.com","slug":"b"}]}'
Statistik tautan
GET /api/v1/links/{slug}/stats mengembalikan ringkasan klik: total, rincian per perangkat dan browser, serta distribusi selama 24 jam terakhir.
curl https://cutty.dev/api/v1/links/offer/stats \
-H "Authorization: Bearer ck_your_key"
Server MCP
Kalau kamu bekerja dengan asisten AI, kamu bisa menghubungkan cutty lewat MCP (Model Context Protocol) dan memintanya memperpendek serta mengatur tautan langsung di percakapan. Server berjalan di https://mcp.cutty.dev/mcp lewat Streamable HTTP, dan kamu mengautentikasi dengan kunci API yang sama — header Authorization: Bearer ck_....
Daftar lengkap alat, cuplikan koneksi siap pakai, dan contoh ada di halaman terpisah: server MCP cutty.
Ada yang tidak berfungsi?
Kirim email ke [email protected] — saya balas di hari yang sama.