Référence APICloner la configuration d'un espace de travail
POST/v1/workspace/clone-config

Cloner la configuration d'un espace de travail

Copie le branding, les webhooks, les modèles, les règles et les notifications d'un espace de travail source vers un espace de travail cible que vous possédez.

2 min de lectureTélécharger en PDF

Requête exemple

{
"include": [
"branding",
"webhooks",
"rules"
],
"to_workspace_id": "ws_1a2b3c4d5e6f",
"from_workspace_id": "ws_8f3a2c1d9b7e"
}

Réponse exemple

{
"cloned": [
"branding",
"webhooks (3)",
"rules (2)"
],
"skipped": [
"templates (none in source)"
]
}
POST/v1/workspace/clone-configClone la configuration (branding, webhooks, modèles, règles, notifications) d'un espace de travail vers un autre.

Cet endpoint duplique la configuration d'un espace de travail source (from_workspace_id) vers un espace de travail cible (to_workspace_id). Il est conçu pour amorcer rapidement un nouvel espace de travail à partir d'un modèle existant, par exemple lors de l'ouverture d'une nouvelle filiale ou entité partageant la même marque et les mêmes automatisations. L'appelant doit être propriétaire des deux espaces de travail (vérification sur owner_id). Le comportement notable : l'opération est partielle et non destructive côté cible. Selon la catégorie, les données sont soit fusionnées (upsert pour le branding), soit ajoutées (insert pour webhooks, modèles et règles), sans supprimer la configuration déjà présente dans la cible. Chaque catégorie absente dans la source est simplement ignorée, jamais bloquante.

Authentification

Requiert une clé API valide portant le scope workspace:manage. Une clé sans ce scope reçoit une erreur scope_missing (HTTP 403). En complément du scope, l'endpoint vérifie côté serveur que l'utilisateur associé à la clé est bien propriétaire (owner_id) des deux espaces de travail visés : ce double contrôle empêche de cloner vers ou depuis un espace que vous ne possédez pas, même avec le bon scope.

Corps de la requête

ChampTypeRequisDescription
from_workspace_idstringOuiIdentifiant de l'espace de travail source dont la configuration est copiée. Doit appartenir à l'appelant.
to_workspace_idstringOuiIdentifiant de l'espace de travail cible qui reçoit la configuration. Doit appartenir à l'appelant et différer de la source.
includestring[]NonListe des catégories à cloner. Valeurs autorisées : branding, webhooks, templates, rules, notifications. Toute valeur inconnue est filtrée. Si le tableau est absent ou vide, toutes les catégories sont clonées par défaut.

Détail par catégorie : branding est dupliqué via upsert (l'enregistrement de marque de la cible est créé ou écrasé). webhooks copie les champs name, url, events et description de chaque webhook source. templates clone les modèles de transfert en réinitialisant id, workspace_id et created_at. rules clone les règles en réinitialisant id, workspace_id, created_at, execution_count et last_executed_at (les compteurs d'exécution repartent à zéro dans la cible).

Réponse

La réponse renvoie deux tableaux. cloned liste les catégories effectivement copiées, avec le nombre d'éléments entre parenthèses lorsque pertinent (par exemple webhooks (3), templates (2)). skipped liste les catégories demandées mais vides dans la source, avec le motif (par exemple branding (none in source)). Une catégorie peut donc être ni dans cloned ni dans skipped si elle n'a pas été demandée.

Erreurs

CodeQuandRésolution
missing_api_key (401)Aucun en-tête Authorization n'est fourni.Ajoutez Authorization: Bearer cof_live_....
invalid_api_key (401)La clé est invalide ou mal préfixée.Vérifiez la clé et son préfixe (cof_live_, cof_test_, etc.).
scope_missing (403)La clé ne porte pas le scope workspace:manage.Émettez une clé incluant le scope workspace:manage.
validation_error (400)from_workspace_id ou to_workspace_id manquant, ou source identique à la cible.Fournissez deux identifiants distincts et non vides.
forbidden (403)L'appelant ne possède pas les deux espaces de travail.N'utilisez que des espaces dont vous êtes le propriétaire (owner_id).
rate_limited (429)Quota de requêtes par minute dépassé pour l'espace.Respectez l'en-tête Retry-After avant de réessayer.
internal_error (500)Erreur serveur lors de la vérification de propriété ou de la copie.Réessayez ; si le problème persiste, contactez le support avec le request_id.

Voir aussi

  • GET /v1/workspace/branding — consulter le branding cloné dans l'espace cible.
  • GET /v1/webhooks — vérifier les webhooks copiés avant de les activer.
  • GET /v1/rules — auditer les règles importées et leurs compteurs réinitialisés.