Référence API

Créez et gérez des liens courts par programmation. Chaque requête nécessite un jeton Bearer de l'écran des clés API de votre tableau de bord.

Authentification

Envoyez la clé comme jeton bearer à chaque requête.

URL de basehttps://urlvis.com

Créer un lien

Crée un nouveau lien court. La destination est analysée par le filtre anti-fraude au moment de la création — les écritures sont plus lentes qu'un raccourcisseur classique.

POST/api/linkslinks:write
curl -X POST https://urlvis.com/api/links \
  -H "Authorization: Bearer urlvis_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "destination": "https://example.com/campaign",
    "domainId": "<domain-uuid>",
    "slug": "spring",
    "expiresAt": "2026-12-31T23:59:00.000Z"
  }'

destination, domainId — required · slug, expiresAt — optional

Lister les liens

Renvoie tous les liens de votre compte.

GET/api/linkslinks:read
curl https://urlvis.com/api/links \
  -H "Authorization: Bearer urlvis_live_..."

Modifier la destination d'un lien

Met à jour où pointe un lien existant. Le lien court, son QR code et l'historique des clics restent identiques. La nouvelle destination passe par la même vérification de sécurité qu'un nouveau lien, donc peut renvoyer 422 blocked_by_filter.

PATCH/api/links/{id}links:write
curl -X PATCH https://urlvis.com/api/links/<link-id> \
  -H "Authorization: Bearer urlvis_live_..." \
  -H "Content-Type: application/json" \
  -d '{"destination": "https://example.com/new-target"}'

destination — required · utm — optional. The short link, its QR code and click history stay the same. The new destination runs through the same security scan as a new link, so this can return 422 blocked_by_filter.

Supprimer un lien

Supprime un lien de votre compte. Renvoie 204 en cas de succès, 404 si le lien n'existe pas.

DELETE/api/links/{id}links:write
curl -X DELETE https://urlvis.com/api/links/<link-id> \
  -H "Authorization: Bearer urlvis_live_..."

204 on success, 404 if no such link exists on your account.

Exporter les statistiques

Exporte les statistiques de clics en CSV. Filtrage optionnel par linkId. La durée de rétention dépend de votre forfait.

GET/api/analytics/export?linkId=links:read
curl "https://urlvis.com/api/analytics/export?linkId=<link-uuid>" \
  -H "Authorization: Bearer urlvis_live_..." \
  -o analytics.csv

Limites de débit

Chaque réponse indique votre quota restant. Les limites sont par clé, pas par adresse IP.

X-RateLimit-Limit: 60       # links:write
X-RateLimit-Limit: 600      # links:read
X-RateLimit-Remaining: 59
X-RateLimit-Reset: 42        # seconds
Retry-After: 42              # 429 only

Erreurs

Les erreurs sont renvoyées en JSON avec un champ error et le statut HTTP correspondant.

401 invalid_api_key      key unknown, revoked, or plan no longer includes API
403 insufficient_scope   key lacks the scope this endpoint needs
404 not_found            no such link on this account
422 blocked_by_filter    destination rejected by the fraud filter
402 link_quota           monthly plan quota exhausted
429 rate_limited         see Retry-After

Obtenir votre ID de domaine

L'endpoint POST /api/links nécessite un domainId. Il n'existe actuellement aucun endpoint API pour lister vos domaines — l'endpoint domains nécessite une session du tableau de bord. Pour obtenir votre ID de domaine :

  1. Ouvrez le tableau de bord et allez dans Domaines.
  2. Chaque carte de domaine affiche son ID avec un bouton de copie à côté — copiez-le depuis là.