Aller au contenu

Pages et liens d'une page

Toutes les routes des pages et de leurs liens, avec pour chacune un exemple de requête et la réponse rendue. Une page se désigne par son identifiant ou par son adresse personnalisée (slug).

Lister les pages

GET/v1/pages

Les pages de l'environnement, de la plus récente à la plus ancienne. Portée Lecture.

  • ?search= — cherche dans le nom, l'adresse personnalisée et l'identifiant
  • ?tag= — identifiant d'un tag : seules les pages qui le portent
  • ?page= et ?per_page= — pagination, 50 par page par défaut, 100 au plus
curl "https://api.tinylink.fr/v1/pages?per_page=2" \
  -H "Authorization: Bearer tl_votre_jeton"

Réponses possibles

{
  "data": [
    {
      "id": "P6ac40109381964",
      "type": "page",
      "name": "Ma page",
      "description": "Tous mes liens au même endroit.",
      "slug": "ma-page",
      "url": "https://tnylnk.fr/ma-page",
      "status": "active",
      "password_protected": false,
      "restricted": false,
      "tags": [],
      "qr_code": null,
      "created_at": "2026-10-05T21:56:57+02:00",
      "edit_url": "https://app.tinylink.fr/page-edit?id=P6ac40109381964"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 2,
    "total": 1,
    "total_pages": 1
  }
}

Créer une page

POST/v1/pages

name est obligatoire. La réponse est la page créée, avec ses liens. Portée Écriture.

  • name — le nom de la page, 100 caractères au plus
  • description — 2 000 caractères au plus
  • slug — l'adresse personnalisée : lettres, chiffres, -, _ et ., 40 caractères au plus
  • password — protège la page par un mot de passe
  • tags — liste d'identifiants de tags de l'environnement
  • qr_code — true pour le QR code classique, ou l'identifiant d'un modèle
  • links — liens à ajouter d'un coup (100 au plus), décrits comme dans « Ajouter un lien »
curl -X POST https://api.tinylink.fr/v1/pages \
  -H "Authorization: Bearer tl_votre_jeton" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Ma page",
    "slug": "ma-page",
    "links": [
      {
        "title": "Mon site",
        "url": "https://exemple.fr"
      },
      {
        "title": "Contact",
        "url": "bonjour@exemple.fr"
      }
    ]
  }'

Réponses possibles

{
  "id": "P6ac40109381964",
  "type": "page",
  "name": "Ma page",
  "description": "",
  "slug": "ma-page",
  "url": "https://tnylnk.fr/ma-page",
  "status": "active",
  "password_protected": false,
  "restricted": false,
  "tags": [],
  "qr_code": null,
  "created_at": "2026-10-05T21:56:57+02:00",
  "edit_url": "https://app.tinylink.fr/page-edit?id=P6ac40109381964",
  "links": [
    {
      "id": "L6ac4011edb7c6",
      "title": "Mon site",
      "description": "",
      "url": "https://exemple.fr",
      "type": "url",
      "format": "LIST",
      "size": "FULL",
      "visible": true,
      "archived": false,
      "position": 1,
      "status": "active",
      "image": null,
      "created_at": "2026-10-05T21:57:18+02:00"
    },
    {
      "id": "L6ac4011ee9fab",
      "title": "Contact",
      "description": "",
      "url": "bonjour@exemple.fr",
      "type": "email",
      "format": "LIST",
      "size": "FULL",
      "visible": true,
      "archived": false,
      "position": 2,
      "status": "active",
      "image": null,
      "created_at": "2026-10-05T21:57:18+02:00"
    }
  ]
}

Lire une page

GET/v1/pages/{id}

La page et ses liens, dans l'ordre d'affichage ; les liens archivés viennent en dernier. Portée Lecture.

curl https://api.tinylink.fr/v1/pages/ma-page \
  -H "Authorization: Bearer tl_votre_jeton"

Réponses possibles

