API
Crie e gira links curtos a partir do seu próprio código. A API faz parte do plano Pro.
Autenticação
Crie uma chave na página da sua conta e envie-a no cabeçalho Authorization de cada pedido. Mantenha a chave secreta: quem a tiver pode gerir os seus links.
Authorization: Bearer skr_…
Endpoints
| POST | /api/v1/links | Criar um link |
| GET | /api/v1/links | Listar os seus links (limit, offset) |
| GET | /api/v1/links/{slug} | Obter um link |
| PATCH | /api/v1/links/{slug} | Alterar a validade ou o limite de aberturas |
| DELETE | /api/v1/links/{slug} | Eliminar um link |
| GET | /api/v1/links/{slug}/stats | Totais diários e principais países, dispositivos, navegadores e origens (days = 1–365) |
Criar um link
curl -X POST https://skr.me/api/v1/links \
-H "Authorization: Bearer $SKR_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/page?utm_source=news", "slug": "launch", "expires": "never"}'
Envie JSON ou dados de formulário. Só url é obrigatório.
| url | O endereço de destino (http ou https). |
| slug | Endereço personalizado opcional, com pelo menos 4 caracteres. |
| password | Palavra-passe opcional que os visitantes têm de introduzir. |
| expires | 1h, 1d, 7d, 14d, 30d, 60d, 90d ou never (predefinido). |
| max_clicks | Número opcional de aberturas após o qual o link deixa de funcionar. |
| clean | Remove os parâmetros de rastreio do destino. Predefinição: true. |
Resposta
HTTP/1.1 201 Created
{
"link": {
"slug": "launch",
"short_url": "https://skr.me/launch",
"target_url": "https://example.com/page",
"status": "ok",
"custom": true,
"password_protected": false,
"clicks": 0,
"max_clicks": null,
"created_at": "2026-09-26T12:00:00+00:00",
"expires_at": null
},
"removed_parameters": ["utm_source"]
}
Estatísticas
curl https://skr.me/api/v1/links/launch/stats?days=30 \
-H "Authorization: Bearer $SKR_KEY"
As estatísticas são os mesmos agregados diários que vê no painel. Nunca contêm informação sobre visitantes individuais.
Erros
Os erros usam códigos de estado HTTP padrão (400, 401, 403, 404, 422, 429) e um corpo JSON com um código legível por máquina.
{ "error": { "code": "invalid_slug", "field": "slug", "message": "This address is already taken." } }
Limites
Cada chave pode fazer 1000 pedidos por dia. Cada resposta inclui os cabeçalhos X-RateLimit-Limit e X-RateLimit-Remaining.