Organization

Une Organization est le conteneur de plus haut niveau qui regroupe les Space. Une entreprise ou une équipe correspond à une Organization, sous laquelle on place plusieurs Space. Le plan d'abonnement (plan) et les adhésions sont gérés au niveau de l'Organization : la facturation et les droits des membres s'appliquent donc à partir de cette Organization, et non du Space.

La liste des Organization auxquelles vous appartenez se récupère via GET /me/organization-memberships. Cette ressource ne dispose d'aucun endpoint renvoyant la liste complète.

Structure de la ressource

Voici la réponse d'une consultation unitaire de l'Organization "Société DailyWear". Elle possède sys (propriétés système) ainsi que les propriétés de corps name et description.

{
  "sys": {
    "id": "ilLRJxDp",
    "type": "Organization",
    "createdBy": { "sys": { "id": "3p4tcFbQRwz503VXdtHXNI5dZH5TVB", "type": "Refer", "targetType": "User" } },
    "createdAt": "2026-05-11T10:51:16.832Z",
    "updatedBy": { "sys": { "id": "3p4tcFbQRwz503VXdtHXNI5dZH5TVB", "type": "Refer", "targetType": "User" } },
    "updatedAt": "2026-05-11T10:51:16.832Z",
    "version": 1,
    "isOfficial": false,
    "plan": { "sys": { "id": "free", "type": "Refer", "targetType": "Plan" } }
  },
  "name": "Société DailyWear",
  "description": "Société exploitant une boutique en ligne de vêtements et accessoires"
}

Clés principales :

  • name : le nom de l'Organization (1 à 64 caractères). C'est le nom d'affichage de l'entreprise ou de l'équipe.
  • description : une description de l'Organization (1 à 128 caractères, facultatif).
  • plan : un Refer<Plan> désignant le plan d'abonnement de cette Organization (par exemple free). Le plan de facturation y est rattaché.
  • isOfficial : indique s'il s'agit d'une Organization officielle (boolean).

Propriétés système (sys) et corps

Toute Organization porte ses propriétés système communes dans l'objet sys. createdBy et updatedBy prennent la forme Refer ({ "sys": { "id", "type": "Refer", "targetType" } }), et plan est un Refer<Plan>.

PropriétéTypeDescription
idstringIdentifiant unique de la ressource.
typestringType de ressource. Pour une Organization, toujours "Organization".
createdByRefer<User>Utilisateur ayant créé la ressource.
createdAtstring (date-time)Date et heure de création.
updatedByRefer<User>Dernier utilisateur ayant modifié la ressource.
updatedAtstring (date-time)Date et heure de la dernière modification.
versioninteger (≥1)Version de la ressource. Augmente de 1 à chaque modification.
isOfficialbooleanIndique si l'Organization est officielle.
planRefer<Plan>Plan d'abonnement. Exemple : free.

Propriétés de corps :

PropriétéTypeDescription
namestring (1 à 64)Nom de l'Organization. Défini lors de la création et de la modification.
descriptionstring (1 à 128)Description de l'Organization. Élément facultatif.
iconstring (lecture) / object (écriture)Icône de l'Organization. Dans la réponse, il s'agit d'une chaîne d'URL d'image. Dans une requête de modification, on l'envoie sous forme d'objet désignant le fichier téléversé { "upload": { "sys": { ..., "targetType": "Upload" } } } (référence à l'Upload obtenu via l'API Upload).
consoleHomeUrlstring (uri)Page affichée à la place de l'écran d'accueil par défaut dans tous les Space appartenant à cette Organization. Indiquez une URL https qui ne soit pas l'adresse de la console (conditions). Élément facultatif.

L'Organization est une ressource de configuration sans notion de publication. Contrairement au Content et au Media, son sys ne comporte donc ni publish, ni archive, ni status : il ne possède que version. La version augmente à chaque modification de l'Organization.

La modification (PUT) remplace la ressource entière, et l'absence de valeur envoyée prend un sens opposé pour les deux éléments facultatifs. Si vous omettez icon, l'icône existante est conservée telle quelle ; si vous omettez consoleHomeUrl, l'adresse enregistrée est effacée. Pour conserver une adresse déjà indiquée, vous devez donc renvoyer cette valeur à chaque modification. La modification partielle (PATCH) ne touche que les propriétés inscrites dans le patch : si vous n'y indiquez pas consoleHomeUrl, elle reste en l'état.

