Getting Started
Go from zero to a live short link in under five minutes.
Key concepts
| Concept | What it means |
|---|---|
| Account | Your login identity — one email, one account |
| Handle | A namespace you own (e.g., acme). All your links, campaigns, files, and pages live under a handle |
| Slug | The short path after your handle (e.g., acme.10x.in/launch) |
| Public URL | The 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
Sign up
Open
https://app.10x.inand sign up with your email. Confirm the verification code sent to your inbox.Create a handle
Pick a short, memorable name (e.g.,
acme). This becomes your subdomain:acme.10x.in.Create your first link
Navigate to Links and click Create Link. Enter a destination URL and a slug (e.g.,
launch).Verify
Open
https://acme.10x.in/launchin 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 destinationIf anything fails, check Troubleshooting and Support or run through the Troubleshooting Decision Trees.
Common errors
| Code | Error | Cause |
|---|---|---|
| 400 | invalid_handle | Handle name does not match allowed format (lowercase alphanumeric, hyphens, 3-30 chars) |
| 409 | conflict | Handle name is already taken |
| 401 | invalid_token | JWT is malformed or expired — log in again |
| 400 | invalid_destination_url | Destination URL is not a valid HTTP(S) URL |
Next steps
Updated Jun 19, 2026
