Skip to main content
PATCH
/
v1
/
shortcuts
/
{slug}
Update shortcut
curl --request PATCH \
  --url https://api.uselora.com/v1/shortcuts/{slug} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "slug": "<string>",
  "destination": "<string>",
  "title": "<string>",
  "description": "<string>",
  "masked": true,
  "password": "<string>",
  "expiresAt": "2023-11-07T05:31:56Z",
  "ios": "<string>",
  "android": "<string>",
  "geo": {},
  "folderId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "tagIds": [
    "<string>"
  ],
  "comments": "<string>",
  "proxy": true
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "slug": "<string>",
  "destination": "<string>",
  "title": "<string>",
  "description": "<string>",
  "icon": "<string>",
  "image": "<string>",
  "video": "<string>",
  "archived": true,
  "masked": true,
  "passwordProtected": true,
  "expiresAt": "<string>",
  "ios": "<string>",
  "android": "<string>",
  "geo": {},
  "placeholders": [
    {
      "name": "<string>",
      "default": "<string>"
    }
  ],
  "folderId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "tagIds": [],
  "externalId": "<string>",
  "tenantId": "<string>",
  "comments": "<string>",
  "workspaceId": "<string>",
  "userId": "<string>",
  "createdAt": "<string>",
  "updatedAt": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://uselora.dev/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

slug
string
required

The shortcut's current slug.

Body

application/json

Partial shortcut update — all fields optional (PATCH semantics).

slug
string

New unique short path. Omit to keep the existing slug.

Required string length: 1 - 50
Pattern: ^[a-z0-9]([a-z0-9-_]*[a-z0-9])?$
Example:

"handbook"

destination
string

New destination URL. Same scheme rules as create (no javascript:/data:/file:).

Maximum string length: 32000
Example:

"https://example.com/new-target"

title
string | null

New title. Pass null to clear.

description
string | null

New description. Pass null to clear.

visibility
enum<string>

New visibility level. One of PRIVATE, WORKSPACE, or UNLISTED.

Available options:
PRIVATE,
WORKSPACE,
UNLISTED
masked
boolean
password

Optional shortcut password. Plaintext is accepted only on write; responses expose passwordProtected instead.

Required string length: 1 - 256
expiresAt
string<date-time> | null

Expiration timestamp (ISO 8601). Pass null to clear.

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
ios

Optional iOS-only destination rule. Pass null (or empty string) to clear.

Maximum string length: 32000
android

Optional Android-only destination rule. Pass null (or empty string) to clear.

Maximum string length: 32000
geo
Geo · object

Country-specific destination overrides. Pass null or {} to clear all geo-targeting rules.

folderId
string<uuid>

Move the shortcut to a different folder. The caller must have access to the target folder.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$
tagIds
string[]

Replace the tag set. Pass the full set you want — existing tags not in this list are removed. Omit to leave tags untouched. Pass [] to clear all tags.

Maximum array length: 50
Pattern: ^[0-9abcdefghjkmnpqrstvwxyz]{8}$
Example:
["a1b2c3d4"]
comments
string | null

Internal comments — not shown to public visitors.

proxy
boolean

Response

The updated shortcut.

A shortcut.

id
string<uuid>
required

Unique shortcut ID.

slug
string
required
destination
string
required
title
string | null
required
description
string | null
required
icon
string | null
required
image
string | null
required
video
string | null
required
visibility
enum<string>
required
Available options:
PRIVATE,
WORKSPACE,
UNLISTED,
PUBLIC
archived
boolean
required
masked
boolean
required
passwordProtected
boolean
required

Whether this shortcut requires a password before redirecting. The password hash is never returned.

expiresAt
string | null
required
ios
string | null
required
android
string | null
required
geo
Geo · object
required

Country-specific destination overrides keyed by ISO-3166-1 alpha-2 country code.

placeholders
PlaceholderDescriptor · object[]
required

Dynamic placeholders parsed from the destination URL. Empty for static destinations. See docs/dynamic-placeholders.md.

folderId
string<uuid>
required

ID of the folder this shortcut is filed in. Defaults to the workspace's default folder when omitted on create.

tagIds
string[]
required

IDs of the tags applied to this shortcut. Tags are for categorization; folderId is the shortcut's location.

Pattern: ^[0-9abcdefghjkmnpqrstvwxyz]{8}$
Example:
["a1b2c3d4"]
externalId
string | null
required
tenantId
string | null
required
comments
string | null
required
workspaceId
string
required

ID of the workspace the shortcut belongs to.

userId
string
required

ID of the user who created the shortcut.

createdAt
string
required

ISO 8601 creation timestamp.

updatedAt
string
required

ISO 8601 timestamp of the last update.