imup.cc v1 REST API & Native MCP

Geliştirici REST API & Limitler

Link kısaltma, unshorten güvenlik analizi, canlı anketler, reaktif formlar ve QR üretimini doğrudan uygulamalarınıza ve AI ajanlarınıza entegre edin.

Kayan Pencere Hız Limiti Bearer / X-API-Key JSON-RPC 2.0 MCP SSRF Korumalı

Hız Limiti & Kota Politikası (Rate Limiting)

Hizmet kalitesini ve adil kullanımı garanti altına almak için tüm REST ve MCP uç noktaları milisaniye hassasiyetli kayan pencere (sliding window) algoritmasıyla korunmaktadır.

60 Saniyelik Pencere
Anonim İstemciler (IP Bazlı) 60 istek / dk

API anahtarı göndermeyen isteklerde istemci IP adresi üzerinden 1 dakikalık kayan pencerede maksimum 60 işlem yapılabilir.

Kimliği Doğrulanmış (API Key) 300 istek / dk

Authorization: Bearer <key> veya X-API-Key başlığı ile 5 kata kadar yüksek hız kotası.

Standart HTTP Hız Limiti Başlıkları

Header Açıklama Örnek Değer
X-RateLimit-Limit Mevcut pencerede izin verilen toplam istek kotası 60
X-RateLimit-Remaining Pencere bitimine kadar kalan istek hakkı 59
X-RateLimit-Reset Kotanın sıfırlanacağı Unix zaman damgası (saniye) 1760618400
Retry-After Kota aşıldığında (HTTP 429) beklenmesi gereken süre (saniye) 42
REST API HTTP 429 Yanıtı
{
  "success": false,
  "error": "Rate limit exceeded. Try again in 42 seconds.",
  "retryAfter": 42,
  "limit": 60
}
MCP (JSON-RPC 2.0) HTTP 429 Yanıtı
{
  "jsonrpc": "2.0",
  "id": "req-1",
  "error": {
    "code": -32000,
    "message": "Rate limit exceeded. Try again in 42 seconds."
  }
}

Kimlik Doğrulama (Authentication)

Tüm REST API ve MCP uç noktaları kimlik doğrulamasız (anonim IP kotası dahilinde) kullanılabilir. Daha yüksek kotalar ve kurumsal işlemler için API anahtarları iki formatta iletilebilir:

Format 1: Bearer Token
Authorization: Bearer imup_live_xxxxxxxxxxxxxxxx
Format 2: X-API-Key Header
X-API-Key: imup_live_xxxxxxxxxxxxxxxx
API anahtarınızı Yönetim Paneli üzerinden veya MCP Hub entegrasyonuyla anında oluşturabilirsiniz.

REST API v1 Uç Noktaları

Tüm uç noktalar JSON veri kabul eder ve JSON döner.

15 Aktif Uç Nokta
GET /api/v1
Kota Bedeli: 1 60/min (IP), 300/min (Key)

API Discovery & Rate Limit Status

Returns API version, client IP / authentication state, and current sliding window rate limit quotas.

Örnek cURL Çağrısı
curl -X GET "https://imup.cc/api/v1"
POST /api/v1/links
Kota Bedeli: 1 60/min (IP), 300/min (Key)

Create Short Link

Shortens a long target URL with optional custom slug, password, title, and expiration.

Örnek cURL Çağrısı
curl -X POST "https://imup.cc/api/v1/links" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/very-long-url", "title": "My Link"}'
GET /api/v1/links/:id
Kota Bedeli: 1 60/min (IP), 300/min (Key)

Get Link Details & Stats

Retrieves link details, destination URL, active status, creation date, and total click counter.

Örnek cURL Çağrısı
curl -X GET "https://imup.cc/api/v1/links/LINK_ID"
PATCH /api/v1/links/:id
Kota Bedeli: 1 60/min (IP), 300/min (Key)

Update Short Link

Updates destination target URL, status (active/inactive), and title.

Örnek cURL Çağrısı
curl -X PATCH "https://imup.cc/api/v1/links/LINK_ID" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/updated-url"}'
DELETE /api/v1/links/:id
Kota Bedeli: 1 60/min (IP), 300/min (Key)

Delete Short Link

Permanently removes a short link from the registry.

Örnek cURL Çağrısı
curl -X DELETE "https://imup.cc/api/v1/links/LINK_ID"
POST /api/v1/links/unshorten
Kota Bedeli: 1 60/min (IP), 300/min (Key)

