API reference

Every endpoint, parameter and response of the Link in Seconds API, with the OpenAPI document.

Base URL: https://linkinseconds.com/api/v1. All endpoints except /status need an API key. Request and response bodies are JSON. The full machine-readable description is the OpenAPI 3.1 document, which you can import into Postman, Insomnia or a code generator.

Endpoints#

MethodPathPurposeGuide
POST/uploadsStart an upload, get a signed PUT URLUpload a file
PUT{signedUrl}Send the file bytes to storageStep 2
POST/uploads/completeVerify, scan and publishStep 3
GET/linksList your linksList links
GET/links/{slug}/analyticsOne link's analytics report (Pro)Analytics
GET/analyticsAccount-wide analytics with top links (Pro)Analytics
GET/statusHealth check, no authBelow

Health check#

GET/api/v1/statusNo auth
200 OK
{ "status": "ok", "api": "Link in Seconds API", "version": "1.0.0" }

Conventions#

TopicRule
AuthenticationAuthorization: Bearer lis_… on every call except /status.
ErrorsJSON { error, code? }. See Errors and limits.
IdempotencySend the same idempotencyKey (a UUID) on /uploads and /uploads/complete.
CORSAllowed from any origin. Credentials (cookies) are never used.
VersioningThe version is in the path (/v1). Breaking changes would ship as /v2.
Dates and rangesAll timestamps are UTC ISO 8601. Analytics ranges (range=7d|14d|30d|90d|all) are whole UTC days.
CachingAnalytics responses are Cache-Control: no-store; call them when you need fresh numbers.

Discovery#

Tools that look for APIs automatically can start at the API catalog (RFC 9727), which points to the OpenAPI document, these docs and the status endpoint. See Agent discovery files.

Last updated 4 October 2026. Something unclear or missing? Tell us.