Public REST API

A URL shortener API built for real integrations

Create links, pull click analytics, and manage tags, pixels, and domains from your own code — with scoped keys and rate limits you can actually plan around.

POST /api/v1/public/links
curl -X POST https://api.cut.bd/api/v1/public/links \
  -H "Authorization: Bearer sl_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "destinationUrl": "https://example.com/launch",
    "slug": "launch",
    "tags": ["product-launch"]
  }'

Scoped API keys

Grant only what an integration needs — links:read, links:write, analytics:read, domains:write, and 9 other scopes. Keys are shown once; we store only a salted hash.

Predictable rate limits

Per-key limits scale with your plan, from 3 to 360 requests/minute. Every response includes X-RateLimit-Remaining and X-RateLimit-Reset so you can back off cleanly.

Up to 50 keys per account

Issue a separate key per integration — Zapier, your internal dashboard, a CI pipeline — so revoking one never breaks the others.

Consistent JSON errors

Every error follows the same { error: { code, message, details } } shape, with documented codes from VALIDATION_ERROR to TOO_MANY_REQUESTS.

Endpoints

  • Links — create, read, update, delete
  • Analytics — per-link and click log
  • Tags, pixels, funnels
  • Workspaces

Rate limits by plan

  • Free — 3 req/min
  • Starter — 6 req/min
  • Single — 60 req/min
  • Team — 180 req/min
  • Ultimate — 360 req/min

Read the full API reference

Every endpoint, request body, and error code, documented.