Links
Todos os endpoints exigem autenticação. URL base: https://api.revolink.link/apiv2.
Endpoints
| Método | URL | Permissão | Descrição |
|---|---|---|---|
GET | /apiv2/links | links:read | Listar links |
POST | /apiv2/links | links:write | Criar um link |
PUT | /apiv2/links | links:write | Criar ou atualizar por slug |
GET | /apiv2/links/{id} | links:read | Obter um link |
PATCH | /apiv2/links/{id} | links:write | Atualizar um link |
DELETE | /apiv2/links/{id} | links:delete | Excluir um link (permanente) |
POST | /apiv2/links/bulk | links:bulk | Criar até 100 links |
PATCH | /apiv2/links/bulk | links:bulk | Atualizar até 100 links |
DELETE | /apiv2/links/bulk | links:bulk | Excluir até 100 links |
Análises de cliques de um link: GET /apiv2/links/{id}/analytics.
Listar links
GET https://api.revolink.link/apiv2/links
| Parâmetro de consulta | Descrição |
|---|---|
page, limit | Página (padrão 1) e tamanho da página (padrão 50, máximo 200) |
search | Trecho do nome, slug ou descrição |
domain | Domínio curto. Vários separados por vírgula |
active | true ou false |
tagIds | IDs de tags separados por vírgula |
sortBy | name, description, shortLink, clicks, active ou createdAt (padrão) |
order | asc ou desc (padrão) |
rql | Um filtro na linguagem de consulta do Revolink, veja Filtros avançados |
curl "https://api.revolink.link/apiv2/links?search=sale&sortBy=clicks&order=desc" \
-H "Authorization: Bearer rvlnk_your_api_key_here" \
-H "X-Workspace-Id: your_workspace_id"
Criar um link
POST https://api.revolink.link/apiv2/links
Envie url para um link com um único destino, ou rules para roteamento inteligente (exatamente uma regra padrão). name é, por padrão, o host do destino, slug é gerado quando omitido, domain é, por padrão, rvlnk.link e pode ser um domínio verificado do espaço de trabalho.
curl -X POST https://api.revolink.link/apiv2/links \
-H "Authorization: Bearer rvlnk_your_api_key_here" \
-H "X-Workspace-Id: your_workspace_id" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/spring-sale",
"slug": "spring",
"expirationDate": "2026-12-31T23:59:59Z"
}'
Resposta 201 Created: { "data": { …o link… } }.
Roteamento inteligente
{
"name": "App download",
"rules": [
{ "isDefault": true, "targetUrl": "https://example.com/download" },
{ "isDefault": false, "targetUrl": "https://apps.apple.com/app/id1", "device": ["mobile"], "os": ["iOS"] }
]
}
Uma regra pode corresponder por country, region, city, device, os, browser, locale, timeStart e timeEnd (HH:MM, UTC) e daysOfWeek (0 = domingo). Uma regra também pode ter password.
Outros campos
description, active, tagIds, clicksLimit, expirationDate, expiredUrl, conversionTracking, gpsTracking, shareStats, abTest, ogTitle, ogDescription, appearanceColor, qrColor, qrBgColor, qrShowLogo. Os tipos e limites de cada campo estão na referência interativa.
Criar ou atualizar um link por slug
PUT https://api.revolink.link/apiv2/links
slug é obrigatório. Se existir um link com esse slug nesse domain, ele é atualizado (o slug e o domínio permanecem) e a API responde 200. Caso contrário, ele é criado e a API responde 201.
Atualizar um link
PATCH https://api.revolink.link/apiv2/links/{id}
Envie apenas o que muda.
urlsubstitui o destino da regra padrão.rules, quando enviadas, substituem todas as regras. Mantenha oidde cada regra que deseja manter: isso preserva as estatísticas dela.tagIdsé a lista completa de tags. Um array vazio remove todas as tags.
curl -X PATCH https://api.revolink.link/apiv2/links/LINK_ID \
-H "Authorization: Bearer rvlnk_your_api_key_here" \
-H "X-Workspace-Id: your_workspace_id" \
-H "Content-Type: application/json" \
-d '{ "active": false }'
Operações em massa
| Requisição | Corpo |
|---|---|
POST /apiv2/links/bulk | { "links": [ …objetos de link como na criação… ] } |
PATCH /apiv2/links/bulk | { "updates": [ { "id": "…", …campos a alterar… } ] } |
DELETE /apiv2/links/bulk | { "ids": [ "…", "…" ] } |
Cada requisição aceita de 1 a 100 itens. A resposta informa cada item separadamente, veja Erros e respostas.