# Abilities API

> L'Abilities API permet à une extension de déclarer des capacités précises et exécutables, destinées à être découvertes et invoquées par des agents ou des assistants basés sur l'IA.

- Auteur : Clément Hadrot
- Publié le : 2026-09-25
- Mis à jour le : 2026-09-25
- URL : https://wpmoderne.dev.wordpress-developpement.fr/lexique/abilities-api/

Un agent d'intelligence artificielle qui souhaite agir sur un site WordPress, par exemple publier un brouillon ou lister les commandes en attente, ne peut pas deviner tout seul quelles fonctions PHP appeler ni quels risques ces actions comportent. L'Abilities API a été pensée pour combler cet écart : elle permet à une extension de décrire une action sous forme d'une « capacité » nommée, avec une description en langage naturel, un schéma d'entrée et de sortie, et une fonction d'exécution reliée, que ces agents peuvent alors découvrir et solliciter de façon structurée.

## Fonctionnement dans WordPress

Techniquement, une capacité s'enregistre avec une fonction dédiée, en associant un identifiant unique, une catégorie, une fonction de permission (calquée sur le contrôle des capacités classique de WordPress) et une fonction d'exécution qui reçoit des arguments validés. Cette couche s'articule avec l'API REST existante et avec des protocoles d'échange comme MCP, qui peuvent exposer ces capacités à un client externe sans que chaque extension ait à réinventer son propre format d'intégration avec les agents IA.

## Exemple

```
wp_register_ability( 'mon-plugin/publier-brouillon', [
  'label'         => 'Publier un brouillon',
  'input_schema'  => [ 'type' => 'object', 'properties' => [ 'post_id' => [ 'type' => 'integer' ] ] ],
  'execute_callback' => 'mon_plugin_publier_brouillon',
] );
```

## Bon à savoir

Cette API reste distincte des capacités et rôles classiques de WordPress (l'API des capacités qui contrôle « qui a le droit de faire quoi ») : elle s'appuie dessus pour la permission, mais son objet est de rendre une action *découvrable et invocable* par un agent logiciel, pas de définir de nouveaux droits d'utilisateur.
