API

Buat dan kelola tautan pendek dari kode Anda sendiri. API termasuk dalam paket Pro.

Autentikasi

Buat kunci di halaman akun Anda dan kirimkan di header Authorization pada setiap permintaan. Rahasiakan kunci tersebut: siapa pun yang memilikinya bisa mengelola tautan Anda.

Authorization: Bearer skr_…

Endpoint

POST/api/v1/linksBuat tautan
GET/api/v1/linksDaftar tautan Anda (limit, offset)
GET/api/v1/links/{slug}Ambil satu tautan
PATCH/api/v1/links/{slug}Ubah masa berlaku atau batas pembukaan
DELETE/api/v1/links/{slug}Hapus tautan
GET/api/v1/links/{slug}/statsTotal harian serta negara, perangkat, browser, dan sumber teratas (days = 1–365)

Buat tautan

curl -X POST https://skr.me/api/v1/links \
  -H "Authorization: Bearer $SKR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/page?utm_source=news", "slug": "launch", "expires": "never"}'

Kirim JSON atau data formulir. Hanya url yang wajib.

urlAlamat tujuan (http atau https).
slugAlamat khusus opsional, minimal 4 karakter.
passwordKata sandi opsional yang harus dimasukkan pengunjung.
expires1h, 1d, 7d, 14d, 30d, 60d, 90d, atau never (bawaan).
max_clicksJumlah pembukaan opsional, setelah itu tautan berhenti berfungsi.
cleanHapus parameter pelacakan dari tujuan. Bawaan: true.

Respons

HTTP/1.1 201 Created
{
  "link": {
    "slug": "launch",
    "short_url": "https://skr.me/launch",
    "target_url": "https://example.com/page",
    "status": "ok",
    "custom": true,
    "password_protected": false,
    "clicks": 0,
    "max_clicks": null,
    "created_at": "2026-09-26T12:00:00+00:00",
    "expires_at": null
  },
  "removed_parameters": ["utm_source"]
}

Statistik

curl https://skr.me/api/v1/links/launch/stats?days=30 \
  -H "Authorization: Bearer $SKR_KEY"

Statistik berupa agregat harian yang sama dengan yang Anda lihat di dasbor. Statistik tidak pernah berisi informasi tentang pengunjung individual.

Kesalahan

Kesalahan menggunakan kode status HTTP standar (400, 401, 403, 404, 422, 429) dan isi JSON dengan kode yang bisa dibaca mesin.

{ "error": { "code": "invalid_slug", "field": "slug", "message": "This address is already taken." } }

Batas

Setiap kunci bisa membuat 1000 permintaan per hari. Setiap respons menyertakan header X-RateLimit-Limit dan X-RateLimit-Remaining.