API documentation
The URLY REST API lets you create and manage links programmatically.
Authentication
Create a key in the dashboard's “API keys” section and send it in the Authorization: Bearer header.
curl -s https://urly.uz/api/v1/links \
-H "Authorization: Bearer urly_xxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"destination_url":"https://example.uz/sale","slug":"kuz2026"}'
Endpoints
| Method | Path | Scope | Purpose |
|---|---|---|---|
GET | /api/v1/plans | — | Public list of plans |
GET | /api/v1/links | links:read | List links (search and pagination) |
POST | /api/v1/links | links:write | Create a link |
GET | /api/v1/links/{id} | links:read | Get a link |
PATCH | /api/v1/links/{id} | links:write | Update a link |
DELETE | /api/v1/links/{id} | links:write | Delete a link |
Errors
Every error comes with a stable code (for example SLUG_TAKEN) and a message in the chosen language.
{"error":{"code":"SLUG_TAKEN","message":"…","request_id":"0192…"}}
Limits
The number of requests depends on the plan. Above the limit the API answers 429 with a Retry-After header.