Gå till innehåll
cutty.dev
För utvecklare

API och MCP-server

Skapa och hantera korta länkar direkt från din egen kod — via REST-API:et eller genom en MCP-server i din AI-assistent.

cutty har ett publikt API och en MCP-server. Det första låter dig skapa och ändra länkar från kod; det andra fungerar direkt från en AI-assistent som talar MCP-protokollet. Båda använder samma API-nyckel.

API-nyckel

Autentisera varje anrop med en header:

Authorization: Bearer ck_your_key

Var du hämtar en nyckel: logga in, öppna din panelAPI-nycklarSkapa nyckel. Hela nyckeln (den börjar med ck_) visas bara en gång, när den skapas — spara den på ett säkert ställe direkt. Gränsen är 120 anrop per minut och nyckel.

Bas-URL

Alla REST-endpoints ligger under https://cutty.dev/api/v1. Förfrågningar och svar är JSON.

Skapa en länk

POST /api/v1/links — JSON-kroppen behöver minst en url. Resten är valfritt:

  • url — destinationsadress (obligatoriskt)
  • slug — egen ändelse, 3–40 tecken; utelämna för en slumpmässig
  • expiresAt — utgångsdatum i ISO 8601-format
  • maxHits — klickgräns (1–1 000 000)
  • password — lösenord som skyddar länken
  • tags — kommaseparerade etiketter för att organisera i panelen
  • folder — namnet på mappen som länken läggs i
  • utmSource, utmMedium, utmCampaign — UTM-parametrar som läggs till vid omdirigering

Svaret ger dig slug, shortUrl och 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 och en enskild länk

GET /api/v1/links returnerar alla dina länkar. GET /api/v1/links/{slug} — detaljer om en.

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

Uppdatera och radera

PATCH /api/v1/links/{slug} uppdaterar de fält du skickar med, DELETE /api/v1/links/{slug} tar bort länken.

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

Via PATCH kan du bland annat ange: targetUrl, expiresAt, maxHits, status, password, tags, folder, plus de avancerade fälten nedan. Ett fält som sätts till null (eller en tom sträng) rensar den egenskapen.

Targeting, A/B och avancerade fält

Samma saker som du får i länkredigeraren finns tillgängliga via API:et:

  • rules — en array med omdirigeringsregler efter land eller enhet, t.ex. [{"kind":"country","match":"PL","url":"https://shop.pl"},{"kind":"device","match":"ios","url":"https://apps.apple.com/..."}]
  • abUrls — A/B-rotation: en array [{"url":"https://a.com","weight":1},{"url":"https://b.com","weight":1}]; används när ingen regel passar
  • startsAt — datum (ISO 8601) då länken aktiveras; innan dess returnerar länken 425
  • webhookUrl — adress som tar emot en POST-avisering vid varje klick (fire-and-forget)
  • serveOg med ogTitle, ogDescription, ogImageUrl — ett eget förhandsvisningskort för sociala medier-crawlers (människor får ändå omdirigeringen)
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"}]}'

Bulkoperationer

POST /api/v1/bulk skapar många länkar i en enda förfrågan. Skicka med en links-array (varje post som vid vanligt skapande), upp till 500 åt gången. Svaret returnerar ett resultat per rad.

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

Länkstatistik

GET /api/v1/links/{slug}/stats returnerar en sammanfattning av klick: totalsumman, en uppdelning efter enhet och webbläsare, samt fördelningen över de senaste 24 timmarna.

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

MCP-server

Om du arbetar med en AI-assistent kan du ansluta cutty via MCP (Model Context Protocol) och be den korta av och organisera länkar direkt i konversationen. Servern körs på https://mcp.cutty.dev/mcp över Streamable HTTP, och du autentiserar med samma API-nyckel — headern Authorization: Bearer ck_....

Den fullständiga verktygslistan, färdiga anslutningsexempel och exempel finns på en egen sida: cutty MCP-server.

Något som inte fungerar?

Skriv till [email protected] — jag svarar samma dag.