Defina uma data de validade para seus links
Faça um link curto da CodeQR parar de funcionar numa data e escolha para onde vão os atrasados — com a regra de fuso e o que aparece depois.

Um link com validade para de levar ao destino no momento que você escolher — bom para uma inscrição que fecha, um preço que muda ou um documento que não deve circular para sempre. Você também decide para onde vão os atrasados.
Disponibilidade
- Plano: Starter ou superior.
- Onde: Data de validade no construtor de links, abaixo da divisória Opcional. Os mesmos campos aparecem ao editar um link existente.
Antes de começar
- A data e a hora que você digita são lidas no fuso do seu computador, não no do visitante e não numa configuração do workspace. Se o público está em outro país, converta o momento antes de digitar.
- Decida o que acontece depois da data: com uma URL de Expiração, o visitante é encaminhado para lá; sem ela, aparece uma página da CodeQR avisando que o link expirou.
- Visitas depois do vencimento não contam como clique, então seus relatórios continuam mostrando o que aconteceu enquanto o link estava no ar.
Passos
- Abra o construtor de links e ligue Data de validade.
- Escolha data e hora no campo de calendário. Datas passadas são recusadas.
- Opcional, mas recomendado: preencha a URL de Expiração com a página que os atrasados devem ver — a campanha nova, o próximo evento ou a sua home.
- Salve o link.

O que o visitante vê depois
Com uma URL de Expiração, o link curto encaminha para aquele endereço. Nada avisa que expirou; a pessoa cai na página que você escolheu — por isso vale apontar para algo que explique a situação.
Sem ela, o link curto responde no próprio endereço com a página de expirado da CodeQR:

Essa página aparece em inglês para todo mundo, em qualquer idioma. Se o seu público lê português, aponte uma URL de Expiração para uma página sua.
Links que já foram impressos
Data de validade combina mal com material impresso. Um cartaz, um cardápio ou um cartão de visita não são reimpressos porque uma data passou, e um código que não leva a lugar nenhum custa a visita.
Prefira uma destas saídas:
- Trocar o destino em vez de expirar o link. O endereço continua valendo e a campanha segue em frente. É exatamente por isso que o destino é editável.
- Usar a URL de Expiração quando o corte precisa mesmo existir, para que o código impresso ainda leve a algum lugar sensato.
- Mandar visitantes diferentes a páginas diferentes com Regras inteligentes, quando a diferença é país ou dispositivo, e não tempo.
Faça o mesmo pela API
Envie expiresAt em ISO-8601 e expiredUrl junto:
curl -X POST https://api.codeqr.io/links \
-H "Authorization: Bearer codeqr_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/inscricao",
"domain": "go.example.com",
"key": "inscricao-agosto",
"expiresAt": "2026-08-31T23:59:00Z",
"expiredUrl": "https://example.com/inscricoes-encerradas"
}'expiresAt é guardado como um instante absoluto — o Z acima quer dizer UTC, e qualquer fuso funciona. Enviar expiredUrl sem expiresAt é aceito e não faz nada, então mande sempre os dois.
Para expirar um link que já existe, faça um PUT desses dois campos em https://api.codeqr.io/links/<linkId>. Para reativar, coloque expiresAt como null.
Verifique se funcionou
Antes da data, o link curto leva ao destino:
curl -sSI https://go.example.com/inscricao-agosto
HTTP/2 302 location: https://example.com/inscricao
Depois dela, com URL de Expiração:
HTTP/2 302 location: https://example.com/inscricoes-encerradas
E sem ela, a página de expirado responde no próprio link curto:
HTTP/2 200
A mudança vale na visita seguinte — não há cache para esperar.
Solução de problemas
O link expirou horas antes ou depois do que eu esperava
O campo usa o relógio do seu computador. Um horário digitado numa mesa em São Paulo é aquele instante em São Paulo, e quem está em Lisboa alcança o link quatro horas mais tarde no próprio dia. Reabra o link e leia a data: ela aparece no fuso de quem está olhando.
The expiration date must be in the future.
O momento digitado já passou — em geral porque a data foi definida semanas atrás e o link está sendo editado agora. Escolha uma data nova, ou desligue a chave para tirar a validade.
O link continua funcionando depois da data
Confira se a alteração foi salva e recarregue em vez de reaproveitar uma aba aberta: um navegador que já seguiu o link pode ter guardado o redirecionamento. A checagem com curl acima passa por fora desse cache.
Os visitantes veem uma página em inglês
É a página de expirado embutida. Aponte uma URL de Expiração para uma página sua e você controla o idioma e a mensagem.
As visitas depois do vencimento não aparecem no relatório
Elas não são contadas: um link expirado nunca registra clique. O que você vê são as visitas que chegaram enquanto ele estava no ar.