Conditions requises pour la page affichée sur l'écran d'accueil

L'enregistrement de l'adresse ne suffit pas à ce que la page s'affiche. Même si vous indiquez une adresse qui refuse d'être affichée, la requête d'enregistrement aboutit et aucune erreur n'est renvoyée : cela ne se manifeste que par un écran d'accueil qui n'affiche rien.

Pour s'afficher à cet emplacement, la page doit réunir les conditions suivantes.

  • Elle est servie en HTTPS. La console fonctionnant en HTTPS, le navigateur bloque l'affichage d'une page qui n'est pas sur une connexion sécurisée.
  • Elle autorise son affichage à l'intérieur d'une autre page. Indiquez Content-Security-Policy: frame-ancestors https://console.weegloo.com dans les en-têtes de réponse. Si X-Frame-Options empêche cet affichage, ajustez également cet en-tête.
  • Si elle utilise des cookies, ceux-ci sont émis avec SameSite=None; Secure. L'affichage a lieu dans le contexte d'un autre site : un cookie dépourvu de cette mention n'est pas transmis.

La page s'affiche à l'intérieur d'un <iframe>, et seules les autorisations ci-dessous sont ouvertes sur ce cadre.

AttributCe que la page peut faire
sandbox="allow-scripts"Exécuter des scripts.
sandbox="allow-same-origin"Lire et écrire les cookies et le stockage de sa propre origine, envoyer des requêtes vers son propre serveur.
sandbox="allow-forms"Soumettre des formulaires.
sandbox="allow-popups"Ouvrir une nouvelle fenêtre ou un nouvel onglet.
sandbox="allow-popups-to-escape-sandbox"Éviter que la fenêtre ainsi ouverte hérite de ces restrictions.
sandbox="allow-downloads"Lancer le téléchargement d'un fichier.
sandbox="allow-storage-access-by-user-activation"Demander l'accès au stockage à la suite d'une action de l'utilisateur.
allow="fullscreen"Passer en plein écran.
allow="clipboard-write"Écrire dans le presse-papiers.

Ce qui ne figure pas ici ne fonctionne pas. Dans ce cas, aucune erreur n'est levée et l'appel est ignoré silencieusement : le code n'a donc aucun moyen de savoir qu'il a été bloqué.

Le cadre porte également referrerpolicy="strict-origin-when-cross-origin". Seule l'origine de la console est donc transmise à la page, et non l'écran depuis lequel elle a été ouverte.

Indépendamment de sandbox, une page qui exige une connexion peut ne pas fonctionner correctement. De nombreux fournisseurs de connexion bloquent l'authentification à l'intérieur d'une autre page, si bien que la connexion sociale ne fonctionne généralement pas.

Erreurs

Ce sont les codes que l'on rencontre lorsque l'on manipule une Organization. Pour les codes communs à toutes les ressources, consultez Erreurs communes.

CodeCondition
WGL422078Une tentative de suppression d'une Organization dont le plan d'abonnement n'est pas le plan gratuit a eu lieu. Il faut d'abord ramener cette Organization au plan gratuit.
WGL422079Une tentative de suppression d'une Organization a eu lieu alors que l'abonnement n'était pas résilié ou qu'un changement d'abonnement était en attente.
WGL422024Une tentative de suppression d'une Organization a eu lieu alors que des Space subsistaient sous cette Organization. La suppression n'est possible qu'après avoir supprimé tous les Space.
WGL422046Le fichier téléversé comme icon dépasse la taille autorisée.
WGL422047Le fichier téléversé comme icon n'est ni un PNG, ni un JPG, ni un WebP.
WGL400072Le format de consoleHomeUrl n'est pas valide, ou l'adresse indiquée désigne la console.

API

L'URL de base de tous les endpoints ci-dessous est https://cma.weegloo.com/v1, et un token Bearer authentifiant auprès de CMA est requis dans l'en-tête Authorization. Pour les modifications et modifications partielles, il faut joindre l'en-tête X-Weegloo-Version (la sys.version actuelle de la ressource) afin d'assurer le contrôle de concurrence optimiste. La création et la suppression ne comportent pas cet en-tête.

  • Space : les Space sous cette Organization.
  • Organization Membership : membres de l'Organization et consultation des organisations dont vous faites partie.