DocumentationOuvrir Moon AI
Parcourir la documentation

Modèles de l’organisation

Lister les modèles que les règles autorisent, créer des modèles de l’organisation avec prompt et bases de connaissances, et poser des consignes par modèle.

Sur cette page

Un modèle de l’organisation part d’un modèle de la plateforme et lui ajoute un prompt système, des suggestions, des bases de connaissances et un avatar. Les membres le choisissent comme les autres modèles. Une consigne par modèle, elle, s’ajoute à toutes les conversations des membres qui utilisent ce modèle de base.

Toutes les routes sont sous https://chat.realmoon.ai/api/v1/orgs/{org_id}. Portées : rules:read pour lire, rules:write pour écrire. Créer, modifier ou rétablir un modèle, et poser une consigne, demandent une organisation gérée : sinon 409 org_not_managed.

Catalogue des modèlesLien vers la section Catalogue des modèles

GET /models/catalog · rules:read

Les modèles publics de la plateforme qu’une règle peut autoriser, triés par nom.

JSON
{
  "items": [
    { "id": "anthropic/claude-haiku-4.5", "name": "Claude Haiku 4.5", "owned_by": "openai", "eu_hosted": false, "capabilities": { "vision": true, "file_upload": true, "web_search": true } },
    { "id": "mistralai/mistral-large-2512", "name": "Mistral Large 3", "owned_by": "openai", "eu_hosted": true, "capabilities": null }
  ],
  "total": 2
}

owned_by indique le type de connexion qui sert le modèle, pas son éditeur. eu_hosted dit si le modèle compte comme hébergé dans l’Union européenne pour la règle models.eu_only. 503 models_unavailable : la liste des modèles est momentanément indisponible.

L’objet modèle de l’organisationLien vers la section L’objet modèle de l’organisation

JSON
{
  "id": "6f1c2e8a-3b4d-4f5a-9e7c-1d2b3a4c5e6f",
  "model_id": "orgm-6f1c2e8a3b4d4f5a",
  "name": "Assistant RH",
  "description": "Répond aux questions du personnel sur les congés.",
  "base_model_id": "mistralai/mistral-large-2512",
  "base_model_name": "Mistral Large 3",
  "base_status": "ok",
  "avatar": { "character": "chic", "background": "moon" },
  "avatar_image": "/api/v1/agents/avatar/chic/moon?v=1",
  "sharing": { "all": false, "group_ids": ["<id de groupe>"], "role_keys": ["manager"], "label_ids": [] },
  "archived": false,
  "has_prompt": true,
  "prompt_length": 1840,
  "starters_count": 3,
  "knowledge_count": 1,
  "created_by": "0d9a2f44-1c3b-4e7a-8b6f-55e2c1d0a9b8",
  "created_at": 1762339200,
  "updated_at": 1762425600
}
ChampDescription
model_idL’identifiant que les membres choisissent.
base_statusok, unavailable (le modèle de base n’est plus proposé), not_allowed (les règles le refusent) ou null.
sharingQui peut l’utiliser, en plus du propriétaire et des administrateurs.

La lecture d’un modèle, sa création et sa modification ajoutent system_prompt, starters, knowledge (id, name, missing) et capabilities.

Lister les modèlesLien vers la section Lister les modèles

GET /models/custom · rules:read

ParamètreDescription
statusactive (par défaut), archived ou all.
qPartie du nom.
page, limitPagination.

La réponse ajoute max_models (200), managed et limits (longueurs permises).

Créer un modèleLien vers la section Créer un modèle

POST /models/custom · rules:write

ChampTypeObligatoireDescription
namechaîneoui1 à 80 caractères, unique parmi les modèles actifs.
base_model_idchaîneouiUn modèle de la plateforme que les règles autorisent.
descriptionchaînenon1 000 caractères au plus.
system_promptchaînenon20 000 caractères au plus.
starterslistenonSuggestions de départ : les 6 premières sont gardées, 200 caractères chacune.
knowledgelistenon20 bases de connaissances au plus, du workspace et partagées avec lui.
capabilitiesobjetnonvision, file_upload, web_search, image_generation, code_interpreter, citations, usage : true ou false.
avatarobjetnoncharacter et background, deux noms d’illustrations de l’avatar.
sharingobjetnonall (tout le monde), group_ids (200 au plus), role_keys (50 au plus), label_ids (200 au plus).
cURL
curl https://chat.realmoon.ai/api/v1/orgs/$ORG_ID/models/custom \
  -H "Authorization: Bearer $MOONAI_ADMIN_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: modele-assistant-rh" \
  -d '{
    "name": "Assistant RH",
    "base_model_id": "mistralai/mistral-large-2512",
    "system_prompt": "Tu réponds aux questions du personnel sur les congés, avec le règlement intérieur.",
    "starters": ["Combien de jours de congés me reste-t-il ?"],
    "sharing": {"all": true}
  }'
