monsiteo aide

Sites

Lister, créer, lire, modifier, supprimer, publier et dépublier un site. Objet site complet, thème (couleurs, polices, arrondis, boutons) et réglages.

Un site possède une adresse <slug>.monsiteo.com, un thème, des réglages (coordonnées, réseaux sociaux, SEO) et des pages. Toutes les routes demandent un jeton ; les routes portant sur un site vérifient qu'il appartient au compte (403 sinon).

L'objet site#

Champ Type Description
id entier Identifiant.
name chaîne Nom du site (souvent le nom du commerce).
slug chaîne Sous-domaine : friterie-william donne friterie-william.monsiteo.com.
activity chaîne ou null Métier (friterie, restaurant, coiffeur...), voir activities dans le catalogue.
status chaîne draft (brouillon, non visible), published (en ligne) ou suspended (suspendu par l'équipe).
url chaîne Adresse publique : le domaine personnalisé s'il est actif, sinon le sous-domaine.
subdomain_url chaîne Adresse en .monsiteo.com, toujours disponible.
theme objet Thème complet (valeurs par défaut incluses), voir ci-dessous.
settings objet Réglages : business, social, seo, footer_text.
logo, favicon chaîne ou null URL des images.
show_branding booléen Mention « Créé avec Monsiteo » affichée (formule Gratuit).
published_at date ou null Première publication.
views entier ou null Total des pages vues depuis la création.
pages_count entier Nombre de pages (uniquement dans la liste).
pages tableau Pages complètes (uniquement sur un site seul), voir Pages.
domain objet ou null Domaine personnalisé, voir Domaines.
created_at, updated_at date

Thème#

Clé Valeur par défaut Valeurs acceptées
primary #5B3DF5 couleur #RRGGBB
secondary #FFC93C couleur #RRGGBB
background #FFFFFF couleur #RRGGBB
surface #F6F4FF couleur #RRGGBB (fonds de cartes et sections « surface »)
text #1B1A2E couleur #RRGGBB
heading_font Bricolage Grotesque une police du catalogue
body_font Inter une police du catalogue
radius md none, sm, md, lg, full
button solid solid (plein), outline (contour), pill (arrondi)

Polices disponibles :

Police Style
Bricolage Grotesque Sans empattement
Inter Sans empattement
Poppins Sans empattement
Montserrat Sans empattement
DM Sans Sans empattement
Nunito Sans empattement
Playfair Display Avec empattement
Lora Avec empattement
Fraunces Avec empattement
Cormorant Garamond Avec empattement
Caveat Manuscrite
Pacifico Manuscrite
Space Grotesk Sans empattement
Archivo Black D'affiche

Réglages (settings)#

Clé Contenu
business name (150), tagline (200), email (e-mail, 190), phone (40), address (190), zip (20), city (120), country (2 lettres), vat (40), lat (nombre entre -90 et 90), lng (nombre entre -180 et 180). Avec lat et lng, la section Contact affiche une carte. Utilisé dans le pied de page, la section Contact et les données structurées.
social URL des profils : facebook, instagram, tiktok, linkedin, youtube, x, whatsapp, google (URL valide, 300 caractères max.).
seo title (160), description (320), og_image (URL, 2000), noindex (booléen : demande aux moteurs de ne pas indexer le site).
footer_text Texte libre du pied de page (300).

Les nombres entre parenthèses sont les longueurs maximales. Tous ces champs acceptent null.

Lister ses sites#

GET /v1/sites · Jeton

Renvoie les sites du compte, du plus récent au plus ancien, avec pages_count et domain (sans le détail des pages).

curl https://api.monsiteo.com/v1/sites \
  -H "Accept: application/json" \
  -H "Authorization: Bearer 1|AbCdEfGhIjKlMnOpQrStUvWxYz0123456789abcd"
{
  "data": [
    {
      "id": 7,
      "name": "Friterie William",
      "slug": "friterie-william",
      "activity": "friterie",
      "status": "published",
      "url": "https://www.friterie-william.be",
      "subdomain_url": "https://friterie-william.monsiteo.com/",
      "theme": { "primary": "#E63946", "secondary": "#FFC93C", "background": "#FFFFFF", "surface": "#FFF6E5", "text": "#1B1A2E", "heading_font": "Archivo Black", "body_font": "Inter", "radius": "lg", "button": "pill" },
      "settings": { "business": { "name": "Friterie William", "phone": "+32 81 12 34 56", "city": "Namur" } },
      "logo": "https://monsiteo.com/storage/sites/7/202610/aZ3kLmPq.png",
      "favicon": null,
      "show_branding": false,
      "published_at": "2026-10-12T08:30:00+00:00",
      "views": 1284,
      "pages_count": 4,
      "domain": null,
      "created_at": "2026-10-10T14:02:11+00:00",
      "updated_at": "2026-10-25T17:45:03+00:00"
    }
  ]
}

Créer un site#

POST /v1/sites · Jeton

Crée un site en brouillon avec une page d'accueil contenant trois sections : une bannière (titre = nom du site), des services et un contact. Pour créer un site complet avec textes rédigés, utilisez plutôt la génération IA.

Paramètre Type Obligatoire Règles
name chaîne oui 150 caractères max.
slug chaîne non 63 caractères max. ; règles des adresses (voir encadré). Si absent, une adresse libre est proposée à partir du nom.
activity chaîne non 60 caractères max.

Bon à savoir Règles d'une adresse (slug) : 3 à 63 caractères, lettres minuscules sans accent, chiffres et tirets, ni en début ni en fin, pas deux tirets de suite, ni adresse réservée, ni adresse déjà utilisée (y compris par un site supprimé). Vérifiez-la avant avec GET /v1/slugs/check. La liste des adresses réservées suit.

Adresses réservées :

admin, api, app, docs, www, mail, blog, smtp, imap, pop, webmail, ftp, cdn, assets, static, status, staging, dev, test, demo-admin, dashboard, help, support, aide, compte, account, billing, facturation, login, connexion, register, inscription, auth, sso, oauth, ns1, ns2, mx, autodiscover, autoconfig, monsiteo, novadesko, hello, noreply, contact, pay, stripe, webhook, webhooks, img, images, media, files, storage

curl -X POST https://api.monsiteo.com/v1/sites \
  -H "Accept: application/json" -H "Content-Type: application/json" \
  -H "Authorization: Bearer 1|AbCdEfGhIjKlMnOpQrStUvWxYz0123456789abcd" \
  -d '{"name":"Friterie William","slug":"friterie-william","activity":"friterie"}'

Réponse 201 : l'objet site dans data, avec ses pages :

{
  "data": {
    "id": 7,
    "name": "Friterie William",
    "slug": "friterie-william",
    "activity": "friterie",
    "status": "draft",
    "url": "https://friterie-william.monsiteo.com/",
    "subdomain_url": "https://friterie-william.monsiteo.com/",
    "theme": { "primary": "#5B3DF5", "secondary": "#FFC93C", "background": "#FFFFFF", "surface": "#F6F4FF", "text": "#1B1A2E", "heading_font": "Bricolage Grotesque", "body_font": "Inter", "radius": "md", "button": "solid" },
    "settings": { "business": { "name": "Friterie William", "email": "william@friterie-william.be" } },
    "logo": null,
    "favicon": null,
    "show_branding": true,
    "published_at": null,
    "views": 0,
    "pages": [
      {
        "id": 18,
        "site_id": 7,
        "title": "Accueil",
        "slug": "",
        "path": "/",
        "is_home": true,
        "in_nav": true,
        "position": 0,
        "sections": [
          { "id": "77b817f7-f0b7-41a5-ac0f-58af633e2ab3", "type": "hero", "variant": "centered", "data": { "title": "Friterie William", "subtitle": "Présentez votre activité en une phrase claire.", "button_label": "Nous contacter", "button_link": "#contact" }, "style": { "background": "default", "spacing": "md" } },
          { "id": "83714c1f-4a6b-4f7c-b619-c1f8aace7084", "type": "services", "variant": "cards", "data": { "title": "Nos services", "items": [] }, "style": { "background": "default", "spacing": "md" } },
          { "id": "ec8ba928-a8fc-4c3f-a24e-4d97eb1692d5", "type": "contact", "variant": "split", "data": { "title": "Contactez-nous", "show_form": true, "show_map": true }, "style": { "background": "default", "spacing": "md" } }
        ],
        "meta_title": null,
        "meta_description": null,
        "og_image": null,
        "published_at": null,
        "has_unpublished_changes": true,
        "updated_at": "2026-10-26T09:15:00+00:00"
      }
    ],
    "domain": null,
    "created_at": "2026-10-26T09:15:00+00:00",
    "updated_at": "2026-10-26T09:15:00+00:00"
  }
}

(contenu des sections abrégé). Erreurs :

  • 402 si la formule ne permet pas de site supplémentaire (Gratuit et Site : 1 site, Site + Novadesko : 3 sites) ;
  • 422 sur slug : « L'adresse doit contenir au moins 3 caractères. », « Utilisez uniquement des lettres minuscules, des chiffres et des tirets (pas en début ni en fin). », « L'adresse ne peut pas contenir deux tirets consécutifs. », « Cette adresse est réservée par Monsiteo. », « Cette adresse est déjà prise. ».

Lire un site#

GET /v1/sites/{site} · Jeton

Renvoie le site avec toutes ses pages (sections de brouillon comprises) et son domaine.

curl https://api.monsiteo.com/v1/sites/7 \
  -H "Accept: application/json" \
  -H "Authorization: Bearer 1|AbCdEfGhIjKlMnOpQrStUvWxYz0123456789abcd"

Erreurs : 403, 404.

Modifier un site#

PATCH /v1/sites/{site} · Jeton

Envoyez seulement ce qui change. theme et settings sont fusionnés avec les valeurs existantes : vous pouvez n'envoyer qu'une couleur ou qu'un numéro de téléphone.

Paramètre Type Obligatoire Règles
name chaîne non non vide, 150 caractères max.
slug chaîne non règles des adresses ; changer d'adresse rend l'ancienne libre pour d'autres
activity chaîne non 60 caractères max.
logo chaîne non URL http(s):// ou chemin /..., 2000 caractères max. ; une valeur non conforme est enregistrée comme null
favicon chaîne non idem
theme objet non uniquement les clés du tableau Thème
settings objet non uniquement business, social, seo, footer_text

Une clé inconnue dans theme, settings, settings.business, settings.social ou settings.seo provoque un 422.

curl -X PATCH https://api.monsiteo.com/v1/sites/7 \
  -H "Accept: application/json" -H "Content-Type: application/json" \
  -H "Authorization: Bearer 1|AbCdEfGhIjKlMnOpQrStUvWxYz0123456789abcd" \
  -d '{
    "theme": { "primary": "#E63946", "heading_font": "Archivo Black", "radius": "lg", "button": "pill" },
    "settings": {
      "business": { "phone": "+32 81 12 34 56", "address": "Rue de Fer 12", "zip": "5000", "city": "Namur", "country": "BE" },
      "social": { "facebook": "https://www.facebook.com/friteriewilliam" },
      "seo": { "title": "Friterie William, frites maison à Namur", "description": "Frites fraîches cuites à la graisse de bœuf, sauces maison, au cœur de Namur." }
    }
  }'

