---
title: "API REST · Documentation Leiho"
description: "Tous les endpoints de Leiho."
url: https://leiho.dev/fr/docs/rest-api
lang: fr
updated: 2026-11-04
---
Référence

# API REST

Tous les endpoints de Leiho.

Toutes les routes se trouvent sous `/wp-json/leiho/v1/`. Les routes d’édition vérifient un nonce et les capacités de l’utilisateur ; les routes de contenu ne servent que le contenu publié.

## Contenu

| Endpoint | Renvoie |
| --- | --- |
| `GET /wp-json/leiho/v1/export` | Tous les éléments publiés des types de contenu Leiho, en une seule réponse. Mis en cache jusqu’au prochain changement, avec un `ETag` (un build sans changement reçoit un `304`). |
| `GET /wp-json/leiho/v1/content?type=&path=&slug=` | Une liste filtrée et paginée. |
| `GET /wp-json/leiho/v1/content/{id}` | Un élément (brouillons compris pour les éditeurs connectés). |
| `GET /wp-json/leiho/v1/types` | Les déclarations TypeScript de ce JSON exact, générées à partir de vos groupes de champs ACF. |
| `GET /wp-json/leiho/v1/llms.txt` | Le llms.txt du site : `?full=1` ajoute le texte de chaque entrée, `?md=1` lie les `page.md`, `?locale=fr` dans une langue. Voir [SEO et recherche IA](https://leiho.dev/fr/docs/seo-and-ai-search). |
| `GET /wp-json/leiho/v1/markdown?path=` | Une entrée en Markdown, avec un en-tête `Link` canonique. |

## Collections (administrateurs)

| Endpoint (administrateurs) |  |
| --- | --- |
| `GET /wp-json/leiho/v1/collections` | Schéma et état des tables (colonnes archivées comprises). |
| `POST /wp-json/leiho/v1/collections/import?dry_run=1` | Planifie la migration vers un `leiho.schema.json` ; sans `dry_run`, l’applique. |
| `GET /wp-json/leiho/v1/collections/export` | Le `leiho.schema.json` actuel. |
| `POST`, `PUT`, `DELETE /wp-json/leiho/v1/collections/{id}` | Crée, remplace ou supprime une collection (les données sont conservées). |

## Import depuis ACF (administrateurs)

| Endpoint (administrateurs) |  |
| --- | --- |
| `GET /wp-json/leiho/v1/collections/import-acf` | Les types de contenu ayant des champs ACF, leur état d’import, et les groupes de champs rattachés à aucun type de contenu (pages d’options…). |
| `GET /wp-json/leiho/v1/collections/import-acf/preview?post_type=ville` | L’aperçu ci-dessus, et la collection qui serait créée. |
| `POST /wp-json/leiho/v1/collections/import-acf/run` | `{ "post_type": "ville" }` : le premier appel crée la collection, chaque appel suivant copie un lot (25 entrées, filtre `leiho_acf_import_batch`) et renvoie la progression, les échecs et les différences, jusqu’à ce que `status` vaille `done`. Un import interrompu reprend là où il s’est arrêté. |
| `GET /wp-json/leiho/v1/collections/import-acf/status?post_type=ville` | Progression et rapport. |
| `POST /wp-json/leiho/v1/collections/import-acf/rollback` | `{ "post_type": "ville", "confirm": "ville" }` : retour à ACF. |

## IA

`leiho/v1/ai/status`, `ai/field`, `ai/alt`, `ai/entry`, `ai/entry/create`, `ai/brand`, `ai/collections/{type}` : nonce, capacité, limites de taille et limite de requêtes par utilisateur.

Mis à jour le 4 novembre 2026[Un point pas clair sur cette page ? Dites-le-nous →](https://github.com/pixelersagency/leiho/issues/new?title=Docs%3A%20API%20REST)
