Identity
The AI knows who it is. Every session starts from your actual rights — never more.
whoami
Returns the SPIP author (id, name, status) associated with the current API key.
Sections
Reorganise your site tree by dictating, not clicking.
list_rubriques
Lists the sections. `parent` filters on the parent section (0 = root).
| Parameter | Type | Requirement |
|---|---|---|
| parent | integer | null | optional |
| limite | integer | optional |
get_rubrique
Details a section (title, description, text, status, `lang` and `langue_choisie` — `oui` if the language is explicit, `non` if inherited).
| Parameter | Type | Requirement |
|---|---|---|
| id_rubrique | integer | required |
create_rubrique
Creates a section.
| Parameter | Type | Requirement |
|---|---|---|
| titre | string | required |
| id_parent | integer | optional |
| descriptif | string | null | optional |
| texte | string | null | optional |
| lang | string | null | optional |
update_rubrique
Edits a section. Only the provided fields are updated.
| Parameter | Type | Requirement |
|---|---|---|
| id_rubrique | integer | required |
| titre | string | null | optional |
| descriptif | string | null | optional |
| texte | string | null | optional |
set_rubrique_lang
Sets a section's **language** (ISO code: `fr`, `en`, …) and marks it as explicitly chosen (`langue_choisie = oui`) — the section counterpart of `set_article_lang`.
| Parameter | Type | Requirement |
|---|---|---|
| id_rubrique | integer | required |
| lang | string | null | optional |
| heriter | boolean | optional |
Articles
From the first line to publication: write, fix, move, translate, publish — within the SPIP workflow your team knows.
list_articles
Lists the articles.
| Parameter | Type | Requirement |
|---|---|---|
| id_rubrique | integer | null | optional |
| statut | string | null | optional |
| recherche | string | null | optional |
| limite | integer | optional |
get_article
Details an article (all fields + linked authors).
| Parameter | Type | Requirement |
|---|---|---|
| id_article | integer | required |
create_article
Creates an article in a section.
| Parameter | Type | Requirement |
|---|---|---|
| id_rubrique | integer | required |
| titre | string | null | optional |
| soustitre | string | null | optional |
| descriptif | string | null | optional |
| chapo | string | null | optional |
| nom_site | string | null | optional |
| url_site | string | null | optional |
| texte | string | null | optional |
update_article
Edits an article. Only the provided fields are updated.
| Parameter | Type | Requirement |
|---|---|---|
| id_article | integer | required |
| titre | string | null | optional |
| soustitre | string | null | optional |
| descriptif | string | null | optional |
| chapo | string | null | optional |
| nom_site | string | null | optional |
| url_site | string | null | optional |
| texte | string | null | optional |
| id_rubrique | integer | null | optional |
set_article_author
Assigns an author to an article (or removes them with `retirer=True`).
| Parameter | Type | Requirement |
|---|---|---|
| id_article | integer | required |
| id_auteur | integer | required |
| retirer | boolean | optional |
set_article_status
Changes an article's workflow status.
| Parameter | Type | Requirement |
|---|---|---|
| id_article | integer | required |
| statut | string | required |
move_article
Moves an article to another section (target `id_rubrique`).
| Parameter | Type | Requirement |
|---|---|---|
| id_article | integer | required |
| id_rubrique | integer | required |
make_article_page
Turns an article into a **standalone page** (SPIP "Pages" plugin): the article is taken out of any section (`id_rubrique = 0`) and served by the plugin's dedicated template — typical for legal notices, the contact page, etc.
| Parameter | Type | Requirement |
|---|---|---|
| id_article | integer | required |
set_article_lang
Sets an article's **language** (ISO code: `fr`, `en`, `pt_br`, …) and marks it as explicitly chosen (`langue_choisie`).
| Parameter | Type | Requirement |
|---|---|---|
| id_article | integer | required |
| lang | string | required |
set_article_translation
Marks an article as the **translation of another** (shared translation group via `id_trad`), which feeds language navigation and **hreflang**.
| Parameter | Type | Requirement |
|---|---|---|
| id_article | integer | required |
| id_traduction_de | integer | null | optional |
| retirer | boolean | optional |
trash_article
Moves an article to the trash ("poubelle" status).
| Parameter | Type | Requirement |
|---|---|---|
| id_article | integer | required |
Easier to try than to read.
Request a trial key and have it do all of this on our demo site.
FAQs (JSON-LD)
FAQs emitted as FAQPage structured data: your content becomes citable by search engines and AIs.
get_faq
Reads the **FAQ** of an article (`id_article`) or a section (`id_rubrique`) — a feature of the "GEO structured data (JSON-LD)" plugin, which must be active on the site.
| Parameter | Type | Requirement |
|---|---|---|
| id_article | integer | null | optional |
| id_rubrique | integer | null | optional |
set_faq
**Replaces** the FAQ of an article (`id_article`) or a section (`id_rubrique`) — "GEO structured data (JSON-LD)" plugin required.
| Parameter | Type | Requirement |
|---|---|---|
| questions | array | required |
| id_article | integer | null | optional |
| id_rubrique | integer | null | optional |
Media library
Add, organise and find images and documents without leaving the conversation.
add_document_from_url
Adds a document/image to SPIP from a **URL** (ideal for a DALL·E-generated image, or any link): the file is **downloaded** into SPIP and attached to an article (`id_article`) or a section (`id_rubrique`).
| Parameter | Type | Requirement |
|---|---|---|
| url | string | required |
| id_article | integer | null | optional |
| id_rubrique | integer | null | optional |
| titre | string | null | optional |
| descriptif | string | null | optional |
| credits | string | null | optional |
| mode | string | optional |
add_document_from_data
Adds a document/image from **base64 data**, attached to an article or a section. **Reserved for small files (≲ 10 KB).**
| Parameter | Type | Requirement |
|---|---|---|
| filename | string | required |
| content_base64 | string | required |
| id_article | integer | null | optional |
| id_rubrique | integer | null | optional |
| titre | string | null | optional |
| descriptif | string | null | optional |
| credits | string | null | optional |
| mode | string | optional |
| taille_attendue | integer | null | optional |
| sha256 | string | null | optional |
list_documents
Lists the media library (documents and images).
| Parameter | Type | Requirement |
|---|---|---|
| id_article | integer | null | optional |
| id_rubrique | integer | null | optional |
| media | string | null | optional |
| extension | string | null | optional |
| mode | string | null | optional |
| recherche | string | null | optional |
| limite | integer | optional |
| offset | integer | optional |
get_document
Details a document and **resolves its location** through the connector.
| Parameter | Type | Requirement |
|---|---|---|
| id_document | integer | required |
download_document
Downloads a local document's **binary** and returns it base64-encoded.
| Parameter | Type | Requirement |
|---|---|---|
| id_document | integer | required |
unlink_document
**Unlinks** a document from an article (`id_article`) or a section (`id_rubrique`) **without deleting it**: the file and its record stay in the SPIP media library, and its attachments to other objects are preserved.
| Parameter | Type | Requirement |
|---|---|---|
| id_document | integer | required |
| id_article | integer | null | optional |
| id_rubrique | integer | null | optional |
delete_document
Deletes a document from the media library.
| Parameter | Type | Requirement |
|---|---|---|
| id_document | integer | required |
| definitif | boolean | optional |
Forms
Create and process your Formidable forms — questions, responses, CSV export. If the plugin is installed on your site.
list_forms
Lists the site's Formidable forms, with their number of responses (excluding trash).
| Parameter | Type | Requirement |
|---|---|---|
| statut | string | null | optional |
| recherche | string | null | optional |
| limite | integer | optional |
get_form
Details a Formidable form, by `id_formulaire` or by `identifiant` (slug).
| Parameter | Type | Requirement |
|---|---|---|
| id_formulaire | integer | null | optional |
| identifiant | string | null | optional |
create_form
Creates a Formidable form (administrators only). The form is created with "prop" status: publish it afterwards via `set_form_status`.
| Parameter | Type | Requirement |
|---|---|---|
| titre | string | required |
| saisies | array | required |
| identifiant | string | null | optional |
| descriptif | string | null | optional |
| message_retour | string | null | optional |
| traitements | object | null | optional |
| apres | string | null | optional |
| url_redirect | string | null | optional |
update_form
Edits a Formidable form. Only the provided fields are updated; `saisies` is a **full replacement** — re-read the structure via `get_form` and send back the complete list (keeping the field `identifiant`s for tracking).
| Parameter | Type | Requirement |
|---|---|---|
| id_formulaire | integer | required |
| titre | string | null | optional |
| saisies | array | null | optional |
| identifiant | string | null | optional |
| descriptif | string | null | optional |
| message_retour | string | null | optional |
| traitements | object | null | optional |
| apres | string | null | optional |
| url_redirect | string | null | optional |
| confirmer_perte_champs | boolean | optional |
set_form_status
Changes a Formidable form's status.
| Parameter | Type | Requirement |
|---|---|---|
| id_formulaire | integer | required |
| statut | string | required |
list_form_responses
Lists the responses received by a Formidable form (metadata: date, author, status — not the field details, see `get_form_response`).
| Parameter | Type | Requirement |
|---|---|---|
| id_formulaire | integer | required |
| statut | string | optional |
| date_debut | string | null | optional |
| date_fin | string | null | optional |
| limite | integer | optional |
| offset | integer | optional |
get_form_response
Details a response to a Formidable form: metadata (date, author, status) and `champs` — a `{nom, label, saisie, valeur}` list with labels resolved from the form structure.
| Parameter | Type | Requirement |
|---|---|---|
| id_reponse | integer | required |
set_form_response_status
Changes a Formidable response's status (moderation): `publie` | `prop` | `refuse` | `poubelle`. Moving a response from `poubelle` back to `publie` restores it. (`attente` is reserved for email validation and rejected.)
| Parameter | Type | Requirement |
|---|---|---|
| id_reponse | integer | required |
| statut | string | required |
delete_form_response
Deletes a response to a Formidable form.
| Parameter | Type | Requirement |
|---|---|---|
| id_reponse | integer | required |
| definitif | boolean | optional |
export_form_responses
Exports a Formidable form's responses as **CSV** (text content returned in `contenu`), using the plugin's native export.
| Parameter | Type | Requirement |
|---|---|---|
| id_formulaire | integer | required |
| statut | string | optional |
| date_debut | string | null | optional |
| date_fin | string | null | optional |
| cle_ou_valeur | string | optional |