API overview
OptoLink runs one HTTP API. This section documents the parts you integrate against: Authentication, Rate limits & errors, the Link management API, and the Resolution API.
Base URL
API requests go to your OptoLink API host:
https://<your-optolink-host>
https://api.optolink.app is the intended public default host and is not live yet; point every client at your deployment host until it is.
Short links use a different host. They live on your link domain (the OptoLink default domain, or a custom domain once verified). The API host serves the key-authenticated routes plus /match; your link domain serves the browser- and OS-facing endpoints of the Resolution API: the redirect page, /data, and /.well-known/*. See Link anatomy for the short URL shape.
Access tiers
| Tier | Credential | Routes | Covered in |
|---|---|---|---|
| Portal | Your signed-in session | /portal/* | Authentication |
| Server | API key (opl_api_…) | /links CRUD and QR | Link management API |
| Mobile SDK | API key (opl_sdk_…) | /sdk/* session and identity routes | Authentication, SDK overview |
| Public | None | Link resolution, /match, /.well-known/* | Resolution API |
/match requires no key; it accepts your Mobile SDK key in an X-API-Key header as optional attribution.
Versioning
Paths carry no version segment, and the OpenAPI document reports version 1.0. The mobile and server SDKs require an OptoLink backend at v2.1.0 or newer; see the SDK quickstart.
The live OpenAPI document
This reference is maintained by hand against the backend. The API host also serves a machine-readable OpenAPI document:
- Swagger UI:
https://<your-optolink-host>/docs - OpenAPI JSON:
https://<your-optolink-host>/docs-json
The document covers the key-authenticated routes (/links, /match, /.well-known/*, /sdk/*, portal routes). The browser-facing redirect endpoints are left out deliberately: browsers and OS link routing hit them, not HTTP clients, and their contract is documented in the Resolution API.