10xDotIn Product Docs

Getting Started

Create your account, set up a handle, and publish your first link in under five minutes.

Getting Started

Go from zero to a live short link in under five minutes.

Key concepts

ConceptWhat it means
AccountYour login identity — one email, one account
HandleA namespace you own (e.g., acme). All your links, campaigns, files, and pages live under a handle
SlugThe short path after your handle (e.g., acme.10x.in/launch)
Public URLThe live link visitors see: https://{handle}.10x.in/{slug}

One account can own multiple handles (e.g., one for your brand, one for a side project). Each handle has its own links, analytics, and collaborators.

Set up your account

Dashboard

  1. Sign up

    Open https://app.10x.in and sign up with your email. Confirm the verification code sent to your inbox.

  2. Create a handle

    Pick a short, memorable name (e.g., acme). This becomes your subdomain: acme.10x.in.

  3. Create your first link

    Navigate to Links and click Create Link. Enter a destination URL and a slug (e.g., launch).

  4. Verify

    Open https://acme.10x.in/launch in an incognito window to confirm the redirect works.

API

Sign up

``bash Request curl -sS -X POST "https://ai.10x.in/v2/auth/signup" \ -H "Content-Type: application/json" \ -d '{"email": "you@example.com", "password": "your-password"}' ` `json Body { "email": "you@example.com", "password": "your-password" } ``

You will receive a verification code via email.

### Confirm signup

``bash Request curl -sS -X POST "https://ai.10x.in/v2/auth/signup/confirm" \ -H "Content-Type: application/json" \ -d '{"email": "you@example.com", "code": "123456"}' ` `json Body { "email": "you@example.com", "code": "123456" } ``

### Log in

``bash Request curl -sS -X POST "https://ai.10x.in/v2/auth/login" \ -H "Content-Type: application/json" \ -d '{"email": "you@example.com", "password": "your-password"}' ` `json Body { "email": "you@example.com", "password": "your-password" } ``

Returns an access token (JWT). Use it in subsequent requests:

`` Authorization: Bearer <access-token> ``

### Create a handle

``bash Request curl -sS -X POST "https://ai.10x.in/v2/handles" \ -H "Authorization: Bearer <access-token>" \ -H "Content-Type: application/json" \ -d '{"handle": "acme"}' ` `json Body { "handle": "acme" } ``

Returns 201 with the new handle details.

### Create your first link

``bash Request curl -sS -X PUT "https://ai.10x.in/v2/handles/acme/links/launch" \ -H "Authorization: Bearer <access-token>" \ -H "Content-Type: application/json" \ -d '{"destinationUrl": "https://example.com/launch", "title": "Product Launch"}' ` `json Body { "destinationUrl": "https://example.com/launch", "title": "Product Launch" } ``

Your link is now live at https://acme.10x.in/launch.

What you should have at the end

A confirmed account with a valid JWT At least one handle At least one live link that redirects to your destination

If anything fails, check Troubleshooting and Support or run through the Troubleshooting Decision Trees.

Common errors
CodeErrorCause
400invalid_handleHandle name does not match allowed format (lowercase alphanumeric, hyphens, 3-30 chars)
409conflictHandle name is already taken
401invalid_tokenJWT is malformed or expired — log in again
400invalid_destination_urlDestination URL is not a valid HTTP(S) URL

Next steps

Updated Jun 19, 2026