---
title: "Create a short link"
method: POST
path: "/v1/short-links"
tags: ["Link shortener"]
---

# Create a short link

`POST /v1/short-links`

## Request

- Base URL: `https://api.wavix.com`
- URL: `https://api.wavix.com/v1/short-links`
- Auth: HTTP bearer

Creates a short link that redirects to the target URL and tracks click metrics.

## Request body

- ShortLinkCreateRequest
  - `link` string, uri, required: Target URL to shorten. Must be `https://` — the short link is publicly resolvable and redirects any visitor here, so only pass URLs you trust; this endpoint is a common target for open-redirect and phishing abuse.
  - `expiration_time` string, date-time: Expiration date and time in ISO 8601 format.
  - `fallback_url` string, uri: Fallback URL for expired or invalid links. Must be `https://` — same open-redirect/phishing considerations as `link` apply.
  - `phone` string: Phone number the short link is associated with, in E.164 format (without the leading `+`). Used to attribute click metrics returned by short link metrics list.
  - `utm_campaign` string: UTM campaign name for tracking insights.

## Response `200`

Returns the created short link.

- ShortLinkResponse
  - `short_link` string, required: Generated short URL.

## Other responses

- `400`: Request failed. Missing or invalid parameter <param_name>
- `401`: Unauthorized
- `403`: Request failed. The feature is disabled for your account.
- `404`: Request failed. An object with the specified ID is not found.
- `422`: Returns a validation error when a field value is invalid.

## Changes

- **2026-09-14** `d4db3aae3627`: 1 breaking
  - the request's body type changed from no type to `object`
- **2026-09-08** `6a89c962481c`: 6 breaking, 6 info
  - added the pattern `^https://` to the request property `allOf[subschema #1: ShortLinkCreateRequest]/fallback_url`
  - added the pattern `^https://` to the request property `allOf[subschema #1: ShortLinkCreateRequest]/link`
  - the `allOf[subschema #1: ShortLinkCreateRequest]/fallback_url` request property format changed from no format to `uri`
  - the `allOf[subschema #1: ShortLinkCreateRequest]/link` request property format changed from no format to `uri`
  - …8 more
- **2026-05-25** `33be77905120`: 1 info
  - the endpoint scheme security `bearerAuth` was added to the API
- **2026-04-20** `2e48fd9894e1`: 1 breaking, 1 warning, 5 info
  - added `#/components/schemas/ShortLinkCreateRequest` to the request body `allOf` list
  - removed `#/components/schemas/ShortlinkRequest, subschema #2` from the request body `allOf` list
  - api operation id `Createashortlink` removed and replaced with `link_shortener_create`
  - added `#/components/schemas/RecordNotFoundErrorResponse` to the response body `allOf` list for the response status `422`
  - …3 more
- **2026-02-12** `fabaadf195a9`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/wavix/apis/wavix-apis/changes/v1/short-links/post.md)

---

[API](https://skmtc.dev/wavix/apis/wavix-apis.md) - [All operations](https://skmtc.dev/wavix/apis/wavix-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/wavix/apis/wavix-apis/revisions/f2dde79f05ab?raw)
