Перейти к основному содержимому
cutty.dev
Для разработчиков

API и сервер MCP

Создавайте короткие ссылки и управляйте ими прямо из своего кода — через REST API или через сервер MCP в вашем ИИ-ассистенте.

У cutty есть публичный API и MCP-сервер. Первый позволяет создавать и менять ссылки из кода; второй работает прямо из ИИ-ассистента, который понимает протокол MCP. Оба используют один и тот же API-ключ.

API-ключ

Аутентифицируйте каждый вызов заголовком:

Authorization: Bearer ck_your_key

Где взять ключ: войдите, откройте свою панельAPI-ключиСоздать ключ. Полный ключ (он начинается с ck_) показывается только один раз, при создании — сразу сохраните его в надёжном месте. Лимит — 120 запросов в минуту на ключ.

Базовый URL

Все REST-эндпоинты находятся под 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 — собственная карточка превью для краулеров соцсетей (люди всё равно получают переадресацию)
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-сервер

Если вы работаете с ИИ-ассистентом, можно подключить cutty по MCP (Model Context Protocol) и попросить его сокращать и упорядочивать ссылки прямо в разговоре. Сервер работает по адресу https://mcp.cutty.dev/mcp через Streamable HTTP, а аутентификация — тем же API-ключом, заголовком Authorization: Bearer ck_....

Полный список инструментов, готовые сниппеты подключения и примеры — на отдельной странице: MCP-сервер cutty.

Что-то не работает?

Напишите на [email protected] — отвечаю в тот же день.