← Voltar ao início

Documentação da API

Última atualização: Maio 2026 — API v1

API REST do Klyk para integração programática.


Documentação da API

Esta documentação descreve os principais recursos da API REST do Klyk para criação, listagem, atualização e análise de links, além de webhooks para automações externas.

Autenticação

Todas as requisições requerem API Key no header:

Authorization: Bearer klyk_live_abc123xyz

Gerar chave: Dashboard → Configurações → API → “Gerar nova chave”

Segurança:

  • Não compartilhe sua chave
  • Use variáveis de ambiente
  • Rotacione chaves periodicamente

Rate Limits

PlanoLimite
FREE100 req/hora
PRO1.000 req/hora
BUSINESS5.000 req/hora

Quando exceder: HTTP 429 (Too Many Requests)

Endpoints

POST

/api/v1/links

Cria um link curto

Request

{
  "url": "https://example.com/produto",
  "alias": "promo" (opcional),
  "utm_source": "instagram" (opcional),
  "utm_medium": "stories" (opcional),
  "utm_campaign": "black-friday" (opcional)
}

Response 201

{
  "id": "clk_123",
  "short_url": "klyk.app.br/promo",
  "destination": "https://example.com/produto?utm_source=instagram",
  "qr_code": "https://api.klyk.app.br/qr/clk_123",
  "created_at": "2026-05-01T12:00:00Z"
}

Erros

  • 400: URL inválida
  • 403: Limite do plano atingido
  • 409: Alias já existe
GET

/api/v1/links

Lista seus links

Query params

  • limit (1-100, padrão: 20)
  • offset (paginação)
  • status (active, inactive)

Response 200

{
  "links": [...],
  "total": 150,
  "limit": 20,
  "offset": 0
}
GET

/api/v1/links/:id/analytics

Analytics de um link

Query params

  • period (7d, 30d, 90d, all)

Response 200

{
  "total_clicks": 1234,
  "unique_clicks": 890,
  "by_country": {...},
  "by_device": {...},
  "by_source": {...}
}
PATCH

/api/v1/links/:id

Atualiza link

Request

{
  "destination": "https://new-url.com",
  "is_active": false
}
DELETE

/api/v1/links/:id

Deleta link (soft delete)

Response 204: No content

Webhooks

Configure em: Dashboard → Configurações → Webhooks

Eventos disponíveis:

  • link.created
  • link.clicked
  • link.updated
  • link.deleted

Payload exemplo:

{
  "event": "link.clicked",
  "timestamp": 1714569600,
  "data": {
    "link_id": "clk_123",
    "country": "BR",
    "device": "mobile",
    "source": "instagram"
  }
}

Verificação de assinatura: Header X-Klyk-Signature contém HMAC-SHA256 do payload usando seu secret.

SDKs

  • JavaScript/TypeScript
  • Python
  • PHP
  • Ruby

Em breve.

Suporte

  • Email: suporte@klyk.app.br
  • Discord: discord.gg/klyk (em breve)