{
  "id": "P6ac40109381964",
  "type": "page",
  "name": "Ma page",
  "description": "Tous mes liens au même endroit.",
  "slug": "ma-page",
  "url": "https://tnylnk.fr/ma-page",
  "status": "active",
  "password_protected": false,
  "restricted": false,
  "tags": [],
  "qr_code": null,
  "created_at": "2026-10-05T21:56:57+02:00",
  "edit_url": "https://app.tinylink.fr/page-edit?id=P6ac40109381964",
  "links": [
    {
      "id": "L6ac4011edb7c6",
      "title": "Mon site",
      "description": "",
      "url": "https://exemple.fr",
      "type": "url",
      "format": "LIST",
      "size": "FULL",
      "visible": true,
      "archived": false,
      "position": 1,
      "status": "active",
      "image": null,
      "created_at": "2026-10-05T21:57:18+02:00"
    },
    {
      "id": "L6ac4011ee9fab",
      "title": "Contact",
      "description": "",
      "url": "bonjour@exemple.fr",
      "type": "email",
      "format": "LIST",
      "size": "FULL",
      "visible": true,
      "archived": false,
      "position": 2,
      "status": "active",
      "image": null,
      "created_at": "2026-10-05T21:57:18+02:00"
    }
  ]
}

Modifier une page

PATCH/v1/pages/{id}

N'envoyez que les champs à changer : name, description, slug, password. null retire l'adresse personnalisée ou le mot de passe. La réponse est la page à jour. Portée Écriture.

curl -X PATCH https://api.tinylink.fr/v1/pages/P6ac40109381964 \
  -H "Authorization: Bearer tl_votre_jeton" \
  -H "Content-Type: application/json" \
  -d '{
    "description": "Tous mes liens au même endroit.",
    "password": null
  }'

Réponses possibles

{
  "id": "P6ac40109381964",
  "type": "page",
  "name": "Ma page",
  "description": "Tous mes liens au même endroit.",
  "slug": "ma-page",
  "url": "https://tnylnk.fr/ma-page",
  "status": "active",
  "password_protected": false,
  "restricted": false,
  "tags": [],
  "qr_code": null,
  "created_at": "2026-10-05T21:56:57+02:00",
  "edit_url": "https://app.tinylink.fr/page-edit?id=P6ac40109381964",
  "links": [
    {
      "id": "L6ac4011edb7c6",
      "title": "Mon site",
      "description": "",
      "url": "https://exemple.fr",
      "type": "url",
      "format": "LIST",
      "size": "FULL",
      "visible": true,
      "archived": false,
      "position": 1,
      "status": "active",
      "image": null,
      "created_at": "2026-10-05T21:57:18+02:00"
    },
    {
      "id": "L6ac4011ee9fab",
      "title": "Contact",
      "description": "",
      "url": "bonjour@exemple.fr",
      "type": "email",
      "format": "LIST",
      "size": "FULL",
      "visible": true,
      "archived": false,
      "position": 2,
      "status": "active",
      "image": null,
      "created_at": "2026-10-05T21:57:18+02:00"
    }
  ]
}

Supprimer une page

DELETE/v1/pages/{id}

Supprime la page, ses liens et ses statistiques. Irréversible. Portée Suppression.

curl -X DELETE https://api.tinylink.fr/v1/pages/P6ac40109381964 \
  -H "Authorization: Bearer tl_votre_jeton"

Réponses possibles

Sans contenu

Lister les liens d'une page

GET/v1/pages/{id}/links

Les liens de la page, dans l'ordre d'affichage. type vaut url, email, tel ou title ; status vaut active, pending_review ou blocked. Portée Lecture.

curl https://api.tinylink.fr/v1/pages/P6ac40109381964/links \
  -H "Authorization: Bearer tl_votre_jeton"

Réponses possibles

{
  "data": [
    {
      "id": "L6ac4011edb7c6",
      "title": "Mon site",
      "description": "",
      "url": "https://exemple.fr",
      "type": "url",
      "format": "LIST",
      "size": "FULL",
      "visible": true,
      "archived": false,
      "position": 1,
      "status": "active",
      "image": null,
      "created_at": "2026-10-05T21:57:18+02:00"
    },
    {
      "id": "L6ac4011eeb074",
      "title": "Mes réseaux",
      "description": "",
      "url": null,
      "type": "title",
      "format": "TITLE",
      "size": "FULL",
      "visible": true,
      "archived": false,
      "position": 2,
      "status": "active",
      "image": null,
      "created_at": "2026-10-05T21:57:18+02:00"
    }
  ]
}

