Link Management
Link Duplication

Duplicate an existing link

Duplicates an existing link with all its properties, targeting rules, and settings. The duplicated link will have a new random path (or custom if provided) and be fully independent.

Rate limit: 50/s

post/links/duplicate/{linkId}

Request

  • Base URL: https://api.short.io
  • URL: https://api.short.io/links/duplicate/{linkId}
  • Auth: API key in header Authorization

Path parameters

linkIdstring required

Encoded link ID string of the source link

Request body

pathstring

Custom path for duplicated link

Example request

{
  "path": "my-link-copy"
}

Response

Default Response

originalURLstring required

Original URL

cloakingboolean

Cloaking

passwordstring

Link password

expiredURLstring nullable

Expired URL

titlestring

Link title

tagsstring[]

Array of link tags

utmSourcestring

set utm_source parameter to destination link

utmMediumstring

set utm_medium parameter to destination link

utmCampaignstring

set utm_campaign parameter to destination link

utmTermstring

set utm_term parameter to destination link

utmContentstring

set utm_content parameter to destination link

androidURLstring nullable

Android URL

iphoneURLstring nullable

iPhone URL

clicksLimitinteger nullable

disable link after specified number of clicks

passwordContactboolean nullable

Provide your email to users to get a password

skipQSboolean

Skip query string merging

archivedboolean

Link is archived

splitURLstring nullable

Split URL

splitPercentinteger nullable

Split URL percentage

integrationAdrollstring nullable

Adroll integration

integrationFBstring nullable

Facebook integration

integrationTTstring nullable

TikTok integration

integrationGAstring nullable

Google Analytics integration

integrationGTMstring nullable

Google Tag Manager integration

idStringstring required

Link ID

idstring required

Link ID

shortURLstring required

Short URL

secureShortURLstring required

Secure short URL

pathstring nullable required

Link slug. For case-insensitive domains, this is the normalized lowercase version of the path.

displayPathstring nullable required

Original path preserving the case as provided during creation. Set only for case-insensitive domains when the path contains uppercase characters, otherwise null.

redirectType'301' | '302' | '307' | '308'

HTTP code for redirect

createdAtstring iso-date-time nullable required

Link creation date in ISO format

updatedAtstring iso-date-time nullable required

Link last update date in ISO format

FolderIdstring nullable

Folder ID

DomainIdinteger

Domain ID

OwnerIdinteger

Owner ID

hasPasswordboolean

Link has password

source'website' | 'api' | 'public' | 'spreadsheets' | 'slack' | 'telegram' | ''

Link source

pageType1 | 2

Special page type rendered at the short link: 1 = bundle, 2 = post. Absent for normal redirect links.

successboolean
duplicateboolean
duplicatedFromstring required

Original link's idString

Example response

{
  "originalURL": "https://example.com",
  "password": "s3cur3p@ssw0rd",
  "expiredURL": "https://example.com/expired",
  "utmSource": "cpc",
  "utmMedium": "banner",
  "utmCampaign": "summer_sale",
  "utmTerm": "running_shoes",
  "utmContent": "cta_button",
  "androidURL": "https://play.google.com/store/apps/details?id=com.example.app",
  "iphoneURL": "https://apps.apple.com/us/app/example-app/id1234567890",
  "clicksLimit": 100,
  "splitURL": "https://example.com/split",
  "splitPercent": 50,
  "shortURL": "https://short.gy/abc123",
  "secureShortURL": "https://short.gy/abc123",
  "path": "my-link",
  "displayPath": "My-Link",
  "FolderId": "abc123",
  "DomainId": 1,
  "OwnerId": 1,
  "source": "api",
  "pageType": 2,
  "User": {
    "id": 123,
    "name": "John Doe",
    "email": "a@example.com",
    "photoURL": "https://example.com/photo.jpg"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.