Премини към съдържанието
cutty.dev
За разработчици

API и MCP сървър

Създавай и управлявай кратки линкове направо от своя код — през REST API или през MCP сървър в твоя AI асистент.

cutty има публично API и MCP сървър. Първото ви позволява да създавате и променяте връзки от код; второто работи направо от AI асистент, който говори протокола MCP. И двете използват един и същ API ключ.

API ключ

Удостоверявайте всяка заявка със заглавка:

Authorization: Bearer ck_your_key

Откъде да вземете ключ: влезте, отворете таблотоAPI keysCreate key. Пълният ключ (започва с ck_) се показва само веднъж, при създаването — запазете го веднага на сигурно място. Лимитът е 120 заявки в минута на ключ.

Base URL

Всички REST endpoint-и са под https://cutty.dev/api/v1. Заявките и отговорите са в JSON.

Създаване на връзка

POST /api/v1/links — JSON тялото изисква поне url. Останалото е по избор:

  • url — адрес на дестинацията (задължително)
  • slug — собствен край, 3–40 знака; пропуснете го за случаен
  • expiresAt — дата на изтичане във формат ISO 8601
  • maxHits — лимит на кликовете (1–1 000 000)
  • password — парола, защитаваща връзката
  • tags — етикети, разделени със запетая, за подредба в таблото
  • folder — име на папката, в която влиза връзката
  • utmSource, utmMedium, utmCampaign — UTM параметри, добавяни при пренасочване

Отговорът ви връща slug, shortUrl и 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"}'

Списък и единична връзка

GET /api/v1/links връща всичките ви връзки. GET /api/v1/links/{slug} — детайли за една.

curl https://cutty.dev/api/v1/links/offer \
  -H "Authorization: Bearer ck_your_key"

Обновяване и изтриване

PATCH /api/v1/links/{slug} обновява полетата, които подадете, DELETE /api/v1/links/{slug} премахва връзката.

curl -X PATCH https://cutty.dev/api/v1/links/offer \
  -H "Authorization: Bearer ck_your_key" \
  -H "Content-Type: application/json" \
  -d '{"maxHits":500}'

Чрез PATCH можете да зададете, наред с другото: targetUrl, expiresAt, maxHits, status, password, tags, folder, плюс разширените полета по-долу. Поле, зададено на null (или празен низ), изчиства това свойство.

Насочване, A/B и разширени полета

Същите неща, които имате в редактора на връзки, са достъпни през API:

  • rules — масив от правила за пренасочване по държава или устройство, напр. [{"kind":"country","match":"PL","url":"https://shop.pl"},{"kind":"device","match":"ios","url":"https://apps.apple.com/..."}]
  • abUrls — A/B ротация: масив [{"url":"https://a.com","weight":1},{"url":"https://b.com","weight":1}]; използва се, когато нито едно правило не съвпада
  • startsAt — дата (ISO 8601), на която връзката става активна; преди нея връзката връща 425
  • webhookUrl — адрес, който получава POST известие при всеки клик (fire-and-forget)
  • serveOg с ogTitle, ogDescription, ogImageUrl — собствена карта за визуализация за ботовете на социалните мрежи (хората пак получават пренасочването)
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"}]}'

Групови операции

POST /api/v1/bulk създава много връзки в една заявка. Подайте масив links (всеки елемент като обикновено създаване), до 500 наведнъж. Отговорът връща резултат за всеки ред.

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"}]}'

Статистики за връзка

GET /api/v1/links/{slug}/stats връща обобщение на кликовете: общия брой, разбивка по устройство и браузър, и разпределението за последните 24 часа.

curl https://cutty.dev/api/v1/links/offer/stats \
  -H "Authorization: Bearer ck_your_key"

MCP сървър

Ако работите с AI асистент, можете да свържете cutty през MCP (Model Context Protocol) и да го помолите да съкращава и подрежда връзки направо в разговора. Сървърът работи на https://mcp.cutty.dev/mcp през Streamable HTTP, а удостоверяването е със същия API ключ — заглавката Authorization: Bearer ck_....

Пълният списък с инструменти, готовите фрагменти за свързване и примерите са на отделна страница: MCP сървърът на cutty.

Нещо не работи?

Пишете на [email protected] — отговарям същия ден.