Upsert shortcut
Creates a shortcut at the given slug, or updates the existing one. Returns 201 when a new shortcut is created and 200 when an existing one is updated. The handle is taken verbatim as the slug — for symmetry with GET/PATCH/DELETE the segment is named {handle}, but PUT does not resolve UUID-shaped handles to a row’s ID. One guardrail: a UUID-shaped handle that collides with an existing shortcut’s id returns 400 validation_error (use PATCH /v1/shortcuts/{handle} to update by ID); UUID-shaped slugs that don’t collide are accepted as slugs.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The shortcut's slug.
Body
The desired state of the shortcut at this slug. tagIds and similar associations aren't accepted here — use POST /v1/shortcuts or PATCH /v1/shortcuts/{handle} for those.
The destination URL of the short link.
32000"https://google.com"
"mailto:hello@example.com"
"tel:+1234567890"
"notion://workspace/page"
Optional title for the shortcut
Optional description for the shortcut
Visibility level. Omit to keep the current value when updating an existing shortcut, or to default to WORKSPACE when creating a new one.
PRIVATE, WORKSPACE, UNLISTED Whether to mask the destination URL
The password required to access the destination URL of the shortcut.
1 - 256The date and time when the short link will expire at.
The iOS destination URL for the shortcut for iOS device targeting.
32000The Android destination URL for the shortcut for Android device targeting.
32000Geo targeting information for the short link in JSON format {[COUNTRY]: https://example.com }
The 8-character ID of an existing folder to assign the shortcut to. Defaults to the workspace's default folder when omitted.
^[0-9abcdefghjkmnpqrstvwxyz]{8}$"a1b2c3d4"
Response
The existing shortcut at this slug was updated.
A shortcut.
The shortcut's unique ID.
The shortcut slug.
Workspace-scoped short link. Open this URL to record a click and redirect to the destination.
"https://app.uselora.com/acme/short/handbook"
The destination URL of the short link.
PRIVATE, WORKSPACE, UNLISTED, PUBLIC Whether the short link is archived. Defaults to false if not provided.
Whether this shortcut requires a password before redirecting. The password hash is never returned.
The date and time when the short link will expire at.
The iOS destination URL for the shortcut for iOS device targeting.
The Android destination URL for the shortcut for Android device targeting.
Geo targeting information for the short link in JSON format {[COUNTRY]: https://example.com }
Dynamic placeholders parsed from the destination URL. Empty for static destinations. See docs/dynamic-placeholders.md.
The 8-character ID of the folder this shortcut belongs to.
^[0-9abcdefghjkmnpqrstvwxyz]{8}$"a1b2c3d4"
The unique IDs of the tags assigned to the shortcut.
^[0-9abcdefghjkmnpqrstvwxyz]{8}$The ID of the link in your database. If set, it can be used to identify the link in future API requests (the ext_ prefix is recommended on query parameters for visual disambiguation but the server accepts both prefixed and bare values). This key is unique across your workspace.
The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant.
The comments for the short link.
ID of the workspace the shortcut belongs to.
ID of the user who created the shortcut.
ISO 8601 creation timestamp.
ISO 8601 timestamp of the last update.