Gå til hovedinnhold
cutty.dev
For utviklere

API og MCP-server

Opprett og administrer korte lenker fra din egen kode — over REST-API-et eller via en MCP-server i AI-assistenten din.

cutty har et offentlig API og en MCP-server. Det første lar deg opprette og endre lenker fra kode; det andre fungerer rett fra en AI-assistent som snakker MCP-protokollen. Begge bruker samme API-nøkkel.

API-nøkkel

Autentiser hvert kall med en header:

Authorization: Bearer ck_your_key

Hvor du får en nøkkel: logg inn, åpne dashbordetAPI-nøklerLag nøkkel. Hele nøkkelen (den begynner med ck_) vises bare én gang, ved opprettelsen — lagre den et trygt sted med en gang. Grensen er 120 forespørsler per minutt per nøkkel.

Base-URL

Alle REST-endepunkter ligger under https://cutty.dev/api/v1. Forespørsler og svar er JSON.

Opprette en lenke

POST /api/v1/links — JSON-kroppen trenger minst en url. Resten er valgfritt:

  • url — måladresse (påkrevd)
  • slug — egendefinert avslutning, 3–40 tegn; utelat for en tilfeldig
  • expiresAt — utløpsdato i ISO 8601-format
  • maxHits — klikkgrense (1–1 000 000)
  • password — passord som beskytter lenken
  • tags — kommaseparerte etiketter for organisering i dashbordet
  • folder — navnet på mappen lenken legges i
  • utmSource, utmMedium, utmCampaign — UTM-parametere som legges til ved videresending

Svaret gir deg slug, shortUrl og 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"}'

Liste og en enkelt lenke

GET /api/v1/links returnerer alle lenkene dine. GET /api/v1/links/{slug} — detaljer om én.

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

Oppdatere og slette

PATCH /api/v1/links/{slug} oppdaterer feltene du sender med, DELETE /api/v1/links/{slug} fjerner lenken.

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 blant annet sette: targetUrl, expiresAt, maxHits, status, password, tags, folder, pluss de avanserte feltene under. Et felt satt til null (eller en tom streng) nullstiller den egenskapen.

Målretting, A/B og avanserte felt

De samme tingene du får i lenkeredigereren er tilgjengelige gjennom API-et:

  • rules — en liste med videresendingsregler etter land eller enhet, f.eks. [{"kind":"country","match":"PL","url":"https://shop.pl"},{"kind":"device","match":"ios","url":"https://apps.apple.com/..."}]
  • abUrls — A/B-rotasjon: en liste [{"url":"https://a.com","weight":1},{"url":"https://b.com","weight":1}]; brukes når ingen regel passer
  • startsAt — datoen (ISO 8601) lenken går live; før den returnerer lenken 425
  • webhookUrl — adressen som mottar et POST-varsel ved hvert klikk (fire-and-forget)
  • serveOg med ogTitle, ogDescription, ogImageUrl — et egendefinert forhåndsvisningskort for sosiale crawlere (mennesker får fortsatt videresendingen)
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"}]}'

Bulk-operasjoner

POST /api/v1/bulk oppretter mange lenker i én forespørsel. Send med en links-liste (hvert element som en vanlig opprettelse), opptil 500 om gangen. Svaret returnerer et 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"}]}'

Lenkestatistikk

GET /api/v1/links/{slug}/stats returnerer et klikksammendrag: totalen, en fordeling etter enhet og nettleser, og fordelingen over de siste 24 timene.

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

MCP-server

Jobber du med en AI-assistent, kan du koble cutty til over MCP (Model Context Protocol) og be den forkorte og organisere lenker rett i samtalen. Serveren kjører på https://mcp.cutty.dev/mcp over Streamable HTTP, og du autentiserer med samme API-nøkkel — headeren Authorization: Bearer ck_....

Den fullstendige verktøylisten, ferdige tilkoblingseksempler og eksempler finnes på en egen side: cutty MCP-server.

Noe som ikke fungerer?

Skriv til [email protected] — jeg svarer samme dag.