Réponse 200 : l'objet site complet à jour. Erreurs : 403, 404, 422.

Bon à savoir Les modifications de thème et de réglages sont visibles en ligne immédiatement pour un site publié : seules les sections des pages ont un brouillon séparé.

Supprimer un site#

DELETE /v1/sites/{site} · Jeton

Retire le domaine personnalisé et supprime le site : il n'est plus accessible en ligne. L'adresse slug reste bloquée (elle ne peut pas être reprise).

curl -X DELETE https://api.monsiteo.com/v1/sites/7 \
  -H "Accept: application/json" \
  -H "Authorization: Bearer 1|AbCdEfGhIjKlMnOpQrStUvWxYz0123456789abcd"
{ "ok": true }

Publier#

POST /v1/sites/{site}/publish · Jeton

Copie le brouillon des pages vers la version en ligne et passe le site en published. Lors de la toute première publication, l'e-mail « Votre site est en ligne » est envoyé au propriétaire.

Paramètre Type Obligatoire Règles
page_ids tableau d'entiers non Si présent, seules ces pages sont publiées ; les autres gardent leur version en ligne actuelle. Absent : toutes les pages.
curl -X POST https://api.monsiteo.com/v1/sites/7/publish \
  -H "Accept: application/json" -H "Content-Type: application/json" \
  -H "Authorization: Bearer 1|AbCdEfGhIjKlMnOpQrStUvWxYz0123456789abcd" \
  -d '{}'

Réponse 200 : l'objet site complet ; chaque page a published_at renseigné et has_unpublished_changes à false.

Attention Une page jamais publiée n'est pas visible en ligne, même si le site est publié. Publiez sans page_ids après avoir créé une page.

Dépublier#

POST /v1/sites/{site}/unpublish · Jeton

Repasse le site en brouillon : les visiteurs voient une page « site en préparation » (non indexée). Les pages et leur version publiée sont conservées : republier remet le site en ligne tel quel.

curl -X POST https://api.monsiteo.com/v1/sites/7/unpublish \
  -H "Accept: application/json" \
  -H "Authorization: Bearer 1|AbCdEfGhIjKlMnOpQrStUvWxYz0123456789abcd"

Réponse 200 : l'objet site avec "status": "draft".

Mis à jour le 26 octobre 2026