Pređi na sadržaj
cutty.dev
За програмере

API и MCP сервер

Креирај и управљај кратким линковима из сопственог кода — преко REST API-ја или кроз MCP сервер у твом AI асистенту.

cutty ima javni API i MCP server. Prvi vam omogućava da kreirate i menjate linkove iz koda; drugi radi pravo iz AI asistenta koji govori MCP protokol. Oba koriste isti API ključ.

API ključ

Autentifikujte svaki poziv zaglavljem:

Authorization: Bearer ck_your_key

Gde dobiti ključ: prijavite se, otvorite svoju kontrolnu tabluAPI ključeviNapravi ključ. Pun ključ (počinje sa ck_) prikazuje se samo jednom, pri kreiranju — sačuvajte ga odmah na bezbedno mesto. Ograničenje je 120 zahteva u minuti po ključu.

Osnovni URL

Svi REST endpointi nalaze se pod https://cutty.dev/api/v1. Zahtevi i odgovori su u JSON formatu.

Kreiranje linka

POST /api/v1/links — JSON telo zahteva treba najmanje url. Ostalo je opciono:

  • url — odredišna adresa (obavezno)
  • slug — prilagođen završetak, 3–40 znakova; izostavite za nasumičan
  • expiresAt — datum isteka u ISO 8601 formatu
  • maxHits — ograničenje klikova (1–1.000.000)
  • password — lozinka koja štiti link
  • tags — oznake odvojene zarezima za organizovanje na kontrolnoj tabli
  • folder — naziv fascikle u koju link ide
  • utmSource, utmMedium, utmCampaign — UTM parametri koji se dodaju pri preusmeravanju

Odgovor vam vraća slug, shortUrl i 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"}'

Lista i pojedinačan link

GET /api/v1/links vraća sve vaše linkove. GET /api/v1/links/{slug} — detalji jednog.

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

Ažuriranje i brisanje

PATCH /api/v1/links/{slug} ažurira polja koja prosledite, DELETE /api/v1/links/{slug} uklanja link.

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

Preko PATCH možete postaviti, između ostalog: targetUrl, expiresAt, maxHits, status, password, tags, folder, plus napredna polja ispod. Polje postavljeno na null (ili prazan niz znakova) briše tu osobinu.

Targetovanje, A/B i napredna polja

Iste stvari koje dobijate u editoru linka dostupne su i kroz API:

  • rules — niz pravila preusmeravanja po državi ili uređaju, npr. [{"kind":"country","match":"PL","url":"https://shop.pl"},{"kind":"device","match":"ios","url":"https://apps.apple.com/..."}]
  • abUrls — A/B rotacija: niz [{"url":"https://a.com","weight":1},{"url":"https://b.com","weight":1}]; koristi se kada nijedno pravilo ne odgovara
  • startsAt — datum (ISO 8601) kada link postaje aktivan; pre toga link vraća 425
  • webhookUrl — adresa koja prima POST obaveštenje pri svakom kliku (fire-and-forget)
  • serveOg sa ogTitle, ogDescription, ogImageUrl — prilagođena kartica za pregled za botove društvenih mreža (ljudi i dalje dobijaju preusmeravanje)
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"}]}'

Grupne operacije

POST /api/v1/bulk kreira mnogo linkova u jednom zahtevu. Prosledite niz links (svaka stavka kao obično kreiranje), do 500 odjednom. Odgovor vraća rezultat po redu.

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

Statistika linka

GET /api/v1/links/{slug}/stats vraća pregled klikova: ukupan broj, raščlanjivanje po uređaju i pregledaču, i raspodelu za poslednja 24 sata.

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

MCP server

Ako radite sa AI asistentom, možete povezati cutty preko MCP (Model Context Protocol) i zamoliti ga da skraćuje i organizuje linkove pravo u razgovoru. Server radi na https://mcp.cutty.dev/mcp preko Streamable HTTP-a, a autentifikujete se istim API ključem — zaglavljem Authorization: Bearer ck_....

Потпуна листа алата, готови исечци за повезивање и примери налазе се на посебној страници: cutty MCP сервер.

Nešto ne radi?

Pišite na [email protected] — odgovaram istog dana.