Ajouter un lien

POST/v1/pages/{id}/links

Ajoute un lien en bas de la page, ou plusieurs avec {"links": [ … ]} (100 au plus) : la réponse est alors {"data": [ … ]}. Les plafonds de liens de votre offre s'appliquent comme dans l'application. Portée Écriture.

  • title — obligatoire, sauf pour le format SOCIAL ; 100 caractères au plus
  • url — une adresse web, un e-mail ou un téléphone, avec ou sans mailto: / tel: ; inutile pour un TITLE
  • description — 1 000 caractères au plus
  • format — LIST (par défaut), BANNER, SQUARE, SOCIAL, ou TITLE pour un titre de section
  • size — FULL (par défaut) ou HALF, pour LIST, BANNER et SQUARE
  • visible — false pour l'ajouter masqué
  • position — rang dans la page, 1 = en haut
curl -X POST https://api.tinylink.fr/v1/pages/P6ac40109381964/links \
  -H "Authorization: Bearer tl_votre_jeton" \
  -H "Content-Type: application/json" \
  -d '{"title":"Mon site","url":"https://exemple.fr"}'

Réponses possibles

{
  "id": "L6ac4011edb7c6",
  "title": "Mon site",
  "description": "",
  "url": "https://exemple.fr",
  "type": "url",
  "format": "LIST",
  "size": "FULL",
  "visible": true,
  "archived": false,
  "position": 1,
  "status": "active",
  "image": null,
  "created_at": "2026-10-05T21:57:18+02:00"
}

Lire un lien

GET/v1/pages/{id}/links/{lien}

Un seul lien de la page, par son identifiant. Portée Lecture.

curl https://api.tinylink.fr/v1/pages/P6ac40109381964/links/L6ac4011edb7c6 \
  -H "Authorization: Bearer tl_votre_jeton"

Réponses possibles

{
  "id": "L6ac4011edb7c6",
  "title": "Mon site",
  "description": "",
  "url": "https://exemple.fr",
  "type": "url",
  "format": "LIST",
  "size": "FULL",
  "visible": true,
  "archived": false,
  "position": 1,
  "status": "active",
  "image": null,
  "created_at": "2026-10-05T21:57:18+02:00"
}

Modifier un lien

PATCH/v1/pages/{id}/links/{lien}

N'envoyez que les champs à changer : title, description, url, format, size, visible (masquer ou afficher), archived (archiver ou désarchiver) et position (déplacer). Un composant ou un bloc d'intégration ne peut qu'être masqué, archivé ou déplacé. Portée Écriture.

curl -X PATCH https://api.tinylink.fr/v1/pages/P6ac40109381964/links/L6ac4011edb7c6 \
  -H "Authorization: Bearer tl_votre_jeton" \
  -H "Content-Type: application/json" \
  -d '{"title":"Mon site web","position":2,"visible":false}'

Réponses possibles

{
  "id": "L6ac4011edb7c6",
  "title": "Mon site web",
  "description": "",
  "url": "https://exemple.fr",
  "type": "url",
  "format": "LIST",
  "size": "FULL",
  "visible": false,
  "archived": false,
  "position": 2,
  "status": "active",
  "image": null,
  "created_at": "2026-10-05T21:57:18+02:00"
}

Supprimer un lien

DELETE/v1/pages/{id}/links/{lien}

Supprime le lien, son image et ses statistiques, puis renumérote les suivants. Portée Suppression.

curl -X DELETE https://api.tinylink.fr/v1/pages/P6ac40109381964/links/L6ac4011edb7c6 \
  -H "Authorization: Bearer tl_votre_jeton"

Réponses possibles

Sans contenu

Vous ne trouvez pas votre réponse ?

Écrivez-nous depuis l'onglet Support de votre espace, nous répondons sous 24 h ouvrées.

Contacter le support