Skip to main content

Duplicate Model

Page Outline

Creates a full copy of an existing model, including its configuration, tags, and linked dataset reference. The duplicate starts as a fresh draft with no training history.

Base Path: /api/v1/models

Method: POST

Path: /{model_id}/duplicate

Auth: Requires a valid Bearer token (Authorization: Bearer <JWT>)

Path Parameters

ParameterTypeDescription
model_idstringUnique identifier of the model to duplicate

Request Body

{
"name": "My Churn Predictor (Copy)",
"description": "Experimental copy for feature engineering tests."
}
FieldTypeRequiredDescription
namestringName for the duplicated model (must be unique within org)
descriptionstringOptional description for the duplicate

Behavior

  • Copies model_type, task_type, config, and tags from the source model.
  • The linked dataset_id reference is copied, but the dataset is not re-validated at duplication time.
  • Version history, training runs, metrics, and audit logs are not copied — the duplicate is a clean slate.
  • An audit log entry is written with action model.duplicated, referencing both the source model_id and the new model's ID.
  • Returns HTTP 404 if the source model is not found; returns HTTP 409 if the requested name conflicts.

Response

Returns the new Model object representing the duplicate.

{
"id": "mdl-9c2b47de",
"name": "My Churn Predictor (Copy)",
"source_model_id": "mdl-7f3a19bc",
"model_type": "auto",
"task_type": "classification",
"status": "draft",
"version": 1,
"created_at": "2026-03-13T16:05:00Z"
}