Overview
The supported external contract for Shortnd is /api/v1.
The supported external contract is /api/v1.
Base URL & auth
All endpoints below are rooted at https://shortnd.com/api/v1.
Auth is two-step: exchange your long-lived key with
Authorization: ApiKey $SHORTND_API_KEY at
POST /api/v1/auth/token, then call
every other route with Authorization: Bearer $SHORTND_ACCESS_TOKEN
(15-minute JWT). Do not send the API key as a Bearer token.
Mint a key from the dashboard — see
Authentication → Mint an API key.
Examples use $SHORTND_ACCESS_TOKEN for copy-paste; production code should
read secrets from your secret store.
Use it for:
- API key exchange and rotation
- Custom domain management
- Programmatic URL creation with custom slugs
- Tenant-scoped analytics and usage pulls
- Webhook management
Do not build new integrations against legacy /api/** routes. Those routes remain internal and can use different auth assumptions.
API plans are sold as a standalone SKU — Free / Developer $49 / Scale $249 / Enterprise. See Pricing.
Try it
- Postman collection — import and explore every
/api/v1route - Mint from CI — exchange key → mint URL in GitHub Actions / shell (the Phase 3 distribution recipe)
Tenant model
Each API key belongs to exactly one organization.
acme.comandexample.ioshould live under the same customer organization when they are managed by the same tenant admin team.- Every public API read and write is scoped by
organizationIdfrom the exchanged bearer token. - Object IDs from another tenant return
404or403based on the route policy.
Workflow split
Use dashboard settings for:
- Custom domain onboarding and verification
- API key create, rotate, and revoke workflows
- Day-to-day tenant-scoped operational setup
Use the partner dashboard for:
- Billing and admin controls
- Governance and support review
- API key inventory, traffic review, and audit visibility
Use the public API for:
- Most end-user URL creation
- Custom slug assignment on approved domains
- Pulling traffic, error, and latency data into vendor systems
- Webhook automation
Rate limiting
Public API limits are centralized and Redis-backed.
- Token exchange:
10/min - Read endpoints:
120/min - Write endpoints:
60/min - Usage endpoints:
30/min
Every limited route returns:
X-RateLimit-LimitX-RateLimit-RemainingX-RateLimit-ResetRetry-Afteron429