Send a URL, optionally a name and a timer, and get a shortcode back with its departure time. Everything else in the API is reading or ending what you made.
curl -X POST https://shor10.co/api/links \
-H "Authorization: Bearer sk_live_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"originalUrl":"https://example.com/very/long/path","alias":"spring-sale","ttl":"7d"}'{
"shortcode": "spring-sale",
"url": "https://shor10.co/spring-sale",
"expiresAt": "2026-08-03T09:00:00Z",
"state": "live"
}Same as the dashboard delete: the shortcode stops resolving immediately. History is archived; only the owning account (session or Bearer key) can delete.
curl -X DELETE https://shor10.co/api/links/<id> \ -H "Authorization: Bearer sk_live_xxxxxxxxxxxx"
Create a key under Settings → API keys, then send Authorization: Bearer sk_live_… on GET/POST /api/links and DELETE /api/links/:id.