Python
import os
import requests

r = requests.post(
    f"https://chat.realmoon.ai/api/v1/orgs/{os.environ['ORG_ID']}/models/custom",
    headers={
        "Authorization": f"Bearer {os.environ['MOONAI_ADMIN_KEY']}",
        "Idempotency-Key": "modele-assistant-rh",
    },
    json={
        "name": "Assistant RH",
        "base_model_id": "mistralai/mistral-large-2512",
        "system_prompt": "Tu réponds aux questions du personnel sur les congés, avec le règlement intérieur.",
        "starters": ["Combien de jours de congés me reste-t-il ?"],
        "sharing": {"all": True},
    },
    timeout=30,
)
r.raise_for_status()
print(r.json()["model_id"])
JavaScript
const r = await fetch(`https://chat.realmoon.ai/api/v1/orgs/${process.env.ORG_ID}/models/custom`, {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.MOONAI_ADMIN_KEY}`,
    'Content-Type': 'application/json',
    'Idempotency-Key': 'modele-assistant-rh',
  },
  body: JSON.stringify({
    name: 'Assistant RH',
    base_model_id: 'mistralai/mistral-large-2512',
    system_prompt: 'Tu réponds aux questions du personnel sur les congés, avec le règlement intérieur.',
    starters: ['Combien de jours de congés me reste-t-il ?'],
    sharing: { all: true },
  }),
});
if (!r.ok) throw new Error(await r.text());
console.log((await r.json()).model_id);
StatutcodeCause
400invalid_requestNom vide, modèle de base indisponible ou refusé par les règles, plus de 200 modèles, avatar inconnu, rôle ou identifiant invalide.
403forbiddenBase de connaissances non partagée avec le workspace.
404not_foundBase de connaissances, groupe, rôle ou étiquette introuvable.
409invalid_requestUn modèle de l’organisation porte déjà ce nom.
409org_not_managedL’organisation n’est pas gérée.

GET /models/knowledge-candidates?q= (rules:read) liste les bases de connaissances qu’on peut attacher : {"items": [{"id", "name"}], "total"}, 200 au plus.

Lire, modifier, archiver, supprimerLien vers la section Lire, modifier, archiver, supprimer

Méthode et cheminPortéeRôle
GET /models/custom/{org_model_id}rules:readLe modèle, prompt système compris.
PATCH /models/custom/{org_model_id}rules:writeModifier les champs envoyés. null efface description, system_prompt, capabilities et avatar.
POST /models/custom/{org_model_id}/archiverules:writeArchiver : les membres ne le voient plus.
POST /models/custom/{org_model_id}/restorerules:writeRétablir un modèle archivé (409 si un modèle actif porte le même nom).
DELETE /models/custom/{org_model_id}rules:writeSupprimer définitivement ; répond {"ok": true}.

Consignes par modèleLien vers la section Consignes par modèle

Une consigne s’ajoute aux conversations des membres qui utilisent ce modèle de base, quel que soit le modèle de l’organisation qui l’emploie.

GET /models/instructions · rules:read

JSON
{
  "items": [{ "base_model_id": "anthropic/claude-haiku-4.5", "base_model_name": "Claude Haiku 4.5", "text": "Ne rédigez jamais de contrat.", "length": 29, "updated_by": "0d9a2f44-1c3b-4e7a-8b6f-55e2c1d0a9b8", "updated_at": 1762339200, "available": true }],
  "total": 1,
  "max_models": 200,
  "text_max": 8000,
  "managed": true
}

PUT /models/instructions · rules:write

ChampTypeObligatoireDescription
base_model_idchaîneouiLe modèle de base.
textchaînenon8 000 caractères au plus ; vide retire la consigne.

Avec un texte, la réponse est la consigne ; sans texte, {"ok": true, "removed": true} (ou false s’il n’y en avait pas). 200 modèles au plus ont une consigne.

DELETE /models/instructions?model_id=<id> · rules:write

Répond {"ok": true}, ou 404 s’il n’y avait pas de consigne.

Voir aussiLien vers la section Voir aussi

Moon AI

Moon AI en action

0:00

À découvrir

Captures de chat.realmoon.ai du 29 octobre 2026, avec des données fictives.

Moon AI

Vos préférences

Aucun suivi publicitaire.

Ce site ne dépose aucun cookie publicitaire ni cookie de mesure d’audience : notre serveur compte les visites sans cookie. Votre thème et la fermeture de l’information sur les cookies sont mémorisés sur cet appareil.

L’application Moon AI possède ses propres réglages de confidentialité.