DocumentationOuvrir Moon AI
Parcourir la documentation

Clés de workspace

Les clés moai_org_ appellent le chat de Moon AI au nom d’un workspace d’équipe : points d’accès ouverts, données exclues, gestion des clés et erreurs.

Sur cette page

Une clé de workspace (moai_org_…) appelle le chat de Moon AI au nom d’un workspace d’équipe : la requête se déroule dans ce workspace, avec ses modèles, ses règles et sa limite d’utilisation.

Points d’accès ouvertsLien vers la section Points d’accès ouverts

Une clé de workspace n’atteint que ces chemins, sur https://chat.realmoon.ai :

Méthode et cheminRôle
POST /api/chat/completions ou /api/v1/chat/completionsUne réponse du chat, au format Chat Completions d’OpenAI.
GET /api/models ou /api/v1/modelsLes modèles que la clé peut utiliser.
POST /api/message ou /api/v1/messagesUne réponse au format Messages d’Anthropic.

Tout autre chemin répond 403 org_api_key_scope_forbidden. Sur les deux chemins au format Anthropic, l’en-tête x-api-key est accepté à la place de Authorization: Bearer.

Envoyer un messageLien vers la section Envoyer un message

POST /api/chat/completions

ChampTypeObligatoireDescription
modelchaîneouiUn identifiant rendu par GET /api/models.
messageslisteouiLes messages, au format d’OpenAI (role, content).
streambooléennontrue pour recevoir la réponse en flux (événements SSE).
cURL
curl https://chat.realmoon.ai/api/chat/completions \
  -H "Authorization: Bearer $MOONAI_ORG_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-haiku-4.5",
    "messages": [{"role": "user", "content": "Résume la politique de congés en trois points."}],
    "stream": false
  }'
Python
import os
import requests

r = requests.post(
    "https://chat.realmoon.ai/api/chat/completions",
    headers={"Authorization": f"Bearer {os.environ['MOONAI_ORG_KEY']}"},
    json={
        "model": "anthropic/claude-haiku-4.5",
        "messages": [{"role": "user", "content": "Résume la politique de congés en trois points."}],
        "stream": False,
    },
    timeout=120,
)
r.raise_for_status()
print(r.json()["choices"][0]["message"]["content"])
JavaScript
const r = await fetch('https://chat.realmoon.ai/api/chat/completions', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.MOONAI_ORG_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: 'anthropic/claude-haiku-4.5',
    messages: [{ role: 'user', content: 'Résume la politique de congés en trois points.' }],
    stream: false,
  }),
});
if (!r.ok) throw new Error(await r.text());
const data = await r.json();
console.log(data.choices[0].message.content);

La réponse suit le format d’OpenAI : choices[0].message.content porte le texte.

Au nom de quiLien vers la section Au nom de qui

  • La clé agit au nom de la personne qui l’a créée, avec le rôle de membre, jamais avec des droits d’administrateur.
  • Elle reste rattachée au workspace de la clé, quel que soit le workspace ouvert par cette personne dans l’application.
  • L’utilisation compte dans la limite de cette personne dans ce workspace.

Ce que la clé n’utilise pasLien vers la section Ce que la clé n’utilise pas

Pour qu’une clé ne puisse rien lire de privé, une requête faite avec elle :

  • n’a ni fichiers joints, ni outils, ni serveurs d’outils ;
  • n’utilise ni la mémoire, ni les connecteurs, ni les dossiers de la personne ;
  • ne choisit que parmi les modèles publics de la plateforme et ceux partagés avec le workspace, jamais un modèle ou un agent privé de la personne ni une connexion directe (Model not found).

Quand la clé cesse de fonctionnerLien vers la section Quand la clé cesse de fonctionner

SituationRéponse
Clé inconnue ou expirée401
Le créateur n’est plus propriétaire ou administrateur actif du workspace : la clé est révoquée définitivement, même s’il le redevient401 org_api_key_revoked
Le compte du créateur est suspendu403 account_not_active
Le forfait du workspace n’inclut plus l’accès à l’API403 org_api_key_plan_required
Chemin hors de la liste403 org_api_key_scope_forbidden
Lecture impossible côté serveur503, réessayez

Supprimer le workspace rend aussi ses clés inutilisables.

Gérer les clésLien vers la section Gérer les clés

Ces routes s’appellent avec la session d’un propriétaire ou d’un administrateur du workspace connecté à Moon AI, jamais avec une clé.

Créer une cléLien vers la section Créer une clé

POST /api/v1/organizations/{org_id}/api-keys

ChampTypeObligatoireDescription
namechaîneouiLe nom de la clé, gardé sur 128 caractères.
expires_in_daysentiernonDurée de validité, de 1 à 3 650 jours. Absent : la clé n’expire pas.
JSON
{
  "id": "6a5b4c3d-2e1f-4a0b-9c8d-7e6f5a4b3c2d",
  "org_id": "8c1f2a4e-5b6d-4e7f-9a0b-1c2d3e4f5a6b",
  "name": "Intranet",
  "key": "moai_org_…",
  "key_prefix": "moai_org_3f9a",
  "expires_at": 1801296000,
  "created_at": 1793520000
}

La clé complète (key) n’est rendue que dans cette réponse.

StatutCode ou messageCause
400« Un nom est requis. »name vide.
400org_api_key_personal_workspaceLe workspace est personnel.
403org_api_key_plan_requiredLe forfait du workspace n’inclut pas l’accès à l’API.
409org_api_key_limitLe workspace a déjà 25 clés actives.

Lister les clésLien vers la section Lister les clés

GET /api/v1/organizations/{org_id}/api-keys

Rend les clés non révoquées, sans leur valeur :

JSON
[
  {
    "id": "6a5b4c3d-2e1f-4a0b-9c8d-7e6f5a4b3c2d",
    "org_id": "8c1f2a4e-5b6d-4e7f-9a0b-1c2d3e4f5a6b",
    "name": "Intranet",
    "key_prefix": "moai_org_3f9a",
    "created_by": "3f2b9c1d-7e4a-4b8c-9d0e-1f2a3b4c5d6e",
    "last_used_at": 1793606400,
    "expires_at": 1801296000,
    "revoked_at": null,
    "created_at": 1793520000,
    "updated_at": 1793520000
  }
]

Révoquer une cléLien vers la section Révoquer une clé

DELETE /api/v1/organizations/{org_id}/api-keys/{key_id}

Rend {"success": true}, ou 404 si la clé n’existe pas dans ce workspace. La révocation est définitive.

Chaque création et chaque révocation est inscrite au journal d’audit de l’organisation.

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é.