Developer API
Two public JSON endpoints, no API key and no account. Every link you create over the API behaves exactly like one created in the UI — including password and security modes.
POST
/api/public/v1/linksCreates a short link. Returns 201 with the slug, the full short_url and a manage_token — store the token, it is the only way to repoint the link later.
Request
curl -X POST https://trysolara.art/api/public/v1/links \
-H "Content-Type: application/json" \
-d '{"destination":"https://example.com/a/very/long/path","mode":"normal"}'PATCH
/api/public/v1/links/{slug}/destinationRepoints an existing link to a new destination. Send the manage_token in the body or as an x-manage-token header. POST and PUT work identically.
Request
curl -X PATCH https://trysolara.art/api/public/v1/links/your-slug/destination \
-H "Content-Type: application/json" \
-d '{"manage_token":"","destination":"https://example.com/new-target"}'Errors
Errors always return { error, message } with a matching HTTP status.
400 invalid_url— destination is not an absolute http(s) URL.400 invalid_slug— slug must be 3–32 characters of a–z, 0–9, - and _.400 password_required— modepasswordneeds a password of 3+ characters.401 unauthorized— wrong manage token.404 not_found— no link with that slug.409 slug_taken— the custom slug is already in use.