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.
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.
API anahtarı göndermeyen isteklerde istemci IP adresi üzerinden 1 dakikalık kayan pencerede maksimum 60 işlem yapılabilir.
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 |
{
"success": false,
"error": "Rate limit exceeded. Try again in 42 seconds.",
"retryAfter": 42,
"limit": 60
}
{
"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:
REST API v1 Uç Noktaları
Tüm uç noktalar JSON veri kabul eder ve JSON döner.
API Discovery & Rate Limit Status
Returns API version, client IP / authentication state, and current sliding window rate limit quotas.
curl -X GET "https://imup.cc/api/v1"
Create Short Link
Shortens a long target URL with optional custom slug, password, title, and expiration.
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 Link Details & Stats
Retrieves link details, destination URL, active status, creation date, and total click counter.
curl -X GET "https://imup.cc/api/v1/links/LINK_ID"
Update Short Link
Updates destination target URL, status (active/inactive), and title.
curl -X PATCH "https://imup.cc/api/v1/links/LINK_ID" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/updated-url"}'
Delete Short Link
Permanently removes a short link from the registry.
curl -X DELETE "https://imup.cc/api/v1/links/LINK_ID"
Unshorten & Security Analysis
Resolves redirect chains for any shortened URL, validates safety, and strips UTM/tracking params.
curl -X POST "https://imup.cc/api/v1/links/unshorten" \
-H "Content-Type: application/json" \
-d '{"url": "https://bit.ly/3xyz?utm_source=test"}'
Bulk Shorten Links
Creates up to 50 short links in a single atomic transaction. Rate limit cost equals number of URLs.
curl -X POST "https://imup.cc/api/v1/links/bulk" \
-H "Content-Type: application/json" \
-d '{"urls": ["https://site1.com", "https://site2.com"]}'
Create Live Poll
Creates a real-time polling widget with custom question and up to 10 choices.
curl -X POST "https://imup.cc/api/v1/polls" \
-H "Content-Type: application/json" \
-d '{"question": "Favorite stack?", "options": ["Webspresso", "Next.js", "Django"]}'
Get Poll & Live Results
Retrieves poll questions, option vote counts, and calculated percentage distribution.
curl -X GET "https://imup.cc/api/v1/polls/POLL_UUID"
Cast Poll Vote
Submits a vote for a specific option ID with anti-ballot stuffing validation.
curl -X POST "https://imup.cc/api/v1/polls/POLL_UUID/vote" \
-H "Content-Type: application/json" \
-d '{"optionId": OPTION_ID}'
Create Reactive Form
Creates a custom form with flexible fields (text, email, select, rating, textarea).
curl -X POST "https://imup.cc/api/v1/forms" \
-H "Content-Type: application/json" \
-d '{"title": "Customer Feedback", "description": "Quick survey"}'
Get Form Schema & Stats
Fetches form fields, configuration, status, and response counts.
curl -X GET "https://imup.cc/api/v1/forms/FORM_UUID"
Submit Form Response
Submits validated answers for form fields with optional idempotency key.
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"}}'
Generate QR Code
Generates high-resolution QR codes in PNG (binary), SVG (vector), or JSON (base64 data URL).
curl -X GET "https://imup.cc/api/v1/qr?text=https://imup.cc&format=png&size=300" --output qr.png
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.
curl -X POST "https://imup.cc/api/mcp" \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "id": "1", "method": "tools/list"}'
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.