Unshorten & Security Analysis

Resolves redirect chains for any shortened URL, validates safety, and strips UTM/tracking params.

Örnek cURL Çağrısı
curl -X POST "https://imup.cc/api/v1/links/unshorten" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://bit.ly/3xyz?utm_source=test"}'
POST /api/v1/links/bulk
Kota Bedeli: N (1 per URL) 60/min (IP), 300/min (Key)

Bulk Shorten Links

Creates up to 50 short links in a single atomic transaction. Rate limit cost equals number of URLs.

Örnek cURL Çağrısı
curl -X POST "https://imup.cc/api/v1/links/bulk" \
  -H "Content-Type: application/json" \
  -d '{"urls": ["https://site1.com", "https://site2.com"]}'
POST /api/v1/polls
Kota Bedeli: 1 60/min (IP), 300/min (Key)

Create Live Poll

Creates a real-time polling widget with custom question and up to 10 choices.

Örnek cURL Çağrısı
curl -X POST "https://imup.cc/api/v1/polls" \
  -H "Content-Type: application/json" \
  -d '{"question": "Favorite stack?", "options": ["Webspresso", "Next.js", "Django"]}'
GET /api/v1/polls/:uuid
Kota Bedeli: 1 60/min (IP), 300/min (Key)

Get Poll & Live Results

Retrieves poll questions, option vote counts, and calculated percentage distribution.

Örnek cURL Çağrısı
curl -X GET "https://imup.cc/api/v1/polls/POLL_UUID"
POST /api/v1/polls/:uuid/vote
Kota Bedeli: 1 60/min (IP), 300/min (Key)

Cast Poll Vote

Submits a vote for a specific option ID with anti-ballot stuffing validation.

Örnek cURL Çağrısı
curl -X POST "https://imup.cc/api/v1/polls/POLL_UUID/vote" \
  -H "Content-Type: application/json" \
  -d '{"optionId": OPTION_ID}'
POST /api/v1/forms
Kota Bedeli: 1 60/min (IP), 300/min (Key)

Create Reactive Form

Creates a custom form with flexible fields (text, email, select, rating, textarea).

Örnek cURL Çağrısı
curl -X POST "https://imup.cc/api/v1/forms" \
  -H "Content-Type: application/json" \
  -d '{"title": "Customer Feedback", "description": "Quick survey"}'
GET /api/v1/forms/:uuid
Kota Bedeli: 1 60/min (IP), 300/min (Key)

Get Form Schema & Stats

Fetches form fields, configuration, status, and response counts.

Örnek cURL Çağrısı
curl -X GET "https://imup.cc/api/v1/forms/FORM_UUID"
POST /api/v1/forms/:uuid/submit
Kota Bedeli: 1 60/min (IP), 300/min (Key)

Submit Form Response

Submits validated answers for form fields with optional idempotency key.

Örnek cURL Çağrısı
curl -X POST "https://imup.cc/api/v1/forms/FORM_UUID/submit" \
  -H "Content-Type: application/json" \
  -d '{"answers": {"FIELD_ID_1": "Ahmet", "FIELD_ID_2": "user@example.com"}}'
GET /api/v1/qr
Kota Bedeli: 1 60/min (IP), 300/min (Key)

Generate QR Code

Generates high-resolution QR codes in PNG (binary), SVG (vector), or JSON (base64 data URL).

Örnek cURL Çağrısı
curl -X GET "https://imup.cc/api/v1/qr?text=https://imup.cc&format=png&size=300" --output qr.png
POST / GET /api/mcp
Kota Bedeli: 1 60/min (IP), 300/min (Key)

Model Context Protocol (MCP) Endpoint

JSON-RPC 2.0 endpoint for AI assistants (Claude Desktop, Cursor, Windsurf) featuring 14 native tools. Governed by identical sliding window rate limits.

Örnek cURL Çağrısı
curl -X POST "https://imup.cc/api/mcp" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc": "2.0", "id": "1", "method": "tools/list"}'
Model Context Protocol

Yapay Zeka Ajanları için MCP Sunucusu

Cursor, Claude Desktop veya Windsurf gibi yapay zeka istemcilerinizden link, anket ve formları doğrudan yönetin. REST API ile aynı yüksek hızlı kayan pencere limitlerine tabidir.

MCP Hub'ı İncele