canonical: https://jentic.com/apis/kutt.it/kutt

# Kutt It Kutt API

Jentic publishes the only available OpenAPI specification for Kutt API, keeping it validated and agent-ready. Kutt is an open-source URL shortener with custom domain support and built-in analytics. The v2 API exposes link creation, listing, updating, and deletion, per-link statistics, and custom domain management. Authentication is an X-API-Key header issued from the Kutt account dashboard, and the service can be self-hosted under MIT licence.

## For AI agents

Shorten URLs and manage custom domains with Kutt: create short links, update or delete them, retrieve per-link click stats, and add custom domains.

## Scope

Does not handle DNS hosting, SEO redirects at scale, or affiliate link tracking - use for URL shortening and basic click analytics only.

## Capabilities

- Create short links via POST /links with optional custom alias, password, and expiration date
- Retrieve per-link click and referrer statistics through GET `/links/{id}/stats`
- Update an existing short link's destination or settings via PATCH `/links/{id}`
- Permanently remove a short link with DELETE `/links/{id}`
- Add a custom domain via POST /domains so links resolve under a branded host
- List and paginate through all the user's links via GET /links

## Use cases

### Branded Short Links for Campaigns

Create branded short links for outbound marketing or social posts. POST /domains adds a custom domain to the account and POST /links creates a link under that domain. Per-link statistics from `/links/{id}/stats` feed back into the campaign analytics so each link's performance is attributable.

Example prompt: POST /domains for the custom host, then POST /links with the campaign destination URL and the custom domain so the resulting short link uses the brand host.

### Self-Hosted Privacy-First Shortening

Run Kutt on private infrastructure to keep click data inside the company perimeter. Because Kutt is MIT-licensed and self-hostable, the same v2 API surface can be pointed at an internal base URL. Agents create and manage links the same way as on kutt.it, just against the internal host.

Example prompt: Configure the agent's Kutt API client against the internal base URL and POST /links for an internal documentation URL.

### Click Analytics Pipeline

Pull click statistics for each tracked link into a BI warehouse. GET `/links/{id}/stats` returns per-link counters, which can be polled on a schedule and loaded as fact rows for a dashboard. Combined with /links pagination, the same job can refresh every active link in the workspace.

Example prompt: GET /links to enumerate active links, then GET `/links/{id}/stats` for each one and emit click counts as rows into the warehouse.

### AI Agent Link-Sharing Helper

An assistant in a chat client shortens any long URL the user pastes and applies brand-consistent settings (password, expiration) drawn from policy. Through Jentic, the assistant calls Kutt by intent, with the X-API-Key never leaving the vault.

Example prompt: On a long URL paste, search Jentic for 'create a Kutt short link' and POST /links with the brand domain and 30-day expiration.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/links` | Create a short link |
| GET | `/links` | List all short links |
| GET | `/links/{id}/stats` | Get click statistics for a link |
| PATCH | `/links/{id}` | Update an existing short link |
| DELETE | `/links/{id}` | Delete a short link |
| POST | `/domains` | Add a custom domain |

## Key resources

- **Links** — CRUD for short links plus per-link statistics.
- **Domains** — Add and remove custom domains used as the host of short links.
- **Users** — Read the authenticated user's profile via /users.

## Why Jentic

- **Setup:** Wiring the Kutt API by hand means passing X-API-Key on every call to kutt.it/api/v2 and mapping the link and domain request bodies yourself. Through Jentic you install once, import the Kutt API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Kutt puts the link id in the URL path (`/links/{id}/stats`), so a rule can pin your agent to one link: it can read that link's stats and update it and nothing else. You choose the operations it may call, so deleting a link or adding a domain is not included unless you add it.
- **Credential handling:** Your Kutt X-API-Key is stored once, encrypted, by your own Jentic One instance and injected into the header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'shorten a URL' or 'get link click stats', and Jentic returns the matching Kutt operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Bitly API** — Commercial URL shortener with deeper analytics and SLAs than Kutt.
- **Rebrandly API** — Branded link management focused on custom domains at scale.
- **TinyURL API** — Free shortener with a minimal feature set, similar to Kutt's hosted tier.
- **Short.io API** — Hosted shortener with custom domains, similar to Kutt with a commercial tier.

## FAQ

### Why is there no official OpenAPI spec for Kutt API?

Kutt does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Kutt API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Kutt API use?

Kutt API uses an API key passed in the X-API-Key header, generated from the Kutt account settings page. Through Jentic, the key is stored encrypted in your Jentic One instance and injected at execution time.

### Can I create a password-protected short link with the Kutt API?

Yes. POST /links accepts an optional password field; visitors are prompted for it before being redirected to the destination. The same endpoint accepts a custom alias and an expiration timestamp.

### How do I get click statistics for a short link through Jentic?

Search Jentic for 'get Kutt link statistics'. Jentic returns GET `/links/{id}/stats` with its schema. Provide the link ID and Jentic executes the call using your stored API key.

### Is Kutt free to use?

Yes. Kutt is an open-source project released under the MIT licence. The hosted service at kutt.it is free; you can also self-host the same v2 API stack on your own infrastructure with no licence cost.

### Can I use a custom domain for my short links?

Yes. POST /domains adds a custom domain to your Kutt account, and DELETE `/domains/{id}` removes it. Once a domain is added, POST /links can issue short links on that host instead of kutt.it.

### Can I limit what my agent is allowed to do with the Kutt API?

Yes. Jentic One is self-hosted by you, so your own rules decide which Kutt operations and credentials the agent may use. Because Kutt puts the link id in the URL path, such as GET `/links/{id}/stats` and PATCH `/links/{id}`, you can pin the agent to a single link so it only reads that link's click stats and updates it. Destructive or broadening calls like DELETE `/links/{id}` and POST /domains stay off limits unless you explicitly add them to the agent's allowed operations.
