Μετάβαση στο περιεχόμενο
cutty.dev
Για προγραμματιστές

API και διακομιστής MCP

Δημιούργησε και διαχειρίσου σύντομους συνδέσμους μέσα από τον δικό σου κώδικα — μέσω του REST API ή μέσω διακομιστή MCP στον AI βοηθό σου.

cutty has a public API and an MCP server. The first lets you create and change links from code; the second works straight from an AI assistant that speaks the MCP protocol. Both use the same API key.

Κλειδί API

Authenticate every call with a header:

Authorization: Bearer ck_your_key

Πού θα βρεις ένα κλειδί: συνδέσου, άνοιξε τον πίνακά σουAPI keysCreate key. Το πλήρες κλειδί (ξεκινά με ck_) εμφανίζεται μόνο μία φορά, κατά τη δημιουργία — αποθήκευσέ το κάπου ασφαλές αμέσως. Το όριο είναι 120 αιτήματα ανά λεπτό ανά κλειδί.

Base URL

Όλα τα REST endpoints βρίσκονται κάτω από το 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 — μια προσαρμοσμένη κάρτα προεπισκόπησης για τα crawlers των social (οι άνθρωποι παίρνουν ούτως ή άλλως την ανακατεύθυνση)
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 — το header Authorization: Bearer ck_....

Η πλήρης λίστα εργαλείων, έτοιμα snippets σύνδεσης και παραδείγματα βρίσκονται σε ξεχωριστή σελίδα: διακομιστής MCP του cutty.

Κάτι δεν δουλεύει;

Γράψε στο [email protected] — απαντώ την ίδια μέρα.