Perejti prie turinio
cutty.dev
Kūrėjams

API ir MCP serveris

Kurkite ir tvarkykite trumpas nuorodas tiesiai iš savo kodo — per REST API arba per MCP serverį savo AI asistente.

cutty turi viešą API ir MCP serverį. Pirmasis leidžia kurti ir keisti nuorodas iš kodo; antrasis veikia tiesiai iš AI asistento, kalbančio MCP protokolu. Abu naudoja tą patį API raktą.

API raktas

Kiekvieną užklausą autentifikuok antrašte:

Authorization: Bearer ck_your_key

Kur gauti raktą: prisijunk, atidaryk savo skydelįAPI keysCreate key. Visas raktas (jis prasideda ck_) parodomas tik vieną kartą, kuriant — iškart išsaugok jį saugioje vietoje. Riba yra 120 užklausų per minutę vienam raktui.

Bazinis URL

Visi REST galiniai taškai yra po https://cutty.dev/api/v1. Užklausos ir atsakymai yra JSON.

Nuorodos kūrimas

POST /api/v1/links — JSON kūne reikia bent url. Visa kita neprivaloma:

  • url — paskirties adresas (privalomas)
  • slug — individuali pabaiga, 3–40 simbolių; praleisk, jei nori atsitiktinės
  • expiresAt — galiojimo pabaigos data ISO 8601 formatu
  • maxHits — paspaudimų riba (1–1 000 000)
  • password — nuorodą sauganti slaptažodis
  • tags — kableliais atskirtos žymos tvarkai skydelyje
  • folder — aplanko, į kurį patenka nuoroda, pavadinimas
  • utmSource, utmMedium, utmCampaign — UTM parametrai, pridedami nukreipiant

Atsakyme gausi slug, shortUrl ir 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"}'

Sąrašas ir viena nuoroda

GET /api/v1/links grąžina visas tavo nuorodas. GET /api/v1/links/{slug} — vienos detales.

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

Atnaujinimas ir trynimas

PATCH /api/v1/links/{slug} atnaujina tavo perduotus laukus, DELETE /api/v1/links/{slug} pašalina nuorodą.

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

Per PATCH gali nustatyti, be kita ko: targetUrl, expiresAt, maxHits, status, password, tags, folder ir žemiau išvardytus pažangius laukus. Laukas, nustatytas į null (arba tuščią eilutę), išvalo tą savybę.

Taikymas, A/B ir pažangūs laukai

Tie patys dalykai, kuriuos turi nuorodos redaktoriuje, prieinami ir per API:

  • rules — nukreipimo taisyklių masyvas pagal šalį ar įrenginį, pvz., [{"kind":"country","match":"PL","url":"https://shop.pl"},{"kind":"device","match":"ios","url":"https://apps.apple.com/..."}]
  • abUrls — A/B rotacija: masyvas [{"url":"https://a.com","weight":1},{"url":"https://b.com","weight":1}]; naudojama, kai jokia taisyklė netinka
  • startsAt — data (ISO 8601), kada nuoroda pradeda veikti; iki tol nuoroda grąžina 425
  • webhookUrl — adresas, kuris kiekvieno paspaudimo metu gauna POST pranešimą (fire-and-forget)
  • serveOg su ogTitle, ogDescription, ogImageUrl — individuali peržiūros kortelė socialinių tinklų robotams (žmonės vis tiek nukreipiami)
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"}]}'

Masinės operacijos

POST /api/v1/bulk sukuria daug nuorodų vienoje užklausoje. Perduok links masyvą (kiekvienas elementas kaip įprastas kūrimas), iki 500 vienu metu. Atsakyme grąžinamas rezultatas kiekvienai eilutei.

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

Nuorodos statistika

GET /api/v1/links/{slug}/stats grąžina paspaudimų suvestinę: bendrą skaičių, suskirstymą pagal įrenginį ir naršyklę bei pasiskirstymą per pastarąsias 24 valandas.

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

MCP serveris

Jei dirbi su AI asistentu, gali prijungti cutty per MCP (Model Context Protocol) ir paprašyti jo sutrumpinti bei sutvarkyti nuorodas tiesiai pokalbyje. Serveris veikia adresu https://mcp.cutty.dev/mcp per Streamable HTTP, o autentifikuojiesi tuo pačiu API raktu — antrašte Authorization: Bearer ck_....

Visą įrankių sąrašą, paruoštus prisijungimo pavyzdžius ir pavyzdžius rasite atskirame puslapyje: cutty MCP serveris.

Kažkas neveikia?

Rašyk į [email protected] — atsakau tą pačią dieną.