---
name: "links_shorten"
area: "links"
title: "Make a short link"
price: "$0.01"
method: "POST"
url: "https://api.conecto.chat/v1/tools/links_shorten"
mcp_server: "https://api.conecto.chat/mcp/links"
auth: "Authorization: Bearer <conecto_sk_ key>"
docs_url: "https://conecto.chat/tools/links/links_shorten"
---

# Make a short link (`links_shorten`)

A short link at cncto.co/<code> that sends people on and counts the clicks.

A short link at cncto.co/<code> that sends people to url and counts the clicks, for messages, print and QR codes. Give alias for a readable one (cncto.co/spring-sale) or leave it out for a random 7-character code. The destination can be changed later; a deleted link's code is never reused. Needs an account that has topped up once.

Price: $0.01 a call. A call that fails costs nothing.

## Use it when

A long address goes into a message, a flyer or a QR code, and the clicks should be counted.

## Say this to your agent

> Make a short link for the autumn flyer that goes to the gravel bikes, something like cncto.co/autumn-sale.

## Inputs

| Name | Type | Required | Description | Allowed values | Default |
|---|---|---|---|---|---|
| `url` | string | yes | Where it goes: https://... 8 to 2,000 characters. |  |  |
| `alias` | string | no | Lower-case letters, digits and dashes, e.g. "spring-sale". 3 to 40 characters. |  |  |
| `title` | string | no | A note for yourself, e.g. "Flyer, October". Up to 200 characters. |  |  |

## Example

Written for Halverson Cycle & Repair, a bike shop with a repair workshop in Portland, Oregon.

MCP: call `links_shorten` on the MCP server `https://api.conecto.chat/mcp/links` with these arguments:

```json
{
  "url": "https://halversoncycle.example/bikes/gravel?utm_source=flyer&utm_campaign=autumn-sale",
  "alias": "autumn-sale",
  "title": "Flyer, October"
}
```

REST:

```bash
curl https://api.conecto.chat/v1/tools/links_shorten \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://halversoncycle.example/bikes/gravel?utm_source=flyer&utm_campaign=autumn-sale", "alias": "autumn-sale", "title": "Flyer, October"}'
```

## Response

```json
{
  "call_id": "5f0c8a2e-3b7d-4c1e-9a64-2d8e1f7b0c93",
  "tool": "links_shorten",
  "status": "succeeded",
  "replayed": false,
  "cost_usd": "$0.01",
  "balance_usd": "$19.75",
  "result": {
    "link": {
      "code": "autumn-sale",
      "short_url": "https://cncto.co/autumn-sale",
      "url": "https://halversoncycle.example/bikes/gravel?utm_source=flyer&utm_campaign=autumn-sale",
      "title": "Flyer, October",
      "paused": false,
      "blocked": false,
      "clicks": 0,
      "last_clicked_at": null,
      "created_at": "2026-10-14T08:00:00+00:00"
    }
  }
}
```

`result`: The link: code, short_url, url, title, paused, blocked, clicks, last_clicked_at and created_at.

## Errors

| Code | Status | When | Fix |
|---|---|---|---|
| `payment_required` | 402 | The business has never topped up; short links need one real top-up. | Top up once (POST /v1/topups). |
| `invalid_input` | 400 | The url is not an http(s) address with a full domain, points at a short link, or is not on the public internet. | Send a full address like https://halversoncycle.example/bikes. |
| `invalid_input` | 400 | The alias is not 3 to 40 lower-case letters, digits and single dashes. | Send an alias like "autumn-sale", or leave it out for a random code. |
| `alias_taken` | 409 | Someone already has that alias. | Pick another alias, or leave it out. |
| `limit_reached` | 409 | The business has as many short links as it may. | Delete old ones with links_delete. |
| `conflict` | 409 | No free random code was found. | Call again. |

The refusals every tool can give (401 key, 402 balance, 429 limits) are on the errors page: https://conecto.chat/docs/errors.md

## Related

- [qr_create](https://conecto.chat/tools/links/qr_create.md): A QR code for a link or any text, saved in the file store as a PNG or SVG with a download link. $0.01 a call.
- [links_list](https://conecto.chat/tools/links/links_list.md): The business's short links, newest first, with their clicks. Free up to 1,000,000 reads a month.
- [links_get](https://conecto.chat/tools/links/links_get.md): One short link: where it goes, its clicks and the last click. Free up to 1,000,000 reads a month.
- [links_update](https://conecto.chat/tools/links/links_update.md): Sends a short link somewhere else, retitles it, or pauses and resumes it. $0.01 a call.
- [links_delete](https://conecto.chat/tools/links/links_delete.md): Deletes a short link for good; its code never opens anything again. Free.
