Scoped keys
Create one key per integration and revoke it without touching the rest.
PerfectLink is built for smarter links Take a look →
A small, predictable REST API for creating and managing links from your own applications.
Every request carries a bearer token. Keys are created in the dashboard, scoped to one account, and can be revoked without affecting the others.
# Send the key as a bearer token
Authorization: Bearer pl_live_3f9a…
# Keys are shown once at creation and
# stored only as a hash on our side.
POST a destination and get the short URL back. Aliases are optional; leave it out and a code is generated for you.
curl -X POST https://perfectlink.com/api/v1/links \
-H "Authorization: Bearer pl_live_key" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com","alias":"launch"}'
Everything in version one of the API.
/api/v1/linksCreate a short link/api/v1/linksList your links/api/v1/links/{id}Fetch one link/api/v1/links/{id}/analyticsClick breakdown for a link/api/v1/links/{id}Delete a linkRate limits are applied per key and returned in the response headers.
Create one key per integration and revoke it without touching the rest.
Documented per-key limits, with a Retry-After header when you hit one.
Failures explain what was wrong with the request, not just a status code.
The same breakdown the dashboard shows, as JSON.