10xDotIn Product Docs

Short Links

Create, manage, and organize branded short links — the core building block of 10x.

Short Links (Slugs) and Redirects

Create branded short URLs that redirect visitors to any destination — and update them any time without changing the link you already shared.

Key concepts

ConceptWhat it means
SlugThe path after your handle in the URL. Must be 4-24 characters, alphanumeric with hyphens and underscores (^[A-Za-z0-9_-]{4,24}$)
Destination URLWhere the visitor lands after clicking. Must be a valid HTTP(S) URL
Redirect type302 (temporary, default) or 307 (temporary, preserves HTTP method). Use 302 for most cases
EnabledA boolean toggle. Disabled links return 404
  1. Create

    Set a slug, destination URL, and optional metadata (title, tags, description).

  2. Share

    Distribute the public URL anywhere: email, social media, print.

  3. Update

    Change the destination, title, or metadata at any time. The short URL stays the same.

  4. Disable or delete

    Set enabled: false to temporarily stop redirects (returns 404), or delete the link permanently.

Dashboard

  1. Open your handle

    Go to https://app.10x.in and navigate to your handle's Links section.

  2. Create or edit

    Click Create Link to add a new link, or click an existing link to edit it.

  3. Configure

    Set the destination URL, slug, and optional fields (title, tags, categories, description).

  4. Save and test

    Save the link. It is immediately live. Test by visiting https://{handle}.10x.in/{slug} in an incognito window.

API

This is an upsert — if the slug does not exist, it creates the link; if it does, it updates it.

``bash Request curl -sS -X PUT "https://ai.10x.in/v2/handles/{handle}/links/{slug}" \ -H "Authorization: Bearer <access-token>" \ -H "Content-Type: application/json" \ -d '{"destinationUrl": "https://example.com/product", "title": "Product Page", "tags": ["product", "q2"], "categories": ["marketing"], "enabled": true}' ` `json Body { "destinationUrl": "https://example.com/product", "title": "Product Page", "tags": ["product", "q2"], "categories": ["marketing"], "enabled": true } ``

Returns 200 with the full link object.

### List all links

``bash curl -sS "https://ai.10x.in/v2/handles/{handle}/links" \ -H "Authorization: Bearer <access-token>" ``

Returns all links for the handle, sorted by creation date (newest first). Supports pagination.

### Get a single link

``bash curl -sS "https://ai.10x.in/v2/handles/{handle}/links/{slug}" \ -H "Authorization: Bearer <access-token>" ``

Returns the full link object including metadata, routing rules, tracking policy, and version history.

### Delete a link

``bash curl -sS -X DELETE "https://ai.10x.in/v2/handles/{handle}/links/{slug}" \ -H "Authorization: Bearer <access-token>" ``

### PAT endpoints

The same operations are available via PAT at /v2/public/handles/{handle}/links and /v2/public/handles/{handle}/links/{slug}. Requires links.read or links.write scope.

Required auth

Auth modeUse case
CREATOR-level JWT or aboveControl-plane link management
PAT with links.read or links.writeAutomation on /v2/public/handles/{handle}/* routes
NoneVisitors clicking links
Common errors
CodeErrorCause
400invalid_slugSlug does not match ^[A-Za-z0-9_-]{4,24}$
400invalid_destination_urlURL is not a valid HTTP(S) URL or is on the blocked domain list
404not_foundLink does not exist
409conflictSlug already exists (only on strict-create flows)
403insufficient_roleCaller does not have CREATOR or higher role on this handle

Next steps

Updated Jun 19, 2026