UrlRedirect

Update Short Link

Changed on

Update only supplied fields. Explicit occupied paths return 422 without suffixing or changing other resources. Changing domains with an omitted path also checks the retained path on the target domain and returns 422 if it is occupied. Same-record paths remain valid. Historical paths remain redirects. Domain changes propagate asynchronously; full_url reports the persisted canonical address. Ownership is rechecked during propagation. A newly occupied destination leaves the old canonical URL intact; select a free current_path to resolve the collision.

patch/url_redirects/{id}

Request

Path parameters

idstring required

Request body

Example request

{
  "url_redirect": {
    "original_url": "https://example.com/offer",
    "current_path": "/launch",
    "domain_id": 7
  }
}

Response

OK

idinteger

Short link ID.

public_idstring

Public short link ID.

workspace_idinteger
domain_idinteger nullable

Configured custom domain override; null uses the workspace default domain.

namestring nullable

Short link name.

original_urlstring

Destination address.

second_urlstring nullable

Optional split destination.

split_percentageinteger nullable
pixel_codestring nullable

Pixel markup rendered before redirecting.

utm_sourcestring nullable

UTM source.

utm_mediumstring nullable

UTM medium.

utm_campaignstring nullable

UTM campaign.

utm_termstring nullable

UTM term.

utm_contentstring nullable

UTM content.

current_pathstring

Persisted normalized path.

full_urlstring uri nullable

Persisted canonical address. Domain changes propagate asynchronously.

redirect_type'temporary' | 'permanent'
created_atstring date-time
updated_atstring date-time

Example response

{
  "id": 42,
  "public_id": "aBcDef",
  "workspace_id": 123,
  "domain_id": 7,
  "name": "Launch",
  "original_url": "https://example.com/offer",
  "second_url": null,
  "split_percentage": null,
  "pixel_code": "",
  "utm_source": null,
  "utm_medium": null,
  "utm_campaign": null,
  "utm_term": null,
  "utm_content": null,
  "current_path": "/launch",
  "full_url": "https://go.example.com/launch",
  "redirect_type": "temporary",
  "created_at": "2026-10-05T12:00:00Z",
  "updated_at": "2026-10-05T12:00:00Z"
}

Changes